ヒーロー背景(区切りなし)
ブログ

プログラマーがセキュリティインフラを制圧する:コードシリーズ「無効化されたセキュリティ機能」

マティアス・マドゥ博士
2020年05月04日 掲載
最終更新日: 2026年3月8日

昨今のサイバーセキュリティに対する脅威は、どこにでもあり、絶え間なく続いています。私たちの生活がデジタル化されればされるほど、サイバー犯罪者にとっての脅威は大きくなります。また、プログラムが導入された後に、攻撃対象のあらゆる側面を把握して防御しようとすることは、ほとんど不可能になっています。

このような症状を軽減するためのアプローチがありますが、その1つがInfrastructure as Code(IaC)のコンセプトを採用した賢明な組織です。もちろん、どのような開発でも、セキュリティ上の落とし穴があることは言うまでもありません。開発者は、アプリケーションをホストするための重要なインフラを生成するコードを作成しているため、プロセスのあらゆる段階でセキュリティを意識することが重要です。

では、クラウドサーバ環境に慣れていない開発者は、どのようにしてスキルアップし、ノウハウを学び、セキュリティ意識を高めて構築に臨めばよいのでしょうか。ここでは、IaCの一般的な脆弱性に取り組むため、「Coders Conquer Security」シリーズを作成しました。ここからの数回のブログでは、開発者が組織内でコードとしての安全なインフラを展開するためのステップに焦点を当てます。

さあ、始めましょう。

アメリカの旧西部には、山賊に襲われるのではないかと疑心暗鬼になっていた男の寓話がある。そのために彼は、頑丈な玄関ドアを設置したり、窓をすべて塞いだり、手の届くところにたくさんの銃を置いたりと、あらゆる種類のセキュリティに投資しました。それでも、ある夜、寝ている間に横のドアの鍵をかけ忘れて強盗に入られてしまった。窃盗団は、セキュリティの不備を見つけて、すぐにその状況を利用したのです。

インフラのセキュリティ機能が無効化されていることは、それとよく似ています。ネットワークに強力なセキュリティインフラがあったとしても、その要素が無効化されていては意味がありません。

飛び込む前に課題を提示します。

上のリンクをクリックすると、ゲーム性のあるトレーニングプラットフォームに移動し、今すぐ無効化されたセキュリティ機能の脆弱性の解消に挑戦することができます。(注意してください。しかし、ドロップダウンメニューを使えば、Docker、CloudFormation、Terraform、Ansibleから選ぶことができます)。)

あなたはどうでしたか?まだまだ課題があるという方は、ぜひ読んでみてください。

セキュリティ機能は、さまざまな理由で無効になることがあります。アプリケーションやフレームワークによっては、デフォルトで無効になっていて、機能を開始するためにはまずオンにする必要があります。また、管理者が特定のタスクをより簡単に実行できるように、特定のセキュリティ機能を無効にしている可能性もあります(例:AWSのS3バケットを公開する)。作業終了後、管理者は無効にした機能を再び有効にすることを忘れてしまうかもしれません。また、今後の作業を容易にするために、無効にしたままにしておくこともあるでしょう。

無効化されたセキュリティ機能が危険な理由

1つ以上の無効なセキュリティ機能を持つことは、いくつかの理由でよくありません。一つは、そのセキュリティ機能は、既知のエクスプロイト、脅威、または脆弱性から保護するためにインフラストラクチャリソースに搭載されています。それが無効になっていると、リソースを保護することができません。

攻撃者は常に、簡単に利用できる脆弱性を最初に見つけようとし、スクリプトを使って一般的な弱点を洗い出すこともあります。これは、泥棒が通りにあるすべての車をチェックして、鍵のかかっていないドアがないかどうかを確認するのと同じで、窓を破壊するよりもずっと簡単なことです。ハッカーは、一般的なセキュリティの防御策が不発であることに驚くかもしれません。しかし、そうなれば、それを悪用するのに時間はかからないでしょう。

