成功するアプリケーション セキュリティ プログラムを構築する方法

news

セキュリティ コミュニティは、サイバー脅威に対して世界をより適切に配置するために、継続的に変化し、成長し、互いに学び合っています。最新の Voice of the Community ブログ シリーズの投稿では、マイクロソフトのプロダクト マーケティング マネージャーであるナタリア ゴディラが、 We Hack Purple Academyの創設者であり、ベストセラー本「 Alice and Bob Learn Application Security 」の著者である Tanya Janca と対談しています。以前、Tanya は、アプリケーション セキュリティ (AppSec) の役割と、AppSec の専門家が直面している課題についての見解を共有しました。このブログでは、Tanya が AppSec プログラムを構築し、セキュリティ チャンピオンを見つけ、その成功を測定する方法を共有しています。

ナタリア: AppSec プログラムを構築するときの目的と要件は何ですか?

Tanya:これはひっかけ問題のようなものです。なぜなら、私が行う方法は、すでに存在するものと、彼らが達成したいものに基づいているからです。カナダでは、私はテロ対策活動を行いました。これは、人類がこれまでに見た中で最も厳格なセキュリティ プログラムであったと思います。インターネットで香りのよい石鹸を販売している会社と仕事をしている場合、必要なセキュリティのレベル、予算、保護対象の重要性は大きく異なります。私は、会社のリスクは何か、変化に対する許容度はどの程度かを理解しようとしています。たとえば、私は多くの銀行に呼び出されました。銀行はセキュリティを強化することを望んでいますが、変更を嫌がっています。私は彼らにとって何が重要かを見つけ出し、彼らにとって重要であるべきものに彼らの目を向けようとします。

また、通常はすべてのスキャン結果を尋ねます。 AppSec プログラムがほとんどない場合でも、通常、人々はスキャンを行ったり、侵入テストを行ったりしています。私はそれらすべてを見て、上位 3 つを見て、「OK、上位 3 つを消去しましょう」と言いました。なぜなら、上位 2 つまたは 3 つが脆弱性の 40 ~ 60% であることがよくあるからです。まず、すべての出血を止めてから、プロセスと開発者向けのセキュリティ意識を高めます。セキュア コーディング デイを開催し、これらの 1 つ 1 つについて深く掘り下げていきます。すべてのプル リクエストをレビューする人々と充実した時間を過ごして、トップ 3 を探し、具体的で測定可能な目標の設定を開始できるようにします。

開発者に助けてもらうことは非常に重要です。安全なコーディングのトレーニングを受けると、多くの開発者がセキュリティ開発者であると自認するようになります。複数の質問をする人が 1 人います。その人のメールを取得します。彼らは私たちの新しい友達です。その人に本を何冊か買って、オープンなコミュニケーションを奨励します。その人が私たちのセキュリティ チャンピオンになるからです。最終的には、私のクライアントの多くがセキュリティ チャンピオン プログラムを開始します。それは、開発者のチーム (できればチームごとに 1 人) ができ、チームの注意を引くのに役立つからです。

Natalia: セキュリティ体制を測定するための主要業績評価指標 (KPI) にはどのようなものがありますか?

Tanya:私たちはアプリケーション セキュリティの専門家として、恐ろしいアプリのリスクを最小限に抑え、すべてを全面的により高いセキュリティ体制に引き上げたいと考えています。組織ごとに設定が異なります。アプリケーション セキュリティ プログラムの場合、すべてのアプリが ソフトウェア開発ライフ サイクルのすべての段階でセキュリティの注意を払っているかどうかを測定します。プログラムの場合、すべてのアプリと API のインベントリを作成します。インベントリは、アプリケーション セキュリティの難しい問題です。それは私たちの分野が解決していない最も難しい問題です。

インベントリを作成したら、すべてに対して迅速な動的アプリケーション セキュリティ テスト (DAST) スキャンを実行できるかどうかを判断する必要があります。クリスマスツリーのようにライトアップするものもあれば、いくつかの低値を見つけたものもあります。完璧ではありませんが、30日でできることです。たくさんのものをすばやくスキャンしてOKを見ることができるので、これらは恐ろしいものであり、これらはOKに見えます.さて、恐ろしいことに集中して、少し怖くないようにしましょう。

ナタリア: クラウド セキュリティの脅威をモデル化するためのベスト プラクティスはありますか?

Tanya:一般的に、脅威のモデリングについては、セキュリティ担当者とのハングアウト セッションとして紹介します。最初は堅苦しくなりすぎないようにしています。危険だ、ウィル・ロビンソン、危険だ。セキュリティ担当者は、私たちと一緒に時間を過ごしたいと思っています。私たちは何を間違えたのですか?」私は、「あなたのアプリについて話したいのですが、私が提供できる有益なアドバイスがあるかどうかを確認したかったのです。」次に、「アプリをハッキングする場合、どのようにしますか?」などの質問をし始めます。

