開発者にセキュリティを意識したコーディングをさせたい?そのためのトレーニングを開発者に提供します。

2020年7月15日発行
マティアス・マドゥ博士著
ケーススタディ

開発者にセキュリティを意識したコーディングをさせたい?そのためのトレーニングを開発者に提供します。

2020年7月15日発行
マティアス・マドゥ博士著
リソースを見る
リソースを見る

ソフトウェア開発ライフサイクル(SDLC)は、一見何の変哲もないプロセスのように見えますが、私たちソフトウェア関係者が一丸となって魔法をかけ、社会になくてはならないデジタルグッズを出荷します。

ただし、ソフトウェア開発プロジェクトに参加したことがある人ならわかると思いますが、それはたいていの場合、征服すべき多くのクエストや倒すべき多くのドラゴンが登場する試練です。しばらくの間は楽しいですが、燃え尽き症候群になることもあります。また、ソフトウェアの需要が高いため、私たちは皆、特に開発チームは最高の状態で光の速さで働いています。

さらに、もう一つの必須課題、すなわち、自分が関わるプロジェクト要素のセキュリティに対する責任を負わされたとします。最悪の場合、一部の個人にとってはカードの家が崩壊することになるかもしれませんが、より現実的なシナリオとしては、単に優先順位が低く、より差し迫った問題が優先されるということです。ほとんどの開発者が安全なコードを書くためのトレーニングを受けていない場合(特に彼らの上司がセキュリティを優先していない場合)、頻繁なデータ漏洩、欠陥のあるアプリのリリース、そしてバグのあるコードの雪崩の下で限界に達するセキュリティ専門家の深刻な混乱を目にするのも不思議ではありません。

開発者には、AppSecの提唱者が必要です。

上記のシナリオを考慮すると、コーディングの過程でセキュリティが「難しすぎる」と判断され、セキュリティチームに任されてしまう理由がわかります。競合する締め切りが多すぎて、十分なトレーニングを受けられず、他のすべてのことが起こっている中でセキュリティを気にする本当の理由がないのです。しかし、このような現状を続けるには、コードに対する需要があまりにも多すぎるのです。そこで、スーパーエリート開発者は、他の開発者に差をつけ、新しいスキルを学び、そして何よりも、より安全なコードを構築することができるのです。

しかし、ソフトウェア・セキュリティを管理するのは、すべて開発者の肩にかかっているわけではないことを忘れてはなりません。それは、やはりAppSecチームの領域です(セキュリティ意識の高い開発者と一緒に仕事をすれば、一般的なバグを繰り返し修正する代わりに、余裕を持って仕事をすることができます)。DevSecOpsプロセスが機能するためには、チームのすべてのメンバーがセキュリティに対する責任を共有するために必要なサポートとツールを持つことが必要であり、適切な種類のトレーニングが最も重要です。適切なツールとトレーニングのバランスをとるためには、開発者と密接に協力して彼らを刺激し、前向きな変化を促すことができるAppSecの専門家の洞察力が必要です。

破壊的なトレーニングは効果があるというよりも迷惑なもので、開発者が嫌がるものはうまくいきません。IDEや課題追跡システムと統合されたソリューションは、一口サイズの知識に焦点を当てた一つの選択肢であり、必要とされる瞬間に正しい情報を目の前に提供します。

ここでは、実際にその仕組みを紹介します。

Just-in-Time、「念のため」ではありません。

状況に応じた実践的な学習は、最も効果的なトレーニング方法です。これは "Just in Time"(JiT)トレーニングと呼ばれ、セキュアコーディングを学ぶ開発者にとって非常に有効な方法です。

トヨタのリーン生産方式を起源とするJiTのトレーニングは、必要に応じて、最も重要な時に、状況に応じて起動するように設計されています。開発者が不適切なパーミッションを持っているように見えるものを書いたとします。もし、小さなバックドアが開いていて、攻撃者がリモートでコードを実行できるようになっていたら?開発者が、Confluenceのドキュメントをさかのぼったり、トレーニングで触れたことをグーグルで検索したりするのではなく、必要なときに必要な知識にアクセスできれば、はるかに記憶に残ります。

ジャストインタイムは、「念のため」の学習に対するアンチテーゼです。後者は一般的な知識の伝達方法ですが、単に効率的ではありません。私たちは、開発者が安全なコーディングのベストプラクティスに簡単に取り組めるようにし、今取り組んでいる重要な目標に集中しながら、キャリアのためにスキルアップすることのメリットを理解してもらう必要があります。

