ソーシャルネットワークサービス最大手の米フェイスブック。多いときには一日に十億人以上のユーザーが利用するこの巨大サービスは、2000万行以上のコードで構築されている。米フェイスブックのセキュリティエンジニアリング・インフラストラクチャー担当ディレクター、グレッグ・ステファンシック氏は、どのような取り組みを通じてこの巨大なサービスのセキュリティを保っているのかを説明した。
フェイスブックの取り組みの特徴は、個々のエンジニアのスキルや努力に任せるのではなく、「コードを書く開発者がセキュリティおたくでなくとも、自動的にセキュリティを実装できるフレームワークを整備している。何百人ものエンジニアが、セキュリティの細かなことを気にせずに、サービスを迅速に開発し、リリースすることに集中できる環境を整えている」(ステファンシック氏)という点にある。このフレームワークの原則は「Safe(Secure) by Defalut」。つまりデフォルトで自動的にセキュリティコンポーネントが組み込まれる仕組みだ。
そのためにフェイスブックは独自のプログラミング言語「Hack」を開発。オープンソースとして公開した。もともとフェイスブックではPHPを用いて開発していたが、「残念ながらPHPは必ずしも『Safe by Defalut』とはいえない。かといって、これまで蓄積してきた2000万行に上るソースコードを修正するのも非現実的だ」(ステファンシック氏)。そこでPHPと互換性を持ち、型指定が可能なHackという言語を使うことによって、開発段階でセキュリティを保つようにしているという。
「Hackを利用することによって、ソフトウエア開発ライフサイクルの早い段階でバグを見つけ出すことができている。エディターによってほぼリアルタイムに問題が指摘されるため、迅速に安全なコードを書くことができる」(ステファンシック氏)。結果として、生産性の向上とセキュリティの向上、両面の効果が得られたという。
同時に、脆弱性の報告者に報奨金を提供する「バグバウンティプログラム」の実施に加え、機械学習を活用してルールに反する投稿を自動検出したり、データの取り扱い時にポリシーが自動的に適用されるフレームワークを用意したりするといった取り組みを進め、多層防御の実現を目指しているという。
最後にステファンシック氏は、自らのセキュリティエンジニアとしてのキャリアについても触れた。同氏は大学卒業後、米Oracleや米Yahoo!といった企業でキャリアを積んできた。「大学にいたころ、自分は好奇心からいろいろ問題を見つけるのを楽しみにしていたが、誰もセキュリティについて話す人はいなかった」そうだが、今や不幸にして時代は変わっている。
フェイスブックに入社してくるエンジニアは全て、6週間の「ブートキャンプ」を通じて、シニアエンジニア(メンター)の指導の下、必要なツールの使い方やコーディングの作法を習得することになっている。「よく聞かれるのが『サイバーセキュリティについてよく知らないんだけど』という質問だ。しかし興味と意欲があれば大丈夫。経験がゼロからでも、メンターシップを通じてサイバーセキュリティのプロになることができる」とステファンシック氏は述べ、若い人々にぜひ、このエキサイティングな仕事に興味を持ってほしいとした。
Copyright © ITmedia, Inc. All Rights Reserved.