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
脆弱性診断の内製化と外注
Search
Misaki Makino
September 08, 2023
Programming
9
3.7k
脆弱性診断の内製化と外注
2023/09/07 Cyber-sec+ MeetUp vol.1
で発表した内容です。
Misaki Makino
September 08, 2023
Tweet
Share
More Decks by Misaki Makino
See All by Misaki Makino
プロダクトセキュリティにおける欠如モデルからの脱却
tsukushi
0
1k
スクラム開発経験者のエンジニアが 1年間脆弱性診断してお伝えしたいいくつかのこと
tsukushi
0
860
Attractions and interests of wasm-bindgen
tsukushi
2
750
wasm-bindgen - その魅力と面白さ -
tsukushi
1
3.5k
Rust + WebAssemblyに入門した話
tsukushi
1
2.4k
未経験新卒エンジニアがRustを学び始めてよかったこと
tsukushi
2
9.5k
Other Decks in Programming
See All in Programming
Swiftで高速フーリエ変換してオーディオビジュアライザーを作る / iOSDC Japan 2024 Day1 Track D
kyome22
2
460
現代のVueとTypeScript - 型安全の活用術
minako__ph
4
3.1k
私の考える初学者がBlazorできるまでの学習方法
tomokusaba
1
240
Amebaチョイス立ち上げの裏側 ~依存システムとの闘い~
daichi_igarashi
0
220
ECMAScript仕様を読むのに必要な知識 - ダイジェスト版
syumai
4
2.5k
めざせ!WKWebViewマスター! / WKWebView Master
marcy731
3
480
ゲームボーイアドバンスでSwiftを動かそう
k_koheyi
0
510
BQ+dbt+Lookerを用いた、月間800億件以上の広告リクエストに対するデータモデリング
hanon52_
4
990
オートマトン学習しろ / Do automata learning
makenowjust
3
100
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
130
Meet BrowserEngineKit
swiftty
0
190
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
510
Featured
See All Featured
What the flash - Photography Introduction
edds
67
11k
Rails Girls Zürich Keynote
gr2m
93
13k
The Pragmatic Product Professional
lauravandoore
30
6.2k
BBQ
matthewcrist
83
9.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Adopting Sorbet at Scale
ufuk
72
8.9k
Six Lessons from altMBA
skipperchong
26
3.3k
A better future with KSS
kneath
235
17k
What's new in Ruby 2.0
geeforr
340
31k
Automating Front-end Workflow
addyosmani
1365
200k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Agile that works and the tools we love
rasmusluckow
327
20k
Transcript
脆弱性診断の内製化と外注 2023/09/07 Cyber-sec+ MeetUp vol.1 牧野 美咲
自己紹介 名前 経歴 牧野 美咲(Misaki Makino) • 2017/04 某IT企業 新卒入社 •
2017/06 プロダクト開発部 開発エンジニア • 2019/07 セキュリティ室 セキュリティエンジニア ◦ 未経験からスタート ◦ 脆弱性診断、規程作りを主に担当 • 2023/03 株式会社3Sunny セキュリティ何でも屋 ◦ 会社noteでセキュリティマガジン始めました \ Follow Me! /
本日のテーマ • 脆弱性診断の内製化ってどんな感じ? • 脆弱性診断の外注ってどんな感じ? • 内製と外注でどんな違いがあるの? 脆弱性診断の内製化と外注 牧野が前職で経験したことをお話させていただきます!
本日のゴール 内製化や外注について、少しでも参考になれば幸いです! うちの会社ではこうだな... うちの会社ではこうしてみよう! 何らかの気づきを得られている状態
アジェンダ 1. 内製化について 2. 外注について 3. 内製と外注の比較 4. 重要だと思っていること 5.
まとめ
内製化について
内製化の歩み 2019年 (異動直後) 先輩が1人在籍 ←こんな感じ 脆弱性を報告して も是正されない 日々... 2023年 (退職直前)
脆弱性診断士4人 チームに! 放置される脆弱性 がゼロに! 4年間でどのように内製化していったのでしょうか?
ボトムアップとトップダウン 脆弱性是正を促進するための草の根活動 • ガイドラインを作成、勉強会実施 • 診断後に脆弱性を説明するMTG実施 社内規程の大幅リニューアル • 脆弱性是正プロセスを会社のルールとして明示 •
是正計画期間を設定 ボトム アップ トップ ダウン
外注について
2種類のベンダーを利用 ベンダーA • 日本の会社 • Slack, zoomでやりとり ベンダーB • 海外の会社
• メールでやりとり
脆弱性診断スタイルが異なる ベンダーA • 診断は1~2名が専任 • APIベースで診断 • レポートとして脆弱性共有 ベンダーB •
診断士の人数は不明 • バグバウンティで自由に診断 • 専用のサイトで脆弱性共有
内製と外注の比較
脆弱性診断の流れの比較 診断前MTG 診断準備 診断実施 レポート 作成と提出 診断後MTG 是正確認 内製 診断前MTG
診断準備 サポート 診断実施 サポート レポート 作成と提出 診断後MTG 是正確認 外注 外注では、ベンダーが準備や実施をうまくできない時に、 開発部に確認してサポートします
良かったこと 大変だったこと 内製 外注 良かったこと 大変だったこと • 臨機応変にスポット診断ができる • コミュニケーションコストが低い
• 診断時間を他の業務に使える • 計画通りに進められる • 採用コストがかかる • 計画通りに進まない • 外注コストがかかる • コミュニケーションコストが高い
比較すると どちらがいいというのは言い切れません... お金 時間 コミュニケーション バランスを鑑みながら、自社の環境に合わせて検討してみてください!
重要だと思っていること
内製でも外注でも 診断前MTG 診断準備 診断実施 レポート 作成と提出 診断後MTG 是正確認 内製 診断前MTG
診断準備 サポート 診断実施 サポート レポート 作成と提出 診断後MTG 是正確認 外注 診断後MTGが最重要だと思っています!
セキュリティ室:ミクロな視点 攻撃者の気持ちになって リスクシナリオを考える 開発部:マクロな視点 プロダクト環境全体を 俯瞰して考える 開発部と共にリスクレベル評価 両者が揃うことでより正確な評価ができるようになります!
プロダクト全体としての「優先順位付け」がしやすくなります! 正確なリスクレベル評価ができると 開発部との信頼関係構築へ! 脆弱性A是正 新規機能開発 機能修正 1 脆弱性B是正 3 2
4
まとめ
まとめ 内製 外注 脆弱性診断の流れの違い メリットとデメリット比較 どちらでも重要なのは診断後MTG 開発部と共に リスクレベル評価を行う ご清聴ありがとうございました!
LiveQにお寄せいただいた 質問への回答
質問1 牧野さんの登壇での質問 ボトムアップでの施策で、ガイドラインや勉強会 とありましたが、具体的にどのようなことをやられたのでしょうか? ご質問ありがとうございました😊 ガイドラインや勉強会について、具体的な取り組みを次ページでご紹介さ せていただきます👉 Q. A.
ガイドラインについて 規程に書いてある内容について、「なぜそれをするのか?」 「具体的にどう実装するのか?」を詳しく書きました。 ルール1. 〇〇すること 〜〜〜というリスクがあるため、〜〜〜をします。 〜〜〜のために、〜〜〜をします。 【具体的な実装例】 ・hogehoge ・hogehoge
こんな感じのフォーマットで 作成していました〜😃
勉強会について 2パターン開催していました! ガイドライン改善会 ガイドラインの内容について わかりにくい表現がないか?実装例は適切か? ヒアリングするパターン ガイドライン輪読会 エンジニアの皆さんが自主的に開いて下さった 輪読会にアドバイザーとして参加するパターン
質問2 ベンダーBさんって料金形態どうなっていたんでしょう? (ちゃんとやってくれてるのかも謎...?) ご質問ありがとうございました😊 料金形態は「1サービスにつきいくら」といった形でした。おっしゃる通 り、進捗状況はブラックボックスなので、どこまで実施しているのかはわ かりませんでした。(ちゃんと実施して下さってたとは思います!) Q. A.
質問3 是正計画期間はどのくらいを定めていましたか。また、脆弱性の重大度に よる是正の優先度はどのように定義つけていましたか。 ご質問ありがとうございました😊 是正計画期間はリスクレベルに応じて、即日〜数ヶ月で定めていました。 リスクレベルに応じた是正期間は定義しておりましたが、脆弱性の重大度 による是正の優先度は定義しておりませんでした。 Q. A.
質問4 内製と外注の診断の品質の差が気になります。内製でも専門業者と同じく らいの品質で診断できるのでしょうか。 ご質問ありがとうございました😊 私たちのチームは、前職で専門業者を経験された方が数名在籍しており、 チームみんなでナレッジ共有、レポート提出前のレビューを行っておりま したので、品質に大きな差はなかったと思います! Q. A.
質問5 内製化の診断範囲と外注した診断範囲は同じですか? 差があればどう区別 したのか教えていただきたいです。同じ場合は二重で行うメリットを教え ていただきたいです。 ご質問ありがとうございました😊 内製は主にスポット診断をメインに、外注では年に一度の定期脆弱性診断 をお願いしておりました! Q. A.
質問6 脆弱性診断士の教育はどのようにされていたのでしょうか。教育に工夫し ていたことなどありましたら、教えていただけますと幸いです。 ご質問ありがとうございました😊 工夫した点は2つございます。 1つ目は、脆弱性の検出方法を録画するようにしたことです。 これは元々レポート提出の際に、少しでもわかりやすいようにと始めたの ですが、この動画を見ることで、経験の浅い診断士の方々のキャッチアッ プも向上しました!もう1つ目は次ページで解説します👉 Q.
A.
脆弱性スターターキットの作成 オンボーディング用に脆弱性診断スターターキットを作成し、 まず最初にこのキットで診断業務を体験していただきました! \noteでマガジン公開中です/
質問7 仕様が開示された上で診断するのか、開示せずに攻撃を試行させるのとど ちらのスタイルになりますか? ご質問ありがとうございました😊 スタイルはケースバイケースでした!新規機能のリリース前の診断では、 開発部から仕様の説明を受けた上で診断していましたが、定期診断では開 示なしで攻撃をしていました。 Q. A.
質問8 どれくらいの規模およびサービス数だった際のお話なのでしょうか。範囲 としてはWebでしょうか ご質問ありがとうございました😊 サービス数はだいたい15プロダクトくらいのお話です。 範囲としてはwebとスマホアプリの診断をしていました! Q. A.
質問9 「脆弱性を放置されない」とありましたが、この場合の放置されない、は どういった意味でしょうか。修正まで含むのでしょうか ご質問ありがとうございました😊 はい、修正まで含んだ意味となります。 「全プロダクトの検出状況・是正計画状況・是正状況をモニタリングでき ている状態」を指しておりました! Q. A.
質問10 内製と外注を同時進行しているのでしょうか? 同じ脆弱性診断を外注に頼んで 内製でも実施しているのか 外注していない製品を内製で実施しているのかがわ からず、、 お手数ですがご教授のほどよろしくお願いいたします。 また、も し、外注と内製で同じ脆弱性診断を同時に実施している場合、何かメリットが ありましたらご教授をお願いします。
ご質問ありがとうございました😊 内製と外注を同時進行していました!たくさんのプロダクトがございましたの で、プロダクトAの定期診断は外注、プロダクトBの定期診断は内製、といった 使い分けをしておりました。同じ診断を同時に実施したことはございません。 Q. A.
質問11 内製した人員ですが、常に診断業務をおこなっているのでしょうか ご質問ありがとうございました😊 はい、常に診断業務をおこなっていました! 診断業務だけではなく、他の業務も並行しておこなっていました。 (私の場合は規程作りや教育活動) Q. A.
ご質問 ありがとうございました!