SCW アイコン
ヒーロー背景(区切りなし)
ブログ

안전한 개발은 AppSec의 면역 체계가 되어야 합니다

Secure Code Warrior
2021年8月24日 発行
最終更新日: 2026年3月9日

アプリケーション・セキュリティの専門家として、組織のアプリケーションのサイバー・セーフティを確保することがあなたの仕事です。しかし、あなたはアプリケーションが動作するコードを書く責任はありません。開発チームのエンジニアが担当します。では、彼らがセキュリティを考慮してシステムを開発していることを確認するにはどうすればよいのでしょうか。 

次のようなことをしているのではないでしょうか。 

  • すべてのコードにセキュリティ上の欠陥がないかを確認し、開発チームに報告して修正してもらう。 
  • 厳格なピアレビュープロセスを、セキュアな開発ライフサイクル全体にわたって実施する。 
  • 内部または外部のセキュリティチームによる定期的なアプリケーションassessment/ペネトレーションテストの実施。
  • スキャンツールを導入して脆弱性を発見する。

これらは素晴らしいベストプラクティスですが、コストもかかりますし、病気になるたびに抗生物質を飲み続けるのと同じです。高額な費用がかかるだけでなく、時間の経過とともに効果が薄れ、免疫力が低下してしまいます。 

そもそも、開発者が出荷するコードが安全に書かれているかどうかを実際に確認するにはどうすればよいのでしょうか。 

セキュアコーディングはさておき、まずは人がどのように学ぶかを考えてみましょう。私たちの多くは視覚的な学習者であり、実際にやってみることで学びます。それなのに、セキュアコードのトレーニングは、多くの場合、「チェックボックス」として提供され、開発者の日常業務には関係ありません。これは、開発者が業界標準に準拠したセキュリティトレーニングを受けたことを証明するためのものであり、開発者が実際にその知識を保持したり、学習プロセスを楽しんだりするためのものではありません。 

人間が学習するもう一つの方法は、免疫システムと同じように、失敗を通して学ぶことです。T細胞は、過去にどのような種類の病原体に遭遇し、駆除に成功したかを記憶しており、将来的にそれらの病原体から身を守ることができるのです。これこそが、セキュアな SDLCにおいて開発者が果たすべき役割なのです。

彼らがミスをしないことを期待するのは現実的ではありませんが、将来的にセキュリティの脆弱性につながるコーディングパターンを認識できるように準備することはできます。 

これは、強固なピアレビュープロセスが強力になる理由でもあります。ある開発者がセキュリティ上の欠陥に気づかないからといって、他の開発者が気づかないとは限りません。また、開発チームが全体的によく訓練されていればいるほど、脆弱性が途中で発見され、本番環境に出てこない可能性が高くなります。 

ソフトウェアの脆弱性は病原体のようなもの

ソフトウェアの脆弱性は、戦うためには覚えておかなければならないという意味で、病原体に似ています。病原体の場合、私たちの免疫システムは、重篤な病気や最悪の事態を避けるために、その病原体と戦う方法を記憶するまでに、何度もさらされる必要があることがよくあります。 

脆弱なソフトウェアからのサイバー攻撃が成功すれば、組織は深刻な打撃を受け、消滅する可能性があります。しかし、開発者が管理された環境でソフトウェアの脆弱性を最初に知ることができれば、安全なコーディングの知識とスキルを高め、定期的に練習することで、脅威に対する免疫力を高めることができます。 

制御された環境で開発者にセキュリティの欠陥を見せる

病気を完全に防ぐことはできませんが、免疫力を高めて健康を維持するためにできることはあります。定期的な運動、健康的な食事、十分な睡眠などは、免疫力を高めるために必要なライフスタイルの一つです。しかし、これらはいずれも少しの努力が必要で、継続しなければなりません。1週間毎日ジョギングしたり、1ヶ月間禁酒したりしても、健康にはほとんど影響がありません。また、ランニングを始めたばかりの日に10kmを走ろうとするのも得策ではありません。まず、心臓と筋肉を運動に慣らす必要があります。また、自分の体に合ったバランスを見つけ、健康的な食べ物や好きな運動をするには、少しずつ試していく必要があることもわかっています。