私はSTRIDE 方法論が好きです。この方法論では、各文字が、アプリで発生することを心配する必要があるさまざまなことを表しています。具体的には、なりすまし、改ざん、否認、情報漏えい、サービス拒否 (DOS)、および特権の昇格です。誰かが他人になりすますことはできますか?誰かがあなたのふりをすることができますか?そのアプリは彼らの赤ちゃんなので、会話形式でゆっくりと説明します。赤ちゃんを攻撃しているように感じてほしくありません。最終的にはSTRIDEを教えて、そういうことを考えられるようにしています。次に、計画を立てて、「OK、これらのメモを作成してメールで送信します」と言います。メモを書くということは、タスクを人に割り当てることができるということです。

クラウドでの脅威モデリングでは、特に組織に以前の問題があった場合は、より多くの質問をする必要があります。パターンがあるので、それらについて尋ねたいと思います。クラウドの最大の問題は、彼らに十分な教育を与えなかったことです。彼らをクラウドに移行するときは、彼らに何を期待するかを教える必要があります。そうしないと、取得できない可能性が高くなります。

ナタリア: セキュリティの専門家が意思決定者に AppSec への投資を説得するにはどうすればよいでしょうか?

ターニャ:私にはたくさんのトリックがあります。 1 つ目は、AppSec に関するプレゼンテーションを行うことです。私は昼食をとり、学びます。たとえば、開発者に次のようなメールを 1 回送信しました。誰が見に来たいですか?」そして、偽の銀行のデモを彼らに見せました。 SQL インジェクションとは何かを説明し、私たちのアプリの 1 つでその脆弱性を発見した経緯と、それを修正しないとどうなるかを説明しました。そして、彼らは「うわー!」と言いました。または、「アプリのハッキング方法を学びたい人は?」と尋ねます。それから私は彼らに DAST ツールを見せました。私は彼らに物を見せ続け、彼らはより興味を持ち始めました.

次に、開発マネージャーと上層部に関心を持ってもらう必要がありました。これが最初の AppSec プログラムであり、私の最初の AppSec プログラムであったため、まだ参加していない人もいました。誰も私が言ったことを実行しませんでした.私はこれらすべての侵入テストの結果を第三者から入手しました.4 人の異なるセキュリティ評価者を雇いました.彼らは対処する必要がある大きな問題を報告しました.

そこで、リスク サインオフ シートと呼ばれる文書を作成しました。このシートには、すべてのセキュリティ リスクと、ビジネスに起こりうる事態が正確に記載されています。気になっていたことをとても具体的に話してくださいました。私はそれを印刷し、建物全体のセキュリティ責任者と組織全体の最高情報責任者の承認を得ました。私は彼らのところに行き、「組織を代表してこのリスクを受け入れるというあなたの署名が必要です」と言いました。私はリスクサインオフシートに次のような小さなメモを書きました:署名してください。

セキュリティのディレクターが電話をかけて、「ターニャ、これは何ですか?」と言いました。私は彼にこう言いました。あなただけです。私には、これらの人々にこれらの問題を解決させる権限がありません。あなただけです。あなたがリスクを認識していたことを証明するために署名してください。ニュースに出ているときは、誰が悪いのかを知る必要があります。」 CIO とセキュリティ ディレクターの両方が署名を拒否したので、私は言いました。私は責任を持つことも権限を持つこともできません」そしてそれはうまくいきました。仕事で2回使用しましたが、問題なく使えました。

また、彼らが理解できる言葉を使って説明することも重要です。物理セキュリティと IT セキュリティを担当するセキュリティ責任者は優秀な人物でしたが、AppSec については知りませんでした。この脆弱性のためにアプリでこれを行うことができ、これがお客様にもたらされる可能性があることを説明したとき、彼は「ああ、何かをしましょう」と言いました。 AppSec でうまくやるためには、もっとうまくコミュニケーションする方法を学ばなければなりませんでした。開発者として、私は開発者を他の開発者と話すだけだったからです。

もっと詳しく知る

Microsoft セキュリティ ソリューションの詳細については、当社の Web サイトをご覧ください。セキュリティ ブログをブックマークして、セキュリティに関する専門家の記事を入手してください。また、 @MSFTSecurityをフォローして、サイバーセキュリティに関する最新ニュースと更新情報を入手してください。

参照: https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/

Comments

Copied title and URL