左にシフトするだけでは不十分。左から始めることがソフトウェア・セキュリティ・エクセレンスへの鍵となる理由

2020年3月25日発行
ピーテル・ダンヒョウ著
ケーススタディ

左にシフトするだけでは不十分。左から始めることがソフトウェア・セキュリティ・エクセレンスへの鍵となる理由

2020年3月25日発行
ピーテル・ダンヒョウ著
リソースを見る
リソースを見る

デジタル化が進んだ世界では、データ盗難のリスクがますます高まっています。私たちの貴重な情報の門番となっている大企業では、厳しいセキュリティ基準を導入する必要性が認識されています。

左にシフトする」、つまり開発プロセスのより早い段階でセキュリティを導入するという取り組みの多くは、単に針を十分に動かしていないのです。ここには、間違った方法でプロセスを開始し、より安全なソフトウェアという結果を得るために最終的に後退しているという意味が含まれています。私たちは、開発チームを積極的に参加させ、現在不足している知識を身につけさせる文化的な変化を起こし、左から始めなければなりません。しかし、すべてのトレーニングやツールが同じというわけではありません。

この記事では、セキュリティ意識の高い開発マネージャーなどの主要なリーダーが、開発者集団に真の意味で力を与え、コストのかかるサイバー攻撃に対する防御の最前線へと転換させる方法を探ります。

左シフト」と「左スタート」。重要な違いです。

世界で最も信頼されている組織のいくつかに頻繁にデータ侵害が発生している時代、企業のリーダーたちは、攻撃の成功がもたらす金銭的、風評的、そして目に見えない災害を回避するための指針をセキュリティ業界に求めています。

かなり以前から、AppSecのスペシャリスト(私を含む)は、実際に「左にシフト」しなければならないとアドバイスしてきました。DevOpsのベストプラクティスと、より良いソフトウェアセキュリティの成果を維持するために、私たちの多くは、ソフトウェア開発ライフサイクル(SDLC)の中で、ソフトウェア構築のセキュリティ部分をより早い段階で行うべきだとアドバイスしました。コストのかかる最終段階ではなく、むしろプロセスの開始時に近い段階に移行し、ソフトウェアプロジェクトが動き出す早い段階でAppSecチームが関与すべきである。

これは悪いアドバイスではありませんし、これまでのやり方よりも確実に優れています(世の中にある盗まれたデータの量や、それを盗むために使われた脆弱性の古さが示唆するように、いずれにしてもうまくいっていません)。しかし、私たちが実際に左から始めれ ば、セキュリティの成果ははるかにポジティブなものになるでしょう。

左シフト、左スタート...その違いは何でしょうか?その違いは、開発チームとの関わり方にあります。後発のツールチェーンや手動のコードレビューでは対応できないような、より安全なソフトウェアを安価に提供するためには、本当に開発チームが鍵となります。理想的な世界では、ソフトウェアを開発するすべての開発者が、最初から安全なコードを書くための知識とツールを持っています。彼らは潜在的な欠陥を発見し、コミットされる前にその欠陥を軽減することができます。これまで何十年にもわたって見られてきた、攻撃者がバックドアから侵入する原因となっているセキュリティバグは劇的に減少するでしょう。SQLインジェクション、クロスサイトスクリプティング、認証不備などの機会損失が減少します。

しかし、現在、職業レベルではセキュリティが十分に強調されておらず、現場で行われるセキュアコーディングのトレーニングには大きなばらつきがあります。その結果、開発者は、組織が左遷を開始するために必要なものをほとんど持っていません。今こそ、指導的立場にある人たちが協力して、より広範なセキュリティ意識を提唱する時です。開発者に対する直接の知識と接触が、効果的なプログラムを推進する上で不可欠なのです。結局のところ、開発マネージャは、かつて彼らの立場に置かれていて、ツールを使いこなし、セキュリティ空間をナビゲートするのは難しいことでした。

開発者は(まだ)セキュリティを愛していません...しかし、あなたは会話を変えることができます。

一般的な開発者が「セキュリティ」について言及すると、よくても目を丸くし、最悪の場合は困惑することになるでしょう。

開発者は、機能的で革新的な機能を備えたソフトウェアを構築し、タイトなプロジェクトのスケジュール内で提供することを主な責務としています。コーディング・レベルでセキュリティが優先されることはほとんどなく、迅速な納品や創造性を発揮するための面倒な障害と見なされることさえあります。AppSecは、コードを綿密にチェックし、ペンテストを行い、そして悪いニュースを報告しなければなりません。これは、リソースと時間が不足しがちな環境での高価なプロセスであり、究極的には同じ目標を持っていても、全く異なる言語を話す2つのチームの間に軋轢を生じさせるセットアップです。

