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

コードシリーズでセキュリティインフラを制するコーダーシリーズ:障害対応セキュリティ機能

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

今日のサイバーセキュリティに対する脅威は至る所に存在し、絶えることがありません。私たちの生活のより多くの部分がデジタル化されるにつれ、サイバー犯罪者による危険性も増大しています。保護すべきコードは膨大であり、個人データは極めて貴重です。そしてプログラムを配布した後、攻撃対象領域のあらゆる側面を追跡し防御することは、ほぼ不可能になりました。

これらの症状の一部を緩和する方法があり、その一つは賢明な組織がIaC(Infrastructure as Code)の概念を採用する際に明確に現れます。もちろん、他の開発分野と同様に、克服すべきいくつかのセキュリティ上の課題があります。また、開発者はアプリケーションをホストするための必須インフラを生成するコードを開発しているため、プロセスの全段階においてセキュリティ意識が極めて重要です。

では、クラウドサーバー環境を初めて扱う開発者が技術を習得し、コツを掴み、セキュリティ意識を高めながらビルドにアクセスする方法は、具体的にどのようなものでしょうか?一般的なIaCの脆弱性を解決するため、次期「Coders Conquer Security」シリーズを作成しました。そして、次の数回のブログでは、開発者が自身の組織にコード形式でセキュリティインフラをデプロイし始めるために取るべきステップに焦点を当てます

始めましょうか。

アメリカ旧西部(American Old West)に伝わるある男の寓話があります。山賊が農家を狙って襲撃するという妄想症状に悩まされていた男の物語です。これを補うため、彼は非常に頑丈な玄関ドアを設置し、 窓をすべて閉め、手の届く場所に多くの銃を保管するなど、あらゆる種類の防犯対策に投資しました。ある夜、彼は裏口の施錠を忘れたため、眠っている間に結局強盗に遭ってしまいました。盗賊たちは、ただ警備員が不在になった隙を見抜き、素早くその状況を利用したのでした。

インフラにおけるセキュリティ機能の無効化もこれと似ています。ネットワークに強力なセキュリティインフラが整っていても、構成要素が無効化されてしまえばあまり役に立ちません。

本格的に始める前に、一つ挑戦してみようと思います。

上記のリンクにアクセスすると、ゲーム化された教育プラットフォームに移動します。ここで無効化されたセキュリティ機能の脆弱性を即座に解決できます。(注意:Kubernetes上で開きますが、ドロップダウンメニューを使用するとDocker、CloudFormation、Terraform、Ansibleの中から選択できます。)

お元気でしたか?まだやるべきことがある場合は、以下の内容をお読みください。

セキュリティ機能は様々な理由で無効化される場合があります。一部のアプリケーションやフレームワークではデフォルトで無効化されており、動作を開始するにはまず有効にする必要があります。また、管理者が継続的な挑戦やブロックを受けずに特定の作業をより容易に行えるよう、特定のセキュリティ機能を無効化した可能性もあります (例:AWS S3バケットを公開設定にする)。作業完了後、無効化した機能を再有効化するのを忘れる可能性があります。また、後々の作業を容易にするため、機能を無効化したままにしておくことを好む場合もあります。

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

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

攻撃者は常に簡単に悪用できる脆弱性をまず探そうとし、スクリプトを使って一般的な弱点を見つけ出すこともあります。泥棒が街中の車をすべて調べてドアが開いているか確認するのと同じです。窓を割るよりもはるかに簡単です。ハッカーは一般的なセキュリティ防御が無効になっている事実に驚くかもしれません。しかし、このような事態が発生すれば、ハッカーがこれを悪用するのに長くはかからないでしょう。

第二に、セキュリティを十分に整備しておきながら使用しないように設定すると、誤ったセキュリティ認識が生じます。管理者は、誰かがこうした防御体制を無力化したという事実を知らなければ、自分が一般的な脅威から保護されていると考える可能性があります。

