Slide 1

Slide 1 text

脆弱性診断の内製化と外注 2023/09/07 Cyber-sec+ MeetUp vol.1 牧野 美咲

Slide 2

Slide 2 text

自己紹介 名前 経歴 牧野 美咲(Misaki Makino) ● 2017/04 某IT企業 新卒入社 ● 2017/06 プロダクト開発部 開発エンジニア ● 2019/07 セキュリティ室 セキュリティエンジニア ○ 未経験からスタート ○ 脆弱性診断、規程作りを主に担当 ● 2023/03 株式会社3Sunny セキュリティ何でも屋 ○ 会社noteでセキュリティマガジン始めました \ Follow Me! /

Slide 3

Slide 3 text

本日のテーマ ● 脆弱性診断の内製化ってどんな感じ? ● 脆弱性診断の外注ってどんな感じ? ● 内製と外注でどんな違いがあるの? 脆弱性診断の内製化と外注 牧野が前職で経験したことをお話させていただきます!

Slide 4

Slide 4 text

本日のゴール 内製化や外注について、少しでも参考になれば幸いです! うちの会社ではこうだな... うちの会社ではこうしてみよう! 何らかの気づきを得られている状態

Slide 5

Slide 5 text

アジェンダ 1. 内製化について 2. 外注について 3. 内製と外注の比較 4. 重要だと思っていること 5. まとめ

Slide 6

Slide 6 text

内製化について

Slide 7

Slide 7 text

内製化の歩み 2019年 (異動直後) 先輩が1人在籍 ←こんな感じ 脆弱性を報告して も是正されない 日々... 2023年 (退職直前) 脆弱性診断士4人 チームに! 放置される脆弱性 がゼロに! 4年間でどのように内製化していったのでしょうか?

Slide 8

Slide 8 text

ボトムアップとトップダウン 脆弱性是正を促進するための草の根活動 ● ガイドラインを作成、勉強会実施 ● 診断後に脆弱性を説明するMTG実施 社内規程の大幅リニューアル ● 脆弱性是正プロセスを会社のルールとして明示 ● 是正計画期間を設定 ボトム アップ トップ ダウン

Slide 9

Slide 9 text

外注について

Slide 10

Slide 10 text

2種類のベンダーを利用 ベンダーA ● 日本の会社 ● Slack, zoomでやりとり ベンダーB ● 海外の会社 ● メールでやりとり

Slide 11

Slide 11 text

脆弱性診断スタイルが異なる ベンダーA ● 診断は1~2名が専任 ● APIベースで診断 ● レポートとして脆弱性共有 ベンダーB ● 診断士の人数は不明 ● バグバウンティで自由に診断 ● 専用のサイトで脆弱性共有

Slide 12

Slide 12 text

内製と外注の比較

Slide 13

Slide 13 text

脆弱性診断の流れの比較 診断前MTG 診断準備 診断実施 レポート 作成と提出 診断後MTG 是正確認 内製 診断前MTG 診断準備 サポート 診断実施 サポート レポート 作成と提出 診断後MTG 是正確認 外注 外注では、ベンダーが準備や実施をうまくできない時に、 開発部に確認してサポートします

Slide 14

Slide 14 text

良かったこと 大変だったこと 内製 外注 良かったこと 大変だったこと ● 臨機応変にスポット診断ができる ● コミュニケーションコストが低い ● 診断時間を他の業務に使える ● 計画通りに進められる ● 採用コストがかかる ● 計画通りに進まない ● 外注コストがかかる ● コミュニケーションコストが高い

Slide 15

Slide 15 text

比較すると どちらがいいというのは言い切れません... お金 時間 コミュニケーション バランスを鑑みながら、自社の環境に合わせて検討してみてください!

Slide 16

Slide 16 text

重要だと思っていること

Slide 17

Slide 17 text

内製でも外注でも 診断前MTG 診断準備 診断実施 レポート 作成と提出 診断後MTG 是正確認 内製 診断前MTG 診断準備 サポート 診断実施 サポート レポート 作成と提出 診断後MTG 是正確認 外注 診断後MTGが最重要だと思っています!

Slide 18

Slide 18 text

セキュリティ室:ミクロな視点 攻撃者の気持ちになって リスクシナリオを考える 開発部:マクロな視点 プロダクト環境全体を 俯瞰して考える 開発部と共にリスクレベル評価 両者が揃うことでより正確な評価ができるようになります!

Slide 19

Slide 19 text

プロダクト全体としての「優先順位付け」がしやすくなります! 正確なリスクレベル評価ができると 開発部との信頼関係構築へ! 脆弱性A是正 新規機能開発 機能修正 1 脆弱性B是正 3 2 4

Slide 20

Slide 20 text

まとめ

Slide 21

Slide 21 text

まとめ 内製 外注 脆弱性診断の流れの違い メリットとデメリット比較 どちらでも重要なのは診断後MTG 開発部と共に リスクレベル評価を行う ご清聴ありがとうございました!

Slide 22

Slide 22 text

LiveQにお寄せいただいた 質問への回答

Slide 23

Slide 23 text

質問1 牧野さんの登壇での質問 ボトムアップでの施策で、ガイドラインや勉強会 とありましたが、具体的にどのようなことをやられたのでしょうか? ご質問ありがとうございました😊 ガイドラインや勉強会について、具体的な取り組みを次ページでご紹介さ せていただきます👉 Q. A.