第二に、優れたセキュリティを導入しておきながら、それを無効にしてしまうと、誤ったセキュリティ意識が生まれます。管理者は、誰かがその防御機能を無効にしたことを知らなければ、一般的な脅威から守られていると思うかもしれません。

無効化されたセキュリティ機能を攻撃者がどのように利用するかの例として、AWS S3のセキュリティ機能であるパブリックアクセスのブロックを考えてみましょう。Amazon S3のブロックパブリックアクセスを使えば、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定することができます。しかし、S3バケットへのアクセス時に問題に遭遇した管理者の中には、できるだけ早くタスクを完了させるために、バケットを公開することを決める人もいます。もしそのセキュリティ機能を有効にするのを忘れてしまうと、攻撃者はそのS3バケットに保存されている情報に完全にアクセスすることができ、情報の漏洩だけでなく、データ転送料による余分なコストが発生してしまいます。

実際のコードを比較してみましょう。以下のCloudFormation snippetsをご覧ください。

ヴァルネラブル。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

確保。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

セキュリティ機能の無効化を防ぐ

無効にしたセキュリティ機能が組織に悪影響を与えないようにするには、ポリシーと実践の問題があります。非常に特殊な状況下でのみセキュリティ機能を無効にすべきであるという確固たるポリシーを設定する必要があります。問題の解決やアプリケーションの更新のために、機能を一時的に無効にしなければならない場合は、その記録を取る必要があります。必要な作業が完了した後、機能が完全に再有効化されていることを確認する必要があります。

業務を効率化するためにセキュリティ機能を恒久的に無効にしなければならない場合は、影響を受けるデータに他の保護機能を提供し、デフォルトの保護機能がない場合でもハッカーがアクセスできないようにする必要があります。必要な保護機能が無効化されている場合、攻撃者が鍵のかかっていないドアを見つけ、その状況を悪用するのは時間の問題です。

より多くのことを学び、自分自身に挑戦する。

をご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥や脆弱性の被害から組織やお客様を守るための方法を紹介しています。

この記事を読んで、この脆弱性を見つけて修正する準備はできましたか?Secure Code Warrior プラットフォーム上のIaC のゲーム化されたセキュリティチャレンジに挑戦して、サイバーセキュリティのスキルを磨き、最新の状態にしましょう。

このシリーズでは、Infrastructure as Codeの脆弱性のトップ8を毎週紹介しています。

リソースを表示
リソースを表示

攻撃者はまず、簡単に悪用できるセキュリティホールを探そうとし、スクリプトを使って頻繁に発生する脆弱性を特定することさえあります。これは、窓を割るよりもずっと簡単な方法として、通りにあるすべての車を調べてドアがロックされていないものを探す泥棒と似ています。

もっと知りたいですか?

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

もっと詳しく

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
著者
マティアス・マドゥ博士
2020年5月04日発行

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung in der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und verfügt über mehr als 10 Patente. Wenn er nicht an seinem Schreibtisch ist, war Matias als Ausbilder für fortgeschrittene Schulungen zur Anwendungssicherheit tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat an der Universität Gent in Computertechnik promoviert, wo er Anwendungssicherheit durch Programmverschleierung studierte, um das Innenleben einer Anwendung zu verbergen.

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

昨今のサイバーセキュリティに対する脅威は、どこにでもあり、絶え間なく続いています。私たちの生活がデジタル化されればされるほど、サイバー犯罪者にとっての脅威は大きくなります。また、プログラムが導入された後に、攻撃対象のあらゆる側面を把握して防御しようとすることは、ほとんど不可能になっています。

このような症状を軽減するためのアプローチがありますが、その1つがInfrastructure as Code(IaC)のコンセプトを採用した賢明な組織です。もちろん、どのような開発でも、セキュリティ上の落とし穴があることは言うまでもありません。開発者は、アプリケーションをホストするための重要なインフラを生成するコードを作成しているため、プロセスのあらゆる段階でセキュリティを意識することが重要です。

