セキュリティのための AI/ML - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

セキュリティのための AI/ML

簡単なアンケートを実施して、AWSセキュリティリファレンスアーキテクチャ (AWSSRA) のfuture に影響を与えましょう。

人工知能と機械学習 (AI/ML) はビジネスを変革しています。AI/ML は 20 年以上にわたって Amazon が注力してきた分野であり、セキュリティサービスを含め、お客様が AWS で使用する機能の多くは AI/ML によって推進されています。これにより、セキュリティチームやアプリケーション開発チームに AI/ML の専門知識がなくても AWS で安全に構築できるため、差別化された価値が組み込まれています。

AI は、マシンとシステムがインテリジェンスと予測能力を獲得できるようにする高度なテクノロジーです。AI システムは、消費またはトレーニングされたデータを通じて過去の経験から学習します。ML は AI の最も重要な側面の 1 つです。ML とは、コンピューターが明示的にプログラミングされなくてもデータから学習できる能力です。従来のプログラミングでは、プログラマーはプログラムがコンピューターまたはマシン上でどのように動作するかを定義するルールを作成します。ML では、モデルはデータからルールを学習します。ML モデルはデータに隠れたパターンを発見したり、トレーニング中に使用されなかった新しいデータを正確に予測したりできます。複数の AWS サービスが AI/ML を使用して膨大なデータセットから学習し、セキュリティ推論を行います。

  • Amazon Macie は、ML とパターンマッチングを使用して機密データを検出して保護するデータセキュリティサービスです。Macie は、名前、住所などの個人を特定できる情報 (PII) や、クレジットカード番号などの財務情報など、増え続ける大量の機密データを自動的に検出します。また、Amazon Simple Storage Service (Amazon S3) に保存されているデータを常に把握できます。Macie は、さまざまなタイプのデータセットでトレーニングされた自然言語処理 (NLP) モデルと ML モデルを使用して、既存のデータを理解し、ビジネスに不可欠なデータに優先順位を付けるためのビジネス価値を割り当てます。その後、Macie は機密データの調査結果を生成します。

  • Amazon GuardDuty は、ML、異常検出、統合脅威インテリジェンスを使用して悪意のあるアクティビティや不正な動作を継続的に監視する脅威検出サービスです。これにより、AWS アカウント、インスタンス、サーバーレスおよびコンテナのワークロード、ユーザー、データベース、ストレージを保護できます。 GuardDuty には、潜在的に悪意のあるユーザーアクティビティを、AWS アカウント内の異常ではあるが無害な運用行動から識別するのに非常に効果的な ML 技術が組み込まれています。この機能は、アカウント内の API 呼び出しを継続的にモデル化し、確率的予測を組み込んで、非常に疑わしいユーザーの行動をより正確に分離して警告します。このアプローチは、検出、初期アクセス、持続性、権限昇格、防御回避、認証情報アクセス、影響、データ流出など、既知の脅威戦術に関連する悪意のあるアクティビティを特定するのに役立ちます。 GuardDuty機械学習の使用方法の詳細については、AWS re: Force 2023 ブレイクアウトセッション「Amazon での機械学習を使用した新しい発見の開発 (TDR310)」を参照してください。 GuardDuty

証明可能なセキュリティ