それは、セキュアなソフトウェア開発においても同様です。開発者は、時間をかけて練習することで学習しますが、同じように継続的なトレーニングを受けて、定期的にセキュアコーディングのスキルを高める必要があります。言うまでもなく、ソフトウェア開発は常に進化し、適応していくものであり、脆弱性も同様です。だからこそ、単純なトレーニングコースだけでは不十分なのです。開発者は、潜在的な脅威を十分に理解し、その脅威から守るための適切な装備を身につけるために、定期的なスキルアップが必要です。 

開発チーム内での群れの免疫力を目指す

一人の人間がすべてのセキュリティ問題を防ぐことはできません。チーム内にセキュリティ・チャンピオンがいることは素晴らしいことですが、最善の保護を得るためには、セキュリティの脆弱性とその防止方法について学んだ人が多ければ多いほど、組織が問題を防止できる可能性は高くなります。繰り返しになりますが、免疫システムが異なる目的のために異なるタイプのT細胞を持っているのと大差ありません。開発者一人一人が、セキュリティを確保するチームの一員です。彼らが責任を持ち、うまくやり、楽しんでやるようになれば、結果的に開発チーム内にサイバー脅威に対する群れの免疫を作ることができるのです。

開発チーム内にサイバー脅威に対する集団免疫を作る

リピート露出でセキュリティを最優先に

私たちの脳は、免疫システムの働きと同じような方法で学習しています。ドイツの心理学者ヘルマン・エビングハウスは、記憶と学習の分野のパイオニアです。彼は、学習は時間をかけて何度も行う必要があると推論しました。学校では、最初に知識を得た後、その知識を維持することは期待できません。最初に情報が提示され、次に指導を受けながら練習し、そして自分で練習するのです。そして、試験に合格するほどの知識を身につけたとしても、時間と労力をかけて学んだ知識を定期的に使わなければ、情報はすぐに忘れてしまいます。高校で習ったフランス語を覚えているという人はどれくらいいるでしょうか。

では、たった一日、スライドを見て、誰かがセキュリティについて話すのを聞いただけで、参加した開発者が実際により安全なコーディングをするようになると、どうして信じることができるでしょうか?

繰り返される脆弱性のパターンを見ると、これではうまくいかないことがわかります。 

セキュアな開発免疫を実現するには?

その答えは、私たちの本質にあります。私たちの体と心は同じように働き、私たちがそれに逆らわずに協力する限り、問題に美しい解決策を与えてくれます。 

アプリケーションの安全性を確保するためには、まず開発者が安全なコードを書けるようにスキルアップすることから始める必要があります。そうしないと、AppSecはすべてのコードにセキュリティ上の欠陥がないかどうかを確認するためにすべての時間を費やし、繰り返される同じ脆弱性を開発に報告しても、何も学ばずにすぐに修正されてしまうことになります。そして、次のリリースのために、また同じことを繰り返すのです。

では、もう一度言います。

健康なセキュリティーの免疫システム

開発マネージャーと協力してこれを行えば、セキュアなSDLCを実装し、コンプライアンスのためのセキュリティトレーニング要件にチェックを入れるだけでなく、開発プロセスに実際の影響を与えることができます。さらに言えば、AppSecが繰り返し脆弱性に遭遇して開発チームに報告することがなくなり、開発者が脆弱性の修正に費やす時間が減ります。つまり、私たちの世界をより良くする素晴らしいソフトウェアの作成と改善により多くの時間を費やすことができるのです。 

開発チームのスキルアップの準備はできていますか?デモのご予約をお待ちしております。

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

애플리케이션 보안 전문가의 역할은 조직 애플리케이션의 사이버 안전을 보장하는 것입니다.하지만 애플리케이션이 실행되는 코드를 작성할 책임은 없습니다.개발팀 내 엔지니어가 담당합니다.그렇다면 이들이 보안을 염두에 두고 이러한 시스템을 개발하고 있는지 어떻게 확인할 수 있을까요?

もっと興味がありますか?

Secure Code Warrior は、開発者がスキルを向上させる際に、セキュアコーディングをポジティブで魅力的な体験にします。私たちは、セキュリティに精通した開発者がコネクテッドワールドの日常的なスーパーヒーローになるように、それぞれのコーダーが好む学習経路に沿って指導します。

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約
共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
Secure Code Warrior
2021年8月24日発行

