FacebookがInstagramの社内セキュリティツールをオープンソース化

Catalin Cimpanu (ZDNET.com) 翻訳校正: 編集部

2020-08-12 13:30

 Facebookは米国時間8月7日、「Instagram」の膨大なPythonコードベースからバグを発見して修正するために開発した社内ツールを正式にオープンソースとして公開した。

Facebook
提供:Facebook

 「Pysa」と名付けられたこのツールは、いわゆる静的コード分析を行うためのものだ。このツールは、コンパイルや実行が行われていない「静的」な状態のコードをスキャンし、バグの可能性がある既知のパターンを発見して、開発者に潜在的な問題について警告する。

 Facebookによれば、このツールは社内で開発されたものだが、常に改良を続けてきた結果、今では成熟したツールになった。例えば、2020年の前半にInstagramのサーバーサイドのコードに発見されたセキュリティ上のバグのうち、44%がPysaによって検出されたものだという。

セキュリティチームのために開発

 この成功の裏には、Facebookのセキュリティチームの取り組みがある。Pysaは型チェッカーツール「Pyre」のオープンソースコードをベースにしているが、このツールは特にセキュリティチームのニーズに合わせて構築された。

 ほとんどの静的コード分析ツールは、さまざまな種類のバグを発見しようとするが、Pysaはセキュリティ関係の問題に特化して開発されている。具体的には、Pysaは「プログラムの中のデータの流れ」を追跡している。

 データの流れは非常に重要だ。これは、今日の攻撃コードのほとんどが、フィルタリングされていないデータフローや、制御されていないデータフローを利用しているためだ。

Facebook
提供:Facebook

 Pysaの開発には、Facebookのセキュリティチームが深く関わっている。同社は既に数カ月にわたって社内テストを行っており、クロスサイトスクリプティング(XSS)やリモートコード実行、SQLインジェクションなどのよくあるセキュリティ問題に特有の、データソースとデータシンクのパターンを発見するためのチューニングを進めている。

大規模なコードベースを高速にスキャン

 FacebookのセキュリティエンジニアであるGraham Bleaney氏は、米ZDNetの電話取材に対して、Pysaがセキュリティ問題を発見する能力を持っていても、Instagramのコードベースをスキャンするのに数日かかるようでは役に立たないと語った。

 このためPysaは、数百万行のソースコードを30分から数時間程度でスキャンできるように、速度重視で作られている。Pysaはほぼリアルタイムでバグを発見することができるため、このツールを普段のワークフローやルーチンに組み込んでも、コードの出荷が遅れたり、締め切りに間に合わなかったりといった心配をせずに済むという。

 Facebookは同日、Pysaをオープンソースとして「GitHub」で公開した。セキュリティ問題を発見するために必要なバグの定義ファイルも同時に公開されている。チャットアプリ「Zulip」のサーバー開発プロジェクトでは、既にPysaをコードベースに組み込んでおり、2019年には大きなセキュリティ問題を発見するのに役立ったという。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    警察把握分だけで年間4000件発生、IPA10大脅威の常連「標的型攻撃」を正しく知る用語集

  2. セキュリティ

    まずは“交渉術”を磨くこと!情報セキュリティ担当者の使命を果たすための必須事項とは

  3. セキュリティ

    「2024年版脅威ハンティングレポート」より—アジアでサイバー攻撃の標的になりやすい業界とは?

  4. セキュリティ

    生成AIを利用した標的型攻撃とはどのようなものなのか?実態を明らかにして効果的な対策を考える

  5. ビジネスアプリケーション

    Microsoft 365で全てを完結しない選択、サイボウズが提示するGaroonとの連携による効果

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]