誰もが信頼している製品・サービスに潜む脆弱性 まさかの「アップデートしたら感染」する事例も
――オープンソースソフトウェアなどに悪意のある脆弱性が組み込まれた事例はありますか。
福本:直近では2024年3月末に発覚した、圧縮ツールのXZ Utilsの例があります。このメンテナーとして2年ほど前にコミュニティに参加していたメンバーが、故意にバックドアを仕込んだのです。
このケースは、信頼を得ていた正規のメンテナーによるソーシャルエンジニアリング的な手法だったので、かなり注目を集めました。これを受け、オープンソースソフトウェアのセキュリティ強化を目的としたグローバルコミュニティのOpenSSFは、ソーシャルエンジニアリングによるプロジェクト乗っ取りに関する注意喚起を出しました。
佐々木:背景には、オープンソースプロジェクトの人手不足もあるでしょう。外部からの侵入には技術的な対策を打てますが、コミュニティに悪意のある人が紛れ込むことへの対応はかなり難しいです。
――さまざまなリスクが懸念される中、開発者は何を気にかけておけばよいでしょうか。
佐々木:まずは開発しているものについて、どのような部品が入っているかを把握するのがベースラインです。そのために「SBOM(Software Bill of Materials)」(ソフトウェア部品表のデータ)などを使うのもよいでしょう。そのうえで、悪意あるものが紛れ込んでいるかを判別し、迅速に対処するのが次のステップです。
福本:SBOMの考え方は提唱され始めたばかりで、しっかり実装されている状況にはまだありません。SBOMを流通させて有効活用するにはさまざまな問題があり、SBOMを入れれば万事解決ということは決してないのです。
また契約によっては、どの部品を使っているかを明らかにできないケースもあり、すべての部品情報をSBOMに取り込むのは現実的ではないでしょう。不完全なSBOMが流通すれば、本質的なものが隠れる可能性があることも憶えておかなくてはなりません。
たとえ侵入されても被害が拡大しない準備も必要に
――実際に自社の製品やサービスに脆弱性があるかをどう管理すればよいでしょうか。
福本:脆弱性があるかどうかのモニタリングを手助けするツールやサービスがあります。有償のものからオープンソースのものまであり、利用している企業も少なくありません。また、国内で脆弱性情報を公開するデータベースとしてIPAが運用するJVN iPediaなどがあり、海外にも無料で使える同様のデータベースがあるので、そういったものを活用するのもよいでしょう。
ほかにも、外部の人に脆弱性を発見・報告してもらい報酬を支払う「バグバウンティ」があります。脆弱性を見つけるのに役立ちますが、一方で指摘された際にきちんと対処できる社内体制がなければ有効に機能しません。
無料会員登録はこちら
ログインはこちら