Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MBSD Cybersecurity Challenges 2021 最終審査会 After_...
Search
ふたばと
December 16, 2021
Programming
0
3k
MBSD Cybersecurity Challenges 2021 最終審査会 After_the_CM 発表スライド
2021年12月16日に行われた「MBSD Cybersecurity Challenges 2021」 最終審査会にて、チームAfter_the_CMが発表したスライドです。
ふたばと
December 16, 2021
Tweet
Share
More Decks by ふたばと
See All by ふたばと
敵対的ポイフル
futabato
0
510
【RFC 6797】HTTP Strict Transport Security
futabato
0
160
MBSD Cybersecurity Challenges 2022 最終審査会 IPFactory 発表スライド
futabato
0
2.9k
MLflowとHydraを利用した実験管理
futabato
0
2.8k
セキュリティエンジニアのための統計リテラシー入門.pdf
futabato
0
130
futabato
futabato
0
210
Other Decks in Programming
See All in Programming
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
500
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
4
820
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
5
1.8k
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
受け取る人から提供する人になるということ
little_rubyist
0
220
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
250
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
120
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
460
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
390
GitHub Actionsのキャッシュと手を挙げることの大切さとそれに必要なこと
satoshi256kbyte
5
430
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
310
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Agile that works and the tools we love
rasmusluckow
327
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Unsuck your backbone
ammeep
668
57k
Designing Experiences People Love
moore
138
23k
Visualization
eitanlees
145
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Transcript
After_the_CM MBSD Cybersecurity Challenges 2021 最終審査会 発表スライド
Agenda ➢ 脆弱性診断を内製化するにあたって ➢ 脆弱性診断ツール「Himawari」のご紹介
脆弱性診断を内製化するにあたって
Webの発展は凄まじい ➢ Webを通じて素早くサービスを展開できるようになった。 ➢ 時代背景 ◦ 開発環境の向上 ▪ 強力なIDE, コード補完機能,
Linter, Framework, VCS, Container, Cloud, DevOps, ... ◦ 情報通信機器の普及 ◦ 高度なネットワーク技術の発展
愛されるサービスを提供し続けるためには… ➢ 迅速なアップデートができる強力なパイプラインの整備が必要。 ◦ 競合するサービスに負けないため。 ◦ ユーザからのフィードバックに迅速に対応するため。 ➢
その上で機密性・完全性・可用性の確保をする。 ◦ インシデントが与える企業への影響は甚大なため。 Requirement Definition Design Testing Coding Release
ジレンマが存在している 高速なリリースを実現したい いち早く世に届けたい 市場の開拓に後れを取る フィードバックの反映が遅くなる
セキュアなサービスを提供したい 外部に委託していた 委託には費用と時間が掛かる 脆弱性診断には 専門的な技術が必要だから 外部組織との予定調整が発生 それでは Webアプリケーションには機能の変更や追加がつきもの。 セキュリティを保ちつつ、高速なリリースの実現を行うには 脆弱性診断の内製化が求められる。
外部委託 ツールの導入による内製 診断実施により 発生する費用 依頼する度に掛かる 診断箇所が多いほど掛かる トータルは大 導入・維持コストのみ トータルは小
診断実施までに 掛かる時間 外部組織との予定調整が入る 相対的に長い 社内のみでの調整でよい 相対的に短い 診断を実施 できるタイミング 委託先の予定次第 随時 診断を実施する人 専門的な技術を持つ セキュリティエンジニア セキュリティは専門でない 開発エンジニア
脆弱性診断を行わずにリリースはしたくない。 診断には専門的な技術が必要で社内の開発エンジニアが診断を実施するのは難しい。 だから外部に委託していた。それでは高速なリリースの実現ができない。 導入されるツールは誰でも 使いこなせるツールであること 脆弱性診断を内製化するにあたって 高速なリリースの実現 コストの削減 内製化の前提 期待される効果
背景
脆弱性診断を行わずにリリースはしたくない。 診断には専門的な技術が必要で社内の開発エンジニアが診断を実施するのは難しい。 だから外部に委託していた。それでは高速なリリースの実現ができない。 導入されるツールは誰でも 使いこなせるツールであること 脆弱性診断を内製化するにあたって 高速なリリースの実現 コストの削減 内製化の前提 期待される効果
背景
脆弱性診断ツール「Himawari」のご紹介
➢ リクエストを生成・送信して、取得したレスポンスから脆弱性を検出する。 ➢ 脆弱性を検出する部分であるスキャン機能以外に以下の機能を実装済み。 ◦ クローラーによるサイトマップの自動構築機能 ◦ 詳細な解説を含む診断結果を提示するレポート機能
◦ セキュリティが専門でないエンジニアや新人エンジニアでも利用しやすい 診断を簡単に行うための使いやすいWeb User Interface 脆弱性診断ツールHimawari🌻のご紹介 Request Response HTTP 診断対象 Himawari
独自のデータ構造を持つサイトマップ ➢ ファイルとして出力できるので、使いまわすことができる。 ➢ サイトマップの値を書き換えることで、任意のサイトマップが構築できる。 ◦ 診断対象全体だけでなく、 特定のページのみの診断 が可能。
サイトマップ オリジナル サイトマップ Upload Edit Himawari Upload Download ➢ 独自のデータ構造をしているのでアルゴリズムの変更による影響が非常に軽微。 ◦ Himawari自身の保守性や追加の脆弱性の対応等の拡張性に優れている。 Himawari開発者にとってのメリット 利用者にとってのメリット
クローラーによるサイトマップの自動構築 ➢ 診断対象のURLを指定すれば、 そのURLから辿れるページを自動的に探索して診断に必要な情報を収集する。 ➢ クローラーには以下の機能を備えている。 ◦ ログイン機能 ◦ 診断を除外したいURLの設定機能
◦ 外部サイトには影響を与えないためのスコープの策定 Request Response Resister 診断対象 Himawari サイトマップ
スキャン機能 ➢ サイトマップをもとに診断を実施する。 ◦ このとき、サイトマップの情報から診断を行うパラメータの数が割り出せるため、 診断時間の概算が可能。 ➢ 診断の流れは以下を繰り返す。 ◦
サイトマップの情報からリクエストを生成して送信する。 ◦ 取得したレスポンスから脆弱性を検出する。 Request Response Register Issues 診断対象 Himawari サイトマップ Get
➢ 現在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
レポート機能 検出した脆弱性の解説 ➢ 脆弱性の名前 ➢ CWE番号, Severity ➢ 脆弱性の概要
➢ 対策方法の提示 ◦ 必須対策 ◦ 保険的対策 脆弱性が存在した箇所の情報 ➢ URL ➢ パラメータ ➢ 脆弱性を検出した証拠 ◦ ペイロード ◦ エビデンス ◦ リクエスト ◦ レスポンス
シンプルでモダンなデザインのWebUIを介した操作 URL入力からレポート表示までを Webブラウザを利用したWebUIで操作を行う。 ➢ 診断対象に合わせたチューニングが可能。 ◦ ログイン情報の入力 ◦ フォームに適したパラメータの指定
◦ サイトマップのダウンロード / アップロード
➢ 外部サイトへの診断を行わないようにする診断スコープの策定 ➢ 非破壊な検出アプローチ・ペイロードの採用 ➢ 特定のページを避けた診断 (∵サイトマップの編集) ➢ すべてのHTTPメッセージのログの記録
安全な診断を実現するために
Himawariの役割と線引き ➢ 脆弱性診断ツールとしての限界 ◦ Himawariはブラックボックス型の診断ツールなので、 診断対象の仕様を把握できていないと検出が難しい場合が存在する。 ◦
ドキュメントにはHimawariができること・できないことの詳細な線引きがされているため、 内容を理解した上での利用を推奨する。 ➢ 診断内製化はツールの導入だけで終わらせてはいけない。 ◦ 日常的な診断はHimawariで行う。 ◦ 大規模なアップデートを行う際などは 外部のセキュリティベンダに委託する のが好ましい。 ▪ 専門家は一般的な脆弱性診断ツールでは検出が難しいものも発見可能だから。
おわりに
Himawariの導入による診断内製化への寄与 専門的な技術が必要であった脆弱性診断は、 Himawariの導入によって診断内製化が実現できる。 Himawariの利用にはセキュリティの知識は不要。 詳細なレポート クローラーによる サイトマップの自動構築 WebUI Himawariの導入によって 高速なリリースの実現,
コストの削減 が期待できる。
Himawariの導入による診断内製化への寄与 Himawariの導入によって得られるメリット ➢ 高速なリリースの実現・コストの削減に貢献できる。 ◦ ソフトウェア開発工程に組み込みやすい。 (∵ サイトマップの編集による特定箇所への診断、診断時間の概算)
➢ 社内セキュリティエコシステムの確立に期待できる。 ◦ Himawariの使用にはセキュリティの知識は不要。 (∵ クローラーによるサイトマップの自動構築、WebUI、詳細なレポート) Webセキュリティに関するナレッジの蓄積 ➢ セキュアコーディング技術の向上 ➢ 社内セキュリティ意識の向上 Himawariはどのエンジニアでも利用できる。 社員に情報セキュリティに触れさせる機会 を作ることが可能になる。 =
Appendix
利用したイラスト集 ➢ 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