開発者のモチベーションを高めることが、より良いセキュリティプラクティスへの鍵となります。

サイバー脅威の状況は日々複雑化しています。攻撃者は常にネットワークをスキャンし、脆弱なアプリケーション、プログラム、クラウドインスタンスを探し回っています。最近の標的はAPIで、セキュリティ対策が甘いことが多いため、格好のターゲットと見なされています。攻撃者は非常に執拗で、新しいアプリがデプロイされてから数時間以内に侵害・悪用されることも珍しくありません。Verizonの「2021年データ侵害調査報告書」は、企業や組織に対する脅威がかつてないほど危険なものになっていることを明確に示しています。
ソフトウェアを真に強固にする唯一の方法は、セキュアなコードを基盤として構築することである、という認識が広まっています。言い換えれば、攻撃者の侵入を防ぐ最善策は、そもそもアプリケーションに足がかりを与えないことです。一度戦いが始まってしまえば、そのほとんどは攻撃者に有利な状況で進んでしまいます。
こうした状況から、まずアジャイル開発やDevOpsが生まれ、やがてDevSecOpsムーブメントへと発展しました。これは、開発からデプロイに至るソフトウェア作成の全プロセスにおいて、セキュリティを全員の共通責任とする考え方です。しかし、そのピラミッドの土台であり、最も重要な存在はエンジニアです。多くのエンジニアは自分の役割を果たし、セキュアなコードを書きたいと考えていますが、彼らが所属する組織の多くは、優先順位の大きな転換に伴う変化を十分にサポートできていません。
設計による防御
長年、エンジニアは組織における主な役割として、ビジネスが止まることなく顧客が眠ることもない、ペースの速い環境で迅速にアプリを構築・デプロイすることを求められてきました。コードを書くスピードが速く、より多くの機能をデプロイできるほど、人事評価において高く評価されてきたのです。
セキュリティは、考慮されたとしても二の次でした。そのすべてはアプリケーションセキュリティ(AppSec)チームに丸投げされていたのです。AppSecチームは、完成したアプリケーションをセキュリティパッチの適用や脆弱性修正のためのコード書き直しのために開発へ差し戻すことが多いため、多くのエンジニアから敬遠されていました。エンジニアにとって、「完成」したはずのアプリに時間を費やすことは、新しいアプリや機能を作る時間を削ることを意味し、結果としてパフォーマンス(そして、厳しい会社から見れば彼らの価値)を低下させることにつながりました。
その後、脅威環境の変化により、多くの企業にとってセキュリティの重要性と優先順位が変わりました。IBMとPonemon Instituteによる最新の「データ侵害のコストに関するレポート」によると、サイバーセキュリティ侵害の平均コストは1件あたり約380万ドルに達しており、これが上限というわけではありません。ある企業では、ネットワーク侵害により13億ドルもの損失を被りました。今日の企業はDevSecOpsがもたらすセキュリティを求めていますが、残念ながら、その要求に応えるエンジニアを正当に評価する動きは鈍いままです。
開発チームにセキュリティを考慮するよう伝えるだけでは不十分です。特に、依然としてスピードのみで評価される仕組みであればなおさらです。実際、そのようなシステム下では、時間をかけてセキュリティを学び、コードをセキュアにしようとするエンジニアが、セキュリティ意識の低い同僚よりも人事評価やボーナスで損をするという事態が起こり得ます。企業は意図せずして、自らのセキュリティ失敗を招くような仕組みを作っているようなものです。これは、開発チームに対する認識の問題に帰結します。彼らをセキュリティの最前線と見なさない限り、人材を有効活用する現実的な計画が実現する可能性は極めて低いでしょう。
さらに、トレーニング不足の問題もあります。非常に熟練したエンジニアであっても、何十年ものコーディング経験を持ちながら、セキュリティに関してはほとんど経験がないというケースは珍しくありません。結局のところ、これまで求められてこなかったからです。企業が熟練したプログラマーに適切なトレーニングプログラムを提供しない限り、エンジニアが突然新しいスキルを身につけ、脆弱性を積極的に減らすような形で実践することを期待するのは酷というものです。
優れたセキュリティ実践に対するエンジニアへの報酬
幸いなことに、圧倒的多数のエンジニアは、仕事にやりがいと報酬を感じ、またその職位に伴う尊敬を大切にしているからこそ働いています。ベテランエンジニアのMichael Shpilt氏は最近、自身のブログで、彼や同僚のエンジニアが開発業務において何をモチベーションにしているかについて綴っています。もちろん、金銭的な報酬も挙げられていますが、それはリストの上位ではありません。彼が優先するのは、新しいものを作るスリル、新しいスキルの習得、そして自分の仕事が誰かの役に立つという実感です。また、会社やコミュニティの中で価値を感じたいという思いについても触れています。要するに、エンジニアも仕事に誇りを持つ多くの優れた人々と何ら変わりはないのです。
Shpilt氏のようなエンジニアは、攻撃者がコードを侵害し、会社やユーザーに害を与えることを望んでいません。しかし、サポートなしに突然セキュリティへ優先順位を切り替えることは不可能です。さもなければ、システムが彼らの足を引っ張り続けることになってしまいます。
開発チームのサイバーセキュリティ能力を向上させるには、まず必要なスキルを教える必要があります。段階的な学習やJust-in-Time(JiT)トレーニングのようなツールを活用することで、このプロセスを大幅に効率化し、適切な文脈で既存の知識を積み上げることができます。
JiTの原則は、エンジニアが必要な知識を必要なタイミングで提供することです。例えば、JiTトレーニングツールが、プログラマーがセキュアでないコードを書いている、あるいは誤って脆弱性を混入させていることを検知した場合、その場で介入し、問題を修正する方法や、将来的に同じ機能をよりセキュアなコードで実装する方法を提示することができます。
スキルアップへの取り組みを定着させるには、スピードのみでエンジニアを評価する古い手法を排除しなければなりません。代わりに、セキュアなコードを作成する能力に基づいて評価を行い、優れたエンジニアをセキュリティチャンピオンとして育成し、チーム全体のスキル向上を牽引してもらうべきです。そして、そうしたチャンピオンには、社内での名声と金銭的報酬の両方を与える必要があります。また、エンジニアにとってセキュリティはこれまでネガティブな体験であることが多かったという点も忘れてはなりません。彼らの興味を引くような楽しく前向きな学習やインセンティブを提供することで、知識の定着とスキル向上への意欲を大きく高めることができるはずです。
企業は引き続きコーディングスピードを評価項目の一部に含めることもできますが、セキュアなアプリケーションの開発には、特に新しいスキルを習得する過程において、多少の時間がかかることを前提とする必要があります。
DevSecOpsは、ますます危険化する脅威環境という「闇の術」に対する究極の防御となり得ます。ただし、この新しい世界の主役である、日々コードを生み出しているエンジニアたちを尊重し、その仕事に対して正当な報酬を支払うことを忘れてはなりません。
世界中の開発者とセキュリティスキルを競い合ってみませんか?Secure Code Warriorが開催するDevlympics 2021に参加して、グローバル大会で豪華賞品を獲得しましょう!
AI主導の開発をリリース前にガバナンスする
AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。
他のブログ記事を見る
セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
AIを活用した開発をリリース前にセキュアに
開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。



.avif)