Post on 20-May-2020
外部からの脅威に対し「ファジング」の導入を!~ さらなる脆弱性発見のためのセキュリティテスト ~
2017年5月10日独立行政法人情報処理推進機構
技術本部 セキュリティセンター
小林 桂
1
Copyright © 2017 独立行政法人情報処理推進機構
内容
• ネットワークに繋がる機器たち
• ファジングとは
• ファジングによる効果
• まとめ
2
Copyright © 2017 独立行政法人情報処理推進機構
ネットワークに繋がる機器たち~注目されているIoT~
• さまざまな機器が通信機能を持ち、ネットワークに繋がる時代– ネットワークに繋るため、攻撃を受けるリスクが増加する
インターネット
IoT:Internet of Things3
Copyright © 2017 独立行政法人情報処理推進機構
ネットワークに繋がる機器たち~出荷後の脆弱性対策事例~
4
• 自動車も繋がる時代。ハッキングによる乗っ取りのリスクも…
【事例】
クライスラー、ハッキング対策で140万台リコール
ソフト更新し遠隔操作防ぐhttp://www.nikkei.com/article/DGXLASGM25H19_V20C15A7MM0000/
ハッキング対策のため、自社のコネクテッドカー140万台をリコール
米国の著名ハッカーが米専門誌と共同で行った、クライスラー車を乗っ取る実験の結果を受けて
遠隔操作を防ぐためソフトウェアを更新した
Copyright © 2017 独立行政法人情報処理推進機構
ネットワークに繋がる機器たち~従来のテストを補う「ファジング」~
バグや脆弱性を見つけるセキュリティテストとして導入を推奨するのが 「ファジング」
• 従来よりも厳重なセキュリティテストの必要性• テスト工程で、できるだけ不具合を取り除きたい
- ソフトウェア品質を向上させたい- 脆弱性対応、修正対応のコストを削減したい
5
Copyright © 2017 独立行政法人情報処理推進機構
• ソフトウェアのバグや脆弱性を探すブラックボックステストの一種
• 異常データを自動生成し、検査対象に入力する
• 製品の応答や動作を監視して、異常データによって問題が発生しないかを検査する
ファジングとは~どのようなセキュリティテストか~
GET/ HTTP/1.1Host: 192.168.219.10User-Agent: Mozilla/5.0 ・・・
正常な HTTP リクエスト
ファジング対象正常なレスポンス(例:ルータの管理画面の表示)
6
ファジングのイメージ(まずは正常な動作を確認)
Copyright © 2017 独立行政法人情報処理推進機構
• ソフトウェアのバグや脆弱性を探すブラックボックステストの一種
• ツールにより、異常データを自動生成し、検査対象に入力
• 製品の応答や動作を監視して、異常データによって問題が発生しないかを検査する
ファジングとは~どのようなセキュリティテストか~
GETGETGETGET / HTTP/1.1Host: 192.168.219.10User-Agent: Mozilla/5.0 ・・・AAAAAAAAAAAAA /
HTTP/1.1Host: 192.168.219.10User-Agent: Mozilla/5.0 ・・・
G,E,T/ HTTP/1.1Host: 192.168.219.10User-Agent: Mozilla/5.0 ・・・
ファジングツールがインストールされたPC
自動生成された大量の異常データ
ファジング対象
動作を確認し、問題(異常終了など)が発生しないか検査する
7
ファジング実行時
Copyright © 2017 独立行政法人情報処理推進機構
• 自動販売機をテストする場合
– お金を入れたら飲み物が出る
– 飴玉をいれたら、どうなるか
正常な動作を確認
異常な入力を確認
一般的な動作テスト(機能テストなど)
ファジング
ファジングとは~別のものに置き換えてみると~
8
Copyright © 2017 独立行政法人情報処理推進機構
ファジングとは~テスト手法としてのファジングの位置づけ~
• ファジングでは、一般的な機能テストやセキュリティテストでは発見が難しいバグや脆弱性などを検出できる
9
ファジングによるテスト
従来のセキュリティテスト機能テスト
機能テスト
仕様に基づく動作をすることをテストする。
従来のセキュリティテスト
一般的な攻撃に対する対策が行われていることをテストする。
ファジングによるテスト
様々な入力データに対し、異常が発生しないことをテストする。
Copyright © 2017 独立行政法人情報処理推進機構
ファジングとは~ファジングがテストできる対象~
ファイル ・文書・音楽・画像
etc
パラメータ
入力データ ファジング対象
通信
ソフトウェア ・文書作成ソフト・音楽再生ソフト・画像表示ソフト
etc
・実行オプション・URL
etc
・TCP/IP・UPnP・無線
etc
通信機器 ・ルータ・テレビ・Bluetooth
etc
・コマンド・Webサイト
etc
パケット
• 入力形式が定められていれば、あらゆる製品をテスト可能
その他
C:¥test.exe –hoge
10
Copyright © 2017 独立行政法人情報処理推進機構
ファジングによる効果~ ファジングが活用された事例~
• 米マイクロソフトではファジングによる自動テストを行い、Office 製品のバグを 1,800 件発見
– https://www.microsoft.com/en-us/sdl/default.aspx
• Adobe Systems では、Flash Player の脆弱性をテストするためにファジングを実施
– https://blogs.adobe.com/security/tag/fuzzing
• ファジングにより、世界的に利用されているオープンソース暗号ライブラリ「OpenSSL」の脆弱性(Heartbleed)を検出
– https://www.synopsys.com/software-integrity/security-testing/fuzz-testing.html
• Google が オープンソースソフトウェア向けファジングツール「OSS-Fuzz」を発表
– https://github.com/google/oss-fuzz
11
Copyright © 2017 独立行政法人情報処理推進機構
ファジングによる効果~ファジングの導入事例①~
• 米マイクロソフトではファジングによる自動テストを行い、Office 製品のバグを 1,800 件発見http://www.computerworld.com/article/2516563/security0/microsoft-runs-fuzzing-botnet--finds-1-800-office-bugs.html
– 米マイクロソフトでは、自社製品である Office 2010 に対してファジングによるセキュリティテストを行った
– ファジングにより、バグを 1,800 件発見した
– 同社の製品開発のライフサイクルにはファジングが組み込まれている
12
Copyright © 2017 独立行政法人情報処理推進機構
ファジングによる効果~ファジングの導入事例②~
• Microsoft 社の導入事例– 同社では Windows Server 2003 の開発時から、製品開発のライフサイクルにファジングを導入していた
– 導入の意図は品質の向上
13
マイクロソフト社のソフトウェア開発ライフサイクルhttps://www.microsoft.com/en-us/sdl/
Copyright © 2017 独立行政法人情報処理推進機構
• ファジングの適切な実施量は、ファジング対象やツールによって異なり、実施者が最適解を検討する必要がある
【ファジングにおけるテスト日数と問題発見数の関係】
ファジングによる効果~ファジングの実施時間の目安①~
詳細は「製品の品質を確保する「セキュリティテスト」に関するレポート」を参照https://www.ipa.go.jp/files/000009390.pdf
14
ファジング開始直後は日数あたりの発見数が多い傾向がある
発見数と、工数を考慮し、最適値を見つけよう
ファジングを継続すると、次第に発見数の増加が少なくなる
Copyright © 2017 独立行政法人情報処理推進機構
• ファジングの適切な実施量について水準を定める取組みも
【fuzzqual testing framework】http://www.peachfuzzer.com/wp-content/uploads/Peach-Fuzzer-FuzzQual-Framework.pdf
Peach Fuzzer 社が定める、効果的なファジングの実施量を提示したガイドライン
– テストケースの数を基準に、製品の品質レベルを規定
– 製品ごとに適切なファジング実施量の目安を提示
ファジングによる効果~ファジングの実施時間の目安②~
15
Fuzzqual が定めるファジング実施量のベンチマーク (fuzzqual testing framework より引用)
Copyright © 2017 独立行政法人情報処理推進機構
まとめ~ファジング活用のご提案~
• ファジングを活用すると、従来のテストから網羅性を高めて、製品の品質確保に効果がある
– 一般的なテストでは発見が困難な脆弱性を発見できる
– 大手ソフトウェア企業を中心に活用実績がある
– ファジングの実施量は、日数あたりの発見数で判断する
安全な製品を提供していくためにファジングの導入をご検討ください
16
Copyright © 2017 独立行政法人情報処理推進機構
• IPAの「ファジング」関連資料をご活用ください
– 「ファジング活用の手引き」
– 「ファジング実践資料(実践編・UPnP編・テストデータ編)」
– 「スマートテレビの脆弱性検出のレポート」
– 「製品の品質を確保する『セキュリティテスト』に関するレポート」
• 組み込み製品の脆弱性対策映像コンテンツ組込み製品の脆弱性が及ぼす影響 ~製品開発企業はどうすれば~
– 組込み製品の脆弱性対策に ~知ってみよう ファジング~
• JPEG テスト支援ツール「iFuzzMaker」
まとめ~もっと「ファジング」を知りたい方は~
17
Copyright © 2017 独立行政法人情報処理推進機構
情報セキュリティマネジメント試験
◆試験実施⽇◆
・個⼈情報を扱う全ての⽅・業務部⾨・管理部⾨で情報管理を担当する全ての⽅
◆受験をお勧めする⽅◆
IT利⽤部⾨の情報セキュリティ管理の向上に役⽴つ国家試験あらゆる部⾨で必要な、情報セキュリティ管理の知識を体系的に習得できます。
年2回実施(春期・秋期)春期: 4⽉第三⽇曜⽇秋期:10⽉第三⽇曜⽇