engineers_blogこんにちは。インターンの田邉です。セキュリティ推進グループ」に所属しています。マネーフォワードでは脆弱性診断の内製化を進めています。理由は下記の3点です。第一の理由はコストです。1サービスのWebアプリ脆弱性診断コストは限定的です。マネーフォワードはB2C/B2Bの新サービスが続々とリリースしているため、トータルのWebアプリ脆弱性診断コストが(調整コストも含め)高まってきました。第二の理由は、見つかる脆弱性の種類です。コストの理由だけでは内製化に踏み切らなかったかもしれません。重大な脆弱性が見つかるのであれば、それは必要コストです。過去に実施したWebアプリ脆弱性診断において、報告される脆弱性の種類が「注意」レベルまでに限られていました。複数のベンダーによる診断でも同様であったことから、これは良くある「5営業日内のWebアプリ診断」プランでは発見できないのでは?と考えました。事実、数か月実施したバグバウンティでは、今までに報告されなかった脆弱性の発見に繋がっています。第三の理由は、内製による技術の蓄積です。ベンダーによる診断が悪いと言うことではありません。新規サービスの開発や大規模なシステム改修時は、外部ベンダーによる診断を実施すべきだと思います。そのままではいつまでたっても攻撃スキル・手法の経験を積めません。技術はものすごいスピードで変化しています。スピードに対応した防御手法を意味のあるものにするために、攻撃手法を知っておかなければなりません。これらを総合的に考えた結果、定常的な診断を内製化することに決めました。私に課せられたミッションは、これを実現可能な形に落とし込むことでした。内製化を進めるには、何を持って内製化できたかを定義する指標が必要です。JPで提示されている脆弱性診断士ランクです。このランクはスコープが明確に定められており、さらに技術水準が提示されているため、内製化のイメージがしやすいものになっています。シラバスを参照してください。脆弱性診断をやってみた」で紹介させていただいた「Webセキュリティ担当者のための脆弱性診断スタートガイド」の著者である上野宣さまが、本プロジェクトの代表であることも大きいです。シラバスシートを元に『セキュリティ推進チームメンバーの2名がSilverランク以上になる』と言う目標を作りました。目標到達のため、各項目を習熟する必要があります。それらの参考にさせていただいている書籍とリンクを洗い出し、独自のスプレッドシートで参照先を記録しました。多くの団体が自前で診断できるよう、より多くの参照先を記載できるよう、より多くの知を集められるよう、当社ではこのスプレッドシートをGithubリポジトリ(元リポジトリをForkする形で)にて公開することにしました。PR等もお待ちしております。シラバス:https://www.owasp.org/images/b/bc/Pentester-Web-Skillmap_and_Syllabus-201603.pdf最後にとはいえ、まだまだ歩き始めたばかりで、新プロダクトのリリース時は外部ベンダーへお願いする場合もあります。長くの期間、より多くの方に診断いただけるようバグバウンティーをPoC段階として進めています。マネーフォワードは、セキュリティに対して真摯に取り組んでおります。一緒にセキュリティに取り組みたい方は、是非とも応募ください。