このような状況下で、セキュリティトレーニングを義務付けることは、かなり冷ややかな受け止め方になるでしょう。しかし、すべての開発者のセキュリティ意識に火をつける力は、決して夢物語ではありません。適切なトレーニングとサポートがあれば、開発者は自分のソフトウェアにセキュリティを組み込み、自分でコントロールできるセキュリティ上の成果に責任を持つようになります。開発者自身が一般的なバグに対処することができれば、高価な専門家は本当に複雑な問題を解決することができます。もしあなたが開発チームを管理する立場にあるならば、このギャップを埋め、チームがその恩恵を受けられるようにするための手助けをすることができます。

すべてのトレーニングは平等ではありません。

最後に何か新しいことを学ぶことに興奮したのはいつですか?その際、「必須」、「コンプライアンス」、「17時間のビデオ」といった言葉は思い浮かばなかったのではないでしょうか。

開発者も同様です。彼らは賢く、創造的で、問題を解決するのが大好きです。セキュリティの脆弱性に関するビデオを延々と見続けても、彼らの興味を引くことはできないでしょうし、内容を記憶にとどめることもできないでしょうし、最終的に彼らの日常の役割や責任を具体化することもできないでしょう。SANSのインストラクターとしての経験から、最高のトレーニングは実践的なものであり、参加者の頭脳をテストし、事前学習を基にした実例を用いて、参加者に分析と知的挑戦を強いるものであることが早くから明らかになっていました。また、ゲーミフィケーションや切磋琢磨は、新しいコンセプトを全員に浸透させるための強力なツールであると同時に、有用で実用的なアプリケーションでもあります。

もう1つの怖い要因は、多くのセキュリティトレーニングが監視されていないことです。ビッグブラザーに監視されているように感じたい人はいないでしょうが、教育が適切であるかどうかを誰もチェックしないのであれば、教育に時間、お金、労力を費やす意味があるのでしょうか?

適切なソリューションは、安全なコーディングを楽しく、適切に、魅力的に、そして測定可能にします。開発者にチャレンジしてもらい、彼らを優遇し、特別なイベントにしましょう。ゲーム化されたトレーニングは、脳の報酬センターを刺激し、学習を続け、知識の限界を押し広げ、そして単純に、より高い水準のソフトウェアを構築するためのインセンティブを提供することは、双方にとって好都合です。

セキュリティ文化の健康診断。あなたの会社はライフサポートを受けていますか?

セキュリティ文化が希薄な環境で安全なソフトウェアを作成することは、足首に石をくくりつけたままマラソンに勝とうとするようなものです。

ゲーム化されたトレーニング、真っ向勝負のtournaments 、開発者のセキュリティ成長を支援するという姿勢は、積極的なセキュリティ文化の推進に大いに役立ち、AppSecと開発チームは互いの日常業務についてより多くの知識を得ることができます。そして、より良い関係が築かれ、(多くの場合、限られた)セキュリティ予算が、同じような小さくて厄介なバグを何度も何度も修正する「グラウンドホッグデー」シナリオに費やされることはありません。

それは、自分でも知らなかったセキュリティ・チャンピオンを発掘できることです。全員が参加する適切なトレーニングを行い、さらにassessment を徹底することで、セキュリティに対する適性があるだけでなく、積極的な情熱を持った人材を発掘することができます。これらのチャンピオンは、勢いを維持し、チーム間の連絡窓口となり、同僚を監督し、ベストプラクティス・ポリシーを支持するために不可欠です。表彰や役員のサポートを含む強固なチャンピオン・プログラムを導入することは、組織にとって大きな意味を持つだけでなく、個人の履歴書にも印象的に記載され、将来のキャリアを強化することにもつながります。

積極的なセキュリティ文化に取り組むことで、責任が共有され、より優れたセキュアなソフトウェアを実現することができます。最終的には、ソフトウェア開発ライフサイクルに携わるすべての人が、「安全なソフトウェアでなければ、良いソフトウェアではない」というシンプルな言葉を守らなければなりません。

拡散してください。

リソースを見る
リソースを見る

著者

ピーテル・ダンヒユー

