開発者にインセンティブを与えることが、より良いセキュリティ対策の鍵となる

2021年10月19日発行
ピーテル・ダンヒョウ著
ケーススタディ

開発者にインセンティブを与えることが、より良いセキュリティ対策の鍵となる

2021年10月19日発行
ピーテル・ダンヒョウ著
リソースを見る
リソースを見る

サイバー脅威の状況は、日に日に複雑化しています。攻撃者は常にネットワークをスキャンし、脆弱なアプリケーションやプログラム、クラウドのインスタンスを探していますが、最近の標的は、セキュリティ管理が甘いことが多いため、簡単に獲得できると考えられているAPIです。攻撃者は非常に執拗で、新しいアプリケーションが導入されてから数時間で侵害され、悪用されることもあります。Verizon 2021 Data Breach Investigations Report」によると、企業や組織を狙う脅威は、過去のどの時点よりも危険な状態にあることが明らかになっています。

作成されるソフトウェアを真に強固なものにする唯一の方法は、安全なコードに基づいて構築されていることを確認することであるということがはっきりしてきました。言い換えれば、脅威となる人物の侵入を阻止する最善の方法は、そもそもアプリケーションへの足掛かりを与えないことです。いったん戦いが始まれば、ほとんどの利点は攻撃者側に偏ります。

このような状況から、まずアジャイル開発とDevOpsが生まれ、その後、DevSecOpsの動き全体が生まれました。セキュリティは、開発からデプロイまでのソフトウェア作成プロセスに関わるすべての人が共有する責任です。しかし、このピラミッドの底辺であり、間違いなく最も重要な部分を占めるのは開発者です。ほとんどの開発者は、自分の役割を果たし、安全なコードを書きたいと思っていますが、彼らが働く組織の多くは、優先順位の大幅な変更を必要とする変化をあまり支持していません。

デザインによる敗北

長い間、開発者の主な役割は、ビジネスが止まることなく、お客様も眠らないような、目まぐるしい環境の中で、アプリケーションを素早く構築し、デプロイすることだと言われてきました。開発者は、より速くコーディングし、より多くの機能をデプロイできればできるほど、業績評価の面で価値があるとみなされていました。

セキュリティは後回しにされ、まったく考慮されていませんでした。その代わり、これらのことはすべてアプリケーションセキュリティ(AppSec)チームに任せられていました。AppSecチームは、完成したアプリケーションにセキュリティパッチを適用したり、脆弱性を修正するためにコードを書き換えたりするために、しばしば開発に戻されるので、多くの開発者に嫌われていました。また、開発者がすでに「完成」しているアプリの作業に1時間を費やすことは、新しいアプリや機能を作らない時間となり、パフォーマンス(そして、特に懲罰的な企業の目にはその価値)を低下させることになります。

そして、脅威の環境が、ほとんどの企業にとってのセキュリティの重要性と優先順位を変えてしまったのです。IBMとPonemon Instituteが最近発表した「Cost of a Data Breach Report」によると、現在、サイバーセキュリティ侵害の平均的なコストは、1件あたり約380万ドル(約3億円)ですが、これは上限値ではありません。ある企業では、自社のネットワークが侵害されたことにより、13億ドルの損害が発生しました。今日の企業は、DevSecOpsが提供するセキュリティを求めていますが、悲しいことに、その声に応えた開発者への報奨は遅れています。

開発チームにセキュリティを考慮するように言うだけではうまくいきません。特に、スピードだけでインセンティブを得ている場合はなおさらです。実際、このようなシステムでは、セキュリティについて学び、コードを保護するために時間をかけている開発者は、セキュリティ意識の低い同僚が獲得し続けている業績評価や高額なボーナスを実際には失っている可能性があります。これは、企業が知らず知らずのうちに自分たちのセキュリティの失敗のためにシステムを操作しているようなもので、開発チームに対する企業の認識に起因しています。開発チームをセキュリティの最前線として見ていないのであれば、彼らの労働力を活用するための実行可能な計画が実現する可能性は極めて低いでしょう。

これは、トレーニングの不足も考慮していません。非常に熟練した開発者の中には、何十年にもわたってコーディングの経験を積んでいる人もいますが、セキュリティに関してはほとんど何もしていません。企業が熟練したプログラマーに優れたトレーニングプログラムを提供していない限り、開発者が突然新しいスキルを身につけ、それを積極的に脆弱性を減らす意味のある方法で実行することは期待できません。

優れたセキュリティ対策を施した開発者への報酬

良いニュースは、圧倒的に多くの開発者が、仕事にやりがいを感じ、自分の立場が尊重されることを楽しみにして仕事をしているということです。生涯現役のプロのコーダーであるMichael Shpiltは最近、彼と彼の同僚が開発の仕事をする上でモチベーションとなるものをすべて書いている。その中には、金銭的な報酬も含まれていますが、それは意外と低い位置にあります。それよりも、新しいものを生み出すスリル、新しいスキルの習得、自分の仕事が直接人の役に立つという満足感を優先しています。また、会社やコミュニティの中で評価されていると感じたいとも語っています。要するに、開発者は自分の仕事に誇りを持っている多くの善良な人々と同じなのです。

