2023/09/07 Cyber-sec+ MeetUp vol.1 で発表した内容です。
脆弱性診断の内製化と外注2023/09/07 Cyber-sec+ MeetUp vol.1牧野 美咲
View Slide
自己紹介名前経歴牧野 美咲(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是正324
まとめ
まとめ内製 外注脆弱性診断の流れの違いメリットとデメリット比較どちらでも重要なのは診断後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.
ご質問ありがとうございました!