セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を!...

27
セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~ 2015514独立行政法人情報処理推進機構 技術本部 セキュリティセンター 情報セキュリティ技術ラボラトリー 山下 勇太 1

Transcript of セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を!...

Page 1: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

技術本部 セキュリティセンター 情報セキュリティ技術ラボラトリー

山下 勇太

1

Page 2: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

アジェンダ

• 製品開発におけるテストと脆弱性 • ファジングとは • ファジングによる効果 • IPAのファジングに関する取組み

2

Page 3: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

製品開発におけるテストと脆弱性(1/6) ~品質を確保するためのテスト~

• 製品開発における様々なテスト

• 機能テスト • システムテスト • 構成テスト • 回帰テスト • 受け入れテスト

「バグ」(*)を減らして、高い品質の 製品を提供する。

(*):ここでは、バグを「ソフトウェア製品が仕様通りに動作しなくなる等の問題」と定義する。

1.要件定義 2. 設計 3. 実装 4. テスト 5. 運用 / 利用 6. 廃棄

開発ライフサイクル

3

Page 4: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

製品開発におけるテストと脆弱性(2/6) ~ソフトウェアの脆弱性~

• このような話をよく聞きます – パソコンへのウイルス感染 – 組織/企業への不正アクセス

• これらの事件などの原因の一つ – ソフトウェアの脆弱性

「コンピュータ不正アクセスやコンピュータウイルス等の攻撃により、その機能や性能を損なう原因となり得るセキュリティ上の問題箇所」。 ここでは、「ソフトウェア製品を強制的に終了させてしまう」バグも、(広義的に)脆弱性に含めます。

「脆弱性」とは

4

Page 5: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

製品開発におけるテストと脆弱性(3/6) ~ネットワークに繋がる機器たち~

• さまざまな機器がネットワークに繋がる時代 – ネットワークは誰でも繋がる。 – 悪意あるユーザがネットワークに居ないとは限らない。

• 機器に脆弱性があると、そこを狙われてしまう。

)))

インターネット

)))

5

Page 6: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

製品開発におけるテストと脆弱性(4/6) ~組込み製品の脆弱性~

• 組込み製品の脆弱性による被害事例

• 製品出荷前に、脆弱性を作らないようにしたい

6

Page 7: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

• 2014年11月にあった脆弱性悪用の事例(無線LANルータの脆弱性悪用)

製品開発におけるテストと脆弱性(5/6) ~組込み製品の脆弱性~

7

出典:不正プロキシ事件、ロジテック製品ユーザーのアカウントが悪用される http://itpro.nikkeibp.co.jp/atcl/news/14/112001989/

Page 8: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

製品開発におけるテストと脆弱性(6/6) ~従来のテストを補う「ファジング」~

• 機能テストだけでは脆弱性の検出は難しい – テストの良し悪しではなく、テストの網羅性

• 機能が動作することを確認するテストデータ • 異常な動作を確認するテストデータ

– 機能テストなどでは次のようなデータでテストしますか?

• 「AAAAAAAAAAAAAAAAAAA・・・」 • 「%s%s%s%s%s%s%s」

このようなデータでテストする手法:

「ファジング」 8

Page 9: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

• 一般の使用では考えられない、問題が起きそうな細工をしたデータを検査対象に送る

..など

• 細工したデータを送り、製品の応答や動作を監視して、製品に問題が発生しないかを検査する

ファジングとは(1/7) ~どのようなテストか~

ファズ (Fuzz) AAAAAAAAAAAAAAAAAAAAAAAAAA

%s%s%s%s%s%s%s%s%s%s%s%s%

9

Page 10: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングとは(2/7) ~入力データ形式の例~

10

ファイル

・文書 ・音楽 ・画像 etc

パラメータ

入力データ 入力対象

通信

ソフトウェア

・文書作成 ・音楽再生 ・画像表示 etc

・実行オプション ・URL etc

・TCP/IP ・UPnP ・無線 etc 通信機器

・ルータ ・テレビ ・Bluetooth etc

C:¥test.exe –hoge

・実行コマンド ・Webサイト etc

パケット

多種多様な入力データと、 多種多様な入力データを受付ける製品の増加

Page 11: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

• ツールによる自動的なテスト – 多種多様なデータの生成、送信を自動で行う – 手動で同様のテストを実施する場合に比べ、細工したデータの作成や送信等の工数を抑える

ファジングとは(3/7) ~自動的なテスト~

11

Page 12: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングとは(4/7) ~ファジング対象の例~

• 例えば、ブロードバンドルータにファジングを検討した場合、以下のような対象が想定される。

12

TCP

LAN

ウェブ管理画面

IP ICMP ARP

インターネット

HTTP

・・・

Page 13: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

• ファジングに使われるツール – 商用ツール(アルファベット順)

• Codenomicon Defensics • Raven

– フリーソフトウェア(アルファベット順) • ISIC • Taof • Peach

出典:「ファジング活用の手引き」 https://www.ipa.go.jp/security/vuln/documents/fuzzing-guide.pdf

ファジングとは(5/7) ~ファジングツール分類~

13

※ここに記載があるものはIPAで利用実績があるもので世の中には数百のツールが存在

Page 14: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

• ファジングツール一覧と、検査可能な対象

TCP/IP HTTP

Bluetooth

(その他通信プロトコル、画像など)

Codenomicon Defensics Raven Taof

TCP/IP

HTTP

など

HTTP

ツール名

ファジング対象 (通信プロトコルアプリケーションなど)

商用製品 フリーソフトウェア

HTTP

FTP

UPnP

IP

ISIC Peach

※商用ツールのファジング対象プロトコルはIPAで利用したものを抜粋しており、全てのプロトコルを記載しておりません。

14