AWS は、数学的論理を使用してインフラストラクチャに関する重要な質問に答えたり、データを公開する可能性のある設定ミスを検出したりする自動推論ツールを開発しています。この機能は、クラウドとクラウドのセキュリティをより確実に保証するため、証明可能なセキュリティと呼ばれています。証明可能なセキュリティは、コンピュータシステムに論理的推論を適用する AI の特定の分野である自動推論を使用します。たとえば、自動推論ツールはポリシーやネットワークアーキテクチャ構成を分析し、脆弱なデータを公開する可能性のある意図しない構成がないことを証明できます。このアプローチは、クラウドの重要なセキュリティ特性を可能な限り最高レベルで保証します。詳細については、AWS ウェブサイトの「証明可能なセキュリティリソース」を参照してください。以下の AWS のサービスと機能では現在、自動推論を使用してアプリケーションのセキュリティを証明できるようにしています。

  • Amazon CodeGuru Security は静的アプリケーションセキュリティテスト (SAST) ツールで、ML と自動推論を組み合わせてコード内の脆弱性を特定し、これらの脆弱性を修正する方法に関する推奨事項を提供し、閉鎖までのステータスを追跡します。 CodeGuru セキュリティは、オープン・ワールドワイド・アプリケーション・セキュリティ・プロジェクト (OWASP) によって特定された問題のトップ 10、共通弱点列挙 (CWE)、ログ・インジェクション、シークレット、および AWS API と SDK の安全でない使用によって特定された上位 25 の問題を検出します。 CodeGuru また、セキュリティは AWS のセキュリティベストプラクティスを参考にしており、Amazon では数百万行のコードに関するトレーニングを受けています。

    CodeGuru セキュリティ部門は、その深いセマンティック分析により、非常に高い真陽性率でコードの脆弱性を特定できます。これにより、開発者やセキュリティチームはガイダンスに自信を持てるようになり、品質が向上します。このサービスは、ロジスティック回帰とニューラルネットワークを組み合わせたルールマイニングモデルと教師あり機械学習モデルを使用してトレーニングされています。たとえば、機密データ漏えいのトレーニング中に、 CodeGuru Securityはリソースを使用するコードパスや機密データにアクセスするコードパスを詳細に分析し、それを表す機能セットを作成し、そのコードパスをロジスティック回帰モデルや畳み込みニューラルネットワーク (CNN) の入力として使用します。 CodeGuru セキュリティバグ追跡機能は、バグがクローズされると自動的に検出します。バグ追跡アルゴリズムにより、 up-to-date 追加作業を行わずに組織のセキュリティ体制に関する情報を確実に入手できます。コードのレビューを開始するには、コンソールで既存のコードリポジトリを GitHub Enterprise GitHub、Bitbucket、または AWS CodeCommit に関連付けることができます。 CodeGuru CodeGuru Security API ベースの設計により、開発ワークフローのどの段階でも使用できる統合機能が提供されます。

  • Amazon Verified Permissionsは、構築するアプリケーションを対象とした、スケーラブルな権限管理ときめ細かな認証サービスです。Verified Permissionsは、自動推論と差分テストを使用して構築されたアクセス制御用のオープンソース言語であるCedarを使用しています。Cedar は、どのリソースに誰がアクセスできるかを記述するポリシーとして権限を定義するための言語です。また、それらのポリシーを評価するための仕様でもあります。Cedar ポリシーを使用して、アプリケーションの各ユーザーに許可される操作とアクセス可能なリソースを制御します。Cedar ポリシーは、ユーザーがリソースを操作できるかどうかを決定する許可または禁止のステートメントです。ポリシーはリソースに関連付けられており、1 つのリソースに複数のポリシーをアタッチできます。禁止ポリシーは許可ポリシーよりも優先されます。アプリケーションのユーザーがリソースに対してアクションを実行しようとすると、アプリケーションは Cedar ポリシーエンジンに承認リクエストを行います。Cedar は該当するポリシーを評価し、OR の決定を返します。ALLOW DENYCedar は、あらゆるタイプのプリンシパルとリソースの承認ルールをサポートし、ロールベースおよび属性ベースのアクセス制御を可能にします。また、ポリシーの最適化とセキュリティモデルの検証に役立つ自動推論ツールによる分析をサポートします。

  • AWS Identity and Access Management (IAM) Access Analyzer は、権限管理を効率化するのに役立ちます。この機能を使用すると、きめ細かいアクセス権限の設定、目的の権限の検証、未使用のアクセス権の削除による権限の調整を行うことができます。IAM Access Analyzer は、ログに記録されたアクセスアクティビティに基づいてきめ細かいポリシーを生成します。また、100 を超えるポリシーチェックが可能なため、ポリシーの作成と検証に役立ちます。IAM Access Analyzer は、証明可能なセキュリティを使用してアクセスパスを分析し、リソースへのパブリックアクセスとクロスアカウントアクセスに関する包括的な結果を提供します。このツールはZelkovaをベースに構築されており、IAMポリシーを同等の論理ステートメントに変換し、問題に対して汎用的かつ専門的な論理ソルバー (満足度モジュロ理論) を実行します。IAM Access Analyzer は、ポリシーが許可する動作のクラスの特徴を明確にするクエリを使用して Zelkova を繰り返しポリシーに適用します。アナライザーはアクセスログを調べて、外部エンティティが信頼ゾーン内のリソースにアクセスしたかどうかを判断しません。外部エンティティがリソースにアクセスしていなくても、リソースベースのポリシーでリソースへのアクセスが許可されている場合は、結果が生成されます。満足可能性モジュロ理論について詳しくは、『満足度ハンドブック』の「満足度モジュロ理論」を参照してください。 *

  • Amazon S3 Block Public Access は、バケットやオブジェクトへのパブリックアクセスにつながる可能性のある設定ミスをブロックできる Amazon S3 の機能です。Amazon S3 Block Public Access は、バケットレベルまたはアカウントレベルで有効にできます (アカウント内の既存のバケットと新しいバケットの両方に影響します)。パブリックアクセスは、アクセスコントロールリスト (ACL)、バケットポリシー、またはその両方からバケットおよびオブジェクトに付与されます。特定のポリシーまたは ACL が公開されていると見なされるかどうかの判断は、Zelkova 自動推論システムを使用して行われます。Amazon S3 は Zelkova を使用して各バケットポリシーを確認し、権限のないユーザーがバケットを読み書きできる場合は警告します。バケットにパブリックのフラグが付けられている場合、一部のパブリックリクエストはバケットへのアクセスを許可されます。バケットに非公開のフラグが付けられている場合、公開リクエストはすべて拒否されます。Zelkova は IAM ポリシーを正確に数学的に表現しているので、このような判断を下すことができます。ポリシーごとに式を作成し、その公式に関する定理を証明します。

  • Amazon VPC ネットワークアクセスアナライザーは、リソースへの潜在的なネットワークパスを把握し、潜在的な意図しないネットワークアクセスを特定するのに役立つ Amazon VPC の機能です。Network Access Analyzer は、ネットワークセグメンテーションの検証、インターネットアクセスの特定、信頼できるネットワークパスとネットワークアクセスの検証に役立ちます。この機能は、自動推論アルゴリズムを使用して、パケットが AWS ネットワーク内のリソース間で通過できるネットワークパスを分析します。次に、アウトバウンドとインバウンドのトラフィックパターンを定義するネットワークアクセススコープに一致するパスの結果を生成します。Network Access Analyzer はネットワーク構成の静的な分析を行います。つまり、この分析の一環としてネットワーク内でパケットが送信されることはありません。

  • Amazon VPC Reachability Analyzer は、AWS ネットワーク内の接続をデバッグ、理解、視覚化できる Amazon VPC の機能です。Reachability Analyzer は、仮想プライベートクラウド (VPC) 内のソースリソースと送信先リソース間の接続テストを実行できるようにする設定分析ツールです。宛先に到達可能になると、Reachability Analyzer hop-by-hop は送信元と宛先の間の仮想ネットワークパスの詳細を生成します。宛先に到達できない場合、Reachability Analyzer はブロッキングコンポーネントを識別します。Reachability Analyzer は、送信元と宛先の間のネットワーク構成のモデルを構築することにより、自動推論を使用して実行可能なパスを特定します。次に、設定に基づいて到達可能性をチェックします。パケットの送信やデータプレーンの分析は行いません。

* Biere、A. M. Heule、H. van Maaren、T. Walsh。2009。満足度ハンドブック。IOS Press、NLD。