The Secure Developer:2021年を振り返る
2022年1月12日
0 分で読めますここ数年が適応力を試される期間だったとすれば、2021年は私たちの取り組みを振り返る時間となりました。2020年を席巻したパンデミックの衝撃は和らぎ、私生活や仕事で乗り越えてきた課題を、より地に足のついた視点で捉えられるようになりました。
The Secure Developerのホストを務めるGuy Podjarny(Snykの創業者兼社長)が、アプリケーションセキュリティの進化を内側から紹介しました。今年配信された22エピソードには、さまざまな業界から23人のゲストが登場し、それぞれの知見を共有しました。年末のエピソードでは、GuyがSnykのフィールドCTO、Simon Mapleとともに、今年のエピソードで取り上げられたテーマやアドバイス、今後の展望について語りました。
業界に共通するテーマ
今年を通じて、『The Secure Developer』のゲストから数多くの興味深い話題が挙がりました。GuyとSimonが振り返るなかで、ポッドキャストの多くのエピソードに共通する3つのテーマが見えてきました。
セキュリティチームに開発者を採用する
1つ目は、セキュリティチームの構築にあたり、開発者(またはソフトウェアエンジニアリングの経験者)を採用する動きです。従来、セキュリティチームは専門知識を持つセキュリティのエキスパートで構成されていましたが、そうした人たちは知識が豊富な一方で、日々の開発業務から切り離されていました。開発者にとって、セキュリティは仕事に組み込まれたものではなく、別のチェックポイントだったのです。
開発者をセキュリティチームに迎えることは、大きな強みになります。Ambassador LabsのDevRelディレクター、Daniel Bryantはこう説明しています。「開発者は……テストやオブザーバビリティなど、エンドツーエンドで担う責任がますます大きくなっています。また、開発者にはツールの使い方に好みがあります。エンジニアの現状に合わせる必要があるのです。」(エピソード90)
セキュリティチームに共感力を身につけてもらい、開発者の視点や直面している課題を理解してもらうこともできます。しかし、最初から開発者を採用すれば、そうした視点はすでに備わっています。セキュリティチームは開発者の立場を自然に理解しているため、トレーニングや通訳は必要ありません。これにより連携が深まり、開発チームとセキュリティチームの効果的な統合につながります。
開発者を中心に据えたセキュリティ
2021年のもう1つの大きなテーマは、セキュリティチームが開発に適応する必要性でした。その逆ではありません。ほんの数年前まで、セキュリティチームは開発サイクルの終盤に問題を列挙して脆弱性に対処していました。開発チームとセキュリティチームが分断されていたため、開発者はサイクルの最後に問題を押しつけられていると感じ、セキュリティ担当者は規制を守らせる(そしてしばしば批判する)役割になっていました。
近年、企業はセキュリティを既存のSDLCプラクティスに組み込み、開発者のニーズに合わせる必要があると認識するようになりました。ここでも、開発者とセキュリティ担当者の共感と連携が重要になります。Figmaのセキュリティ責任者であるDev Akhaweは、セキュリティの問題を開発者に伝える方法について語っています。Figmaでセキュリティキーの導入を主導した際には、こう伝えていたそうです。「『申し訳ありません。まだセキュリティキーを導入できていません』と謝っていました。フィッシングには注意が必要です。おそらく効果的だったのは、こうした心構えを持つことです。私たちが使うシステムや構築するシステムが不正な動作をしないようにするのは、セキュリティチームの責任だと覚えておくのです。開発者に、これを100個やってくださいと言うのではなく。」(エピソード88)
この変化は一方通行ではありません。開発ツールの世界でも、「セキュリティは脇に置いておくものではありません。すべての開発者向けツールには、ワークフローにセキュリティを組み込む責任がある」という認識が高まっています。開発とセキュリティの融合が進むなかで、「セキュリティが開発ツールや開発プラクティスに適応する」だけでなく、「開発リーダーもセキュリティを積極的に取り入れ、その責任について考える」ようになっていることが明らかです。
大規模な環境でのセキュリティ
3つ目のテーマは、大規模な環境でセキュリティの基本を徹底する重要性です。業界のスピードに合わせてシステムを保護する能力は、企業の成功に欠かせません。つまり、映画のような大規模サイバー攻撃に備えるのではなく、基本を確実に実践することです。AppSecにおけるドアや窓の施錠に相当する対策だけでも、低レベルの攻撃から企業を守り、深刻な脆弱性が発生した際に効率よく対応できるようにするには十分なことが多いのです。「基本的なことを大規模かつ迅速に実践するのは非常に難しい。今年のプログラムや取り組みのほぼすべてが、大規模かつ迅速に中核を正しく実行するという考え方に重点を置いていました。」
開発者がシステムを安全に保つための基本を理解していれば、最近のLog4Shellの脆弱性のような、より大きな問題に対処する戦略を立てられます。何が起き、どのような影響があるのか把握しようと慌てる企業がある一方で、包括的なセキュリティの基本対策と体制を整えていた企業は、ほぼ通常どおり業務を続けることができました。「Snykで目にしたのは……プロジェクトを追加する人が急増したことです。今回の出来事は、すでに順調に進めていた人たちにも緊急性を感じさせ、すべてのプロジェクトを可視化する必要があると思い出させたのではないでしょうか。徐々に移行すればいいというわけにはいきません。これが開発とセキュリティの重要な違いの1つです。」(エピソード106)開発ツールはローカルで使い、必要に応じて個別に拡張することが多い一方、セキュリティソリューションは効果を発揮するために、すぐに広範囲をカバーする必要があります。どちらのアプローチが間違っているわけではありません。しかし、Log4Shellなどのインシデントから、セキュリティツールを開発ソリューションと同じように導入することにはリスクがあると学びました。
2021年の注目エピソード
Log4Shellは最近の教訓かもしれませんが、2021年に学んだことはそれだけではありません。ぜひ聴いておきたいエピソードをいくつかご紹介します。
Codecovの情報漏えい(#1022)
GuyはCodeCovのJerrod Engelberg(CEO)とEli Hooten(CTO)を迎え、2021年のセキュリティ侵害にどのように対処したかを話し合いました。このエピソードでは、セキュリティインシデントにおいて、競合する優先事項にどう対処するかについて多くの知見が語られました。EngelbergとHootenはまず、社内での対応についてGuyに説明しました。Engelbergはこう述べています。「たとえ1人でも、お客様が私たちから連絡を受けられず……適切な対応を取れないなら、それは多すぎます。」そこから、情報開示の倫理に始まり、業界として管理すべき潜在的なリスクへと話題が広がりました。Engelbergは「いつも相互の信頼関係がありますよね。その信頼関係をさらに高度なものにすることはできますが、私がよく考えることの1つであるのは間違いありません。」と語りました。
コンテナ、プロセス、そしてセキュリティの未来(#103)
Isovalentの最高オープンソース責任者であるLiz Riceが、eBPFの入門に加え、クラウドネイティブネットワーキングの重要性について語りました。「クラウドテクノロジーの導入が非常に急速に進んでいます。どの企業にとっても、クラウドを使うことは当たり前になるでしょう。もはやアーリーアダプターについて話すことはなくなるはずです」とRiceは述べています。
公共部門におけるアプリケーションセキュリティ(#86、#95):
政府機関でDevSecOpsの導入が進んでいることや、民間のソフトウェア企業との共通点について議論したエピソードがいくつかありました。Medicare & MedicaidのCMSで働くRobert Woodはエピソード95に登場し、米空軍のCSOであるNicolas Chaillanはエピソード86に登場しました。2人とも、従来は独立して運営されていた組織を、DevOpsに必要なプラットフォーム思考へと移行させる課題に取り組んでいました。Woodにとってそれは、「私たちが保有する膨大なデータを活用することです。通常、セキュリティ活動は個別のサイロに分断されています。それぞれが独立して機能し、何らかの知見を生み出すことはあっても、ほかの情報と結びつけて、さらに価値のある知見を生み出せるデータにはなっていません。」
ChaillanとGuyの議論では、公共部門と民間部門におけるDevOpsの明確な違いの1つが浮き彫りになりました。政府機関では、最先端を走ることの利点よりも不利益のほうが明確に感じられるため、リスク許容度が低く、導入も遅くなりがちです。これが政府組織の特徴です。Chaillanはこう考えています。「サイバーセキュリティは進化していきます。継続的な監視機能が大きなテーマになるでしょう。大きなリスクは、依存関係や、よく知らないまま使っている製品にあると思います。」
2022年に注目すべき分野
今年の教訓を振り返るとともに、2022年に何が待ち受けているのか、未来を思い描いてみましょう。Guyは各エピソードの締めくくりに、ゲストに業界の今後について予測してもらっています。年末を迎えるにあたり、SimonがGuyに質問を返し、注目するテーマと期待を聞き出しました。業界全体で重要になるのは、サプライチェーン、クラウド、そして分散化が進むなかでセキュリティを測定する方法の開発という3つの分野です。
サプライチェーンセキュリティ
SolarWinds、CodeCov、Log4Shellなどのインシデントから、サプライチェーンセキュリティの必要性が明らかになりました。「サービス、コンポーネント、個人の間に依存関係の網を作り上げてきました。これを把握し、管理しなければなりません。」企業同士のつながりが強まるなか、業界全体で連携してサプライチェーンのリスクを定義し、対処する必要があります。
クラウドセキュリティ
従来、クラウドセキュリティはITセキュリティの延長として扱われてきました。しかし今後は、クラウドもソフトウェアであり、機密情報を保護するにはソフトウェアレベルのセキュリティツールが必要だという認識が高まるでしょう。
AppSecの定量化
セキュリティを測定することが重要なのは、コードのアクティビティとリスクを直接結びつける方法が必要だからです。DevOpsの進化に伴い、こうしたデータはビジネス戦略に欠かせないものになります。稼働時間の指標とビジネスの成功を示す指標を関連づけることで、セキュリティの適用範囲と重要性を今後も高めていけます。
より広い視点では、アプリケーションを多くの要素からなる1つの全体として捉える考え方が戻ってくることを、Guyは期待しています。個々の脆弱性にすべて対処することが不可能になる時期が急速に近づいています。そのため、セキュリティを分野ごとに細分化する従来の見方では機能しません。アプリケーションとサプライチェーンを全体として捉え、より高いレベルでセキュリティを語るための分類体系とツール群を整える必要があります。
Snykの目標は、セキュリティを当たり前のものにするツールを開発することです。開発者がわずか5分で脆弱性を見つけて修正できるようにし、負担を軽減します。ぜひアプリケーションセキュリティチームの一員として私たちを迎え、今すぐ何を実現できるか確かめてみてください。
CTFを始めよう
オンデマンドのバーチャル入門ワークショップで、CTFチャレンジの解き方を学びましょう。
