ソースコードの脆弱性をチェックするツール、IPAが無償公開。C言語に対応
IPA(独立行政法人情報処理推進機構)は、 C言語で作成されたソースコードに脆弱性が存在しないかどうかを検査するツール「iCodeChecker」を公開しました。無償で利用できます。
iCodeCheckerは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威についてのレポートを出力するツール。プレスリリースから引用します。
本ツールは、脆弱性やソースコード検査技術を学習したい学生や開発者を対象に、利用者自身が作成したソースコード(C言語)を検査することできます。
本ツールでは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威について解析したレポートを出力します。利用者は本ツールを通して、脆弱性を学習するとともに、ソースコードセキュリティ検査技術の有効的な活用方法を習得することができます。
配布形式は、VMイメージ、パッケージ形式、ソースコード形式の3つ。VMイメージはVMware Playerで動作し、パッケージ形式およびソースコードはUbuntu 11.10 Desktopが動作環境となります。拡張子がrbになっているため、ソースコードはRubyで記述されている模様。
脆弱性を作り込まない技術を習得するために使ってほしいとIPAは説明しています。
検出できる脆弱性と検査可能なコードの条件
ツールの概要によると、検出できる脆弱性は以下。
CWE-120 入力サイズ未チェックでのバッファコピー(バッファオーバーフローの問題)
CWE-129 配列インデックスの検証の不備
CWE-134 書式文字列の問題
CWE-190 整数オーバーフローの問題
CWE-191 整数アンダーフローの問題
CWE-195 符号付き変数の変換に関する問題
CWE-457 未初期化変数の利用
CWE-467 ポインタ変数に対する sizeof 演算子の利用
また、検査可能なソースコードの条件は以下。
C言語(ANSI C)で記述されたソースコード
x86 アーキテクチャ向けに記述されたソースコード
100ファイル以下で構成されるプログラムのソースコード
構造体を使用していないソースコード
goto文を使用していないソースコード
構造体を使わないコードという条件は、本格的なコードではちょっと厳しいかもしれませんね。ツールの開発は株式会社フォティーンフォティ技術研究所が行ったと発表されています。
あわせて読みたい
AmazonクラウドがPaaS機能で.NETとSQL Serverを標準サポート。Windows Serverアプリがそのままクラウドへ展開可能に
≪前の記事
MITとハーバードが共同で無料のオンライン講座「edX」を発表。基盤をオープンソースでも公開