では、クラウドサーバ環境に慣れていない開発者は、どのようにしてスキルアップし、ノウハウを学び、セキュリティ意識を高めて構築に臨めばよいのでしょうか。ここでは、IaCの一般的な脆弱性に取り組むため、「Coders Conquer Security」シリーズを作成しました。ここからの数回のブログでは、開発者が組織内でコードとしての安全なインフラを展開するためのステップに焦点を当てます。

さあ、始めましょう。

アメリカの旧西部には、山賊に襲われるのではないかと疑心暗鬼になっていた男の寓話がある。そのために彼は、頑丈な玄関ドアを設置したり、窓をすべて塞いだり、手の届くところにたくさんの銃を置いたりと、あらゆる種類のセキュリティに投資しました。それでも、ある夜、寝ている間に横のドアの鍵をかけ忘れて強盗に入られてしまった。窃盗団は、セキュリティの不備を見つけて、すぐにその状況を利用したのです。

インフラのセキュリティ機能が無効化されていることは、それとよく似ています。ネットワークに強力なセキュリティインフラがあったとしても、その要素が無効化されていては意味がありません。

飛び込む前に課題を提示します。

上のリンクをクリックすると、ゲーム性のあるトレーニングプラットフォームに移動し、今すぐ無効化されたセキュリティ機能の脆弱性の解消に挑戦することができます。(注意してください。しかし、ドロップダウンメニューを使えば、Docker、CloudFormation、Terraform、Ansibleから選ぶことができます)。)

あなたはどうでしたか?まだまだ課題があるという方は、ぜひ読んでみてください。

セキュリティ機能は、さまざまな理由で無効になることがあります。アプリケーションやフレームワークによっては、デフォルトで無効になっていて、機能を開始するためにはまずオンにする必要があります。また、管理者が特定のタスクをより簡単に実行できるように、特定のセキュリティ機能を無効にしている可能性もあります(例:AWSのS3バケットを公開する)。作業終了後、管理者は無効にした機能を再び有効にすることを忘れてしまうかもしれません。また、今後の作業を容易にするために、無効にしたままにしておくこともあるでしょう。

無効化されたセキュリティ機能が危険な理由

1つ以上の無効なセキュリティ機能を持つことは、いくつかの理由でよくありません。一つは、そのセキュリティ機能は、既知のエクスプロイト、脅威、または脆弱性から保護するためにインフラストラクチャリソースに搭載されています。それが無効になっていると、リソースを保護することができません。

攻撃者は常に、簡単に利用できる脆弱性を最初に見つけようとし、スクリプトを使って一般的な弱点を洗い出すこともあります。これは、泥棒が通りにあるすべての車をチェックして、鍵のかかっていないドアがないかどうかを確認するのと同じで、窓を破壊するよりもずっと簡単なことです。ハッカーは、一般的なセキュリティの防御策が不発であることに驚くかもしれません。しかし、そうなれば、それを悪用するのに時間はかからないでしょう。

第二に、優れたセキュリティを導入しておきながら、それを無効にしてしまうと、誤ったセキュリティ意識が生まれます。管理者は、誰かがその防御機能を無効にしたことを知らなければ、一般的な脅威から守られていると思うかもしれません。

無効化されたセキュリティ機能を攻撃者がどのように利用するかの例として、AWS S3のセキュリティ機能であるパブリックアクセスのブロックを考えてみましょう。Amazon S3のブロックパブリックアクセスを使えば、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定することができます。しかし、S3バケットへのアクセス時に問題に遭遇した管理者の中には、できるだけ早くタスクを完了させるために、バケットを公開することを決める人もいます。もしそのセキュリティ機能を有効にするのを忘れてしまうと、攻撃者はそのS3バケットに保存されている情報に完全にアクセスすることができ、情報の漏洩だけでなく、データ転送料による余分なコストが発生してしまいます。

実際のコードを比較してみましょう。以下のCloudFormation snippetsをご覧ください。

ヴァルネラブル。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

確保。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

セキュリティ機能の無効化を防ぐ