Secure Code Warrior は、開発者がスキルを向上させる際に、セキュアコーディングをポジティブで魅力的な体験にします。私たちは、セキュリティに精通した開発者がコネクテッドワールドの日常的なスーパーヒーローになるように、それぞれのコーダーが好む学習経路に沿って指導します。

この記事はSecure Code Warriorの業界専門家チームは、安全なソフトウェアを最初から構築するための知識とスキルを開発者に提供することに尽力しています。安全なコーディングの実践、業界のトレンド、実際の洞察に関する深い専門知識を活用します。

共有対象:
リンクトインのブランドソーシャルx ロゴ

アプリケーション・セキュリティの専門家として、組織のアプリケーションのサイバー・セーフティを確保することがあなたの仕事です。しかし、あなたはアプリケーションが動作するコードを書く責任はありません。開発チームのエンジニアが担当します。では、彼らがセキュリティを考慮してシステムを開発していることを確認するにはどうすればよいのでしょうか。 

次のようなことをしているのではないでしょうか。 

  • すべてのコードにセキュリティ上の欠陥がないかを確認し、開発チームに報告して修正してもらう。 
  • 厳格なピアレビュープロセスを、セキュアな開発ライフサイクル全体にわたって実施する。 
  • 内部または外部のセキュリティチームによる定期的なアプリケーションassessment/ペネトレーションテストの実施。
  • スキャンツールを導入して脆弱性を発見する。

これらは素晴らしいベストプラクティスですが、コストもかかりますし、病気になるたびに抗生物質を飲み続けるのと同じです。高額な費用がかかるだけでなく、時間の経過とともに効果が薄れ、免疫力が低下してしまいます。 

そもそも、開発者が出荷するコードが安全に書かれているかどうかを実際に確認するにはどうすればよいのでしょうか。 

セキュアコーディングはさておき、まずは人がどのように学ぶかを考えてみましょう。私たちの多くは視覚的な学習者であり、実際にやってみることで学びます。それなのに、セキュアコードのトレーニングは、多くの場合、「チェックボックス」として提供され、開発者の日常業務には関係ありません。これは、開発者が業界標準に準拠したセキュリティトレーニングを受けたことを証明するためのものであり、開発者が実際にその知識を保持したり、学習プロセスを楽しんだりするためのものではありません。 

人間が学習するもう一つの方法は、免疫システムと同じように、失敗を通して学ぶことです。T細胞は、過去にどのような種類の病原体に遭遇し、駆除に成功したかを記憶しており、将来的にそれらの病原体から身を守ることができるのです。これこそが、セキュアな SDLCにおいて開発者が果たすべき役割なのです。

彼らがミスをしないことを期待するのは現実的ではありませんが、将来的にセキュリティの脆弱性につながるコーディングパターンを認識できるように準備することはできます。 

これは、強固なピアレビュープロセスが強力になる理由でもあります。ある開発者がセキュリティ上の欠陥に気づかないからといって、他の開発者が気づかないとは限りません。また、開発チームが全体的によく訓練されていればいるほど、脆弱性が途中で発見され、本番環境に出てこない可能性が高くなります。 

ソフトウェアの脆弱性は病原体のようなもの

ソフトウェアの脆弱性は、戦うためには覚えておかなければならないという意味で、病原体に似ています。病原体の場合、私たちの免疫システムは、重篤な病気や最悪の事態を避けるために、その病原体と戦う方法を記憶するまでに、何度もさらされる必要があることがよくあります。 

脆弱なソフトウェアからのサイバー攻撃が成功すれば、組織は深刻な打撃を受け、消滅する可能性があります。しかし、開発者が管理された環境でソフトウェアの脆弱性を最初に知ることができれば、安全なコーディングの知識とスキルを高め、定期的に練習することで、脅威に対する免疫力を高めることができます。 

制御された環境で開発者にセキュリティの欠陥を見せる