攻撃者が無効化されたセキュリティ機能を悪用する可能性のある方法の例として、AWS S3のセキュリティ機能であるパブリックアクセスブロックを検討してみましょう。Amazon S3のパブリックアクセスブロックを使用すると、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定できます。しかし、S3バケットへのアクセス時に問題が発生した一部の管理者は、作業をできるだけ早く完了させるためにバケットを公開することを決定します。セキュリティ機能を有効化するのを忘れると、攻撃者はそのS3バケットに保存された情報に完全にアクセスできるようになり、情報が漏洩するだけでなく、データ転送料による追加費用が発生します。

実際のコードを比較してみましょう。次のCloudFormationスニペットを確認してください。

脆弱:

企業バケット:
タイプ: AWS: :S3: :バケット
属性:
パブリックアクセスブロック設定:
パブリックACLブロック: false
公開ポリシーブロック: false
パブリックACL無視: false
パブリックバケット制限: false
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

セキュリティ:

企業バケット:
タイプ: AWS: :S3: :バケット
プロパティ:
パブリックアクセスブロック設定:
パブリックACLブロック: true
公開ポリシーブロック: true
パブリックACL無視: true
パブリックバケット制限: true
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

無効化されたセキュリティ機能の防止

無効化されたセキュリティ機能が組織に悪影響を与えないようにすることは、慣行と同様にポリシーの問題です。非常に限定的な状況でのみセキュリティ機能を無効化すべきであるという確固たるポリシーが必要です。問題を解決したりアプリケーションを更新したりするために機能を一時的に無効化する必要がある事象は記録すべきです。必要な作業を完了した後、機能が完全に再有効化されていることを確認する必要があります。

セキュリティ機能を恒久的に無効化して運用を簡素化する必要がある場合、基本保護機能が存在しない状態では、ハッカーが該当データにアクセスできないよう、影響を受けるデータに対して別の保護機能を提供しなければなりません。必要な保護機能が無効化されている場合、攻撃者が施錠されていない扉を見つけ、状況を悪用するのは時間の問題に過ぎません。

詳しく調べて、自分に挑戦してみてください。

Secure Code Warriorの詳細情報と、この脆弱性やその他のセキュリティ上の欠陥・脆弱性による被害から組織と顧客を保護する方法については、ブログページをご覧ください。

投稿をお読みいただきましたので、この脆弱性を見つけて修正する準備は整いましたか?さあ、挑戦する時です。iACゲーム化されたセキュリティチャレンジにぜひ挑戦してください。Secure Code Warrior 、あらゆるサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

このシリーズは、Infrastructure as Codeの8つの主要な脆弱性を取り上げる週次シリーズです。詳細は来週またご確認ください!

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

攻撃者は常に悪用しやすい脆弱性をまず探そうとし、スクリプトを使って一般的な弱点を見つけることもあります。泥棒が街中の車をすべて調べてドアが開いているか確認するのと同じです。窓を割るよりもずっと簡単です。

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

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

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

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

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

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

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

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

今日のサイバーセキュリティに対する脅威は至る所に存在し、絶えることがありません。私たちの生活のより多くの部分がデジタル化されるにつれ、サイバー犯罪者による危険性も増大しています。保護すべきコードは膨大であり、個人データは極めて貴重です。そしてプログラムを配布した後、攻撃対象領域のあらゆる側面を追跡し防御することは、ほぼ不可能になりました。

これらの症状の一部を緩和する方法があり、その一つは賢明な組織がIaC(Infrastructure as Code)の概念を採用する際に明確に現れます。もちろん、他の開発分野と同様に、克服すべきいくつかのセキュリティ上の課題があります。また、開発者はアプリケーションをホストするための必須インフラを生成するコードを開発しているため、プロセスの全段階においてセキュリティ意識が極めて重要です。