※「ファジング活用の手引き」より抜粋 https://www.ipa.go.jp/security/vuln/documents/fuzzing-guide.pdf

ファジングとは(6/7) ~ファジング対象ごとのツール~

Page 15: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングとは(7/7) ~ファジング活用の事例~ • Mozillaプロジェクト

– https://blog.mozilla.org/blog/2013/07/30/mozilla-continues-to-build-the-web-as-a-platform-for-security/

15

Page 16: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングによる効果(1/3) ~未知のバグや脆弱性の発見~

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

一般的な機能テスト①~③では、発見が難しいバグや

未知の脆弱性が残る

ファジングを追加すると、発見が難しいバグや未知の脆弱性が少なくなる

16

Page 17: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングによる効果(2/3) ~「バグ出し」に活用できている例~

• Microsoft 社の事例ではファジングでバグを1800件検出

“Microsoft runs fuzzing botnet, finds 1,800 Office bugs” http://www.computerworld.com/s/article/9174539/Microsoft_runs_fuzzing_botnet_finds_1_800_Office_bugs 17

Page 18: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジングによる効果(3/3) ~改修費用を抑える~

• 製品の品質を向上させ、製品出荷後に発生しうる 改修費用などを抑える

ファジング導入、運用に掛かる費用 詳細は「製品の品質を確保する「セキュリティテスト」に関するレポート」を参照: https://www.ipa.go.jp/files/000009390.pdf

18

Page 19: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

セキュリティテスト手法「ファジング」まとめ

• 従来の機能テストなどを補い、ファジングを実施することでバグや脆弱性の検出を期待できる

• 大手ソフトウェア企業を中心に、既に製品開発で活用しており、成果をあげている

• 本格的に実施するのであれば、商用製品が必要となるが、フリーソフトを活用しても品質確保への貢献を期待できる

19

Page 20: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

IPAのファジングに関する取組み(1/2)

• 2011年8月からファジングの有効性の実証 および普及の促進を目的とした活動を開始

プレス発表 ソフトウェア製品における脆弱性の減少を目指す「脆弱性検出の普及活動」を開始 https://www.ipa.go.jp/about/press/20110728.html

脆弱性検出 ツール

(ファジングツール)

検出対象製品 IPA 製品開発者

報告 脆弱性

普及啓発資料

公開

検出対象製品の 製造メーカ

...

20

Page 21: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

IPAのファジングに関する取組み(2/2)

• 組込み製品から脆弱性を検出 – 21製品で合計24件

• 様々な情報家電で発見 – セキュリティ・キャンプでも脆弱性を検出

21 ファジングで市販の家電製品から脆弱性が見つかった!

Page 22: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジング活用のご提案

• ファジングを活用すると、従来のテストから網羅性を高めて、製品の品質確保に効果がある – 大手ソフトウェア企業を中心に活用実績もある – IPAでも脆弱性検出に効果があることを実証済み

• フリーソフトウェアも使い方次第で、有償製品同様にバグや脆弱性を発見出来る – フリーソフトウェアを活用している組織もある

できる範囲からファジングを実践していただきたい

22

Page 23: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジング活用へご案内

• もっと「ファジング」を知りたい方は – IPAの「ファジング」関連資料をご活用ください

https://www.ipa.go.jp/security/vuln/fuzzing.html • 「ファジング活用の手引き」 • 「スマートテレビの脆弱性検出のレポート」 • 「ファジング実践資料(実践編・UPnP編・テストデータ編)」 • 「製品の品質を確保する『セキュリティテスト』に関するレポート」

– 組み込み製品の脆弱性対策映像コンテンツ

https://www.ipa.go.jp/security/keihatsu/videos/index.html#eng

• 組込み製品の脆弱性が及ぼす影響 ~製品開発企業はどうすれば~ • 組込み製品の脆弱性対策に ~知ってみよう ファジング~

– JPEG テスト支援ツール「iFuzzMaker」 https://www.ipa.go.jp/security/vuln/iFuzzMaker/

23

Page 24: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ファジング関連イベントのご案内

• ファジング入門セミナー(年2回) – IPAにてファジングについて製品開発者向けにデモを交えたセミナーを開催しています

• セキュリティ・キャンプ – 学生向けにファジングの実践講義を行っています

24

Page 25: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

Windows Server 2003のサポートが、2015年7月15日に終了します。 サポート終了後は修正プログラムが提供されなくなり、脆弱性を悪用した攻撃が成功する可能性が高まります。 サポートが継続しているOSへの移行検討とOS移行に伴う周辺ソフトウェアの 影響調査や改修等について計画的に迅速な対応をお願いします。

25

会社の事業に悪影響を及ぼす被害を受ける可能性があります

IPA win2003 検索 詳しくは

またWindowsXPを利用されている方はサポートが継続しているOSへの移行検討をお願いします

脆弱性が 未解決なサーバ

脆弱性を 悪用した攻撃

ホームページの改ざん

重要な情報の漏えい

他のシステムへの攻撃に悪用

業務システム・サービスの停止・破壊

データ消去

Windows Server 2003のサポート終了に伴う注意喚起

Page 26: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

「iパス」は、ITを利活用するすべての社会人・学生が備えておくべき ITに関する基礎的な知識が証明できる国家試験です。

ITパスポート公式キャラクター 上峰亜衣(うえみねあい)

【プロフィール:マンガ】 https://www3.jitec.ipa.go.jp/JitesCbt/html/uemine/profile.html

26

Page 27: セキュリティテスト手法「ファジング」による脆弱性低減を!セキュリティテスト手法「ファジング」による脆弱性低減を! ~外部からの脅威に対し、製品出荷前に対策強化するために~

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

ご清聴ありがとうございました

お問い合わせ先:[email protected]

IPA ファジング 検索

27