オープンソースコンポーネントはほぼすべての現代ソフトウェアを支えていますが、それらはしばしば巨大なコードベースの奥深くに埋もれており、重大な脆弱性を隠しています。長年にわたり、ソフトウェア部品表(SBOM)は、これらの隠れたリスクを明らかにするためのセキュリティコミュニティの主要なツールとなってきました。しかし、米国や欧州での政府による進展にもかかわらず、民間部門でのSBOMの導入は依然として遅れています。今、一部の専門家は、AI支援によるコーディングの急速な台頭が、ソフトウェアサプライチェーンの透明性向上の動きをすぐに凌駕する可能性があると警告しています。
「私はSBOMの強力な支持者ですが、私たちがこれまで取り組んできたすべてを根本的に覆す新たな動きが起きています」とKnosticのチーフAIオフィサー、Sounil Yu氏はCyberScoopに語りました。「AIコーディングシステムが生成する[脆弱性のないソフトウェアパッケージ]のほぼ無限のバリエーションが登場する未来は、決して遠い話ではありません。」
Yu氏の楽観的なビジョンは一部の人々と共有されていますが、多くのベテランSBOMおよびソフトウェアセキュリティ専門家はこれを強く否定しており、AIが脆弱性のないソフトウェアを生み出す日が来ることはおそらくないと述べています。
「誰もが、オープンソースの依存関係や再利用された依存関係が存在しない未来、つまりすべてのコードが特注品であるためSBOMに記載するものが何もない未来を想像していますが、それはちょっと狂気じみていると思います」とSonatypeの共同創業者兼CTOのBrian Fox氏はCyberScoopに語りました。
SBOM政策の現状
バイデン大統領による大統領令のもとで策定され、米国電気通信情報局(NTIA)は2021年7月に米国政府初の公式ソフトウェアSBOM文書「ソフトウェア部品表(SBOM)の最小要素」を発表しました。この基盤的な取り組みは、その後サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)に引き継がれました。
SBOMの「父」と広く見なされ、その文書作成を主導したAllan Friedman氏によれば、バイデン大統領の命令はSBOMを連邦政府のサプライヤーに対してFAR(連邦調達規則)のもとで義務付けることも明確に意図されており、これにより連邦政府にソフトウェアを販売しようとするすべてのプロバイダーに透明性の基準が設けられる可能性がありました。
しかし、米国標準技術研究所(NIST)も行政管理予算局(OMB)も、その要件がどのようなものになるかを完全には明示せず、期待されたFAR要件は、Friedman氏(現Institute for Security and Technology(IST)上級技術顧問)によれば、単なるソフトウェア証明書フォームの一部にとどまりました。
CISAでの最近の2つの動きが、より広範かつ強固なSBOMへの期待を高めています。8月22日、同庁はNTIA文書を進化するSBOMの実践に合わせて更新することを目的としたSBOMガイドのパブリックコメント募集を開始しました。
9月3日、CISAはNSAおよび19の国際パートナーと共同で、SBOMのあるべき姿に関する「国際的な合意の拡大」を示すガイダンスを発表しました。参加者はこのガイダンスを「世界的なソフトウェアサプライチェーンの透明性とセキュリティ強化に向けた大きな前進」と呼びました。
これらの進展を有望と見る人もいる一方で、一部の専門家はこれらがバイデン政権の取り組みの最後の名残だと考えています。元CISA職員で現ISTの公共安全・レジリエンス担当エグゼクティブのJosh Corman氏はCyberScoopに対し、「最小要素の更新や国際的な枠組みは、[バイデン]ホワイトハウスへの以前の約束のために“頭がなくても体が動き続けている”ようなものだ」と語りました。
SBOMの取り組みはトランプ政権下で停滞していますが、他の専門家はCISAからさらなる動きがあると考えています。「[CISAの] Nick Andersen氏と[同庁長官候補の] Sean Plankey氏は、いずれもこれらの取り組みの支持者です」とNetRise共同創業者兼CEOのTom Pace氏はCyberScoopに語りました。「それは直接知っています。また、CISAを含む複数の連邦民間機関とSBOMに関する複数の契約が進行中であることも知っています。」
CISAは、SBOMに関する取り組みを遅らせていないだけでなく、むしろ強化していると主張しています。
「私たちは、G7サイバーセキュリティ作業部会のAI向けソフトウェア部品表や、SBOM最小要素案に対する約100件のパブリックコメントのレビューなど、複数のSBOM関連イニシアチブに積極的に関与しています」とCISA広報ディレクターのMarci McCarthy氏はCyberScoopへの声明で述べました。「最近発表されたSBOMの共通ビジョンは、SBOMの活用促進に向けた国際的および国内パートナーとの実践的な協力を強調・強化しています。」
CISAの動き以外にも、連邦レベルでSBOMをさらに推進する動きがあります。2023年の統合歳出法は、食品医薬品化粧品法を改正し、FDAの医療機器の市販前申請にSBOMを義務付けました。2023年には国防総省が、軍のサプライチェーンリスク管理戦略の一環としてSBOM管理に関するガイダンスを発表しました。
国際的には、EU議会が2024年3月にサイバー・レジリエンス法(CRA)を採択し、すべてのデジタル製品の製造業者および販売業者に対し、技術文書の一部として市場監視当局にトップレベルのSBOMを共有することを義務付けました。この法令は2027年12月に施行される予定です。
民間部門におけるSBOM導入の障壁
これらの進展があっても、ほとんどのソフトウェアプロバイダーは依然としてSBOMを提供しておらず、ほとんどの組織もサプライヤーにSBOMを要求していません。Black Duckの最新の年次分析によると、商用コードベースの86%にオープンソースの脆弱性が含まれており、81%は高リスクまたは重大リスクの欠陥を抱えています。一方、95%のウェブサイトは既知の問題を抱えた古いソフトウェアを使い続けています。
「調査によると、これに対して何らかの対策を講じている人はわずか30%にすぎません」とSonatypeのFox氏は述べています。「そして、それは主にオプションだからです。」
Corman氏は、ほとんどの組織が透明性を「存在論的に恐ろしいもの」と感じていると考えています。
「彼らは、オープンソースライセンスの条件違反による訴訟リスクを抱えており、自ら進んでそれを明らかにすることはありません」と彼は述べています。
同様に、CycloneDXコアワーキンググループ議長でOWASP財団副議長のSteve Springett氏はCyberScoopに、多くの組織が自社ソフトウェアの欠陥を開示することによる法的影響を恐れていると語りました。「多くの組織の法務部門は、通常の業務に必要な以上の情報を不必要に開示したくないのです。」
サイバーセキュリティスタートアップCleanStartの共同創業者兼CEOのNilesh Jain氏はCyberScoopに「私たちが関わるほとんどの企業は、SBOMの生成をどのように始めるのが最善か、まだ模索中です。最大手の企業や銀行、金融機関でさえ、まだSBOMを使っていません」と語りました。
サイバー脆弱性の専門家Art Manion氏は、いわゆる「命名問題」を指摘しています。つまり、何年にもわたる膨大なバージョンのソフトウェアがさまざまな構文で管理されており、SBOMの枠組みでこの多様性を把握するのは圧倒的に困難だというのです。
「根本的には、私たちはまだソフトウェアを一律に同じ名称で呼んでいないことに阻まれています」とManion氏はCyberScoopに語りました。「どんな情報源も、すべてのソフトウェアを収集し命名し追跡するのに十分な時間や資金を費やすことはできません。」
しかしFriedman氏は、この命名問題は「パターンマッチング側に少しインテリジェンスを加えれば解決できる」と考えています。「完全一致の文字列を探すツールを作るのではなく、少しデータサイエンスを使ってファジーマッチングを行えばよいのです」と彼は述べています。
生成AIはSBOMの必要性をなくすのか?
SBOMの進展が遅い一方で、AIベースのコーディングアシスタントの導入と話題は急速に拡大しています。これらのツールがソフトウェアの脆弱性を減らす、あるいは根絶するだろうと考える専門家もいます。
「私は自分自身で、AIコーディングアシスタントにソフトウェアを作成させる際、ソフトウェアの依存関係を一切使わないよう指示してコードを作らせたことがあります」とKnosticのYu氏はCyberScoopに語り、既存のコードライブラリへの依存を避ければほとんど、あるいはすべての脆弱性を回避できる可能性を示唆しました。「オープンソース全体を参考にして何を作るかのテンプレートにはできますが、実際にオープンソースライブラリは使わないのです。」
CycloneDXのSpringett氏もYu氏に同意しています。「それは可能です」と彼はCyberScoopに語りました。「現時点では行われていませんが、可能です。実際に行われているのを見たこともあります。短期的には、AIによって私たち自身が生み出す一次脆弱性の数が増えるでしょう。しかし長期的には、AIは優れたコードレビュアー兼著者となり、常に安全でないコードを警戒し、開発者により安全な代替案を提案するようになるでしょう。」
AIが脆弱性のないシステムを作れるかどうかについては、意見が大きく分かれています。「絶対に不可能です」とManion氏は述べています。「AIが安全なソフトウェアを書くという証拠は見たことがありません。」
「それは、過去60年以上にわたるソフトウェア工学の知見をすべて無視して、何もかも無意味だと言っているようなものです」とSonatypeのFox氏は述べています。「車輪の再発明をして同じ過ちを繰り返したいなら、どうぞご自由に。」
「私は不可能だと思います」とCleanStartの共同創業者兼CTOのBiswajit De氏はCyberScoopに語りました。「脆弱性のないコードを作るために、すべてをプロンプトに盛り込むのは物理的に不可能です。」
Friedman氏も懐疑的です。
「JavaScriptやnodeパッケージ管理システムのように何千もの依存関係に大きく依存している環境で訓練されたツールが、『依存関係なしでコードを書ける』と言うのは想像しにくいです。もし本当に依存関係なしで書いているとしても、実際にはそれらの依存関係を使うことになるでしょう」と彼はCyberScoopに語りました。
彼はさらに、「AI生成コードは今後さらに良くなるでしょう。今作られているものを見れば『すごい』と思うはずです。しかし、大規模なコードベースは非常に早く手に負えなくなります。AIを使って脆弱性を検出しながらコードを書くことはできますが、それは今でも人々がやっていることです。AIには、現在のツールや将来のツールと比べて特別な魔法はありません」と述べました。
翻訳元: https://cyberscoop.com/sbom-adoption-challenges-ai-coding-transparency/