では、クラウドサーバー環境を初めて扱う開発者が技術を習得し、コツを掴み、セキュリティ意識を高めながらビルドにアクセスする方法は、具体的にどのようなものでしょうか?一般的なIaCの脆弱性を解決するため、次期「Coders Conquer Security」シリーズを作成しました。そして、次の数回のブログでは、開発者が自身の組織にコード形式でセキュリティインフラをデプロイし始めるために取るべきステップに焦点を当てます

始めましょうか。

アメリカ旧西部(American Old West)に伝わるある男の寓話があります。山賊が農家を狙って襲撃するという妄想症状に悩まされていた男の物語です。これを補うため、彼は非常に頑丈な玄関ドアを設置し、 窓をすべて閉め、手の届く場所に多くの銃を保管するなど、あらゆる種類の防犯対策に投資しました。ある夜、彼は裏口の施錠を忘れたため、眠っている間に結局強盗に遭ってしまいました。盗賊たちは、ただ警備員が不在になった隙を見抜き、素早くその状況を利用したのでした。

インフラにおけるセキュリティ機能の無効化もこれと似ています。ネットワークに強力なセキュリティインフラが整っていても、構成要素が無効化されてしまえばあまり役に立ちません。

本格的に始める前に、一つ挑戦してみようと思います。

上記のリンクにアクセスすると、ゲーム化された教育プラットフォームに移動します。ここで無効化されたセキュリティ機能の脆弱性を即座に解決できます。(注意:Kubernetes上で開きますが、ドロップダウンメニューを使用するとDocker、CloudFormation、Terraform、Ansibleの中から選択できます。)

お元気でしたか?まだやるべきことがある場合は、以下の内容をお読みください。

セキュリティ機能は様々な理由で無効化される場合があります。一部のアプリケーションやフレームワークではデフォルトで無効化されており、動作を開始するにはまず有効にする必要があります。また、管理者が継続的な挑戦やブロックを受けずに特定の作業をより容易に行えるよう、特定のセキュリティ機能を無効化した可能性もあります (例:AWS S3バケットを公開設定にする)。作業完了後、無効化した機能を再有効化するのを忘れる可能性があります。また、後々の作業を容易にするため、機能を無効化したままにしておくことを好む場合もあります。

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

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

攻撃者は常に簡単に悪用できる脆弱性をまず探そうとし、スクリプトを使って一般的な弱点を見つけ出すこともあります。泥棒が街中の車をすべて調べてドアが開いているか確認するのと同じです。窓を割るよりもはるかに簡単です。ハッカーは一般的なセキュリティ防御が無効になっている事実に驚くかもしれません。しかし、このような事態が発生すれば、ハッカーがこれを悪用するのに長くはかからないでしょう。

第二に、セキュリティを十分に整備しておきながら使用しないように設定すると、誤ったセキュリティ認識が生じます。管理者は、誰かがこうした防御体制を無力化したという事実を知らなければ、自分が一般的な脅威から保護されていると考える可能性があります。

攻撃者が無効化されたセキュリティ機能を悪用する可能性のある方法の例として、AWS S3のセキュリティ機能であるパブリックアクセスブロックを検討してみましょう。Amazon S3のパブリックアクセスブロックを使用すると、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定できます。しかし、S3バケットへのアクセス時に問題が発生した一部の管理者は、作業をできるだけ早く完了させるためにバケットを公開することを決定します。セキュリティ機能を有効化するのを忘れると、攻撃者はそのS3バケットに保存された情報に完全にアクセスできるようになり、情報が漏洩するだけでなく、データ転送料による追加費用が発生します。

実際のコードを比較してみましょう。次のCloudFormationスニペットを確認してください。

脆弱:

企業バケット:
タイプ: AWS: :S3: :バケット
属性:
パブリックアクセスブロック設定:
パブリックACLブロック: false
公開ポリシーブロック: false
パブリックACL無視: false
パブリックバケット制限: false
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

セキュリティ:

企業バケット:
タイプ: AWS: :S3: :バケット
プロパティ:
パブリックアクセスブロック設定:
パブリックACLブロック: true
公開ポリシーブロック: true
パブリックACL無視: true
パブリックバケット制限: true
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