Shpilt氏をはじめとする開発者は、脅威となる人物が自分のコードを危険にさらし、それを利用して自分の会社や、助けようとしているユーザーに危害を加えることを望んでいません。しかし、サポートなしにいきなりセキュリティを優先させることはできません。そうでなければ、システムが彼らに不利に働くようなものだからです。

開発チームがサイバーセキュリティの能力を向上させるためには、まず必要なスキルを教える必要があります。足場付き学習やJiT(Just-in-Time)トレーニングのようなツールを活用することで、このプロセスの苦痛を軽減し、適切な状況下で既存の知識を積み重ねることができます。 

例えば、JiTの開発者トレーニングツールは、プログラマーが安全でないコードを作成していることや、アプリケーションに誤って脆弱性を持ち込んでいることを検知すると、その問題を修正する方法や、将来同じ機能を実行するために、より安全なコードを書く方法を開発者に示すことができます。

スキルアップへの取り組みが行われていれば、スピードだけで開発者を評価するような古い方法は排除する必要がある。代わりに、開発者は安全なコードを作成する能力に基づいて報酬を受けるべきであり、優秀な開発者はチームの他のメンバーのスキル向上を支援するセキュリティ・チャンピオンとなるべきである。そして、そのチャンピオンには、会社の名声と金銭的な報酬の両方で報いる必要があります。また、開発者は一般的にセキュリティに関してポジティブな経験を持っていないことを忘れてはならない。ポジティブで楽しい学習や、開発者の興味を引くようなインセンティブによって開発者の気持ちを高揚させることは、知識の定着とスキルを向上させ続ける意欲の両方を確保するのに非常に有効である。

企業は、コーディングスピードを開発者の評価の一部に含めることができますが、特にコーダーが新しいスキルを習得している間は、安全なアプリケーションの開発に多少時間がかかることを想定しています。

DevSecOpsは、ますます危険になっていく脅威の世界のダークアートに対する究極の防御となり得ます。ただ、この新しい世界の覇者である、常に新しいコードを生み出している開発者は、その仕事に敬意を払い、報酬を得る必要があることを忘れてはいけません。


世界中の開発者を相手に、あなたのセキュリティスキルを試してみませんか?チェックアウト Secure Code Warrior’s デブリンピック2021をチェックしてみてください。私たちのグローバルなtournaments で大きな賞を獲得できるかもしれません !

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

著者

ピーテル・ダンヒユー

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著

サイバー脅威の状況は、日に日に複雑化しています。攻撃者は常にネットワークをスキャンし、脆弱なアプリケーションやプログラム、クラウドのインスタンスを探していますが、最近の標的は、セキュリティ管理が甘いことが多いため、簡単に獲得できると考えられているAPIです。攻撃者は非常に執拗で、新しいアプリケーションが導入されてから数時間で侵害され、悪用されることもあります。Verizon 2021 Data Breach Investigations Report」によると、企業や組織を狙う脅威は、過去のどの時点よりも危険な状態にあることが明らかになっています。

作成されるソフトウェアを真に強固なものにする唯一の方法は、安全なコードに基づいて構築されていることを確認することであるということがはっきりしてきました。言い換えれば、脅威となる人物の侵入を阻止する最善の方法は、そもそもアプリケーションへの足掛かりを与えないことです。いったん戦いが始まれば、ほとんどの利点は攻撃者側に偏ります。

このような状況から、まずアジャイル開発とDevOpsが生まれ、その後、DevSecOpsの動き全体が生まれました。セキュリティは、開発からデプロイまでのソフトウェア作成プロセスに関わるすべての人が共有する責任です。しかし、このピラミッドの底辺であり、間違いなく最も重要な部分を占めるのは開発者です。ほとんどの開発者は、自分の役割を果たし、安全なコードを書きたいと思っていますが、彼らが働く組織の多くは、優先順位の大幅な変更を必要とする変化をあまり支持していません。

デザインによる敗北

長い間、開発者の主な役割は、ビジネスが止まることなく、お客様も眠らないような、目まぐるしい環境の中で、アプリケーションを素早く構築し、デプロイすることだと言われてきました。開発者は、より速くコーディングし、より多くの機能をデプロイできればできるほど、業績評価の面で価値があるとみなされていました。

セキュリティは後回しにされ、まったく考慮されていませんでした。その代わり、これらのことはすべてアプリケーションセキュリティ(AppSec)チームに任せられていました。AppSecチームは、完成したアプリケーションにセキュリティパッチを適用したり、脆弱性を修正するためにコードを書き換えたりするために、しばしば開発に戻されるので、多くの開発者に嫌われていました。また、開発者がすでに「完成」しているアプリの作業に1時間を費やすことは、新しいアプリや機能を作らない時間となり、パフォーマンス(そして、特に懲罰的な企業の目にはその価値)を低下させることになります。

