~さらなる脆弱性発見のためのセキュリティテスト~•...

19
外部からの脅威に対し「ファジング」の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017510独立行政法人情報処理推進機構 技術本部 セキュリティセンター 小林 桂 1

Transcript of ~さらなる脆弱性発見のためのセキュリティテスト~•...

Page 1: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

外部からの脅威に対し「ファジング」の導入を!~ さらなる脆弱性発見のためのセキュリティテスト ~

2017年5月10日独立行政法人情報処理推進機構

技術本部 セキュリティセンター

小林 桂

1

Page 2: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

内容

• ネットワークに繋がる機器たち

• ファジングとは

• ファジングによる効果

• まとめ

2

Page 3: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ネットワークに繋がる機器たち~注目されているIoT~

• さまざまな機器が通信機能を持ち、ネットワークに繋がる時代– ネットワークに繋るため、攻撃を受けるリスクが増加する

インターネット

IoT:Internet of Things3

Page 4: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ネットワークに繋がる機器たち~出荷後の脆弱性対策事例~

4

• 自動車も繋がる時代。ハッキングによる乗っ取りのリスクも…

【事例】

クライスラー、ハッキング対策で140万台リコール

ソフト更新し遠隔操作防ぐhttp://www.nikkei.com/article/DGXLASGM25H19_V20C15A7MM0000/

ハッキング対策のため、自社のコネクテッドカー140万台をリコール

米国の著名ハッカーが米専門誌と共同で行った、クライスラー車を乗っ取る実験の結果を受けて

遠隔操作を防ぐためソフトウェアを更新した

Page 5: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ネットワークに繋がる機器たち~従来のテストを補う「ファジング」~

バグや脆弱性を見つけるセキュリティテストとして導入を推奨するのが 「ファジング」

• 従来よりも厳重なセキュリティテストの必要性• テスト工程で、できるだけ不具合を取り除きたい

- ソフトウェア品質を向上させたい- 脆弱性対応、修正対応のコストを削減したい

5

Page 6: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

• ソフトウェアのバグや脆弱性を探すブラックボックステストの一種

• 異常データを自動生成し、検査対象に入力する

• 製品の応答や動作を監視して、異常データによって問題が発生しないかを検査する

ファジングとは~どのようなセキュリティテストか~

GET/ HTTP/1.1Host: 192.168.219.10User-Agent: Mozilla/5.0 ・・・

正常な HTTP リクエスト

ファジング対象正常なレスポンス(例:ルータの管理画面の表示)

6

ファジングのイメージ(まずは正常な動作を確認)

Page 7: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

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

ファジング実行時

Page 8: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

• 自動販売機をテストする場合

– お金を入れたら飲み物が出る

– 飴玉をいれたら、どうなるか

正常な動作を確認

異常な入力を確認

一般的な動作テスト(機能テストなど)

ファジング

ファジングとは~別のものに置き換えてみると~

8

Page 9: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ファジングとは~テスト手法としてのファジングの位置づけ~

• ファジングでは、一般的な機能テストやセキュリティテストでは発見が難しいバグや脆弱性などを検出できる

9

ファジングによるテスト

従来のセキュリティテスト機能テスト

機能テスト

仕様に基づく動作をすることをテストする。

従来のセキュリティテスト

一般的な攻撃に対する対策が行われていることをテストする。

ファジングによるテスト

様々な入力データに対し、異常が発生しないことをテストする。

Page 10: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ファジングとは~ファジングがテストできる対象~

ファイル ・文書・音楽・画像

etc

パラメータ

入力データ ファジング対象

通信

ソフトウェア ・文書作成ソフト・音楽再生ソフト・画像表示ソフト

etc

・実行オプション・URL

etc

・TCP/IP・UPnP・無線

etc

通信機器 ・ルータ・テレビ・Bluetooth

etc

・コマンド・Webサイト

etc

パケット

• 入力形式が定められていれば、あらゆる製品をテスト可能

その他

C:¥test.exe –hoge

10

Page 11: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

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

Page 12: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

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

Page 13: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

ファジングによる効果~ファジングの導入事例②~

• Microsoft 社の導入事例– 同社では Windows Server 2003 の開発時から、製品開発のライフサイクルにファジングを導入していた

– 導入の意図は品質の向上

13

マイクロソフト社のソフトウェア開発ライフサイクルhttps://www.microsoft.com/en-us/sdl/

Page 14: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

• ファジングの適切な実施量は、ファジング対象やツールによって異なり、実施者が最適解を検討する必要がある

【ファジングにおけるテスト日数と問題発見数の関係】

ファジングによる効果~ファジングの実施時間の目安①~

詳細は「製品の品質を確保する「セキュリティテスト」に関するレポート」を参照https://www.ipa.go.jp/files/000009390.pdf

14

ファジング開始直後は日数あたりの発見数が多い傾向がある

発見数と、工数を考慮し、最適値を見つけよう

ファジングを継続すると、次第に発見数の増加が少なくなる

Page 15: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

• ファジングの適切な実施量について水準を定める取組みも

【fuzzqual testing framework】http://www.peachfuzzer.com/wp-content/uploads/Peach-Fuzzer-FuzzQual-Framework.pdf

Peach Fuzzer 社が定める、効果的なファジングの実施量を提示したガイドライン

– テストケースの数を基準に、製品の品質レベルを規定

– 製品ごとに適切なファジング実施量の目安を提示

ファジングによる効果~ファジングの実施時間の目安②~

15

Fuzzqual が定めるファジング実施量のベンチマーク (fuzzqual testing framework より引用)

Page 16: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

まとめ~ファジング活用のご提案~

• ファジングを活用すると、従来のテストから網羅性を高めて、製品の品質確保に効果がある

– 一般的なテストでは発見が困難な脆弱性を発見できる

– 大手ソフトウェア企業を中心に活用実績がある

– ファジングの実施量は、日数あたりの発見数で判断する

安全な製品を提供していくためにファジングの導入をご検討ください

16

Page 17: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

• IPAの「ファジング」関連資料をご活用ください

– 「ファジング活用の手引き」

– 「ファジング実践資料(実践編・UPnP編・テストデータ編)」

– 「スマートテレビの脆弱性検出のレポート」

– 「製品の品質を確保する『セキュリティテスト』に関するレポート」

• 組み込み製品の脆弱性対策映像コンテンツ組込み製品の脆弱性が及ぼす影響 ~製品開発企業はどうすれば~

– 組込み製品の脆弱性対策に ~知ってみよう ファジング~

• JPEG テスト支援ツール「iFuzzMaker」

まとめ~もっと「ファジング」を知りたい方は~

17

Page 18: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が

Copyright © 2017 独立行政法人情報処理推進機構

情報セキュリティマネジメント試験

◆試験実施⽇◆

・個⼈情報を扱う全ての⽅・業務部⾨・管理部⾨で情報管理を担当する全ての⽅

◆受験をお勧めする⽅◆

IT利⽤部⾨の情報セキュリティ管理の向上に役⽴つ国家試験あらゆる部⾨で必要な、情報セキュリティ管理の知識を体系的に習得できます。

年2回実施(春期・秋期)春期: 4⽉第三⽇曜⽇秋期:10⽉第三⽇曜⽇

Page 19: ~さらなる脆弱性発見のためのセキュリティテスト~• 異常データを自動生成し、検査対象に入力する • 製品の応答や動作を監視して、異常データによって問題が