無効化されたセキュリティ機能の防止

無効化されたセキュリティ機能が組織に悪影響を与えないようにすることは、慣行と同様にポリシーの問題です。非常に限定的な状況でのみセキュリティ機能を無効化すべきであるという確固たるポリシーが必要です。問題を解決したりアプリケーションを更新したりするために機能を一時的に無効化する必要がある事象は記録すべきです。必要な作業を完了した後、機能が完全に再有効化されていることを確認する必要があります。

セキュリティ機能を恒久的に無効化して運用を簡素化する必要がある場合、基本保護機能が存在しない状態では、ハッカーが該当データにアクセスできないよう、影響を受けるデータに対して別の保護機能を提供しなければなりません。必要な保護機能が無効化されている場合、攻撃者が施錠されていない扉を見つけ、状況を悪用するのは時間の問題に過ぎません。

詳しく調べて、自分に挑戦してみてください。

Secure Code Warriorの詳細情報と、この脆弱性やその他のセキュリティ上の欠陥・脆弱性による被害から組織と顧客を保護する方法については、ブログページをご覧ください。

投稿をお読みいただきましたので、この脆弱性を見つけて修正する準備は整いましたか?さあ、挑戦する時です。iACゲーム化されたセキュリティチャレンジにぜひ挑戦してください。Secure Code Warrior 、あらゆるサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

このシリーズは、Infrastructure as Codeの8つの主要な脆弱性を取り上げる週次シリーズです。詳細は来週またご確認ください!

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

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

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

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

今日のサイバーセキュリティに対する脅威は至る所に存在し、絶えることがありません。私たちの生活のより多くの部分がデジタル化されるにつれ、サイバー犯罪者による危険性も増大しています。保護すべきコードは膨大であり、個人データは極めて貴重です。そしてプログラムを配布した後、攻撃対象領域のあらゆる側面を追跡し防御することは、ほぼ不可能になりました。

これらの症状の一部を緩和する方法があり、その一つは賢明な組織がIaC(Infrastructure as Code)の概念を採用する際に明確に現れます。もちろん、他の開発分野と同様に、克服すべきいくつかのセキュリティ上の課題があります。また、開発者はアプリケーションをホストするための必須インフラを生成するコードを開発しているため、プロセスの全段階においてセキュリティ意識が極めて重要です。

では、クラウドサーバー環境を初めて扱う開発者が技術を習得し、コツを掴み、セキュリティ意識を高めながらビルドにアクセスする方法は、具体的にどのようなものでしょうか?一般的なIaCの脆弱性を解決するため、次期「Coders Conquer Security」シリーズを作成しました。そして、次の数回のブログでは、開発者が自身の組織にコード形式でセキュリティインフラをデプロイし始めるために取るべきステップに焦点を当てます

始めましょうか。

アメリカ旧西部(American Old West)に伝わるある男の寓話があります。山賊が農家を狙って襲撃するという妄想症状に悩まされていた男の物語です。これを補うため、彼は非常に頑丈な玄関ドアを設置し、 窓をすべて閉め、手の届く場所に多くの銃を保管するなど、あらゆる種類の防犯対策に投資しました。ある夜、彼は裏口の施錠を忘れたため、眠っている間に結局強盗に遭ってしまいました。盗賊たちは、ただ警備員が不在になった隙を見抜き、素早くその状況を利用したのでした。

インフラにおけるセキュリティ機能の無効化もこれと似ています。ネットワークに強力なセキュリティインフラが整っていても、構成要素が無効化されてしまえばあまり役に立ちません。

本格的に始める前に、一つ挑戦してみようと思います。

上記のリンクにアクセスすると、ゲーム化された教育プラットフォームに移動します。ここで無効化されたセキュリティ機能の脆弱性を即座に解決できます。(注意:Kubernetes上で開きますが、ドロップダウンメニューを使用するとDocker、CloudFormation、Terraform、Ansibleの中から選択できます。)

