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.8k
脆弱性診断の内製化と外注
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
890
Attractions and interests of wasm-bindgen
tsukushi
2
780
wasm-bindgen - その魅力と面白さ -
tsukushi
1
3.7k
Rust + WebAssemblyに入門した話
tsukushi
1
2.5k
未経験新卒エンジニアがRustを学び始めてよかったこと
tsukushi
2
9.7k
Other Decks in Programming
See All in Programming
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
810
コンテナをたくさん詰め込んだシステムとランタイムの変化
makihiro
1
130
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
260
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
Spatial Rendering for Apple Vision Pro
warrenm
0
110
良いユニットテストを書こう
mototakatsu
8
2.6k
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
103 Early Hints
sugi_0000
1
230
Haze - Real time background blurring
chrisbanes
1
510
Kaigi on Railsに初参加したら、その日にLT登壇が決定した件について
tama50505
0
100
バグを見つけた?それAppleに直してもらおう!
uetyo
0
180
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Navigating Team Friction
lara
183
15k
Making the Leap to Tech Lead
cromwellryan
133
9k
Bash Introduction
62gerente
608
210k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Building Your Own Lightsaber
phodgson
103
6.1k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
What's in a price? How to price your products and services
michaelherold
243
12k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
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.
ご質問 ありがとうございました!