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
3.1k
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
630
【RFC 6797】HTTP Strict Transport Security
futabato
0
180
MBSD Cybersecurity Challenges 2022 最終審査会 IPFactory 発表スライド
futabato
0
3k
MLflowとHydraを利用した実験管理
futabato
0
2.9k
Other Decks in Programming
See All in Programming
nekko cloudにおけるProxmox VE利用事例
irumaru
3
430
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
これが俺の”自分戦略” プロセスを楽しんでいこう! - Developers CAREER Boost 2024
niftycorp
PRO
0
190
useSyncExternalStoreを使いまくる
ssssota
6
1k
return文におけるstd::moveについて
onihusube
1
1.1k
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
210
PHPで作るWebSocketサーバー ~リアクティブなアプリケーションを知るために~ / WebSocket Server in PHP - To know reactive applications
seike460
PRO
2
260
php-conference-japan-2024
tasuku43
0
270
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
460
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
Speed Design
sergeychernyshev
25
670
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
The Pragmatic Product Professional
lauravandoore
32
6.3k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Site-Speed That Sticks
csswizardry
2
190
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
BBQ
matthewcrist
85
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
The Cost Of JavaScript in 2023
addyosmani
45
7k
Thoughts on Productivity
jonyablonski
67
4.4k
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