病気を完全に防ぐことはできませんが、免疫力を高めて健康を維持するためにできることはあります。定期的な運動、健康的な食事、十分な睡眠などは、免疫力を高めるために必要なライフスタイルの一つです。しかし、これらはいずれも少しの努力が必要で、継続しなければなりません。1週間毎日ジョギングしたり、1ヶ月間禁酒したりしても、健康にはほとんど影響がありません。また、ランニングを始めたばかりの日に10kmを走ろうとするのも得策ではありません。まず、心臓と筋肉を運動に慣らす必要があります。また、自分の体に合ったバランスを見つけ、健康的な食べ物や好きな運動をするには、少しずつ試していく必要があることもわかっています。

それは、セキュアなソフトウェア開発においても同様です。開発者は、時間をかけて練習することで学習しますが、同じように継続的なトレーニングを受けて、定期的にセキュアコーディングのスキルを高める必要があります。言うまでもなく、ソフトウェア開発は常に進化し、適応していくものであり、脆弱性も同様です。だからこそ、単純なトレーニングコースだけでは不十分なのです。開発者は、潜在的な脅威を十分に理解し、その脅威から守るための適切な装備を身につけるために、定期的なスキルアップが必要です。 

開発チーム内での群れの免疫力を目指す

一人の人間がすべてのセキュリティ問題を防ぐことはできません。チーム内にセキュリティ・チャンピオンがいることは素晴らしいことですが、最善の保護を得るためには、セキュリティの脆弱性とその防止方法について学んだ人が多ければ多いほど、組織が問題を防止できる可能性は高くなります。繰り返しになりますが、免疫システムが異なる目的のために異なるタイプのT細胞を持っているのと大差ありません。開発者一人一人が、セキュリティを確保するチームの一員です。彼らが責任を持ち、うまくやり、楽しんでやるようになれば、結果的に開発チーム内にサイバー脅威に対する群れの免疫を作ることができるのです。

開発チーム内にサイバー脅威に対する集団免疫を作る

リピート露出でセキュリティを最優先に

私たちの脳は、免疫システムの働きと同じような方法で学習しています。ドイツの心理学者ヘルマン・エビングハウスは、記憶と学習の分野のパイオニアです。彼は、学習は時間をかけて何度も行う必要があると推論しました。学校では、最初に知識を得た後、その知識を維持することは期待できません。最初に情報が提示され、次に指導を受けながら練習し、そして自分で練習するのです。そして、試験に合格するほどの知識を身につけたとしても、時間と労力をかけて学んだ知識を定期的に使わなければ、情報はすぐに忘れてしまいます。高校で習ったフランス語を覚えているという人はどれくらいいるでしょうか。

では、たった一日、スライドを見て、誰かがセキュリティについて話すのを聞いただけで、参加した開発者が実際により安全なコーディングをするようになると、どうして信じることができるでしょうか?

繰り返される脆弱性のパターンを見ると、これではうまくいかないことがわかります。 

セキュアな開発免疫を実現するには?

その答えは、私たちの本質にあります。私たちの体と心は同じように働き、私たちがそれに逆らわずに協力する限り、問題に美しい解決策を与えてくれます。 

アプリケーションの安全性を確保するためには、まず開発者が安全なコードを書けるようにスキルアップすることから始める必要があります。そうしないと、AppSecはすべてのコードにセキュリティ上の欠陥がないかどうかを確認するためにすべての時間を費やし、繰り返される同じ脆弱性を開発に報告しても、何も学ばずにすぐに修正されてしまうことになります。そして、次のリリースのために、また同じことを繰り返すのです。

では、もう一度言います。

健康なセキュリティーの免疫システム

開発マネージャーと協力してこれを行えば、セキュアなSDLCを実装し、コンプライアンスのためのセキュリティトレーニング要件にチェックを入れるだけでなく、開発プロセスに実際の影響を与えることができます。さらに言えば、AppSecが繰り返し脆弱性に遭遇して開発チームに報告することがなくなり、開発者が脆弱性の修正に費やす時間が減ります。つまり、私たちの世界をより良くする素晴らしいソフトウェアの作成と改善により多くの時間を費やすことができるのです。 

開発チームのスキルアップの準備はできていますか?デモのご予約をお待ちしております。

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

レポートをダウンロードするには、以下のフォームにご記入ください。