お元気でしたか?まだやるべきことがある場合は、以下の内容をお読みください。

セキュリティ機能は様々な理由で無効化される場合があります。一部のアプリケーションやフレームワークではデフォルトで無効化されており、動作を開始するにはまず有効にする必要があります。また、管理者が継続的な挑戦やブロックを受けずに特定の作業をより容易に行えるよう、特定のセキュリティ機能を無効化した可能性もあります (例:AWS S3バケットを公開設定にする)。作業完了後、無効化した機能を再有効化するのを忘れる可能性があります。また、後々の作業を容易にするため、機能を無効化したままにしておくことを好む場合もあります。

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

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

攻撃者は常に簡単に悪用できる脆弱性をまず探そうとし、スクリプトを使って一般的な弱点を見つけ出すこともあります。泥棒が街中の車をすべて調べてドアが開いているか確認するのと同じです。窓を割るよりもはるかに簡単です。ハッカーは一般的なセキュリティ防御が無効になっている事実に驚くかもしれません。しかし、このような事態が発生すれば、ハッカーがこれを悪用するのに長くはかからないでしょう。

第二に、セキュリティを十分に整備しておきながら使用しないように設定すると、誤ったセキュリティ認識が生じます。管理者は、誰かがこうした防御体制を無力化したという事実を知らなければ、自分が一般的な脅威から保護されていると考える可能性があります。

攻撃者が無効化されたセキュリティ機能を悪用する可能性のある方法の例として、AWS S3のセキュリティ機能であるパブリックアクセスブロックを検討してみましょう。Amazon S3のパブリックアクセスブロックを使用すると、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定できます。しかし、S3バケットへのアクセス時に問題が発生した一部の管理者は、作業をできるだけ早く完了させるためにバケットを公開することを決定します。セキュリティ機能を有効化するのを忘れると、攻撃者はそのS3バケットに保存された情報に完全にアクセスできるようになり、情報が漏洩するだけでなく、データ転送料による追加費用が発生します。

実際のコードを比較してみましょう。次のCloudFormationスニペットを確認してください。

脆弱:

企業バケット:
タイプ: AWS: :S3: :バケット
属性:
パブリックアクセスブロック設定:
パブリックACLブロック: false
公開ポリシーブロック: false
パブリックACL無視: false
パブリックバケット制限: false
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

セキュリティ:

企業バケット:
タイプ: AWS: :S3: :バケット
プロパティ:
パブリックアクセスブロック設定:
パブリックACLブロック: true
公開ポリシーブロック: true
パブリックACL無視: true
パブリックバケット制限: true
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

無効化されたセキュリティ機能の防止

無効化されたセキュリティ機能が組織に悪影響を与えないようにすることは、慣行と同様にポリシーの問題です。非常に限定的な状況でのみセキュリティ機能を無効化すべきであるという確固たるポリシーが必要です。問題を解決したりアプリケーションを更新したりするために機能を一時的に無効化する必要がある事象は記録すべきです。必要な作業を完了した後、機能が完全に再有効化されていることを確認する必要があります。

セキュリティ機能を恒久的に無効化して運用を簡素化する必要がある場合、基本保護機能が存在しない状態では、ハッカーが該当データにアクセスできないよう、影響を受けるデータに対して別の保護機能を提供しなければなりません。必要な保護機能が無効化されている場合、攻撃者が施錠されていない扉を見つけ、状況を悪用するのは時間の問題に過ぎません。

詳しく調べて、自分に挑戦してみてください。

Secure Code Warriorの詳細情報と、この脆弱性やその他のセキュリティ上の欠陥・脆弱性による被害から組織と顧客を保護する方法については、ブログページをご覧ください。

投稿をお読みいただきましたので、この脆弱性を見つけて修正する準備は整いましたか?さあ、挑戦する時です。iACゲーム化されたセキュリティチャレンジにぜひ挑戦してください。Secure Code Warrior 、あらゆるサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