Pieter Danhieuxは、セキュリティコンサルタントとして12年以上の経験を持ち、SANSの主席講師として8年間、組織、システム、個人をターゲットにしてセキュリティの弱点を評価する方法に関する攻撃的なテクニックを教えている、世界的に有名なセキュリティエキスパートです。2016年には、オーストラリアで最もクールな技術者の一人として認められ(Business Insider)、Cyber Security Professional of the Yearを受賞(AISA - Australian Information Security Association)、GSE、CISSP、GCIH、GCFA、GSEC、GPEN、GWAPT、GCIA認定を保有している。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

左にシフトするだけでは不十分。左から始めることがソフトウェア・セキュリティ・エクセレンスへの鍵となる理由

2024年1月22日発行
Pieter Danhieux著

デジタル化が進んだ世界では、データ盗難のリスクがますます高まっています。私たちの貴重な情報の門番となっている大企業では、厳しいセキュリティ基準を導入する必要性が認識されています。

左にシフトする」、つまり開発プロセスのより早い段階でセキュリティを導入するという取り組みの多くは、単に針を十分に動かしていないのです。ここには、間違った方法でプロセスを開始し、より安全なソフトウェアという結果を得るために最終的に後退しているという意味が含まれています。私たちは、開発チームを積極的に参加させ、現在不足している知識を身につけさせる文化的な変化を起こし、左から始めなければなりません。しかし、すべてのトレーニングやツールが同じというわけではありません。

この記事では、セキュリティ意識の高い開発マネージャーなどの主要なリーダーが、開発者集団に真の意味で力を与え、コストのかかるサイバー攻撃に対する防御の最前線へと転換させる方法を探ります。

左シフト」と「左スタート」。重要な違いです。

世界で最も信頼されている組織のいくつかに頻繁にデータ侵害が発生している時代、企業のリーダーたちは、攻撃の成功がもたらす金銭的、風評的、そして目に見えない災害を回避するための指針をセキュリティ業界に求めています。

かなり以前から、AppSecのスペシャリスト(私を含む)は、実際に「左にシフト」しなければならないとアドバイスしてきました。DevOpsのベストプラクティスと、より良いソフトウェアセキュリティの成果を維持するために、私たちの多くは、ソフトウェア開発ライフサイクル(SDLC)の中で、ソフトウェア構築のセキュリティ部分をより早い段階で行うべきだとアドバイスしました。コストのかかる最終段階ではなく、むしろプロセスの開始時に近い段階に移行し、ソフトウェアプロジェクトが動き出す早い段階でAppSecチームが関与すべきである。

これは悪いアドバイスではありませんし、これまでのやり方よりも確実に優れています(世の中にある盗まれたデータの量や、それを盗むために使われた脆弱性の古さが示唆するように、いずれにしてもうまくいっていません)。しかし、私たちが実際に左から始めれ ば、セキュリティの成果ははるかにポジティブなものになるでしょう。

左シフト、左スタート...その違いは何でしょうか?その違いは、開発チームとの関わり方にあります。後発のツールチェーンや手動のコードレビューでは対応できないような、より安全なソフトウェアを安価に提供するためには、本当に開発チームが鍵となります。理想的な世界では、ソフトウェアを開発するすべての開発者が、最初から安全なコードを書くための知識とツールを持っています。彼らは潜在的な欠陥を発見し、コミットされる前にその欠陥を軽減することができます。これまで何十年にもわたって見られてきた、攻撃者がバックドアから侵入する原因となっているセキュリティバグは劇的に減少するでしょう。SQLインジェクション、クロスサイトスクリプティング、認証不備などの機会損失が減少します。

しかし、現在、職業レベルではセキュリティが十分に強調されておらず、現場で行われるセキュアコーディングのトレーニングには大きなばらつきがあります。その結果、開発者は、組織が左遷を開始するために必要なものをほとんど持っていません。今こそ、指導的立場にある人たちが協力して、より広範なセキュリティ意識を提唱する時です。開発者に対する直接の知識と接触が、効果的なプログラムを推進する上で不可欠なのです。結局のところ、開発マネージャは、かつて彼らの立場に置かれていて、ツールを使いこなし、セキュリティ空間をナビゲートするのは難しいことでした。

開発者は(まだ)セキュリティを愛していません...しかし、あなたは会話を変えることができます。

一般的な開発者が「セキュリティ」について言及すると、よくても目を丸くし、最悪の場合は困惑することになるでしょう。

