【ソフトウェアサプライチェーンセキュリティ】
ソフトウェアサプライチェーンセキュリティ とは?
💡 コードが届くまでの「サプライルート」を丸ごと守る
📌 このページのポイント
ソフトウェアサプライチェーンセキュリティって、難しそうな名前だね。普通のセキュリティと何が違うの?
自分が書いたコード以外にも、使っているライブラリ・ビルドツール・CI/CDパイプラインなど「ソフトウェアを作って届けるまでの流れ」全体を守ることだよ。自分のコードは安全でも、使っているライブラリに悪意あるコードが混入していたら意味がないよね。
実際にどんな事件があったの?
2020年のSolarWinds事件が有名だよ。攻撃者がITシステム管理ソフトのビルドプロセスに侵入して、正規のソフトウェアアップデートの中にマルウェアを仕込んだんだ。18,000以上の組織が影響を受けて、米国政府機関も被害を受けた大規模なサプライチェーン攻撃だよ。
Log4Shellっていうのも聞いたことがあるんだけど、関係あるの?
対策として何をすればいいの?
CIパイプラインを守るって、どういうことなの?
GitHubのActionsなどCI環境は多くのシークレット(APIキーやデプロイ鍵)を持つ攻撃の宝庫なんだ。悪意あるサードパーティのGitHub Actionsを使ったり、mainブランチへの直接プッシュを許可していたりすると乗っ取られるリスクがある。アクションのバージョンをコミットハッシュで固定するなど、CIの入口も厳重に守る必要があるよ。
📖 おまけ:英語の意味
「Software Supply Chain Security」 = ソフトウェア供給網セキュリティ
💬 製造業の「サプライチェーン(部品調達から製品完成まで)」をソフトウェア開発に当てはめた概念で、コードが開発者の手を離れてユーザーに届くまでの全工程が攻撃対象になり得ることを指すよ