このシリーズは、Infrastructure as Codeの8つの主要な脆弱性を取り上げる週次シリーズです。詳細は来週またご確認ください!

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

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

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

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

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

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

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

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

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

今日のサイバーセキュリティに対する脅威は至る所に存在し、絶えることがありません。私たちの生活のより多くの部分がデジタル化されるにつれ、サイバー犯罪者による危険性も増大しています。保護すべきコードは膨大であり、個人データは極めて貴重です。そしてプログラムを配布した後、攻撃対象領域のあらゆる側面を追跡し防御することは、ほぼ不可能になりました。

これらの症状の一部を緩和する方法があり、その一つは賢明な組織がIaC(Infrastructure as Code)の概念を採用する際に明確に現れます。もちろん、他の開発分野と同様に、克服すべきいくつかのセキュリティ上の課題があります。また、開発者はアプリケーションをホストするための必須インフラを生成するコードを開発しているため、プロセスの全段階においてセキュリティ意識が極めて重要です。

では、クラウドサーバー環境を初めて扱う開発者が技術を習得し、コツを掴み、セキュリティ意識を高めながらビルドにアクセスする方法は、具体的にどのようなものでしょうか?一般的なIaCの脆弱性を解決するため、次期「Coders Conquer Security」シリーズを作成しました。そして、次の数回のブログでは、開発者が自身の組織にコード形式でセキュリティインフラをデプロイし始めるために取るべきステップに焦点を当てます

始めましょうか。

アメリカ旧西部(American Old West)に伝わるある男の寓話があります。山賊が農家を狙って襲撃するという妄想症状に悩まされていた男の物語です。これを補うため、彼は非常に頑丈な玄関ドアを設置し、 窓をすべて閉め、手の届く場所に多くの銃を保管するなど、あらゆる種類の防犯対策に投資しました。ある夜、彼は裏口の施錠を忘れたため、眠っている間に結局強盗に遭ってしまいました。盗賊たちは、ただ警備員が不在になった隙を見抜き、素早くその状況を利用したのでした。

インフラにおけるセキュリティ機能の無効化もこれと似ています。ネットワークに強力なセキュリティインフラが整っていても、構成要素が無効化されてしまえばあまり役に立ちません。

本格的に始める前に、一つ挑戦してみようと思います。

上記のリンクにアクセスすると、ゲーム化された教育プラットフォームに移動します。ここで無効化されたセキュリティ機能の脆弱性を即座に解決できます。(注意:Kubernetes上で開きますが、ドロップダウンメニューを使用するとDocker、CloudFormation、Terraform、Ansibleの中から選択できます。)

お元気でしたか?まだやるべきことがある場合は、以下の内容をお読みください。

セキュリティ機能は様々な理由で無効化される場合があります。一部のアプリケーションやフレームワークではデフォルトで無効化されており、動作を開始するにはまず有効にする必要があります。また、管理者が継続的な挑戦やブロックを受けずに特定の作業をより容易に行えるよう、特定のセキュリティ機能を無効化した可能性もあります (例:AWS S3バケットを公開設定にする)。作業完了後、無効化した機能を再有効化するのを忘れる可能性があります。また、後々の作業を容易にするため、機能を無効化したままにしておくことを好む場合もあります。

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

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

攻撃者は常に簡単に悪用できる脆弱性をまず探そうとし、スクリプトを使って一般的な弱点を見つけ出すこともあります。泥棒が街中の車をすべて調べてドアが開いているか確認するのと同じです。窓を割るよりもはるかに簡単です。ハッカーは一般的なセキュリティ防御が無効になっている事実に驚くかもしれません。しかし、このような事態が発生すれば、ハッカーがこれを悪用するのに長くはかからないでしょう。

第二に、セキュリティを十分に整備しておきながら使用しないように設定すると、誤ったセキュリティ認識が生じます。管理者は、誰かがこうした防御体制を無力化したという事実を知らなければ、自分が一般的な脅威から保護されていると考える可能性があります。