当社製品および/または関連するセキュリティコーディングのトピックに関する情報をお送りするため、お客様の同意を求めます。当社は常に、お客様の個人情報を最大限の注意を払って取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには「Analytics」クッキーを有効にしてください。完了後、いつでも再度無効にできます。

アプリケーション・セキュリティの専門家として、組織のアプリケーションのサイバー・セーフティを確保することがあなたの仕事です。しかし、あなたはアプリケーションが動作するコードを書く責任はありません。開発チームのエンジニアが担当します。では、彼らがセキュリティを考慮してシステムを開発していることを確認するにはどうすればよいのでしょうか。 

次のようなことをしているのではないでしょうか。 

  • すべてのコードにセキュリティ上の欠陥がないかを確認し、開発チームに報告して修正してもらう。 
  • 厳格なピアレビュープロセスを、セキュアな開発ライフサイクル全体にわたって実施する。 
  • 内部または外部のセキュリティチームによる定期的なアプリケーションassessment/ペネトレーションテストの実施。
  • スキャンツールを導入して脆弱性を発見する。

これらは素晴らしいベストプラクティスですが、コストもかかりますし、病気になるたびに抗生物質を飲み続けるのと同じです。高額な費用がかかるだけでなく、時間の経過とともに効果が薄れ、免疫力が低下してしまいます。 

そもそも、開発者が出荷するコードが安全に書かれているかどうかを実際に確認するにはどうすればよいのでしょうか。 

セキュアコーディングはさておき、まずは人がどのように学ぶかを考えてみましょう。私たちの多くは視覚的な学習者であり、実際にやってみることで学びます。それなのに、セキュアコードのトレーニングは、多くの場合、「チェックボックス」として提供され、開発者の日常業務には関係ありません。これは、開発者が業界標準に準拠したセキュリティトレーニングを受けたことを証明するためのものであり、開発者が実際にその知識を保持したり、学習プロセスを楽しんだりするためのものではありません。 

人間が学習するもう一つの方法は、免疫システムと同じように、失敗を通して学ぶことです。T細胞は、過去にどのような種類の病原体に遭遇し、駆除に成功したかを記憶しており、将来的にそれらの病原体から身を守ることができるのです。これこそが、セキュアな SDLCにおいて開発者が果たすべき役割なのです。

彼らがミスをしないことを期待するのは現実的ではありませんが、将来的にセキュリティの脆弱性につながるコーディングパターンを認識できるように準備することはできます。 

これは、強固なピアレビュープロセスが強力になる理由でもあります。ある開発者がセキュリティ上の欠陥に気づかないからといって、他の開発者が気づかないとは限りません。また、開発チームが全体的によく訓練されていればいるほど、脆弱性が途中で発見され、本番環境に出てこない可能性が高くなります。 

ソフトウェアの脆弱性は病原体のようなもの

ソフトウェアの脆弱性は、戦うためには覚えておかなければならないという意味で、病原体に似ています。病原体の場合、私たちの免疫システムは、重篤な病気や最悪の事態を避けるために、その病原体と戦う方法を記憶するまでに、何度もさらされる必要があることがよくあります。 

脆弱なソフトウェアからのサイバー攻撃が成功すれば、組織は深刻な打撃を受け、消滅する可能性があります。しかし、開発者が管理された環境でソフトウェアの脆弱性を最初に知ることができれば、安全なコーディングの知識とスキルを高め、定期的に練習することで、脅威に対する免疫力を高めることができます。 

制御された環境で開発者にセキュリティの欠陥を見せる

病気を完全に防ぐことはできませんが、免疫力を高めて健康を維持するためにできることはあります。定期的な運動、健康的な食事、十分な睡眠などは、免疫力を高めるために必要なライフスタイルの一つです。しかし、これらはいずれも少しの努力が必要で、継続しなければなりません。1週間毎日ジョギングしたり、1ヶ月間禁酒したりしても、健康にはほとんど影響がありません。また、ランニングを始めたばかりの日に10kmを走ろうとするのも得策ではありません。まず、心臓と筋肉を運動に慣らす必要があります。また、自分の体に合ったバランスを見つけ、健康的な食べ物や好きな運動をするには、少しずつ試していく必要があることもわかっています。