開発者にトレーニングを追わせるのはやめてほしい。

開発者が教室に行ったり、コンテキストスイッチで5つのステップを踏んだりして、静的な理論ベースのトレーニングにアクセスするインセンティブは何でしょうか?

一般的には、情報漏えいの原因となる脆弱性が多ければ、ほとんどの組織が行っていることは、それほど効果的なものではない、ということになります。ベライゾンの2020年データ漏洩調査報告書によると、データ漏洩の43%はウェブの脆弱性に起因しているとされています。開発者は、高等教育でも、職場のスキルアップの一環でも、効果的なトレーニングを受けていません。もしそうであれば、SQLインジェクションや旧来のパス・トラバーサルといった一般的な脆弱性が悪用され、重大なデータが流出することはなく、サイバーセキュリティのスキル不足も解消されるはずです。

開発者がトレーニングを受けてセキュリティに慣れるための現状を知っていながら、その結果の悪さに驚くのはなぜでしょうか。JiraやGitHub、IDEなど、開発者が実際に作業する場所でトレーニングにアクセスできるようにすることは、開発者と組織の両方にとって、よりスムーズで統合された、違和感の少ないトレーニング体験を実現するために、プラスの効果があるかもしれません。業界は、セキュリティ意識を高めることがもはや贅沢なことではないという環境の中で、より簡単にセキュリティ意識を高められるように前進する必要があるのです。

開発ワークフローを確保する準備はできましたか?

セキュリティを意識した開発者は、そのスキルと、コード構築の段階から組織を保護することができるという点で高く評価されています。特に、GDPRの罰金、PCI-DSSのコンプライアンス規制、NISTのガバナンス...そして、Equifaxのように数百万ドル規模の大規模な集団訴訟で訴えられる可能性もあり、セキュリティはもはやオプションではありません。

統合されたアプローチは、破壊的ではない学習方法で開発者を魅了し、より詳細なcourses 、セキュリティチャンピオンを育成し、世界のデータを安全かつ健全に保つために必要な共通の責任感を喚起するためのきっかけとなるかもしれません。

JiraGitHub用の統合ツールを今すぐダウンロードして、ご意見をお聞かせください。

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

著者

マティアス・マドゥ博士

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

もっと知りたい?

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

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

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

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

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

リソース・ハブ

開発者にセキュリティを意識したコーディングをさせたい?そのためのトレーニングを開発者に提供します。

2024年1月22日発行
マティアス・マドゥ博士著

ソフトウェア開発ライフサイクル(SDLC)は、一見何の変哲もないプロセスのように見えますが、私たちソフトウェア関係者が一丸となって魔法をかけ、社会になくてはならないデジタルグッズを出荷します。

ただし、ソフトウェア開発プロジェクトに参加したことがある人ならわかると思いますが、それはたいていの場合、征服すべき多くのクエストや倒すべき多くのドラゴンが登場する試練です。しばらくの間は楽しいですが、燃え尽き症候群になることもあります。また、ソフトウェアの需要が高いため、私たちは皆、特に開発チームは最高の状態で光の速さで働いています。

さらに、もう一つの必須課題、すなわち、自分が関わるプロジェクト要素のセキュリティに対する責任を負わされたとします。最悪の場合、一部の個人にとってはカードの家が崩壊することになるかもしれませんが、より現実的なシナリオとしては、単に優先順位が低く、より差し迫った問題が優先されるということです。ほとんどの開発者が安全なコードを書くためのトレーニングを受けていない場合(特に彼らの上司がセキュリティを優先していない場合)、頻繁なデータ漏洩、欠陥のあるアプリのリリース、そしてバグのあるコードの雪崩の下で限界に達するセキュリティ専門家の深刻な混乱を目にするのも不思議ではありません。

開発者には、AppSecの提唱者が必要です。

上記のシナリオを考慮すると、コーディングの過程でセキュリティが「難しすぎる」と判断され、セキュリティチームに任されてしまう理由がわかります。競合する締め切りが多すぎて、十分なトレーニングを受けられず、他のすべてのことが起こっている中でセキュリティを気にする本当の理由がないのです。しかし、このような現状を続けるには、コードに対する需要があまりにも多すぎるのです。そこで、スーパーエリート開発者は、他の開発者に差をつけ、新しいスキルを学び、そして何よりも、より安全なコードを構築することができるのです。