無効にしたセキュリティ機能が組織に悪影響を与えないようにするには、ポリシーと実践の問題があります。非常に特殊な状況下でのみセキュリティ機能を無効にすべきであるという確固たるポリシーを設定する必要があります。問題の解決やアプリケーションの更新のために、機能を一時的に無効にしなければならない場合は、その記録を取る必要があります。必要な作業が完了した後、機能が完全に再有効化されていることを確認する必要があります。

業務を効率化するためにセキュリティ機能を恒久的に無効にしなければならない場合は、影響を受けるデータに他の保護機能を提供し、デフォルトの保護機能がない場合でもハッカーがアクセスできないようにする必要があります。必要な保護機能が無効化されている場合、攻撃者が鍵のかかっていないドアを見つけ、その状況を悪用するのは時間の問題です。

より多くのことを学び、自分自身に挑戦する。

をご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥や脆弱性の被害から組織やお客様を守るための方法を紹介しています。

この記事を読んで、この脆弱性を見つけて修正する準備はできましたか?Secure Code Warrior プラットフォーム上のIaC のゲーム化されたセキュリティチャレンジに挑戦して、サイバーセキュリティのスキルを磨き、最新の状態にしましょう。

このシリーズでは、Infrastructure as Codeの脆弱性のトップ8を毎週紹介しています。

リソースを表示
リソースを表示

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディングに関連する情報について、お客様にご案内させていただくことをお許しください。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。完了後、いつでも無効に戻せます。

昨今のサイバーセキュリティに対する脅威は、どこにでもあり、絶え間なく続いています。私たちの生活がデジタル化されればされるほど、サイバー犯罪者にとっての脅威は大きくなります。また、プログラムが導入された後に、攻撃対象のあらゆる側面を把握して防御しようとすることは、ほとんど不可能になっています。

このような症状を軽減するためのアプローチがありますが、その1つがInfrastructure as Code(IaC)のコンセプトを採用した賢明な組織です。もちろん、どのような開発でも、セキュリティ上の落とし穴があることは言うまでもありません。開発者は、アプリケーションをホストするための重要なインフラを生成するコードを作成しているため、プロセスのあらゆる段階でセキュリティを意識することが重要です。

では、クラウドサーバ環境に慣れていない開発者は、どのようにしてスキルアップし、ノウハウを学び、セキュリティ意識を高めて構築に臨めばよいのでしょうか。ここでは、IaCの一般的な脆弱性に取り組むため、「Coders Conquer Security」シリーズを作成しました。ここからの数回のブログでは、開発者が組織内でコードとしての安全なインフラを展開するためのステップに焦点を当てます。

さあ、始めましょう。

アメリカの旧西部には、山賊に襲われるのではないかと疑心暗鬼になっていた男の寓話がある。そのために彼は、頑丈な玄関ドアを設置したり、窓をすべて塞いだり、手の届くところにたくさんの銃を置いたりと、あらゆる種類のセキュリティに投資しました。それでも、ある夜、寝ている間に横のドアの鍵をかけ忘れて強盗に入られてしまった。窃盗団は、セキュリティの不備を見つけて、すぐにその状況を利用したのです。

インフラのセキュリティ機能が無効化されていることは、それとよく似ています。ネットワークに強力なセキュリティインフラがあったとしても、その要素が無効化されていては意味がありません。

飛び込む前に課題を提示します。

上のリンクをクリックすると、ゲーム性のあるトレーニングプラットフォームに移動し、今すぐ無効化されたセキュリティ機能の脆弱性の解消に挑戦することができます。(注意してください。しかし、ドロップダウンメニューを使えば、Docker、CloudFormation、Terraform、Ansibleから選ぶことができます)。)

あなたはどうでしたか?まだまだ課題があるという方は、ぜひ読んでみてください。

セキュリティ機能は、さまざまな理由で無効になることがあります。アプリケーションやフレームワークによっては、デフォルトで無効になっていて、機能を開始するためにはまずオンにする必要があります。また、管理者が特定のタスクをより簡単に実行できるように、特定のセキュリティ機能を無効にしている可能性もあります(例:AWSのS3バケットを公開する)。作業終了後、管理者は無効にした機能を再び有効にすることを忘れてしまうかもしれません。また、今後の作業を容易にするために、無効にしたままにしておくこともあるでしょう。