それは、セキュアなソフトウェア開発においても同様です。開発者は、時間をかけて練習することで学習しますが、同じように継続的なトレーニングを受けて、定期的にセキュアコーディングのスキルを高める必要があります。言うまでもなく、ソフトウェア開発は常に進化し、適応していくものであり、脆弱性も同様です。だからこそ、単純なトレーニングコースだけでは不十分なのです。開発者は、潜在的な脅威を十分に理解し、その脅威から守るための適切な装備を身につけるために、定期的なスキルアップが必要です。 

開発チーム内での群れの免疫力を目指す

一人の人間がすべてのセキュリティ問題を防ぐことはできません。チーム内にセキュリティ・チャンピオンがいることは素晴らしいことですが、最善の保護を得るためには、セキュリティの脆弱性とその防止方法について学んだ人が多ければ多いほど、組織が問題を防止できる可能性は高くなります。繰り返しになりますが、免疫システムが異なる目的のために異なるタイプのT細胞を持っているのと大差ありません。開発者一人一人が、セキュリティを確保するチームの一員です。彼らが責任を持ち、うまくやり、楽しんでやるようになれば、結果的に開発チーム内にサイバー脅威に対する群れの免疫を作ることができるのです。

開発チーム内にサイバー脅威に対する集団免疫を作る

リピート露出でセキュリティを最優先に

私たちの脳は、免疫システムの働きと同じような方法で学習しています。ドイツの心理学者ヘルマン・エビングハウスは、記憶と学習の分野のパイオニアです。彼は、学習は時間をかけて何度も行う必要があると推論しました。学校では、最初に知識を得た後、その知識を維持することは期待できません。最初に情報が提示され、次に指導を受けながら練習し、そして自分で練習するのです。そして、試験に合格するほどの知識を身につけたとしても、時間と労力をかけて学んだ知識を定期的に使わなければ、情報はすぐに忘れてしまいます。高校で習ったフランス語を覚えているという人はどれくらいいるでしょうか。

では、たった一日、スライドを見て、誰かがセキュリティについて話すのを聞いただけで、参加した開発者が実際により安全なコーディングをするようになると、どうして信じることができるでしょうか?

繰り返される脆弱性のパターンを見ると、これではうまくいかないことがわかります。 

セキュアな開発免疫を実現するには?

その答えは、私たちの本質にあります。私たちの体と心は同じように働き、私たちがそれに逆らわずに協力する限り、問題に美しい解決策を与えてくれます。 

アプリケーションの安全性を確保するためには、まず開発者が安全なコードを書けるようにスキルアップすることから始める必要があります。そうしないと、AppSecはすべてのコードにセキュリティ上の欠陥がないかどうかを確認するためにすべての時間を費やし、繰り返される同じ脆弱性を開発に報告しても、何も学ばずにすぐに修正されてしまうことになります。そして、次のリリースのために、また同じことを繰り返すのです。

では、もう一度言います。

健康なセキュリティーの免疫システム

開発マネージャーと協力してこれを行えば、セキュアなSDLCを実装し、コンプライアンスのためのセキュリティトレーニング要件にチェックを入れるだけでなく、開発プロセスに実際の影響を与えることができます。さらに言えば、AppSecが繰り返し脆弱性に遭遇して開発チームに報告することがなくなり、開発者が脆弱性の修正に費やす時間が減ります。つまり、私たちの世界をより良くする素晴らしいソフトウェアの作成と改善により多くの時間を費やすことができるのです。 

開発チームのスキルアップの準備はできていますか?デモのご予約をお待ちしております。

ウェビナーを見る
はじめに
もっと詳しく

以下のリンクをクリックし、このリソースのPDFをダウンロードしてください。

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

レポートを見るデモ予約
リソースを見る
共有対象:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

共有対象:
リンクトインのブランドソーシャルx ロゴ
作成者
Secure Code Warrior
2021年8月24日発行

Secure Code Warrior は、開発者がスキルを向上させる際に、セキュアコーディングをポジティブで魅力的な体験にします。私たちは、セキュリティに精通した開発者がコネクテッドワールドの日常的なスーパーヒーローになるように、それぞれのコーダーが好む学習経路に沿って指導します。

この記事はSecure Code Warriorの業界専門家チームは、安全なソフトウェアを最初から構築するための知識とスキルを開発者に提供することに尽力しています。安全なコーディングの実践、業界のトレンド、実際の洞察に関する深い専門知識を活用します。

