調査・研究経過の報告書を説明

「分断していては攻撃者の思うつぼ」とJPCERT/CC

2008/07/07

 JPCERT/CCは7月7日、2007年度の調査・研究結果をまとめた報告書に関する説明会を開催した。

 JPCERT/CCは6月25日に、「ソースコード解析ツールを活用したCERTセキュアコーディングルールの有効性評価(英語版)」を公開した。安全なソフトウェアを開発するためのコーディング規約を、既存のソースコード解析ツールに適用し、エラー検出を行った結果をまとめたものだ。はじめから脆弱性を作り込まないようなルールを定め、それに沿った検証を実施することで、ソフトウェア品質の底上げを狙う試みである。

 JPCERT/CCではこれに先立ち、米CERT/CCと共同で、脆弱性につながるような欠陥やエラーを作り込まないようにするコーディング規約「CERT C/C++ セキュアコーディングスタンダード(英語版)」をまとめている。文字列や整数の取扱い、配列の使い方などについて、バッファオーバーフローなどのセキュリティホールを作り込まないための規約を定めたもので、C言語用に181種類、C++言語用に101種類のルール/レコメンデーション(ガイドライン)をまとめた。

 公表された報告書では、セキュアコーディングスタンダードの中から特に重要なものを抜き出し、「Fortify SCA」「Compass/ROSE」という2つのソースコード解析ツールに実装し、どの程度、ソースコード品質を改善できるかを検証した。SRAが協力し、ETC関連プロジェクトでC++言語の、IPTV関連プロジェクトでC言語のソースコード分析作業を実施したという。

 この結果、C++言語の場合はFortifyで128個のエラーを検出(うち有効検出率は67%)、Compass/ROSEで200個(同27%。ただしソフトウェア障害に対処すれば70%に改善)。C言語のプロジェクトでは、Fortifyで408個のエラー(有効検出率47%)、Compass/ROSEで7個(同71%)というテスト結果が出た。これを踏まえてJPCERT/CCでは、「セキュアコーディングスタンダードをソースコード解析ツールに実装し、活用することで、脆弱性につながり得るプログラミングエラーの検出機能を向上できる」としている。

 「未知の脆弱性のことを考えると100%つぶせるとは言い切れないが、既知の、プログラミングに起因する脆弱性については解決できる」(JPCERT/CC 常務理事の早貸淳子氏)。

 なお同時に公開された報告書としては、組み込み機器や制御系システムで利用されるソフトウェアの脆弱性についてまとめた「制御系プロトコルに関する調査研究報告書」と「国内の制御系システム、制御系プロトコルに関する調査報告書」、CSIRTの運用やインシデントハンドリングについてまとめた「CSIRTガイド」「インシデントハンドリングマニュアル」がある。

対応側の分断は「相手の思うつぼ」

 早貸氏は併せて、最近のインシデントハンドリングの傾向についても解説した。

jpcert01.jpg JPCERT/CC 常務理事 早貸淳子氏

 SQLインジェクション攻撃の増加が警告されている。同氏によると、事業者のサーバを攻撃し、直接情報を抜き取る従来型の攻撃に代わり、最近では、多数のサイトを攻撃してスクリプトを埋め込み、そこにアクセスしてきたエンドユーザーを悪意あるサイトに誘導する手口が主流になっている。

 この方法では、数千、数万といった規模の多数のサイトが悪用されているだけに、個別に脆弱性を通知し、修正を進める従来のアプローチでは対処が難しい。海外のCSIRTなどと連携し、大元の有害サイトを停止させる方法が有効だという。「ただ、そうした依頼を行うには、どれだけ被害が出ており、攻撃の解析結果がどうなっているかといった証拠が必要だ」(早貸氏)。そういった証拠を集めるためにも、「ぜひ不正プログラムの検体やスクリプトが埋め込まれているWebサイトがあるといった情報を寄せてほしい」と同氏は述べた。

 「検体などの情報を教えてもらえれば、元(の悪意あるサイト)を倒しに行ける。それが、ほかのたくさんのサイトやユーザーに寄与することにもなる。攻撃者側が連携しているのに、対応する側のリソースが分断しているのは、攻撃者の思うつぼだ」(早貸氏)

(@IT 高橋睦美)

情報をお寄せください:



Security&Trust フォーラム 新着記事

注目のテーマ

Security & Trust 記事ランキング

本日 月間