Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OWASPよりPHPプログラマに贈るセキュリティ実装虎の巻

OWASP Japan
October 03, 2015
13k

 OWASPよりPHPプログラマに贈るセキュリティ実装虎の巻

2015/10/03に開催されたPHPカンファレンスにおける発表資料です。PHPプログラマがウェブセキュリティの勉強をはじめるきっかけとして、OWASPの成果物をご活用してみては?と提案しつつ、その中から特にプログラマにご活用いただきたいOWASPの主要成果物(Top10、Cheat Sheet、ASVS、ZAP)の内容について簡単に紹介しています。
Speaker:@shonantoka

OWASP Japan

October 03, 2015
Tweet

Transcript

  1. 本業   〜~2014.3  セキュリティエンジニア   2014.4〜~  コンサルタント(IT、セキュリティ)   OWASP   2013.3    OWASP  Japan勉強会

     初参加   2014.2    OWASP  Japan勉強会  スピーカー   2014.3    国際カンファレンス  運営メンバー   2014.3〜~  OWASP  Japan  運営メンバー   2014.7〜~  OWASP  Japan  PRチームリーダー   PHPとの関わり   出会いは新卒エンジニア研修のウェブアプリ開発   WordPressサイトの構築〜~運⽤用・保守を3つ経験   ⾃自分を⼀一⾔言で表すと   3度度の飯より読書好き、そんなことよりお酒好き  わたしはだれか? 仲⽥田  翔⼀一(  @shonantoka)
  2. OWASP  Kyushu   2015.3〜~ OWASP  Kansai   2014.3〜~ OWASP  Japan

      2012.3〜~ OWASP  Sendai   New 国内には⾸首都圏をはじめ、4つのチャプターが存在  OWASPとはなにか?
  3. プロジェクトを組成し、⽇日本独⾃自の成果物を作成  OWASPとはなにか? 100 99 98 97 96 95 94 93

    92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 D p f ❉ P ✭ ελʔτ ΰʔϧ 08"41$ ϞόΠϧσόΠεʹ ͓͚Δػີσʔλͷ ಛఆͱอޢ 08"41$ σόΠεʹ͓͚Δ ύεϫʔυͷ ҆શͳऔΓѻ͍ 08"41$ ػີσʔλͷ఻ૹͷ อޢΛ֬อ 08"41$ Ϣʔβʔೝূɺ ೝՄ ͓Αͼ ηογϣϯ؅ཧͷ ਖ਼͍࣮͠૷ 08"41$ όοΫΤϯυͷ"1* ʢαʔϏεʣ ͱϓϥο τ ϑΥʔϜ ʢαʔόʣ ͷ ҆શੑͷҡ࣋ 08"41$ αʔυύʔςΟͷ αʔϏε΍ ΞϓϦέʔγϣϯͱͷ σʔλ౷߹Λ҆શʹ 08"41$ Ϣʔβʔσʔλͷ ར༻ͱऩूͷͨΊͷ ঝ୚ͷऩूͱอ؅ʹ ಛผͳ஫ҙΛ෷͏ 08"41$ ༗ྉͷϦιʔε΁ͷ ෆਖ਼ΞΫηεΛ๷͙ ͨΊͷ੍ޚͷ࣮૷ 08"41$ ϞόΠϧΞϓϦͷ ഑෍ఏڙͷ ҆શੑͷ֬อ 08"41$ ίʔυ࣮ߦ࣌ʹΤϥʔ ͕ൃੜͨ͠৔߹ͷ࣮૷ Λ৻ॏʹ֬ೝ 08"41. ශऑͳαʔόଆͷ ੍ޚ 08"41. ҆શͰͳ͍ σʔλͷอ؅ 08"41. ෆे෼ͳ τϥϯεϙʔτ૚อޢ 08"41. ҙਤ͠ͳ͍ σʔλ࿙͍͑ 08"41. ශऑͳೝূͱೝՄ 08"41. յΕͨ҉߸Խॲཧ 08"41. ΫϥΠΞϯταΠυ ΠϯδΣΫγϣϯ 08"41. ৴པͰ͖ͳ͍ೖྗʹ ΑΔηΩϡϦςΟ൑அ 08"41. ෆద੾ͳ ηογϣϯॲཧ 08"41. όΠφϦอޢͷܽ೗ Created by Colin Watson Version MobApp-1.02-JA (Farringdon) 08"41τοϓϞόΠϧίϯτϩʔϧ  08"41το ϓϞόΠϧίϯτϩʔϧ͸ɺ ੬ऑੑ΁ͷ߈ܸʹΑΔඃ֐ɺ ͋Δ͍͸ͦͷՄೳੑΛݮগͤ͞ΔͨΊͷ։ൃ੍ޚͷҰཡͰ͢ɻ $ ϞόΠϧσόΠεͷػີσʔλͷಛఆͱอޢ $ σόΠεͷύεϫʔυͷ҆શͳऔΓѻ͍ $ ػີσʔλͷ఻ૹͷอޢΛ֬อ $ Ϣʔβʔೝূɺ ೝՄ͓Αͼηογϣϯ؅ཧͷਖ਼͍࣮͠૷ $ όοΫΤϯυͷ"1* ʢαʔϏεʣ ͱϓϥο τ ϑΥʔϜ ʢαʔόʣ ͷ҆શੑͷ  ҡ࣋ $ αʔυύʔςΟͷαʔϏε΍ΞϓϦέʔγϣϯͱͷσʔλ౷߹Λ҆શʹ $ Ϣʔβʔσʔλͷར༻ͱऩूͷͨΊͷঝ୚ͷऩूͱอ؅ʹಛผͳ஫ҙ  Λ෷͏ $ ༗ྉͷϦιʔε ʢࡒ෍ɺ 4.4ɺ ి࿩౳ʣ ΁ͷෆਖ਼ΞΫηεΛ๷͙ͨΊͷ  ੍ޚͷ࣮૷ $ ϞόΠϧΞϓϦͷ഑෍ఏڙͷ҆શੑͷ֬อ $ίʔυ࣮ߦ࣌ʹΤϥʔ͕ൃੜͨ͠৔߹ͷ࣮૷Λ৻ॏʹ֬ೝ 08"41τοϓϞόΠϧϦεΫ  5IF08"41το ϓϞόΠϧϦεΫ͸ɺ ΞϓϦέʔγϣϯ૚Ͱͷ࠷ॏཁͳϞόΠϧ ΞϓϦͷϦεΫʹ͍ͭͯͷڞ௨ೝࣝΛࣔ͢΋ͷͰ͢ɻ . ශऑͳαʔόʔଆͷ੍ޚ .҆શͰͳ͍σʔλͷอ؅ . ෆे෼ͳτϥϯεϙʔτ૚อޢ . ҙਤ͠ͳ͍σʔλ࿙͍͑ . ශऑͳೝূͱೝՄ . յΕͨ҉߸Խॲཧ . ΫϥΠΞϯταΠυͷΠϯδΣΫγϣϯ . ৴པͰ͖ͳ͍ೖྗʹΑΔηΩϡϦςΟ൑அ . ෆద੾ͳηογϣϯॲཧ . όΠφϦอޢͷܽ೗ ίϯτϩʔϧͱϦεΫͷ྆ํͱ΋ɺ ͪ͜Βͷ08"41ϓϩδΣΫτͷαΠτʹৄड़͞Ε͍ͯ·͢ɻ IUUQTXXXPXBTQPSHJOEFYQIQ08"[email protected]@4FDVSJUZ@1SPKFDU ϓϩδΣ Ϋ τ Ϧʔμʔ Colin Watson ຋༁ऀͦͷଞͷߩݙऀ Manuel Lopez Arredondo, Fabio Cerullo, Tobias Gondrom, Martin Haslinger, Yongliang He, Cédric Messeguer, Takanori Nakanowatari, Riotaro Okada, Ferdinand Vroom, Ivy Zhang ऄͱ͸͠͝͸ɺ ΞϓϦέʔγϣϯ ɾ ηΩϡϦςΟೝ஌޲্ͷͨΊͷڭҭతͳήʔϜͰ͢ɻ ͜ͷ൛͸ϞόΠϧΞϓϦέʔγϣϯʹॏ఺Λஔ͍ ͓ͯΓɺ ʮ08"41το ϓϞόΠϧίϯτϩʔϧʯ Λ ʮ͸͠͝ʯ ɺ ·ͨ༗໊ͳ ʮ08"41το ϓϞόΠϧϦεΫʯ Λ ʮऄʯ ͱ͠·ͨ͠ɻ ͜ΕΒͷϓϩδΣΫτͷϦʔμʔͳΒͼʹߩݙ͞Εͨํʑʹײँ͍ͨ͠·͢ɻ αΠίϩ΍ίϚ͕ͳ͍ʁԼͷਤܗΛ੾Γऔͬͯ࢖͍ͬͯͩ͘͞ɻ ৭ͷؙ͍͍ͭͨ΋ͷΛίϚͱͯ͠࢖͑ΔͰ͠ΐ͏ɻ ͋Δ͍͸ɺ ̒໘ͷαΠίϩγϛϡϨʔλΛϓϩάϥϜ͢Δͱ͔ɺ εϚϗ͔ύιίϯͰ͔Β·Ͱͷ੔਺ͷཚ਺ΞϓϦΛ࢖͑͹͍͍ɻ ͨͩ͠ɺ ग़Δ໨͕ϥϯμϜ͔Ͳ͏͔͸ͪΌΜͱνΣοΫ͢Δ͜ͱ ʂ ͜ͷγʔτͷιʔεϑΝΠϧɺ ଞͷΞϓϦέʔγϣϯηΩϡϦςΟ τϐοΫͷγʔτɺ ଞͷ༷ʑͳݴޠ൛ɺ ·ͨ ʮ08"41ऄͱ͸͠͝ϓϩδΣΫτʯ ʹؔ͢Δ৘ใ͸ɺ ҎԼͷ08"41ͷ΢ΣϒαΠτʹ͋Γ·͢ɻ https://www.owasp.org/index.php/OWASP_Snakes_and_Ladders എܠ ʮऄͱ͸͠͝ʯ ͸ΞδΞൃ঵ͷϘʔυήʔϜͰɺ ϏΫτϦΞே ࣌୅ʹӳࠃʹ༌ೖ͞ΕͨਓؾͷϘʔυήʔϜͰ͢ɻ ΋ͱ΋ͱɺ ͜ͷήʔϜ͸ળͱѱɺ ඒಙͱѱಙͷͦΕͧΕͷޮՌΛࣔͨ͠ ΋ͷͰͨ͠ɻ ͜ͷήʔϜ͸ɺ ΞϝϦΧͷҰ෦ͷ৔ॴͰ͸ɺ ʮӍͲ ͍ͱ͸͠͝ʯ ͱͯ͠஌ΒΕ͍ͯ·͢ɻ ͜ͷ08"41൛Ͱ͸ɺ ηΩϡΞͳίʔσΟϯά ʢϓϩΞΫςΟϒ ίϯτϩʔϧʣ Λߴܿͳߦಈͱ͠ɺ ΞϓϦέʔγϣϯϦεΫΛ ѱಙͱ͍ͯ͠·͢ɻ ܯࠂ 08"41ऄͱ͸͠͝͸ɺ ن໛ͷେখΛ໰Θͣɺ ιϑτ΢ΣΞϓϩ άϥϚʔʹ࢖͍ͬͯͨͩ͘ ͜ͱΛҙਤ͍ͯ͠·͢ɻ ͜ͷࢴͷήʔ Ϝγʔτͦͷ΋ͷ͸༗֐Ͱ͸͋Γ·ͤΜ͕ɺ ར༻ऀ͕ɺ ࣗ෼Ͱ ॴ༗͍ͯ͠ΔϓϥενοΫ͋Δ͍͸໦੡ͷαΠίϩ΍Χ΢ϯλʔ ίϚ Λ࢖͏͜ͱʹ͢Δ৔߹ɺ ࡀҎԼͷࢠڙͨͪʹ͸޴ʹ٧ ·Βͤͯ஠ଉ͢ΔϦεΫ͕͋Δ͔΋͠Ε·ͤΜɻ ϧʔϧ ͜ͷήʔϜ͸ਓ͔ΒਓͰ༡ͼ·͢ɻ ͦΕͧΕͷϓϨΠϠʔ ʹ৭ͷ͍ͭͨίϚΛ഑͍ͬͯͩ͘͞ɻ ࠷ॳʹɺ ͦΕͧΕͷϓϨ ΠϠʔ͸αΠίϩΛৼͬͯ୭͕࠷ॳʹϓϨΠ͢Δ͔ܾΊ·͢ɻ Ұ൪େ͖ͳ਺ͷ໨Λग़ͨ͠ਓ͕࠷ॳͰ͢ɻ શϓϨΠϠʔͷίϚΛ ʮελʔτʯ ͱ͋Δ࠷ॳͷϚε໨ʹஔ͖ ·͢ɻ ॱʹɺ ֤ϓϨΠϠʔ͸αΠίϩΛৼΓɺ ͦͷ਺ʹ͕ͨͬͯ͠ ίϚΛҠಈ͠·͢ɻ Ҡಈͨ࣌͠ʹɺ ΋͠ίϚ͕͸͠͝ͷԼʹདྷͨͳΒɺ ίϚΛ͸͠͝ ͷ࠷্ஈͷͱ͜Ζʹ͋ΔϚε໨ʹ্͛ͳ͚Ε͹ͳΓ·ͤΜɻ ίϚ͕ऄͷޱͷͱ͜ΖʹདྷͨͳΒɺ ͦͷίϚΛऄͷ৲ඌͷͱ͜Ζ ʹ߱Ζ͞ͳ͚Ε͹ͳΓ·ͤΜɻ ࠨ্ͷͷͱ͜Ζʹ࠷ॳʹདྷͨϓϨΠϠʔ͕উऀͱͳΓ·͢ɻ ͜ͷγʔτ͔Β੾Γऔͬͨ΋ͷͰαΠίϩΛ࡞Δʹ͸ɺ ఺ઢʹԊͬͯંΓۂ͛ɺ ͷΓ͠Ζͷͱ͜Ζʹ઀ணࡎΛ͚ͭɺ ࢛֯͘ͳΔΑ͏ʹ৻ॏʹ੔ܗ͍ͯͩ͘͠͞ɻ Ұඖͷऄ͕࣍ͷॱ൪ͷΩϛͷαΠίϩ ͷ໨Λݴ͓͏͔ͬͯɺ ΢ΟϯΫͯ͠ΔΑɻ ݟ͔ͭͬͨʁ 08"41ऄͱ͸͠͝͸ɺ ແྉͰࣗ༝ʹ͓࢖͍͍͚ͨͩ·͢ɻ ΫϦΤΠςΟϒίϞϯζදࣔܧঝϥΠηϯεʹج͖ͮɺ ͜ͷ੒Ռ෺Λෳࣸɺ ഑෍ɺ ૹ৴ɺ վมɺ ঎ۀతར༻͕Մೳ Ͱ͕͢ɺ ͜ͷ࡞඼ʹجͮ͘ ͍͔ͳΔ΋ͷʹ͍ͭͯɺ ·ͨ࠶ར༻ɺ సૹɺ ೋ࣍తஶ࡞෺ʹ͍ͭͯ͸ɺ ͜ͷϥΠηϯεͱಉ͡࢖༻ ڐ୚৚݅Ͱͳ͚Ε͹ͳΓ·ͤΜɻ © OWASP Foundation 2014. OWASP Snakes and Ladders – ऄͱ͸͠͝ϞόΠϧΞϓϦ൛ – OWASP  Top10   ⽇日本語版 OWASP  蛇とはしご OWASP  ZAP運⽤用マニュアル OWASP  Top10  ⽇日本語版 OWASPセキュリティ要件書
  4. セ キ ュ リ テ ィ 対 策 に か

    か る コ ス ト  プログラマがセキュリティを意識識すべき2つの理理由! 開発 テスト・導⼊入 運⽤用・保守
  5. 約 93%のコスト抑制効果!  プログラマがセキュリティを意識識すべき2つの理理由! 開発 テスト・導⼊入 運⽤用・保守 開発⼯工程でセキュリティ対策するのが最もコストが安い! セ キ ュ

    リ テ ィ 対 策 に か か る コ ス ト Kevin  Soo  Hoo,  “Tangible  ROI  through  Secure  Software  Engineering.”Security  Business  Quarterly,.  Vol.1,  No.2,  Fourth  Quarter,  2001.参考
  6.  OWASPの成果物をどう使うか? テスト・導⼊入 運⽤用・保守 設計・開発 要件定義     ①

    要件定義 OWASP  ASVS(Application  Security  Verification  Standard  ) Web  システム/Web  アプリケーションセキュリティ要件書 ② 設計・開発 OWASP  Cheat  Sheet  Series OWASP  Proactive  Controls ③ テスト・導⼊入 OWASP  ZAP(Zed  Attack  Proxy) OWASP  Testing  Guide ④ 運⽤用・保守 OWASP  AppSensor OWASP  Dependency  Check ⑨ 知識識 OWASP  Top10  /  Mobile  Top10  /  IoT  Top  10 OWASP  Snakes  and  Ladders システムライフサイクルの各段階に活⽤用可能な100以上の成果物!
  7.  OWASPの成果物をどう使うか? ① 要件定義 OWASP  ASVS(Application  Security  Verification  Standard  ) Web

     システム/Web  アプリケーションセキュリティ要件書 ② 設計・開発 OWASP  Cheat  Sheet  Series OWASP  Proactive  Controls ③ テスト・導⼊入 OWASP  ZAP(Zed  Attack  Proxy) OWASP  Testing  Guide ④ 運⽤用・保守 OWASP  AppSensor OWASP  Dependency  Check ⑨ 知識識 OWASP  Top10  /  Mobile  Top10  /  IoT  Top  10 OWASP  Snakes  and  Ladders システムライフサイクルの各段階に活⽤用可能な100以上の成果物! テスト・導⼊入 運⽤用・保守 設計・開発 要件定義    
  8. OWASPが誇る最⾼高の成果物!  OWASP  Top  10 概要   ウェブアプリにおいて最も注意すべき脆 弱性(≒悪⽤用可能なバグ)とその対処法 を理理解するための資料料として、3年年に1 度度発表

      特徴   公的な機関においても本書に掲載されて いる脆弱性への対策が講じられているこ とをセキュリティ要件にすることも  ウェブ10⼤大脅威を共通⾔言語に!
  9.  ウェブ10⼤大脅威を共通⾔言語に! No ウェブアプリにおける脆弱性 A1 インジェクション A2 セッション管理理の不不備 A3 クロスサイトスクリプティング A4

    安全でないオブジェクト直接参照 A5 セキュリティ設定のミス A6 機密データの露露出 A7 機能レベルアクセス制御の⽋欠落落 A8 クロスサイトリクエストフォージェリ A9 既知の脆弱性を持つコンポーネントの使⽤用 A10 未検討のリダイレクトとフォーワード ウェブアプリにおける脆弱性、攻撃シナリオ、防⽌止⽅方法などを紹介
  10.  ウェブ10⼤大脅威を共通⾔言語に! No ウェブアプリにおける脆弱性 A1 インジェクション A2 セッション管理理の不不備 A3 クロスサイトスクリプティング A4

    安全でないオブジェクト直接参照 A5 セキュリティ設定のミス A6 機密データの露露出 A7 機能レベルアクセス制御の⽋欠落落 A8 クロスサイトリクエストフォージェリ A9 既知の脆弱性を持つコンポーネントの使⽤用 A10 未検討のリダイレクトとフォーワード CMSやフレームワークへの依存度度が⾼高いPHPではA9に注意! No 防⽌止⽅方法 1 使⽤用しているCMSやフレームワークとそのバ ージョン、またプラグインなどの依存関係を 確認すること 2 公開データベース、CMSやフレームワークの 公式アナウンス、セキュリティに関連するメ ーリングリストなどを⽤用いて、最新の脆弱性 情報を把握すること 3 開発⼿手法、脆弱性テストによる検証、運⽤用ル ールの策定などCMSやフレームワークを管理理 するためのポリシーを確⽴立立すること 4 不不必要なプラグインなどを無効化すること
  11.  設計・開発時のリファレンスに! 設計・開発時に活⽤用したいチートシートが多数存在 No チートシート 1 Webアプリの認証に関するチートシート 2 ユーザーがパスワードを忘れた場合の措置に 関するチートシート 3

    Webアプリにおけるログの取得などに関する チートシート 4 パスワードなどの保持に関するチートシート 5 PHPにおけるセキュリティ対策に関するチー トシート 6 セキュアコーディングに関するチートシート 7 SQLインジェクション対策に関するチートシ ート 8 XSS対策に関するチートシート 9 ・・・・
  12. No チートシート 1 Webアプリの認証に関するチートシート 2 ユーザーがパスワードを忘れた場合の措置に 関するチートシート 3 Webアプリにおけるログの取得などに関する チートシート

    4 パスワードなどの保持に関するチートシート 5 PHPにおけるセキュリティ対策に関するチー トシート 6 セキュアコーディングに関するチートシート 7 SQLインジェクション対策に関するチートシ ート 8 XSS対策に関するチートシート 9 ・・・・  設計・開発時のリファレンスに! PHP独⾃自のチートシートも存在
  13.  設計・開発時のリファレンスに! 機能の安全な実装⼿手法や脆弱性への対策などを紹介 No チートシート 1 Webアプリの認証に関するチートシート 2 ユーザーがパスワードを忘れた場合の措置に 関するチートシート 3

    Webアプリにおけるログの取得などに関する チートシート 4 パスワードなどの保持に関するチートシート 5 PHPにおけるセキュリティ対策に関するチー トシート 6 セキュアコーディングに関するチートシート 7 SQLインジェクション対策に関するチートシ ート 8 XSS対策に関するチートシート 9 ・・・・ No 主要な節 1 ⾔言語独⾃自の問題 2 フレームワークの問題 3 ファイルアップロードの実装⽅方法 4 SQLインジェクション対策 5 XSS対策 6 CSRF対策 7 セッション管理理 8 認証 9 サーバの設定
  14.  ウェブセキュリティの要件設定に! OWASPの成果物のうち最も実⽤用的!  OWASP  ASVS 概要   セキュアなウェブ開発のためのウェブ セキュリティ要件を設定する際に活⽤用 可能なガイドライン  

    特徴   OWASPグローバルで最近最も評価され ているプロジェクトであり、1.0版は⽇日 本語化済み、3.0版が近⽇日リリースされ る予定
  15.  ウェブセキュリティの要件設定に! No 要件設定 V1 セキュリティアーキテクチャ、設計、脅威モデ ルに関する要件 V2 認証に関する要件 V3 セッション管理理に関する要件

    V4 アクセスコントロールに関する要件 V5 ⼊入⼒力力のバリデーションに関する要件 V7 暗号化に関する要件 V8 エラー処理理及びログの記録に関する要件 V9 データの保護に関する要件 V10 通信のセキュリティに関する要件 V11 HTTPのセキュリティに関する要件 V13 悪意のあるコードに関する要件   V15 ビジネスロジックに関する要件 V16 ファイル及びリソースに関する要件 V17 モバイルに関する要件 V18 ウェブサービスに関する要件 V19 構成管理理に関する要件 V20 クライアントサイドセキュリティに関する要件 No 認証に関する要件設定 1 2 3 V2.1 ⾃自由なアクセスを意図していない全て のページ及びリソースに認証がかかっ ている   ✓ ✓ ✓ V2.2 パスワードフォームのオートコンプリ ートが無効である ✓ ✓ ✓ V2.4 全ての認証管理理がサーバ側で⾏行行われる ✓ ✓ ✓ V2.5 外部認証サービスを利利⽤用しているライ ブラリを含む全ての認証制御が集中実 装されている   ✓ V2.6 認証失敗の場合の安全対策を施してい ることを保証する ✓ ✓ ✓ V2.7 実働環境における典型的な脅威に対し て、認証の証明が⼗十分な対策を施して いる   ✓ ✓ V2.8 全てのアカウント管理理機能は、基礎的 な認証メカニズムとしての機能を備え ており攻撃に耐えうる     ✓ ✓ ・・・ ・・・・・・・・・・・・・・・・ ・ ・ ・ 設定レベルに応じてどの程度度の要件を充⾜足すればよいかを把握
  16.  ウェブセキュリティの要件設定に! No 要件設定 V1 セキュリティアーキテクチャ、設計、脅威モデ ルに関する要件 V2 認証に関する要件 V3 セッション管理理に関する要件

    V4 アクセスコントロールに関する要件 V5 ⼊入⼒力力のバリデーションに関する要件 V7 暗号化に関する要件 V8 エラー処理理及びログの記録に関する要件 V9 データの保護に関する要件 V10 通信のセキュリティに関する要件 V11 HTTPのセキュリティに関する要件 V13 悪意のあるコードに関する要件   V15 ビジネスロジックに関する要件 V16 ファイル及びリソースに関する要件 V17 モバイルに関する要件 V18 ウェブサービスに関する要件 V19 構成管理理に関する要件 V20 クライアントサイドセキュリティに関する要件 No PHPにおいて重要な要件設定 1 2 3 V1.1 すべてのCMSやフレームワークを個別 に確認していること   ✓ ✓ ✓ V1.5 すべてのCMSやフレームワークが業務 上の機能⼜又はセキュリティ上の機能に よって定義づけられていること ✓ ✓ V1.8 CMSやフレームワークのセキュリティ はネットワークセグメントやファイア ウォールなどによるセキュリティ対策 とは別の独⽴立立した対策を施しているこ と ✓ ✓ V19.1 CMSやフレームワークのバージョンは 最新であること、また不不要なサービス は削除されていること ✓ ✓ ✓ CMSやフレームワークへの依存度度が⾼高いPHPではV1とV19に注意!
  17.  ⼀一歩進んでウェブ脆弱性テストに! OWASP史上最も活発に更更新されているツール!  ZAP 概要   実⾏行行ボタン1つでも簡易易なウェブ脆弱性 テストを実施可能なツール   特徴  

    IPAテクニカルウォッチ「ウェブサイト における脆弱性検査⼿手法の紹介」におい て、セキュリティ初学者でも使いやすく、 検知精度度が⾼高く、⾮非常に効率率率的と評価   参考:https://www.ipa.go.jp/about/technicalwatch/20131212.html
  18.  ⼀一歩進んでウェブ脆弱性テストに! ウェブ閲覧の際はブラウザを利利⽤用してサーバにアクセス テスター ブラウザ ウェブサーバ POST  /confirm.php  HTTP/1.1   (中略略)

      Cookie:  PHPSESSID=xxxxxx   name=shonantoka&mail=shonantoka %40example.org&gender=1 ⽒氏名:shonantoka   メール:[email protected]   性別:男 <html><body>   ⽒氏名:shonantoka<br>   メール:[email protected]<br>   性別:男<br>   <from  action=“register”  method=“POST”> 登録 ⽒氏名:shonantoka   メール:[email protected]   性別:男  ⼥女女 確認 リクエスト レスポンス
  19.  ⼀一歩進んでウェブ脆弱性テストに! ZAPがサーバにアクセス、脆弱性有無を⾃自動判断 テスター ウェブサーバ POST  /confirm.php  HTTP/1.1   (中略略)  

    Cookie:  PHPSESSID=xxxxxx   name=shonantoka”>xss&mail=shonantoka %40example.org&gender=1 リクエスト レスポンス <html><body>   ⽒氏名:shonantoka”>xss<br>   メール:[email protected]<br>   性別:男<br>   <from  action=“register”  method=“POST”> ZAP エスケープされてない から脆弱だ!!
  20.  ⼀一歩進んでウェブ脆弱性テストに! ZAPでは様々な⾃自動診断や、脆弱性の検査が可能! 主要機能   オートクローリング   動的スキャン   ローカルプロキシ  

    ディレクトリ探査   簡易易レポート作成   診断可能な脆弱性例例   XSS   SQLi   パストラバーサル   オープンリダイレクタ   ヘッダインジェクション
  21. 本⽇日ご紹介した成果物を是⾮非ご活⽤用ください! 設計・開発時のリファレンスに! ⼀一歩進んでウェブ脆弱性テストに! ウェブ10⼤大脅威を共通⾔言語に! ウェブセキュリティの要件設定に! 脆弱性と   その対処法を   理理解

    セキュアな   設計・開発を   実現 レベルに応じた   セキュリティ   要件の設定 開発⼯工程で   脆弱性を発⾒見見   即改修  SDLCにセキュリティをビルトイン
  22.  参考URL OWASP  Project URL Web  システム/Web  アプリケーションセキュリティ要件書   https://www.owasp.org/images/8/88/ Web_̲application_̲security_̲requirements.pdf

    OWASP  Proactive  Controls https://www.owasp.org/index.php/OWASP_̲Proactive_̲Controls OWASP  ASVS(Application  Security  Verification   Standard  )Project https://www.owasp.org/index.php/ Category:OWASP_̲Application_̲Security_̲Verification_̲Standard_̲Pr oject OWASP  Cheat  Sheet  Series https://www.owasp.org/index.php/OWASP_̲Cheat_̲Sheet_̲Series OWASP  Zed  Attack  Proxy https://www.owasp.org/index.php/ OWASP_̲Zed_̲Attack_̲Proxy_̲Project https://docs.google.com/file/d/ 0B1e1Cma1GUllazNUNVp6OWdGYzg/edit OWASP  Testing  Guide https://www.owasp.org/index.php/OWASP_̲Testing_̲Project OWASP  OWTF(Offensive  Web  Testing  Framework) https://www.owasp.org/index.php/OWASP_̲OWTF OWASP  ModSecurity  Core  Rule  Set  Project https://www.owasp.org/index.php/ Category:OWASP_̲ModSecurity_̲Core_̲Rule_̲Set_̲Project OWASP  AppSensor https://www.owasp.org/index.php/OWASP_̲AppSensor_̲Project OWASP  Dependency  Check https://www.owasp.org/index.php/OWASP_̲Dependency_̲Check
  23.  参考URL OWASP  Project URL OWASP  Top10 https://www.owasp.org/index.php/ Category:OWASP_̲Top_̲Ten_̲Project https://www.owasp.org/images/7/79/ OWASP_̲Top_̲10_̲2013_̲JPN.pdf

    OWASP  Mobile  Top10 https://www.owasp.org/index.php/ OWASP_̲Mobile_̲Security_̲Project https://docs.google.com/document/d/ 1QOWOrsAo-‐‑‒33bHLdAZksKa4F_̲8_̲A_̲6XndoDF6ri4na_̲k/edit OWASP  IoT  Top  10 https://www.owasp.org/index.php/ OWASP_̲Internet_̲of_̲Things_̲Top_̲Ten_̲Project OWASP  Snakes  and  Ladders https://www.owasp.org/index.php/ OWASP_̲Snakes_̲and_̲Ladders https://www.owasp.org/index.php/ OWASP_̲Snakes_̲and_̲Ladders https://www.owasp.org/images/c/c1/OWASP-‐‑‒ SnakesAndLadders-‐‑‒MobileApps-‐‑‒JA.pdf https://twitter.com/OWASPSnakesWeb https://twitter.com/OWASPSnakesMob OpenSAMM(Software  Assurance  Maturity  Model) https://www.owasp.org/index.php/ Category:Software_̲Assurance_̲Maturity_̲Model http://www.opensamm.org/downloads/SAMM-‐‑‒1.0-‐‑‒ja_̲JP.pdf
  24. OWASP蛇とはしご(ボードゲーム)をやってみよう!  遊んでTop10を理理解 100 99 98 97 96 95 94 93

    92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 D p f ❉ P ✭ ελʔτ ΰʔϧ 08"41$ ϞόΠϧσόΠεʹ ͓͚Δػີσʔλͷ ಛఆͱอޢ 08"41$ σόΠεʹ͓͚Δ ύεϫʔυͷ ҆શͳऔΓѻ͍ 08"41$ ػີσʔλͷ఻ૹͷ อޢΛ֬อ 08"41$ Ϣʔβʔೝূɺ ೝՄ ͓Αͼ ηογϣϯ؅ཧͷ ਖ਼͍࣮͠૷ 08"41$ όοΫΤϯυͷ"1* ʢαʔϏεʣ ͱϓϥο τ ϑΥʔϜ ʢαʔόʣ ͷ ҆શੑͷҡ࣋ 08"41$ αʔυύʔςΟͷ αʔϏε΍ ΞϓϦέʔγϣϯͱͷ σʔλ౷߹Λ҆શʹ 08"41$ Ϣʔβʔσʔλͷ ར༻ͱऩूͷͨΊͷ ঝ୚ͷऩूͱอ؅ʹ ಛผͳ஫ҙΛ෷͏ 08"41$ ༗ྉͷϦιʔε΁ͷ ෆਖ਼ΞΫηεΛ๷͙ ͨΊͷ੍ޚͷ࣮૷ 08"41$ ϞόΠϧΞϓϦͷ ഑෍ఏڙͷ ҆શੑͷ֬อ 08"41$ ίʔυ࣮ߦ࣌ʹΤϥʔ ͕ൃੜͨ͠৔߹ͷ࣮૷ Λ৻ॏʹ֬ೝ 08"41. ශऑͳαʔόଆͷ ੍ޚ 08"41. ҆શͰͳ͍ σʔλͷอ؅ 08"41. ෆे෼ͳ τϥϯεϙʔτ૚อޢ 08"41. ҙਤ͠ͳ͍ σʔλ࿙͍͑ 08"41. ශऑͳೝূͱೝՄ 08"41. յΕͨ҉߸Խॲཧ 08"41. ΫϥΠΞϯταΠυ ΠϯδΣΫγϣϯ 08"41. ৴པͰ͖ͳ͍ೖྗʹ ΑΔηΩϡϦςΟ൑அ 08"41. ෆద੾ͳ ηογϣϯॲཧ 08"41. όΠφϦอޢͷܽ೗ Created by Colin Watson Version MobApp-1.02-JA (Farringdon) 08"41τοϓϞόΠϧίϯτϩʔϧ  08"41το ϓϞόΠϧίϯτϩʔϧ͸ɺ ੬ऑੑ΁ͷ߈ܸʹΑΔඃ֐ɺ ͋Δ͍͸ͦͷՄೳੑΛݮগͤ͞ΔͨΊͷ։ൃ੍ޚͷҰཡͰ͢ɻ $ ϞόΠϧσόΠεͷػີσʔλͷಛఆͱอޢ $ σόΠεͷύεϫʔυͷ҆શͳऔΓѻ͍ $ ػີσʔλͷ఻ૹͷอޢΛ֬อ $ Ϣʔβʔೝূɺ ೝՄ͓Αͼηογϣϯ؅ཧͷਖ਼͍࣮͠૷ $ όοΫΤϯυͷ"1* ʢαʔϏεʣ ͱϓϥο τ ϑΥʔϜ ʢαʔόʣ ͷ҆શੑͷ  ҡ࣋ $ αʔυύʔςΟͷαʔϏε΍ΞϓϦέʔγϣϯͱͷσʔλ౷߹Λ҆શʹ $ Ϣʔβʔσʔλͷར༻ͱऩूͷͨΊͷঝ୚ͷऩूͱอ؅ʹಛผͳ஫ҙ  Λ෷͏ $ ༗ྉͷϦιʔε ʢࡒ෍ɺ 4.4ɺ ి࿩౳ʣ ΁ͷෆਖ਼ΞΫηεΛ๷͙ͨΊͷ  ੍ޚͷ࣮૷ $ ϞόΠϧΞϓϦͷ഑෍ఏڙͷ҆શੑͷ֬อ $ίʔυ࣮ߦ࣌ʹΤϥʔ͕ൃੜͨ͠৔߹ͷ࣮૷Λ৻ॏʹ֬ೝ 08"41τοϓϞόΠϧϦεΫ  5IF08"41το ϓϞόΠϧϦεΫ͸ɺ ΞϓϦέʔγϣϯ૚Ͱͷ࠷ॏཁͳϞόΠϧ ΞϓϦͷϦεΫʹ͍ͭͯͷڞ௨ೝࣝΛࣔ͢΋ͷͰ͢ɻ . ශऑͳαʔόʔଆͷ੍ޚ .҆શͰͳ͍σʔλͷอ؅ . ෆे෼ͳτϥϯεϙʔτ૚อޢ . ҙਤ͠ͳ͍σʔλ࿙͍͑ . ශऑͳೝূͱೝՄ . յΕͨ҉߸Խॲཧ . ΫϥΠΞϯταΠυͷΠϯδΣΫγϣϯ . ৴པͰ͖ͳ͍ೖྗʹΑΔηΩϡϦςΟ൑அ . ෆద੾ͳηογϣϯॲཧ . όΠφϦอޢͷܽ೗ ίϯτϩʔϧͱϦεΫͷ྆ํͱ΋ɺ ͪ͜Βͷ08"41ϓϩδΣΫτͷαΠτʹৄड़͞Ε͍ͯ·͢ɻ IUUQTXXXPXBTQPSHJOEFYQIQ08"[email protected]@4FDVSJUZ@1SPKFDU ϓϩδΣ Ϋ τ Ϧʔμʔ Colin Watson ຋༁ऀͦͷଞͷߩݙऀ Manuel Lopez Arredondo, Fabio Cerullo, Tobias Gondrom, Martin Haslinger, Yongliang He, Cédric Messeguer, Takanori Nakanowatari, Riotaro Okada, Ferdinand Vroom, Ivy Zhang ऄͱ͸͠͝͸ɺ ΞϓϦέʔγϣϯ ɾ ηΩϡϦςΟೝ஌޲্ͷͨΊͷڭҭతͳήʔϜͰ͢ɻ ͜ͷ൛͸ϞόΠϧΞϓϦέʔγϣϯʹॏ఺Λஔ͍ ͓ͯΓɺ ʮ08"41το ϓϞόΠϧίϯτϩʔϧʯ Λ ʮ͸͠͝ʯ ɺ ·ͨ༗໊ͳ ʮ08"41το ϓϞόΠϧϦεΫʯ Λ ʮऄʯ ͱ͠·ͨ͠ɻ ͜ΕΒͷϓϩδΣΫτͷϦʔμʔͳΒͼʹߩݙ͞Εͨํʑʹײँ͍ͨ͠·͢ɻ αΠίϩ΍ίϚ͕ͳ͍ʁԼͷਤܗΛ੾Γऔͬͯ࢖͍ͬͯͩ͘͞ɻ ৭ͷؙ͍͍ͭͨ΋ͷΛίϚͱͯ͠࢖͑ΔͰ͠ΐ͏ɻ ͋Δ͍͸ɺ ̒໘ͷαΠίϩγϛϡϨʔλΛϓϩάϥϜ͢Δͱ͔ɺ εϚϗ͔ύιίϯͰ͔Β·Ͱͷ੔਺ͷཚ਺ΞϓϦΛ࢖͑͹͍͍ɻ ͨͩ͠ɺ ग़Δ໨͕ϥϯμϜ͔Ͳ͏͔͸ͪΌΜͱνΣοΫ͢Δ͜ͱ ʂ ͜ͷγʔτͷιʔεϑΝΠϧɺ ଞͷΞϓϦέʔγϣϯηΩϡϦςΟ τϐοΫͷγʔτɺ ଞͷ༷ʑͳݴޠ൛ɺ ·ͨ ʮ08"41ऄͱ͸͠͝ϓϩδΣΫτʯ ʹؔ͢Δ৘ใ͸ɺ ҎԼͷ08"41ͷ΢ΣϒαΠτʹ͋Γ·͢ɻ https://www.owasp.org/index.php/OWASP_Snakes_and_Ladders എܠ ʮऄͱ͸͠͝ʯ ͸ΞδΞൃ঵ͷϘʔυήʔϜͰɺ ϏΫτϦΞே ࣌୅ʹӳࠃʹ༌ೖ͞ΕͨਓؾͷϘʔυήʔϜͰ͢ɻ ΋ͱ΋ͱɺ ͜ͷήʔϜ͸ળͱѱɺ ඒಙͱѱಙͷͦΕͧΕͷޮՌΛࣔͨ͠ ΋ͷͰͨ͠ɻ ͜ͷήʔϜ͸ɺ ΞϝϦΧͷҰ෦ͷ৔ॴͰ͸ɺ ʮӍͲ ͍ͱ͸͠͝ʯ ͱͯ͠஌ΒΕ͍ͯ·͢ɻ ͜ͷ08"41൛Ͱ͸ɺ ηΩϡΞͳίʔσΟϯά ʢϓϩΞΫςΟϒ ίϯτϩʔϧʣ Λߴܿͳߦಈͱ͠ɺ ΞϓϦέʔγϣϯϦεΫΛ ѱಙͱ͍ͯ͠·͢ɻ ܯࠂ 08"41ऄͱ͸͠͝͸ɺ ن໛ͷେখΛ໰Θͣɺ ιϑτ΢ΣΞϓϩ άϥϚʔʹ࢖͍ͬͯͨͩ͘ ͜ͱΛҙਤ͍ͯ͠·͢ɻ ͜ͷࢴͷήʔ Ϝγʔτͦͷ΋ͷ͸༗֐Ͱ͸͋Γ·ͤΜ͕ɺ ར༻ऀ͕ɺ ࣗ෼Ͱ ॴ༗͍ͯ͠ΔϓϥενοΫ͋Δ͍͸໦੡ͷαΠίϩ΍Χ΢ϯλʔ ίϚ Λ࢖͏͜ͱʹ͢Δ৔߹ɺ ࡀҎԼͷࢠڙͨͪʹ͸޴ʹ٧ ·Βͤͯ஠ଉ͢ΔϦεΫ͕͋Δ͔΋͠Ε·ͤΜɻ ϧʔϧ ͜ͷήʔϜ͸ਓ͔ΒਓͰ༡ͼ·͢ɻ ͦΕͧΕͷϓϨΠϠʔ ʹ৭ͷ͍ͭͨίϚΛ഑͍ͬͯͩ͘͞ɻ ࠷ॳʹɺ ͦΕͧΕͷϓϨ ΠϠʔ͸αΠίϩΛৼͬͯ୭͕࠷ॳʹϓϨΠ͢Δ͔ܾΊ·͢ɻ Ұ൪େ͖ͳ਺ͷ໨Λग़ͨ͠ਓ͕࠷ॳͰ͢ɻ શϓϨΠϠʔͷίϚΛ ʮελʔτʯ ͱ͋Δ࠷ॳͷϚε໨ʹஔ͖ ·͢ɻ ॱʹɺ ֤ϓϨΠϠʔ͸αΠίϩΛৼΓɺ ͦͷ਺ʹ͕ͨͬͯ͠ ίϚΛҠಈ͠·͢ɻ Ҡಈͨ࣌͠ʹɺ ΋͠ίϚ͕͸͠͝ͷԼʹདྷͨͳΒɺ ίϚΛ͸͠͝ ͷ࠷্ஈͷͱ͜Ζʹ͋ΔϚε໨ʹ্͛ͳ͚Ε͹ͳΓ·ͤΜɻ ίϚ͕ऄͷޱͷͱ͜ΖʹདྷͨͳΒɺ ͦͷίϚΛऄͷ৲ඌͷͱ͜Ζ ʹ߱Ζ͞ͳ͚Ε͹ͳΓ·ͤΜɻ ࠨ্ͷͷͱ͜Ζʹ࠷ॳʹདྷͨϓϨΠϠʔ͕উऀͱͳΓ·͢ɻ ͜ͷγʔτ͔Β੾Γऔͬͨ΋ͷͰαΠίϩΛ࡞Δʹ͸ɺ ఺ઢʹԊͬͯંΓۂ͛ɺ ͷΓ͠Ζͷͱ͜Ζʹ઀ணࡎΛ͚ͭɺ ࢛֯͘ͳΔΑ͏ʹ৻ॏʹ੔ܗ͍ͯͩ͘͠͞ɻ Ұඖͷऄ͕࣍ͷॱ൪ͷΩϛͷαΠίϩ ͷ໨Λݴ͓͏͔ͬͯɺ ΢ΟϯΫͯ͠ΔΑɻ ݟ͔ͭͬͨʁ 08"41ऄͱ͸͠͝͸ɺ ແྉͰࣗ༝ʹ͓࢖͍͍͚ͨͩ·͢ɻ ΫϦΤΠςΟϒίϞϯζදࣔܧঝϥΠηϯεʹج͖ͮɺ ͜ͷ੒Ռ෺Λෳࣸɺ ഑෍ɺ ૹ৴ɺ վมɺ ঎ۀతར༻͕Մೳ Ͱ͕͢ɺ ͜ͷ࡞඼ʹجͮ͘ ͍͔ͳΔ΋ͷʹ͍ͭͯɺ ·ͨ࠶ར༻ɺ సૹɺ ೋ࣍తஶ࡞෺ʹ͍ͭͯ͸ɺ ͜ͷϥΠηϯεͱಉ͡࢖༻ ڐ୚৚݅Ͱͳ͚Ε͹ͳΓ·ͤΜɻ © OWASP Foundation 2014. OWASP Snakes and Ladders – ऄͱ͸͠͝ϞόΠϧΞϓϦ൛ – ΢ΣϒΞϓϦέʔγϣϯ൛ ϞόΠϧΞϓϦέʔγϣϯ൛
  25. OWASP   モバイル  Top10   No モバイル  Top  10 IoT

     Top  10 1 Weak  Server  Side  Controls 安全でないウェブインタフェース 2 Insecure  Data  Storage 不不⼗十分な認証/認可 3 Insufficient  Transport  Layer  Protection 安全でないネットワークサービス 4 Unintended  Data  Leakage トランスポート層における暗号化の⽋欠如 5 Poor  Authorization  and  Authentication プライバシーに関する懸念念 6 Broken  Cryptography 安全でないクラウドインタフェース 7 Client  Side  Injection 安全でないモバイルインタフェース 8 Security  Decisions  Via  Untrusted  Inputs 不不⼗十分なセキュリティ対策 9 Improper  Session  Handling 安全でないソフトウェア/ファームウェア 10 Lack  of  Binary  Protections 物理理セキュリティの不不⾜足 OWASP   IoT  Top10    モバイル/IoTの脆弱性を理理解 Top10シリーズとしてモバイル版やIoT版も存在!