共有対象:
リンクトインのブランドソーシャルx ロゴ

アプリケーション・セキュリティの専門家として、組織のアプリケーションのサイバー・セーフティを確保することがあなたの仕事です。しかし、あなたはアプリケーションが動作するコードを書く責任はありません。開発チームのエンジニアが担当します。では、彼らがセキュリティを考慮してシステムを開発していることを確認するにはどうすればよいのでしょうか。 

次のようなことをしているのではないでしょうか。 

  • すべてのコードにセキュリティ上の欠陥がないかを確認し、開発チームに報告して修正してもらう。 
  • 厳格なピアレビュープロセスを、セキュアな開発ライフサイクル全体にわたって実施する。 
  • 内部または外部のセキュリティチームによる定期的なアプリケーションassessment/ペネトレーションテストの実施。
  • スキャンツールを導入して脆弱性を発見する。

これらは素晴らしいベストプラクティスですが、コストもかかりますし、病気になるたびに抗生物質を飲み続けるのと同じです。高額な費用がかかるだけでなく、時間の経過とともに効果が薄れ、免疫力が低下してしまいます。 

そもそも、開発者が出荷するコードが安全に書かれているかどうかを実際に確認するにはどうすればよいのでしょうか。 

セキュアコーディングはさておき、まずは人がどのように学ぶかを考えてみましょう。私たちの多くは視覚的な学習者であり、実際にやってみることで学びます。それなのに、セキュアコードのトレーニングは、多くの場合、「チェックボックス」として提供され、開発者の日常業務には関係ありません。これは、開発者が業界標準に準拠したセキュリティトレーニングを受けたことを証明するためのものであり、開発者が実際にその知識を保持したり、学習プロセスを楽しんだりするためのものではありません。 

人間が学習するもう一つの方法は、免疫システムと同じように、失敗を通して学ぶことです。T細胞は、過去にどのような種類の病原体に遭遇し、駆除に成功したかを記憶しており、将来的にそれらの病原体から身を守ることができるのです。これこそが、セキュアな SDLCにおいて開発者が果たすべき役割なのです。

彼らがミスをしないことを期待するのは現実的ではありませんが、将来的にセキュリティの脆弱性につながるコーディングパターンを認識できるように準備することはできます。 

これは、強固なピアレビュープロセスが強力になる理由でもあります。ある開発者がセキュリティ上の欠陥に気づかないからといって、他の開発者が気づかないとは限りません。また、開発チームが全体的によく訓練されていればいるほど、脆弱性が途中で発見され、本番環境に出てこない可能性が高くなります。 

ソフトウェアの脆弱性は病原体のようなもの

ソフトウェアの脆弱性は、戦うためには覚えておかなければならないという意味で、病原体に似ています。病原体の場合、私たちの免疫システムは、重篤な病気や最悪の事態を避けるために、その病原体と戦う方法を記憶するまでに、何度もさらされる必要があることがよくあります。 

脆弱なソフトウェアからのサイバー攻撃が成功すれば、組織は深刻な打撃を受け、消滅する可能性があります。しかし、開発者が管理された環境でソフトウェアの脆弱性を最初に知ることができれば、安全なコーディングの知識とスキルを高め、定期的に練習することで、脅威に対する免疫力を高めることができます。 

制御された環境で開発者にセキュリティの欠陥を見せる

病気を完全に防ぐことはできませんが、免疫力を高めて健康を維持するためにできることはあります。定期的な運動、健康的な食事、十分な睡眠などは、免疫力を高めるために必要なライフスタイルの一つです。しかし、これらはいずれも少しの努力が必要で、継続しなければなりません。1週間毎日ジョギングしたり、1ヶ月間禁酒したりしても、健康にはほとんど影響がありません。また、ランニングを始めたばかりの日に10kmを走ろうとするのも得策ではありません。まず、心臓と筋肉を運動に慣らす必要があります。また、自分の体に合ったバランスを見つけ、健康的な食べ物や好きな運動をするには、少しずつ試していく必要があることもわかっています。

