Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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.4k
未経験新卒エンジニアがRustを学び始めてよかったこと
tsukushi
2
9.7k
Other Decks in Programming
See All in Programming
talk-with-local-llm-with-web-streams-api
kbaba1001
0
150
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
110
AWS認定資格を勉強した先に何があったか
satoshi256kbyte
2
190
暇に任せてProxmoxコンソール 作ってみました
karugamo
1
220
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
0
3.1k
似たもの同士のPerlとPHP
uzulla
1
110
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
1
110
事業成長を爆速で進めてきたプロダクトエンジニアたちの成功談・失敗談
nealle
3
1.3k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
380
MoQとか勉強会#2 発表資料
yuki_uchida
2
620
Criando Commits Incríveis no Git
marcelgsantos
2
150
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
810
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
31
Being A Developer After 40
akosma
87
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Unsuck your backbone
ammeep
669
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Designing for Performance
lara
604
68k
How to Ace a Technical Interview
jacobian
276
23k
Code Review Best Practice
trishagee
64
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
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.
ご質問 ありがとうございました!