Slide 24

Slide 24 text

ガイドラインについて 規程に書いてある内容について、「なぜそれをするのか?」 「具体的にどう実装するのか?」を詳しく書きました。 ルール1. 〇〇すること 〜〜〜というリスクがあるため、〜〜〜をします。 〜〜〜のために、〜〜〜をします。 【具体的な実装例】 ・hogehoge ・hogehoge こんな感じのフォーマットで 作成していました〜😃

Slide 25

Slide 25 text

勉強会について 2パターン開催していました! ガイドライン改善会 ガイドラインの内容について わかりにくい表現がないか?実装例は適切か? ヒアリングするパターン ガイドライン輪読会 エンジニアの皆さんが自主的に開いて下さった 輪読会にアドバイザーとして参加するパターン

Slide 26

Slide 26 text

質問2 ベンダーBさんって料金形態どうなっていたんでしょう? (ちゃんとやってくれてるのかも謎...?) ご質問ありがとうございました😊 料金形態は「1サービスにつきいくら」といった形でした。おっしゃる通 り、進捗状況はブラックボックスなので、どこまで実施しているのかはわ かりませんでした。(ちゃんと実施して下さってたとは思います!) Q. A.

Slide 27

Slide 27 text

質問3 是正計画期間はどのくらいを定めていましたか。また、脆弱性の重大度に よる是正の優先度はどのように定義つけていましたか。 ご質問ありがとうございました😊 是正計画期間はリスクレベルに応じて、即日〜数ヶ月で定めていました。 リスクレベルに応じた是正期間は定義しておりましたが、脆弱性の重大度 による是正の優先度は定義しておりませんでした。 Q. A.

Slide 28

Slide 28 text

質問4 内製と外注の診断の品質の差が気になります。内製でも専門業者と同じく らいの品質で診断できるのでしょうか。 ご質問ありがとうございました😊 私たちのチームは、前職で専門業者を経験された方が数名在籍しており、 チームみんなでナレッジ共有、レポート提出前のレビューを行っておりま したので、品質に大きな差はなかったと思います! Q. A.

Slide 29

Slide 29 text

質問5 内製化の診断範囲と外注した診断範囲は同じですか? 差があればどう区別 したのか教えていただきたいです。同じ場合は二重で行うメリットを教え ていただきたいです。 ご質問ありがとうございました😊 内製は主にスポット診断をメインに、外注では年に一度の定期脆弱性診断 をお願いしておりました! Q. A.

Slide 30

Slide 30 text

質問6 脆弱性診断士の教育はどのようにされていたのでしょうか。教育に工夫し ていたことなどありましたら、教えていただけますと幸いです。 ご質問ありがとうございました😊 工夫した点は2つございます。 1つ目は、脆弱性の検出方法を録画するようにしたことです。 これは元々レポート提出の際に、少しでもわかりやすいようにと始めたの ですが、この動画を見ることで、経験の浅い診断士の方々のキャッチアッ プも向上しました!もう1つ目は次ページで解説します👉 Q. A.

Slide 31

Slide 31 text

脆弱性スターターキットの作成 オンボーディング用に脆弱性診断スターターキットを作成し、 まず最初にこのキットで診断業務を体験していただきました! \noteでマガジン公開中です/

Slide 32

Slide 32 text

質問7 仕様が開示された上で診断するのか、開示せずに攻撃を試行させるのとど ちらのスタイルになりますか? ご質問ありがとうございました😊 スタイルはケースバイケースでした!新規機能のリリース前の診断では、 開発部から仕様の説明を受けた上で診断していましたが、定期診断では開 示なしで攻撃をしていました。 Q. A.

Slide 33

Slide 33 text

質問8 どれくらいの規模およびサービス数だった際のお話なのでしょうか。範囲 としてはWebでしょうか ご質問ありがとうございました😊 サービス数はだいたい15プロダクトくらいのお話です。 範囲としてはwebとスマホアプリの診断をしていました! Q. A.

Slide 34

Slide 34 text

質問9 「脆弱性を放置されない」とありましたが、この場合の放置されない、は どういった意味でしょうか。修正まで含むのでしょうか ご質問ありがとうございました😊 はい、修正まで含んだ意味となります。 「全プロダクトの検出状況・是正計画状況・是正状況をモニタリングでき ている状態」を指しておりました! Q. A.

Slide 35

Slide 35 text

質問10 内製と外注を同時進行しているのでしょうか? 同じ脆弱性診断を外注に頼んで 内製でも実施しているのか 外注していない製品を内製で実施しているのかがわ からず、、 お手数ですがご教授のほどよろしくお願いいたします。 また、も し、外注と内製で同じ脆弱性診断を同時に実施している場合、何かメリットが ありましたらご教授をお願いします。 ご質問ありがとうございました😊 内製と外注を同時進行していました!たくさんのプロダクトがございましたの で、プロダクトAの定期診断は外注、プロダクトBの定期診断は内製、といった 使い分けをしておりました。同じ診断を同時に実施したことはございません。 Q. A.

Slide 36

Slide 36 text

質問11 内製した人員ですが、常に診断業務をおこなっているのでしょうか ご質問ありがとうございました😊 はい、常に診断業務をおこなっていました! 診断業務だけではなく、他の業務も並行しておこなっていました。 (私の場合は規程作りや教育活動) Q. A.

Slide 37

Slide 37 text

ご質問 ありがとうございました!