Slide 1

Slide 1 text

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


Slide 2

Slide 2 text

Agenda
 ➢ 脆弱性診断を内製化するにあたって
 ➢ 脆弱性診断ツール「Himawari」のご紹介


Slide 3

Slide 3 text

脆弱性診断を内製化するにあたって


Slide 4

Slide 4 text

Webの発展は凄まじい
 ➢ Webを通じて素早くサービスを展開できるようになった。
 ➢ 時代背景
 ○ 開発環境の向上
 ■ 強力なIDE, コード補完機能, Linter, Framework, VCS, Container, Cloud, DevOps, ... 
 ○ 情報通信機器の普及 
 ○ 高度なネットワーク技術の発展 


Slide 5

Slide 5 text

愛されるサービスを提供し続けるためには…
 ➢ 迅速なアップデートができる強力なパイプラインの整備が必要。
 ○ 競合するサービスに負けないため。 
 ○ ユーザからのフィードバックに迅速に対応するため。 
 ➢ その上で機密性・完全性・可用性の確保をする。
 ○ インシデントが与える企業への影響は甚大なため。 
 Requirement 
 Definition
 Design
 Testing
 Coding
 Release


Slide 6

Slide 6 text

ジレンマが存在している
 高速なリリースを実現したい
 
 いち早く世に届けたい 
 
 
 市場の開拓に後れを取る 
 フィードバックの反映が遅くなる 
 セキュアなサービスを提供したい
 
 外部に委託していた 
 
 
 委託には費用と時間が掛かる 
 脆弱性診断には
 専門的な技術が必要だから
 外部組織との予定調整が発生
 それでは
 Webアプリケーションには機能の変更や追加がつきもの。
 セキュリティを保ちつつ、高速なリリースの実現を行うには
 脆弱性診断の内製化が求められる。


Slide 7

Slide 7 text


 外部委託
 ツールの導入による内製
 診断実施により
 発生する費用
 依頼する度に掛かる
 診断箇所が多いほど掛かる
 トータルは大
 導入・維持コストのみ
 トータルは小
 診断実施までに
 掛かる時間
 外部組織との予定調整が入る
 相対的に長い
 社内のみでの調整でよい
 相対的に短い
 診断を実施
 できるタイミング
 委託先の予定次第
 随時
 診断を実施する人
 専門的な技術を持つ
 セキュリティエンジニア
 セキュリティは専門でない
 開発エンジニア


Slide 8

Slide 8 text

脆弱性診断を行わずにリリースはしたくない。
 診断には専門的な技術が必要で社内の開発エンジニアが診断を実施するのは難しい。
 だから外部に委託していた。それでは高速なリリースの実現ができない。
 導入されるツールは誰でも
 使いこなせるツールであること
 脆弱性診断を内製化するにあたって
 高速なリリースの実現
 コストの削減
 内製化の前提
 期待される効果
 背景


Slide 9

Slide 9 text

脆弱性診断を行わずにリリースはしたくない。
 診断には専門的な技術が必要で社内の開発エンジニアが診断を実施するのは難しい。
 だから外部に委託していた。それでは高速なリリースの実現ができない。
 導入されるツールは誰でも
 使いこなせるツールであること
 脆弱性診断を内製化するにあたって
 高速なリリースの実現
 コストの削減
 内製化の前提
 期待される効果
 背景


Slide 10

Slide 10 text

脆弱性診断ツール「Himawari」のご紹介


Slide 11

Slide 11 text

➢ リクエストを生成・送信して、取得したレスポンスから脆弱性を検出する。
 ➢ 脆弱性を検出する部分であるスキャン機能以外に以下の機能を実装済み。
 ○ クローラーによるサイトマップの自動構築機能 
 ○ 詳細な解説を含む診断結果を提示するレポート機能 
 ○ セキュリティが専門でないエンジニアや新人エンジニアでも利用しやすい 
 診断を簡単に行うための使いやすいWeb User Interface 
 脆弱性診断ツールHimawari🌻のご紹介
 Request
 Response
 HTTP
 診断対象
 Himawari


Slide 12

Slide 12 text