攻撃者が無効化されたセキュリティ機能を悪用する可能性のある方法の例として、AWS S3のセキュリティ機能であるパブリックアクセスブロックを検討してみましょう。Amazon S3のパブリックアクセスブロックを使用すると、アカウント管理者やバケット所有者は、Amazon S3リソースへのパブリックアクセスを制限するための集中管理を簡単に設定できます。しかし、S3バケットへのアクセス時に問題が発生した一部の管理者は、作業をできるだけ早く完了させるためにバケットを公開することを決定します。セキュリティ機能を有効化するのを忘れると、攻撃者はそのS3バケットに保存された情報に完全にアクセスできるようになり、情報が漏洩するだけでなく、データ転送料による追加費用が発生します。

実際のコードを比較してみましょう。次のCloudFormationスニペットを確認してください。

脆弱:

企業バケット:
タイプ: AWS: :S3: :バケット
属性:
パブリックアクセスブロック設定:
パブリックACLブロック: false
公開ポリシーブロック: false
パブリックACL無視: false
パブリックバケット制限: false
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

セキュリティ:

企業バケット:
タイプ: AWS: :S3: :バケット
プロパティ:
パブリックアクセスブロック設定:
パブリックACLブロック: true
公開ポリシーブロック: true
パブリックACL無視: true
パブリックバケット制限: true
バージョン管理設定:
状態: 有効
バケット暗号化:
サーバー側暗号化設定:
- サーバー側暗号化:
SSEアルゴリズム: “AES 256"

無効化されたセキュリティ機能の防止

無効化されたセキュリティ機能が組織に悪影響を与えないようにすることは、慣行と同様にポリシーの問題です。非常に限定的な状況でのみセキュリティ機能を無効化すべきであるという確固たるポリシーが必要です。問題を解決したりアプリケーションを更新したりするために機能を一時的に無効化する必要がある事象は記録すべきです。必要な作業を完了した後、機能が完全に再有効化されていることを確認する必要があります。

セキュリティ機能を恒久的に無効化して運用を簡素化する必要がある場合、基本保護機能が存在しない状態では、ハッカーが該当データにアクセスできないよう、影響を受けるデータに対して別の保護機能を提供しなければなりません。必要な保護機能が無効化されている場合、攻撃者が施錠されていない扉を見つけ、状況を悪用するのは時間の問題に過ぎません。

詳しく調べて、自分に挑戦してみてください。

Secure Code Warriorの詳細情報と、この脆弱性やその他のセキュリティ上の欠陥・脆弱性による被害から組織と顧客を保護する方法については、ブログページをご覧ください。

投稿をお読みいただきましたので、この脆弱性を見つけて修正する準備は整いましたか?さあ、挑戦する時です。iACゲーム化されたセキュリティチャレンジにぜひ挑戦してください。Secure Code Warrior 、あらゆるサイバーセキュリティスキルを磨き、最新の状態に保ちましょう。

このシリーズは、Infrastructure as Codeの8つの主要な脆弱性を取り上げる週次シリーズです。詳細は来週またご確認ください!

目次

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

Matias Madou, Ph.D. セキュリティ専門家、研究者、CTO兼共同設立者(Secure Code Warrior )。Ghent大学でアプリケーションセキュリティの博士号を取得し、静的解析ソリューションに焦点を当てた。その後、米国Fortify社に入社し、開発者が安全なコードを書くことを支援せずに、コードの問題を検出するだけでは不十分であることに気づきました。開発者を支援し、セキュリティの負担を軽減し、お客様の期待を上回る製品を開発することを志すようになった。Team Awesomeの一員としてデスクワークをしていないときは、RSA Conference、BlackHat、DefConなどのカンファレンスでプレゼンテーションをするのが好きである。

もっと詳しく

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

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

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

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

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

もっと多くの投稿