無効化されたセキュリティ機能が危険な理由

1つ以上の無効なセキュリティ機能を持つことは、いくつかの理由でよくありません。一つは、そのセキュリティ機能は、既知のエクスプロイト、脅威、または脆弱性から保護するためにインフラストラクチャリソースに搭載されています。それが無効になっていると、リソースを保護することができません。

攻撃者は常に、簡単に利用できる脆弱性を最初に見つけようとし、スクリプトを使って一般的な弱点を洗い出すこともあります。これは、泥棒が通りにあるすべての車をチェックして、鍵のかかっていないドアがないかどうかを確認するのと同じで、窓を破壊するよりもずっと簡単なことです。ハッカーは、一般的なセキュリティの防御策が不発であることに驚くかもしれません。しかし、そうなれば、それを悪用するのに時間はかからないでしょう。

第二に、優れたセキュリティを導入しておきながら、それを無効にしてしまうと、誤ったセキュリティ意識が生まれます。管理者は、誰かがその防御機能を無効にしたことを知らなければ、一般的な脅威から守られていると思うかもしれません。

無効化されたセキュリティ機能を攻撃者がどのように利用するかの例として、AWS S3のセキュリティ機能であるパブリックアクセスのブロックを考えてみましょう。Amazon S3のブロックパブリックアクセスを使えば、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定することができます。しかし、S3バケットへのアクセス時に問題に遭遇した管理者の中には、できるだけ早くタスクを完了させるために、バケットを公開することを決める人もいます。もしそのセキュリティ機能を有効にするのを忘れてしまうと、攻撃者はそのS3バケットに保存されている情報に完全にアクセスすることができ、情報の漏洩だけでなく、データ転送料による余分なコストが発生してしまいます。

実際のコードを比較してみましょう。以下のCloudFormation snippetsをご覧ください。

ヴァルネラブル。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

確保。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

セキュリティ機能の無効化を防ぐ

無効にしたセキュリティ機能が組織に悪影響を与えないようにするには、ポリシーと実践の問題があります。非常に特殊な状況下でのみセキュリティ機能を無効にすべきであるという確固たるポリシーを設定する必要があります。問題の解決やアプリケーションの更新のために、機能を一時的に無効にしなければならない場合は、その記録を取る必要があります。必要な作業が完了した後、機能が完全に再有効化されていることを確認する必要があります。

業務を効率化するためにセキュリティ機能を恒久的に無効にしなければならない場合は、影響を受けるデータに他の保護機能を提供し、デフォルトの保護機能がない場合でもハッカーがアクセスできないようにする必要があります。必要な保護機能が無効化されている場合、攻撃者が鍵のかかっていないドアを見つけ、その状況を悪用するのは時間の問題です。

より多くのことを学び、自分自身に挑戦する。

をご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥や脆弱性の被害から組織やお客様を守るための方法を紹介しています。

この記事を読んで、この脆弱性を見つけて修正する準備はできましたか?Secure Code Warrior プラットフォーム上のIaC のゲーム化されたセキュリティチャレンジに挑戦して、サイバーセキュリティのスキルを磨き、最新の状態にしましょう。

このシリーズでは、Infrastructure as Codeの脆弱性のトップ8を毎週紹介しています。

ウェビナーを見る
始めましょう
もっと詳しく

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

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

レポートを見るデモを予約する
PDFをダウンロード
リソースを表示
共有する:
リンクトインのブランドソーシャルx ロゴ
もっと知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
著者
マティアス・マドゥ博士
2020年5月04日発行

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

