Skip to main content

開発者向けエンドuringセキュリティフレームワーク(ESF)ガイドへの提言

2022年9月3日

0 分で読めます

Snykは、開発者ファーストのセキュリティを生み出しました。現代のアプリケーションを構築・運用するうえで、開発者をセキュリティの取り組みに巻き込むことが重要だと考えています。だからこそ、米国国家安全保障局(NSA)、サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)、国家情報長官室(ODNI)による最近の公開資料開発者向け推奨プラクティスガイドに関心を持ちました。政府がこのような文書を公開したことを歓迎しました。内容は優れていましたが、開発者が実践できるガイドとしては不十分だと感じました。特に、プレスリリースにある次の一文を踏まえるとなおさらです。「ソフトウェアのセキュリティにおいて、開発者は極めて重要な責任を担っています。」

プラクティスガイドでは、ソフトウェアサプライチェーンセキュリティに関する適切なトピックが取り上げられています。内容は幅広く、安全な設計の必要性、ソフトウェア開発ライフサイクル全体にわたる包括的なセキュリティテスト、ソフトウェア部品表(SBOM)を生成する新しいツール、ビルド環境や開発環境に関する新たな脅威などを網羅しています。文書全体を通して、参考になるアドバイスもいくつかあります。

ただし、このガイドには、特にその見せ方に関して指摘すべき課題があります。現在、世界には約2,700万人の開発者がおり、使用するプログラミング言語やツールの好み、コードを書く環境もさまざまであることを認識する必要があります。開発者のペルソナは一つではなく、多様です。私の経験では、開発者の多くが、付録の24ページにわたって略語が並ぶ全64ページのPDFガイドを読むとは考えにくいでしょう。また、政府機関の外部にいる開発者の多く(内部の一部の開発者も)にとって、「サイバー」という言葉の多用は、自分たち向けではないという印象につながりがちです。

一方、開発者全体に影響を与えてきた文書を見てみましょう。現代のアーキテクチャを体系化し、その後の発展に影響を与えたTwelve-Factor App、アジャイルソフトウェア開発の4つの価値と12の原則、そしてOWASP Top Tenです。最近のものでは、SLSAソフトウェア成果物サプライチェーンレベルのフレームワークの4つのレベルも挙げられます。

開発者に向けた今後のガイドを改善するための提案を、いくつかご紹介します。

  1. 開発者のいる場所に届ける。開発者は好奇心旺盛で、知識が豊富で、効率を重視するものです。多くの開発者は、好みの閲覧ツールにコンテンツを取り込めるよう、ウェブで読みやすい形式のドキュメントを好みます。PDFも便利ですが、柔軟性に欠け、使いにくい面があります。

  2. 開発者に伝わる方法でコミュニケーションする。開発者と協働するセキュリティ専門家が直面する課題は、知識不足ではなく、コミュニケーションの問題であることが少なくありません。こうしたコミュニケーションの難しさ(そして、しばしばインセンティブの不一致)が、「私たち対彼ら」という意識を生み、DevSecOpsが避けようとしている状況につながります。前述のとおり、プラクティスガイドで扱われているトピックは適切だと考えています。ただし、チートシートのように、開発者が理解しやすい形で情報を提示すれば、対象となる読者への影響をさらに高められるでしょう。

  3. 実例を示す。開発者は、新しいアイデアを試したり、手を動かして確かめたりするのが好きです。先日公開したPyPIの悪意あるパッケージに関するブログ記事で紹介したように、実際に試せるコードサンプルや新しいツールを求めています。実世界の例を提供して試してもらうことが、新しい情報を読むだけでなく、実際に取り入れてもらう最善の方法でしょう。

Snykは、こうしたセキュリティのトピックを、開発者にとって親しみやすい方法で伝えることに取り組んでいます。プラクティスガイドで取り上げられているトピックから、脅威モデリングに関するSnyk Learnのレッスンと、セキュアコードレビューのチートシートをご紹介します。ソフトウェアサプライチェーンセキュリティに関する、開発者向けのコンテンツも近日公開予定です。このブログとSnyk Learnをぜひご覧ください。