July 29, 2021

ソフトウェアコンポジション解析 vs. バイナリ解析 - その違いは?

*本記事は Karamba Security 社の以下のブログ記事(2021年7月29日時点)の参考訳です。
 Software Composition Analysis vs. Binary Analysis - What are the differences?
*ブログの内容は更新されている可能性があります。また、記事内のリンク先は別途記載がない限りは英語ページになります。

ソフトウェアコンポジション解析はオープンソースのライセンス・コンプライアンス対応のための手段として生まれたのに対し、バイナリ解析はホワイトハット・ハッカーが組込みシステムのバイナリファイルを分析するためのペネトレーションテストの手段として生まれました。

開発者が自身のプロジェクトを早く進めるためにオープンソースのコードを利用しようと思えば、Google検索で簡単に用途に合うものを見つけ、コピー&ペーストで流用することができます。ただ、ソフトウェアベンダーがオープンソースを利用する場合、IPの所有権や商用利用の可否の問題なども関わってくるため、ソフトウェアコンポジション解析用ツールのニーズは少なくありません。始まりは、オープンソースのライセンス・コンプライアンスを目的としたソリューションであり、開発者のソースコードやビルドマップファイルにアクセスし、ビルドに含まれている可能性のあるパッケージを調べることで、ライセンス・コンプライアンス上の問題がないか確認するために使用されます。

ソフトウェアコンポジション解析ツールを使うことで、複合的なライセンス分析レポートを生成することができます。サイバー攻撃の増加に伴い、ビルドの構成物に含まれると予想されるパッケージ類に関係するCVEの情報も、このレポートに追加されるようになりました。

一方のバイナリ解析はペネトレーションテスト用ツールとして生まれ、 ホワイトハット・ハッカーがIoTバイナリファイル(当時は「組込みバイナリファイル」と一般的に呼ばれていたもの)を解析して、設定ミスや脆弱性の可能性を検知する目的で主に利用されていました。

IoTデバイスへのサイバー攻撃が激しさを増すにつれ、開発者やセキュリティ担当者の間で専用のツールを求める声が高まりました。

そして、IoT製品の開発・運用におけるセキュリティの専門家たちは、バイナリ解析ツールに目を付けました。これは、バイナリ解析が元々は攻撃者の視点から生み出されており、セキュリティ対応を行ううえでのニーズにもピッタリと合うと考えられたからです。

バイナリ解析ツールは製品セキュリティを担当するエンジニアに、ソースコードのリポジトリだけでなく、製品の最終ビルドに含まれるコンポーネントの正確なリストである、SBOM(ソフトウェア部品表)を提供することで、誤検知の検証の手間を省いてくれます。

さらに、バイナリ解析ツールは攻撃者にデバイスの乗っ取りを許してしまいかねない、深刻な設定ミスなども見つけ出すことができます。このような問題のある設定は、バイナリがビルドされて初めて検知可能になります。

バイナリ解析は特に、最終的なビルドの一部がソースコードではなく、オブジェクト形式で提供される、サプライチェーンにおけるリスク管理に有効です。バイナリ解析を行うことで、開発者はサードパーティー製の(オープンソースとプロプライエタリ両方の)ソフトウェアモジュール内のエラーや設定ミスを早期に発見し、プロジェクトのタイムラインに影響を与えることなく修正することができます。

サーバー側のソフトウェア開発に携わっているチームにとっても、バイナリ解析は有効なツールとなりえますが、従来のソフトウェアコンポジション解析ツールで十分に対応できているというケースもあるかと思います。

SBOM生成も可能な、バイナリ解析ツールのご紹介

Karamba Security|バイナリベース脆弱性診断ツール「VCode」|東陽テクニカ

バイナリベース脆弱性診断ツール「VCode」
サードパーティー製のライブラリやOSSを含んだ形で、システム全体のセキュリティリスクを洗い出すことができるバイナリ解析ツール。脆弱性を検出し、修正をサポートする機能に加え、SBOMの生成機能も備えています。→ → 詳しくはこちら

お問い合わせ先

東陽テクニカ ソフトウェア・ソリューション

phone Tel: 03-3245-1248  
  mail Email: ss_sales@toyo.co.jp