そして、脅威の環境が、ほとんどの企業にとってのセキュリティの重要性と優先順位を変えてしまったのです。IBMとPonemon Instituteが最近発表した「Cost of a Data Breach Report」によると、現在、サイバーセキュリティ侵害の平均的なコストは、1件あたり約380万ドル(約3億円)ですが、これは上限値ではありません。ある企業では、自社のネットワークが侵害されたことにより、13億ドルの損害が発生しました。今日の企業は、DevSecOpsが提供するセキュリティを求めていますが、悲しいことに、その声に応えた開発者への報奨は遅れています。

開発チームにセキュリティを考慮するように言うだけではうまくいきません。特に、スピードだけでインセンティブを得ている場合はなおさらです。実際、このようなシステムでは、セキュリティについて学び、コードを保護するために時間をかけている開発者は、セキュリティ意識の低い同僚が獲得し続けている業績評価や高額なボーナスを実際には失っている可能性があります。これは、企業が知らず知らずのうちに自分たちのセキュリティの失敗のためにシステムを操作しているようなもので、開発チームに対する企業の認識に起因しています。開発チームをセキュリティの最前線として見ていないのであれば、彼らの労働力を活用するための実行可能な計画が実現する可能性は極めて低いでしょう。

これは、トレーニングの不足も考慮していません。非常に熟練した開発者の中には、何十年にもわたってコーディングの経験を積んでいる人もいますが、セキュリティに関してはほとんど何もしていません。企業が熟練したプログラマーに優れたトレーニングプログラムを提供していない限り、開発者が突然新しいスキルを身につけ、それを積極的に脆弱性を減らす意味のある方法で実行することは期待できません。

優れたセキュリティ対策を施した開発者への報酬

良いニュースは、圧倒的に多くの開発者が、仕事にやりがいを感じ、自分の立場が尊重されることを楽しみにして仕事をしているということです。生涯現役のプロのコーダーであるMichael Shpiltは最近、彼と彼の同僚が開発の仕事をする上でモチベーションとなるものをすべて書いている。その中には、金銭的な報酬も含まれていますが、それは意外と低い位置にあります。それよりも、新しいものを生み出すスリル、新しいスキルの習得、自分の仕事が直接人の役に立つという満足感を優先しています。また、会社やコミュニティの中で評価されていると感じたいとも語っています。要するに、開発者は自分の仕事に誇りを持っている多くの善良な人々と同じなのです。

Shpilt氏をはじめとする開発者は、脅威となる人物が自分のコードを危険にさらし、それを利用して自分の会社や、助けようとしているユーザーに危害を加えることを望んでいません。しかし、サポートなしにいきなりセキュリティを優先させることはできません。そうでなければ、システムが彼らに不利に働くようなものだからです。

開発チームがサイバーセキュリティの能力を向上させるためには、まず必要なスキルを教える必要があります。足場付き学習やJiT(Just-in-Time)トレーニングのようなツールを活用することで、このプロセスの苦痛を軽減し、適切な状況下で既存の知識を積み重ねることができます。 

例えば、JiTの開発者トレーニングツールは、プログラマーが安全でないコードを作成していることや、アプリケーションに誤って脆弱性を持ち込んでいることを検知すると、その問題を修正する方法や、将来同じ機能を実行するために、より安全なコードを書く方法を開発者に示すことができます。

スキルアップへの取り組みが行われていれば、スピードだけで開発者を評価するような古い方法は排除する必要がある。代わりに、開発者は安全なコードを作成する能力に基づいて報酬を受けるべきであり、優秀な開発者はチームの他のメンバーのスキル向上を支援するセキュリティ・チャンピオンとなるべきである。そして、そのチャンピオンには、会社の名声と金銭的な報酬の両方で報いる必要があります。また、開発者は一般的にセキュリティに関してポジティブな経験を持っていないことを忘れてはならない。ポジティブで楽しい学習や、開発者の興味を引くようなインセンティブによって開発者の気持ちを高揚させることは、知識の定着とスキルを向上させ続ける意欲の両方を確保するのに非常に有効である。

企業は、コーディングスピードを開発者の評価の一部に含めることができますが、特にコーダーが新しいスキルを習得している間は、安全なアプリケーションの開発に多少時間がかかることを想定しています。

DevSecOpsは、ますます危険になっていく脅威の世界のダークアートに対する究極の防御となり得ます。ただ、この新しい世界の覇者である、常に新しいコードを生み出している開発者は、その仕事に敬意を払い、報酬を得る必要があることを忘れてはいけません。


世界中の開発者を相手に、あなたのセキュリティスキルを試してみませんか?チェックアウト Secure Code Warrior’s デブリンピック2021をチェックしてみてください。私たちのグローバルなtournaments で大きな賞を獲得できるかもしれません !

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

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