開発者は、機能的で革新的な機能を備えたソフトウェアを構築し、タイトなプロジェクトのスケジュール内で提供することを主な責務としています。コーディング・レベルでセキュリティが優先されることはほとんどなく、迅速な納品や創造性を発揮するための面倒な障害と見なされることさえあります。AppSecは、コードを綿密にチェックし、ペンテストを行い、そして悪いニュースを報告しなければなりません。これは、リソースと時間が不足しがちな環境での高価なプロセスであり、究極的には同じ目標を持っていても、全く異なる言語を話す2つのチームの間に軋轢を生じさせるセットアップです。

このような状況下で、セキュリティトレーニングを義務付けることは、かなり冷ややかな受け止め方になるでしょう。しかし、すべての開発者のセキュリティ意識に火をつける力は、決して夢物語ではありません。適切なトレーニングとサポートがあれば、開発者は自分のソフトウェアにセキュリティを組み込み、自分でコントロールできるセキュリティ上の成果に責任を持つようになります。開発者自身が一般的なバグに対処することができれば、高価な専門家は本当に複雑な問題を解決することができます。もしあなたが開発チームを管理する立場にあるならば、このギャップを埋め、チームがその恩恵を受けられるようにするための手助けをすることができます。

すべてのトレーニングは平等ではありません。

最後に何か新しいことを学ぶことに興奮したのはいつですか?その際、「必須」、「コンプライアンス」、「17時間のビデオ」といった言葉は思い浮かばなかったのではないでしょうか。

開発者も同様です。彼らは賢く、創造的で、問題を解決するのが大好きです。セキュリティの脆弱性に関するビデオを延々と見続けても、彼らの興味を引くことはできないでしょうし、内容を記憶にとどめることもできないでしょうし、最終的に彼らの日常の役割や責任を具体化することもできないでしょう。SANSのインストラクターとしての経験から、最高のトレーニングは実践的なものであり、参加者の頭脳をテストし、事前学習を基にした実例を用いて、参加者に分析と知的挑戦を強いるものであることが早くから明らかになっていました。また、ゲーミフィケーションや切磋琢磨は、新しいコンセプトを全員に浸透させるための強力なツールであると同時に、有用で実用的なアプリケーションでもあります。

もう1つの怖い要因は、多くのセキュリティトレーニングが監視されていないことです。ビッグブラザーに監視されているように感じたい人はいないでしょうが、教育が適切であるかどうかを誰もチェックしないのであれば、教育に時間、お金、労力を費やす意味があるのでしょうか?

適切なソリューションは、安全なコーディングを楽しく、適切に、魅力的に、そして測定可能にします。開発者にチャレンジしてもらい、彼らを優遇し、特別なイベントにしましょう。ゲーム化されたトレーニングは、脳の報酬センターを刺激し、学習を続け、知識の限界を押し広げ、そして単純に、より高い水準のソフトウェアを構築するためのインセンティブを提供することは、双方にとって好都合です。

セキュリティ文化の健康診断。あなたの会社はライフサポートを受けていますか?

セキュリティ文化が希薄な環境で安全なソフトウェアを作成することは、足首に石をくくりつけたままマラソンに勝とうとするようなものです。

ゲーム化されたトレーニング、真っ向勝負のtournaments 、開発者のセキュリティ成長を支援するという姿勢は、積極的なセキュリティ文化の推進に大いに役立ち、AppSecと開発チームは互いの日常業務についてより多くの知識を得ることができます。そして、より良い関係が築かれ、(多くの場合、限られた)セキュリティ予算が、同じような小さくて厄介なバグを何度も何度も修正する「グラウンドホッグデー」シナリオに費やされることはありません。

それは、自分でも知らなかったセキュリティ・チャンピオンを発掘できることです。全員が参加する適切なトレーニングを行い、さらにassessment を徹底することで、セキュリティに対する適性があるだけでなく、積極的な情熱を持った人材を発掘することができます。これらのチャンピオンは、勢いを維持し、チーム間の連絡窓口となり、同僚を監督し、ベストプラクティス・ポリシーを支持するために不可欠です。表彰や役員のサポートを含む強固なチャンピオン・プログラムを導入することは、組織にとって大きな意味を持つだけでなく、個人の履歴書にも印象的に記載され、将来のキャリアを強化することにもつながります。

積極的なセキュリティ文化に取り組むことで、責任が共有され、より優れたセキュアなソフトウェアを実現することができます。最終的には、ソフトウェア開発ライフサイクルに携わるすべての人が、「安全なソフトウェアでなければ、良いソフトウェアではない」というシンプルな言葉を守らなければなりません。

拡散してください。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。