SASTだけでは防げない!OSS時代に求められるSCA・SCSも活用した包括的なセキュリティ対策とは?
SASTだけでは対処しきれない!安心してOSSを利用するには?
皆さんの開発プロジェクトでは、OSS(オープンソースソフトウェア)を活用されていますか?
アジャイル開発が主流となり、短いリリースサイクルでの開発が求められる現在、すべてのライブラリを内製化するのは現実的ではありません。そのため、OSSはもはや「使うのが当たり前」と言える存在になっています。
しかし、そのOSSを本当に安全に利用できているでしょうか?
特に、SAST(静的アプリケーションセキュリティテスト)だけで脆弱性対策を行っている場合、見落としているリスクが存在します。
本記事では、SASTだけではカバーしきれない領域を補うSCA(ソフトウェアコンポジション解析)とSCS(サプライチェーンセキュリティ)この2点の重要性について解説します。
OSS利用のポリシーは整備されていますか?
IPA(情報処理推進機構)が発表した「2024 年度ソフトウェア動向調査」によると、全798社へのアンケートのうち、80.5%の企業がOSSの使用ポリシー等が存在しない、もしくは不明と回答しています。
つまり、多くの企業が明確なルールやチェック体制を持たないまま、OSSを利用しているのが現状です。
ここで、次のような質問を考えてみてください。
- 使用しているOSSの開発元・作者は信頼できる人物/組織ですか?
- OSSライセンスの規約に適切に準拠できていますか?
- OSSの依存関係および既知の脆弱性を定期的に確認していますか?
- 不正なコードやマルウェアが混入していないことを検証できていますか?
SASTでは検知できないリスクが、OSSの内部や供給経路に潜んでいる可能性があります。
なぜSASTだけでは不十分なのか?
SAST(静的アプリケーションセキュリティテスト)とは?
SASTはソースコードを静的に解析し、SQLインジェクションやXSSなどの脆弱性を検出する手法です。自社で記述したコードに対して有効であり、開発初期の段階でセキュリティリスクを特定できます。しかし、SASTが対象とするのは自分たちが書いたコードのみです。
現代の開発では、npm、PyPI、Maven、NuGetといった外部レジストリから多くのOSSライブラリを導入していますが、これらの外部コードはSASTスキャンの対象外です。
SASTだけではOSS由来のリスクを検知できず、その不足を補完するのが、SCAとSCSの役割です。
SCA・SCSで補完する包括的なセキュリティ対策
SCA(ソフトウェアコンポジション解析)
SCAは、OSSライブラリや依存パッケージの構成を解析し、以下の情報を可視化します。
- 含まれているOSSコンポーネントとそのバージョン情報
- 既知の脆弱性(CVE情報など)の検出
- 各ライブラリのライセンス情報
- OSS間の依存情報の可視化
これにより、OSSに潜むリスクを迅速に洗い出し、修正やアップデートの判断を的確に行うことができます。
SCS(サプライチェーンセキュリティ)
SCSは、OSSのソフトウェア供給経路(サプライチェーン)に着目し、開発元や配布元の安全性を検証する手法です。
- 開発元・組織の信頼性の評価
- 不正コードやマルウェアの混入検出
- SBOM(ソフトウェア部品表)による構成情報の管理
OSSは日々多くの開発者によって更新されています。安全なライブラリであっても、いつ悪意のあるコードが混入するかわかりません。
SCSは、こうした供給経路上のリスクから開発者を守り、安心してOSSを活用できる環境を実現します。
※SAST・SCA・SCSの役割について
| 手法 | 対象 | 目的 |
|---|---|---|
| SAST | 自社で記述したコード | コード内の脆弱性を検出 |
| SCA | OSSパッケージ | 既知の脆弱性やライセンスリスクを検出 |
| SCS | OSSの供給経路 | パッケージの信頼性や安全性を評価 |
安心してOSSを活用できる環境を構築するために
「これまで問題が起きていないから大丈夫」と思っていても、攻撃者はOSSライブラリやその供給経路そのものを狙うケースが増えています。これからは、「自社のコード」だけでなく、「利用しているOSS」と「その供給元」までを管理することが不可欠です。
東陽テクニカでは、SAST・SCA・SCSを組み合わせた包括的なセキュリティ対策を支援するソリューションを提供しており、販売から導入後の運用支援まで一貫してサポートいたします。
OSS活用やセキュリティ対策に関して不安や課題をお持ちでしたら、ぜひお気軽にご相談ください。