デビッド・A・ウィーラー著
この投稿では、ソフトウェア開発者がソフトウェアのセキュリティを向上させるために実行できる重要な手順をまとめています。これは、 Open Source Summit North America(OSS NA)2024で発表 されました。
ソフトウェアは常に攻撃を受けています。攻撃者は悪用できる脆弱性を探していますが、今日では、製品版ソフトウェアの意図しない脆弱性を直接悪用するだけではありません。攻撃者は、タイポスクワッティングや依存関係かく乱攻撃(Dependency confusion Attacks)によって、ソフトウェア開発者を間違ったソフトウェアに誘導しようとしています。攻撃者は開発者アカウントを乗っ取るために、長期にわたる詐欺行為を用いて信頼を得たり、承認されたメンテナーとしてソフトウェアに悪質なコードを挿入したりします (最近発見された xz への攻撃がその例です)。残念ながら、これにはオープンソース ソフトウェア (OSS) も含まれます。 OSSに対するサプライチェーン攻撃が増加しており、これは、OSSだけではありません。 SolarWindsのOrionソフトウェアへの攻撃が明らかにしたように、攻撃者はクローズドソースソフトウェアのサプライチェーンも攻撃しています。
したがって、ソフトウェアを開発する場合は、攻撃に耐えられるように開発し、リリースする必要があります。また、外部からソフトウェアを導入する場合(OSSかどうかに関係なく)は、適切な予防措置を講じる必要があります。幸いなことに、 Open Source Security Foundation(OpenSSF) には、それを実現するのに役立つ資料があります。この投稿では、特に 2 つの OpenSSF ガイドの重要なポイントに焦点を当て、他の資料を紹介します。
まず、ソフトウェアを開発する際には、次の点に注意してください。
- アカウントを保護しましょう! すべての特権開発者 (変更をコミットまたは承認できる開発者など) が多要素認証 (MFA) トークンを使用していることを確認します。少なくともパスワード以外のものを使用し、サイト間でパスワードを再利用しないでください。攻撃者は特権アカウントを乗っ取ろうとしています。
- 安全なソフトウェア開発の学習。 OpenSSFには、 安全なソフトウェア開発の基礎に関する無償コース「安全なソフトウェア開発」 (LFD121).があり、また、他にもコースを提供しています。たとえば、 Securing Your Software Supply Chain with Sigstore (LFS182x)などがあります。

