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

MBSD Cybersecurity Challenges 2021 最終審査会 After_...

ふたばと
December 16, 2021

MBSD Cybersecurity Challenges 2021 最終審査会 After_the_CM 発表スライド

2021年12月16日に行われた「MBSD Cybersecurity Challenges 2021」 最終審査会にて、チームAfter_the_CMが発表したスライドです。

ふたばと

December 16, 2021
Tweet

More Decks by ふたばと

Other Decks in Programming

Transcript

  1. Webの発展は凄まじい
 ➢ Webを通じて素早くサービスを展開できるようになった。
 ➢ 時代背景
 ◦ 開発環境の向上
 ▪ 強力なIDE, コード補完機能,

    Linter, Framework, VCS, Container, Cloud, DevOps, ... 
 ◦ 情報通信機器の普及 
 ◦ 高度なネットワーク技術の発展 

  2. 愛されるサービスを提供し続けるためには…
 ➢ 迅速なアップデートができる強力なパイプラインの整備が必要。
 ◦ 競合するサービスに負けないため。 
 ◦ ユーザからのフィードバックに迅速に対応するため。 
 ➢

    その上で機密性・完全性・可用性の確保をする。
 ◦ インシデントが与える企業への影響は甚大なため。 
 Requirement 
 Definition
 Design
 Testing
 Coding
 Release

  3. ジレンマが存在している
 高速なリリースを実現したい
 
 いち早く世に届けたい 
 
 
 市場の開拓に後れを取る 
 フィードバックの反映が遅くなる

    
 セキュアなサービスを提供したい
 
 外部に委託していた 
 
 
 委託には費用と時間が掛かる 
 脆弱性診断には
 専門的な技術が必要だから
 外部組織との予定調整が発生
 それでは
 Webアプリケーションには機能の変更や追加がつきもの。
 セキュリティを保ちつつ、高速なリリースの実現を行うには
 脆弱性診断の内製化が求められる。

  4. 
 外部委託
 ツールの導入による内製
 診断実施により
 発生する費用
 依頼する度に掛かる
 診断箇所が多いほど掛かる
 トータルは大
 導入・維持コストのみ
 トータルは小


    診断実施までに
 掛かる時間
 外部組織との予定調整が入る
 相対的に長い
 社内のみでの調整でよい
 相対的に短い
 診断を実施
 できるタイミング
 委託先の予定次第
 随時
 診断を実施する人
 専門的な技術を持つ
 セキュリティエンジニア
 セキュリティは専門でない
 開発エンジニア

  5. ➢ リクエストを生成・送信して、取得したレスポンスから脆弱性を検出する。
 ➢ 脆弱性を検出する部分であるスキャン機能以外に以下の機能を実装済み。
 ◦ クローラーによるサイトマップの自動構築機能 
 ◦ 詳細な解説を含む診断結果を提示するレポート機能 


    ◦ セキュリティが専門でないエンジニアや新人エンジニアでも利用しやすい 
 診断を簡単に行うための使いやすいWeb User Interface 
 脆弱性診断ツールHimawari🌻のご紹介
 Request
 Response
 HTTP
 診断対象
 Himawari

  6. 独自のデータ構造を持つサイトマップ
 ➢ ファイルとして出力できるので、使いまわすことができる。
 ➢ サイトマップの値を書き換えることで、任意のサイトマップが構築できる。
 ◦ 診断対象全体だけでなく、 特定のページのみの診断 が可能。
 


    サイトマップ
 オリジナル
 サイトマップ
 Upload Edit Himawari
 Upload Download ➢ 独自のデータ構造をしているのでアルゴリズムの変更による影響が非常に軽微。
 ◦ Himawari自身の保守性や追加の脆弱性の対応等の拡張性に優れている。 
 Himawari開発者にとってのメリット
 利用者にとってのメリット

  7. スキャン機能
 ➢ サイトマップをもとに診断を実施する。
 ◦ このとき、サイトマップの情報から診断を行うパラメータの数が割り出せるため、 
 診断時間の概算が可能。
 ➢ 診断の流れは以下を繰り返す。
 ◦

    サイトマップの情報からリクエストを生成して送信する。 
 ◦ 取得したレスポンスから脆弱性を検出する。 
 Request
 Response
 Register Issues
 診断対象
 Himawari
 サイトマップ
 Get

  8. ➢ 現在8種類の脆弱性に対応している。
 ◦ 独自に構築した概念検証用のアプリケーションで脆弱性が検出できることを確認済み。 
 ◦ 可能な限り安全で汎用的な検出アプローチを採用。 
 ➢ カバレッジの高い診断ができる。


    ◦ ページに存在する機能とは紐づかないパラメータにも診断を実施している。 
 ◦ Himawariが診断を実施するすべてのパラメータを手動で診断するのはかなり厳しい。 
 スキャン機能
 XSS
 SQL Injection
 OS
 Command Injection
 Open Redirect
 HTTP
 Header
 Injection
 Directory
 Traversal
 Directory
 Listing
 CSRF
 User-Agent
 Referer
 Cookie
 GET parameter
 POST
 parameter
 Path

  9. レポート機能
 検出した脆弱性の解説 
 ➢ 脆弱性の名前
 ➢ CWE番号, Severity
 ➢ 脆弱性の概要


    ➢ 対策方法の提示
 ◦ 必須対策
 ◦ 保険的対策
 脆弱性が存在した箇所の情報 
 ➢ URL
 ➢ パラメータ
 ➢ 脆弱性を検出した証拠
 ◦ ペイロード
 ◦ エビデンス
 ◦ リクエスト
 ◦ レスポンス

  10. Himawariの役割と線引き
 
 ➢ 脆弱性診断ツールとしての限界
 ◦ Himawariはブラックボックス型の診断ツールなので、 
 診断対象の仕様を把握できていないと検出が難しい場合が存在する。 
 ◦

    ドキュメントにはHimawariができること・できないことの詳細な線引きがされているため、 
 内容を理解した上での利用を推奨する。 
 ➢ 診断内製化はツールの導入だけで終わらせてはいけない。 ◦ 日常的な診断はHimawariで行う。 
 ◦ 大規模なアップデートを行う際などは 外部のセキュリティベンダに委託する のが好ましい。
 ▪ 専門家は一般的な脆弱性診断ツールでは検出が難しいものも発見可能だから。 

  11. Himawariの導入による診断内製化への寄与
 Himawariの導入によって得られるメリット
 ➢ 高速なリリースの実現・コストの削減に貢献できる。
 ◦ ソフトウェア開発工程に組み込みやすい。 
 (∵ サイトマップの編集による特定箇所への診断、診断時間の概算) 


    ➢ 社内セキュリティエコシステムの確立に期待できる。
 ◦ Himawariの使用にはセキュリティの知識は不要。 
 (∵ クローラーによるサイトマップの自動構築、WebUI、詳細なレポート)
 Webセキュリティに関するナレッジの蓄積 ➢ セキュアコーディング技術の向上 ➢ 社内セキュリティ意識の向上 Himawariはどのエンジニアでも利用できる。 社員に情報セキュリティに触れさせる機会 を作ることが可能になる。 =

  12. 利用したイラスト集
 ➢ Free Gophers Pack 
 ◦ https://github.com/MariaLetta/free-gophers-pack 
 ➢

    Insert icons for Slides 👌
 ◦ https://workspace.google.com/marketplace/app/insert_icons_for_slides_%F0%9F%91%8C/96201000 411