独自のデータ構造を持つサイトマップ
 ➢ ファイルとして出力できるので、使いまわすことができる。
 ➢ サイトマップの値を書き換えることで、任意のサイトマップが構築できる。
 ○ 診断対象全体だけでなく、 特定のページのみの診断 が可能。
 
 サイトマップ
 オリジナル
 サイトマップ
 Upload Edit Himawari
 Upload Download ➢ 独自のデータ構造をしているのでアルゴリズムの変更による影響が非常に軽微。
 ○ Himawari自身の保守性や追加の脆弱性の対応等の拡張性に優れている。 
 Himawari開発者にとってのメリット
 利用者にとってのメリット


Slide 13

Slide 13 text

クローラーによるサイトマップの自動構築
 ➢ 診断対象のURLを指定すれば、
 そのURLから辿れるページを自動的に探索して診断に必要な情報を収集する。
 ➢ クローラーには以下の機能を備えている。
 ○ ログイン機能
 ○ 診断を除外したいURLの設定機能 
 ○ 外部サイトには影響を与えないためのスコープの策定 
 
 Request
 Response
 Resister
 診断対象
 Himawari
 サイトマップ


Slide 14

Slide 14 text

スキャン機能
 ➢ サイトマップをもとに診断を実施する。
 ○ このとき、サイトマップの情報から診断を行うパラメータの数が割り出せるため、 
 診断時間の概算が可能。
 ➢ 診断の流れは以下を繰り返す。
 ○ サイトマップの情報からリクエストを生成して送信する。 
 ○ 取得したレスポンスから脆弱性を検出する。 
 Request
 Response
 Register Issues
 診断対象
 Himawari
 サイトマップ
 Get


Slide 15

Slide 15 text

➢ 現在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


Slide 16

Slide 16 text

レポート機能
 検出した脆弱性の解説 
 ➢ 脆弱性の名前
 ➢ CWE番号, Severity
 ➢ 脆弱性の概要
 ➢ 対策方法の提示
 ○ 必須対策
 ○ 保険的対策
 脆弱性が存在した箇所の情報 
 ➢ URL
 ➢ パラメータ
 ➢ 脆弱性を検出した証拠
 ○ ペイロード
 ○ エビデンス
 ○ リクエスト
 ○ レスポンス


Slide 17

Slide 17 text

シンプルでモダンなデザインのWebUIを介した操作
 URL入力からレポート表示までを
 Webブラウザを利用したWebUIで操作を行う。
 ➢ 診断対象に合わせたチューニングが可能。
 ○ ログイン情報の入力 
 ○ フォームに適したパラメータの指定 
 ○ サイトマップのダウンロード / アップロード 


Slide 18

Slide 18 text

➢ 外部サイトへの診断を行わないようにする診断スコープの策定
 ➢ 非破壊な検出アプローチ・ペイロードの採用
 ➢ 特定のページを避けた診断
 (∵サイトマップの編集) 
 ➢ すべてのHTTPメッセージのログの記録
 安全な診断を実現するために


Slide 19

Slide 19 text

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


Slide 20

Slide 20 text

おわりに


Slide 21

Slide 21 text

Himawariの導入による診断内製化への寄与
 専門的な技術が必要であった脆弱性診断は、
 Himawariの導入によって診断内製化が実現できる。
 Himawariの利用にはセキュリティの知識は不要。
 詳細なレポート
 クローラーによる
 サイトマップの自動構築
 WebUI
 Himawariの導入によって
 高速なリリースの実現, コストの削減
 が期待できる。


Slide 22

Slide 22 text

Himawariの導入による診断内製化への寄与
 Himawariの導入によって得られるメリット
 ➢ 高速なリリースの実現・コストの削減に貢献できる。
 ○ ソフトウェア開発工程に組み込みやすい。 
 (∵ サイトマップの編集による特定箇所への診断、診断時間の概算) 
 ➢ 社内セキュリティエコシステムの確立に期待できる。
 ○ Himawariの使用にはセキュリティの知識は不要。 
 (∵ クローラーによるサイトマップの自動構築、WebUI、詳細なレポート)
 Webセキュリティに関するナレッジの蓄積 ➢ セキュアコーディング技術の向上 ➢ 社内セキュリティ意識の向上 Himawariはどのエンジニアでも利用できる。 社員に情報セキュリティに触れさせる機会 を作ることが可能になる。 =


Slide 23

Slide 23 text

Appendix


Slide 24

Slide 24 text

利用したイラスト集
 ➢ 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