しかし、ソフトウェア・セキュリティを管理するのは、すべて開発者の肩にかかっているわけではないことを忘れてはなりません。それは、やはりAppSecチームの領域です(セキュリティ意識の高い開発者と一緒に仕事をすれば、一般的なバグを繰り返し修正する代わりに、余裕を持って仕事をすることができます)。DevSecOpsプロセスが機能するためには、チームのすべてのメンバーがセキュリティに対する責任を共有するために必要なサポートとツールを持つことが必要であり、適切な種類のトレーニングが最も重要です。適切なツールとトレーニングのバランスをとるためには、開発者と密接に協力して彼らを刺激し、前向きな変化を促すことができるAppSecの専門家の洞察力が必要です。

破壊的なトレーニングは効果があるというよりも迷惑なもので、開発者が嫌がるものはうまくいきません。IDEや課題追跡システムと統合されたソリューションは、一口サイズの知識に焦点を当てた一つの選択肢であり、必要とされる瞬間に正しい情報を目の前に提供します。

ここでは、実際にその仕組みを紹介します。

Just-in-Time、「念のため」ではありません。

状況に応じた実践的な学習は、最も効果的なトレーニング方法です。これは "Just in Time"(JiT)トレーニングと呼ばれ、セキュアコーディングを学ぶ開発者にとって非常に有効な方法です。

トヨタのリーン生産方式を起源とするJiTのトレーニングは、必要に応じて、最も重要な時に、状況に応じて起動するように設計されています。開発者が不適切なパーミッションを持っているように見えるものを書いたとします。もし、小さなバックドアが開いていて、攻撃者がリモートでコードを実行できるようになっていたら?開発者が、Confluenceのドキュメントをさかのぼったり、トレーニングで触れたことをグーグルで検索したりするのではなく、必要なときに必要な知識にアクセスできれば、はるかに記憶に残ります。

ジャストインタイムは、「念のため」の学習に対するアンチテーゼです。後者は一般的な知識の伝達方法ですが、単に効率的ではありません。私たちは、開発者が安全なコーディングのベストプラクティスに簡単に取り組めるようにし、今取り組んでいる重要な目標に集中しながら、キャリアのためにスキルアップすることのメリットを理解してもらう必要があります。

開発者にトレーニングを追わせるのはやめてほしい。

開発者が教室に行ったり、コンテキストスイッチで5つのステップを踏んだりして、静的な理論ベースのトレーニングにアクセスするインセンティブは何でしょうか?

一般的には、情報漏えいの原因となる脆弱性が多ければ、ほとんどの組織が行っていることは、それほど効果的なものではない、ということになります。ベライゾンの2020年データ漏洩調査報告書によると、データ漏洩の43%はウェブの脆弱性に起因しているとされています。開発者は、高等教育でも、職場のスキルアップの一環でも、効果的なトレーニングを受けていません。もしそうであれば、SQLインジェクションや旧来のパス・トラバーサルといった一般的な脆弱性が悪用され、重大なデータが流出することはなく、サイバーセキュリティのスキル不足も解消されるはずです。

開発者がトレーニングを受けてセキュリティに慣れるための現状を知っていながら、その結果の悪さに驚くのはなぜでしょうか。JiraやGitHub、IDEなど、開発者が実際に作業する場所でトレーニングにアクセスできるようにすることは、開発者と組織の両方にとって、よりスムーズで統合された、違和感の少ないトレーニング体験を実現するために、プラスの効果があるかもしれません。業界は、セキュリティ意識を高めることがもはや贅沢なことではないという環境の中で、より簡単にセキュリティ意識を高められるように前進する必要があるのです。

開発ワークフローを確保する準備はできましたか?

セキュリティを意識した開発者は、そのスキルと、コード構築の段階から組織を保護することができるという点で高く評価されています。特に、GDPRの罰金、PCI-DSSのコンプライアンス規制、NISTのガバナンス...そして、Equifaxのように数百万ドル規模の大規模な集団訴訟で訴えられる可能性もあり、セキュリティはもはやオプションではありません。

統合されたアプローチは、破壊的ではない学習方法で開発者を魅了し、より詳細なcourses 、セキュリティチャンピオンを育成し、世界のデータを安全かつ健全に保つために必要な共通の責任感を喚起するためのきっかけとなるかもしれません。

JiraGitHub用の統合ツールを今すぐダウンロードして、ご意見をお聞かせください。

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

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