Matias ist Forscher und Entwickler mit mehr als 15 Jahren praktischer Erfahrung in der Softwaresicherheit. Er hat Lösungen für Unternehmen wie Fortify Software und sein eigenes Unternehmen Sensei Security entwickelt. Im Laufe seiner Karriere hat Matias mehrere Forschungsprojekte zur Anwendungssicherheit geleitet, die zu kommerziellen Produkten geführt haben, und verfügt über mehr als 10 Patente. Wenn er nicht an seinem Schreibtisch ist, war Matias als Ausbilder für fortgeschrittene Schulungen zur Anwendungssicherheit tätig und hält regelmäßig Vorträge auf globalen Konferenzen wie RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec und BruCon.

Matias hat an der Universität Gent in Computertechnik promoviert, wo er Anwendungssicherheit durch Programmverschleierung studierte, um das Innenleben einer Anwendung zu verbergen.

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

昨今のサイバーセキュリティに対する脅威は、どこにでもあり、絶え間なく続いています。私たちの生活がデジタル化されればされるほど、サイバー犯罪者にとっての脅威は大きくなります。また、プログラムが導入された後に、攻撃対象のあらゆる側面を把握して防御しようとすることは、ほとんど不可能になっています。

このような症状を軽減するためのアプローチがありますが、その1つがInfrastructure as Code(IaC)のコンセプトを採用した賢明な組織です。もちろん、どのような開発でも、セキュリティ上の落とし穴があることは言うまでもありません。開発者は、アプリケーションをホストするための重要なインフラを生成するコードを作成しているため、プロセスのあらゆる段階でセキュリティを意識することが重要です。

では、クラウドサーバ環境に慣れていない開発者は、どのようにしてスキルアップし、ノウハウを学び、セキュリティ意識を高めて構築に臨めばよいのでしょうか。ここでは、IaCの一般的な脆弱性に取り組むため、「Coders Conquer Security」シリーズを作成しました。ここからの数回のブログでは、開発者が組織内でコードとしての安全なインフラを展開するためのステップに焦点を当てます。

さあ、始めましょう。

アメリカの旧西部には、山賊に襲われるのではないかと疑心暗鬼になっていた男の寓話がある。そのために彼は、頑丈な玄関ドアを設置したり、窓をすべて塞いだり、手の届くところにたくさんの銃を置いたりと、あらゆる種類のセキュリティに投資しました。それでも、ある夜、寝ている間に横のドアの鍵をかけ忘れて強盗に入られてしまった。窃盗団は、セキュリティの不備を見つけて、すぐにその状況を利用したのです。

インフラのセキュリティ機能が無効化されていることは、それとよく似ています。ネットワークに強力なセキュリティインフラがあったとしても、その要素が無効化されていては意味がありません。

飛び込む前に課題を提示します。

上のリンクをクリックすると、ゲーム性のあるトレーニングプラットフォームに移動し、今すぐ無効化されたセキュリティ機能の脆弱性の解消に挑戦することができます。(注意してください。しかし、ドロップダウンメニューを使えば、Docker、CloudFormation、Terraform、Ansibleから選ぶことができます)。)

あなたはどうでしたか?まだまだ課題があるという方は、ぜひ読んでみてください。

セキュリティ機能は、さまざまな理由で無効になることがあります。アプリケーションやフレームワークによっては、デフォルトで無効になっていて、機能を開始するためにはまずオンにする必要があります。また、管理者が特定のタスクをより簡単に実行できるように、特定のセキュリティ機能を無効にしている可能性もあります(例:AWSのS3バケットを公開する)。作業終了後、管理者は無効にした機能を再び有効にすることを忘れてしまうかもしれません。また、今後の作業を容易にするために、無効にしたままにしておくこともあるでしょう。

無効化されたセキュリティ機能が危険な理由

1つ以上の無効なセキュリティ機能を持つことは、いくつかの理由でよくありません。一つは、そのセキュリティ機能は、既知のエクスプロイト、脅威、または脆弱性から保護するためにインフラストラクチャリソースに搭載されています。それが無効になっていると、リソースを保護することができません。