それは、セキュアなソフトウェア開発においても同様です。開発者は、時間をかけて練習することで学習しますが、同じように継続的なトレーニングを受けて、定期的にセキュアコーディングのスキルを高める必要があります。言うまでもなく、ソフトウェア開発は常に進化し、適応していくものであり、脆弱性も同様です。だからこそ、単純なトレーニングコースだけでは不十分なのです。開発者は、潜在的な脅威を十分に理解し、その脅威から守るための適切な装備を身につけるために、定期的なスキルアップが必要です。 

開発チーム内での群れの免疫力を目指す

一人の人間がすべてのセキュリティ問題を防ぐことはできません。チーム内にセキュリティ・チャンピオンがいることは素晴らしいことですが、最善の保護を得るためには、セキュリティの脆弱性とその防止方法について学んだ人が多ければ多いほど、組織が問題を防止できる可能性は高くなります。繰り返しになりますが、免疫システムが異なる目的のために異なるタイプのT細胞を持っているのと大差ありません。開発者一人一人が、セキュリティを確保するチームの一員です。彼らが責任を持ち、うまくやり、楽しんでやるようになれば、結果的に開発チーム内にサイバー脅威に対する群れの免疫を作ることができるのです。

開発チーム内にサイバー脅威に対する集団免疫を作る

リピート露出でセキュリティを最優先に

私たちの脳は、免疫システムの働きと同じような方法で学習しています。ドイツの心理学者ヘルマン・エビングハウスは、記憶と学習の分野のパイオニアです。彼は、学習は時間をかけて何度も行う必要があると推論しました。学校では、最初に知識を得た後、その知識を維持することは期待できません。最初に情報が提示され、次に指導を受けながら練習し、そして自分で練習するのです。そして、試験に合格するほどの知識を身につけたとしても、時間と労力をかけて学んだ知識を定期的に使わなければ、情報はすぐに忘れてしまいます。高校で習ったフランス語を覚えているという人はどれくらいいるでしょうか。

では、たった一日、スライドを見て、誰かがセキュリティについて話すのを聞いただけで、参加した開発者が実際により安全なコーディングをするようになると、どうして信じることができるでしょうか?

繰り返される脆弱性のパターンを見ると、これではうまくいかないことがわかります。 

セキュアな開発免疫を実現するには?

その答えは、私たちの本質にあります。私たちの体と心は同じように働き、私たちがそれに逆らわずに協力する限り、問題に美しい解決策を与えてくれます。 

アプリケーションの安全性を確保するためには、まず開発者が安全なコードを書けるようにスキルアップすることから始める必要があります。そうしないと、AppSecはすべてのコードにセキュリティ上の欠陥がないかどうかを確認するためにすべての時間を費やし、繰り返される同じ脆弱性を開発に報告しても、何も学ばずにすぐに修正されてしまうことになります。そして、次のリリースのために、また同じことを繰り返すのです。

では、もう一度言います。

健康なセキュリティーの免疫システム

開発マネージャーと協力してこれを行えば、セキュアなSDLCを実装し、コンプライアンスのためのセキュリティトレーニング要件にチェックを入れるだけでなく、開発プロセスに実際の影響を与えることができます。さらに言えば、AppSecが繰り返し脆弱性に遭遇して開発チームに報告することがなくなり、開発者が脆弱性の修正に費やす時間が減ります。つまり、私たちの世界をより良くする素晴らしいソフトウェアの作成と改善により多くの時間を費やすことができるのです。 

開発チームのスキルアップの準備はできていますか?デモのご予約をお待ちしております。

目次

PDFダウンロード
リソースを見る
もっと興味がありますか?

Secure Code Warrior は、開発者がスキルを向上させる際に、セキュアコーディングをポジティブで魅力的な体験にします。私たちは、セキュリティに精通した開発者がコネクテッドワールドの日常的なスーパーヒーローになるように、それぞれのコーダーが好む学習経路に沿って指導します。

もっと詳しく

セキュアコードウォリアーは、ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先とする文化を組織に根付かせるために存在します。AppSec管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、組織が安全でないコードに関連するリスクを軽減できるよう支援します。

デモ予約ダウンロード
共有対象:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるのに役立つリソース

もっと多くの投稿
リソースハブ

始めるのに役立つリソース

もっと多くの投稿