ソースコードの脆弱性をチェックするツール、IPAが無償公開。C言語に対応

2012年5月8日

IPA(独立行政法人情報処理推進機構)は、 C言語で作成されたソースコードに脆弱性が存在しないかどうかを検査するツール「iCodeChecker」を公開しました。無償で利用できます。

情報処理推進機構:ソースコードセキュリティ検査ツール 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文を使用していないソースコード

構造体を使わないコードという条件は、本格的なコードではちょっと厳しいかもしれませんね。ツールの開発は株式会社フォティーンフォティ技術研究所が行ったと発表されています。

あわせて読みたい

セキュリティ プログラミング言語 C IPA




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本