攻撃者は常に、簡単に利用できる脆弱性を最初に見つけようとし、スクリプトを使って一般的な弱点を洗い出すこともあります。これは、泥棒が通りにあるすべての車をチェックして、鍵のかかっていないドアがないかどうかを確認するのと同じで、窓を破壊するよりもずっと簡単なことです。ハッカーは、一般的なセキュリティの防御策が不発であることに驚くかもしれません。しかし、そうなれば、それを悪用するのに時間はかからないでしょう。

第二に、優れたセキュリティを導入しておきながら、それを無効にしてしまうと、誤ったセキュリティ意識が生まれます。管理者は、誰かがその防御機能を無効にしたことを知らなければ、一般的な脅威から守られていると思うかもしれません。

無効化されたセキュリティ機能を攻撃者がどのように利用するかの例として、AWS S3のセキュリティ機能であるパブリックアクセスのブロックを考えてみましょう。Amazon S3のブロックパブリックアクセスを使えば、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定することができます。しかし、S3バケットへのアクセス時に問題に遭遇した管理者の中には、できるだけ早くタスクを完了させるために、バケットを公開することを決める人もいます。もしそのセキュリティ機能を有効にするのを忘れてしまうと、攻撃者はそのS3バケットに保存されている情報に完全にアクセスすることができ、情報の漏洩だけでなく、データ転送料による余分なコストが発生してしまいます。

実際のコードを比較してみましょう。以下のCloudFormation snippetsをご覧ください。

ヴァルネラブル。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: false
BlockPublicPolicy: false
IgnorePublicAcls: false
RestrictPublicBuckets: false
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

確保。

CorporateBucket:
Type:AWS::S3::Bucket
Properties:
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
VersioningConfiguration:
Status:Enabled
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm:"AES256"

セキュリティ機能の無効化を防ぐ

無効にしたセキュリティ機能が組織に悪影響を与えないようにするには、ポリシーと実践の問題があります。非常に特殊な状況下でのみセキュリティ機能を無効にすべきであるという確固たるポリシーを設定する必要があります。問題の解決やアプリケーションの更新のために、機能を一時的に無効にしなければならない場合は、その記録を取る必要があります。必要な作業が完了した後、機能が完全に再有効化されていることを確認する必要があります。

業務を効率化するためにセキュリティ機能を恒久的に無効にしなければならない場合は、影響を受けるデータに他の保護機能を提供し、デフォルトの保護機能がない場合でもハッカーがアクセスできないようにする必要があります。必要な保護機能が無効化されている場合、攻撃者が鍵のかかっていないドアを見つけ、その状況を悪用するのは時間の問題です。

より多くのことを学び、自分自身に挑戦する。

をご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥や脆弱性の被害から組織やお客様を守るための方法を紹介しています。

この記事を読んで、この脆弱性を見つけて修正する準備はできましたか?Secure Code Warrior プラットフォーム上のIaC のゲーム化されたセキュリティチャレンジに挑戦して、サイバーセキュリティのスキルを磨き、最新の状態にしましょう。

このシリーズでは、Infrastructure as Codeの脆弱性のトップ8を毎週紹介しています。

目次

PDFをダウンロード
リソースを表示
もっと知りたいですか?

Matias Madou, Ph.D. ist Sicherheitsexperte, Forscher, CTO und Mitbegründer von Secure Code Warrior. Matias promovierte an der Universität Gent in Anwendungssicherheit mit Schwerpunkt auf statischen Analyselösungen. Später kam er zu Fortify in den USA, wo er feststellte, dass es nicht ausreichte, ausschließlich Codeprobleme zu erkennen, ohne Entwicklern beim Schreiben von sicherem Code zu helfen. Dies inspirierte ihn dazu, Produkte zu entwickeln, die Entwickler unterstützen, die Sicherheitslast verringern und die Erwartungen der Kunden übertreffen. Wenn er nicht als Teil von Team Awesome an seinem Schreibtisch sitzt, steht er gerne auf der Bühne und präsentiert auf Konferenzen wie der RSA Conference, BlackHat und DefCon.

もっと詳しく

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

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

入門リソース

さらに多くの投稿
リソースハブ

入門リソース

さらに多くの投稿