AIを活用した推奨アプリセグメントでゼロトラストを始めよう

# はじめに
本記事はゼットスケーラー株式会社としては[Advent Calender 2024](https://qiita.com/advent-calendar/2024/zscaler)の一つとして投稿しています。以下の免責事項をご理解の上、記事を読んで頂けると幸いです。

# 免責事項
本記事のコンテンツや情報において、可能な限り正確な情報を掲載するよう努めておりますが、 誤情報が入り込んだり、情報が古くなったりすることもあり、必ずしもその内容の正確性および完全性を保証するものではございません。そのため、本記事をエビデンスとしたゼットスケーラーへの問い合わせなどはご対応致しかねることをご理解頂けると幸いです。掲載内容はあくまで個人の意見であり、ゼットスケーラーの立場、戦略、意見を代表するものではありません。当該情報に基づいて被ったいかなる損害について、一切責任を負うものではございませんのであらかじめご了承ください。

# サイバー攻撃における一般的な攻撃ステップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/02391575-f8a4-a077-0b75-4f75fe8f3872.png)

#### 1.見つける (Attack Surface)
攻撃者はまず、標的となる企業の情報を収集します。例えば、公開された従業員の名前やメールアドレス、企業ウェブサイト上の技術情報、さらには脆弱性が公開されているサーバーやサービスが狙われます。また、サイバー攻撃ツールを使ってネットワークスキャンを行い、特定のポートが開いているサーバーや旧式のソフトウェアを探します。リモートワークで使われるVPNもよく狙われます。

#### 2.侵害する (Compromise)
次に、攻撃者はフィッシングメールを利用して社員の認証情報をだまし取る、または悪意のある添付ファイルを使ってマルウェアを展開します。例えば、経理担当者を装って請求書の送付を装うメールを送り、添付ファイルを開かせることでランサムウェアをインストールするケースがあります。企業内で未更新のソフトウェアがある場合、公開された脆弱性を悪用してシステムに侵入することも一般的です。

#### 3.詮索する (Lateral Movement)
攻撃者がシステム内に侵入した後、次に行うのはネットワーク内の探索です。例えば、Active Directory (AD)が狙われやすいです。

&nbsp;&nbsp;&nbsp;&nbsp;•   検証用アカウントが残っている。
&nbsp;&nbsp;&nbsp;&nbsp;•   推測しやすいパスワード（例: 「password123」「test123」）を使用している。
&nbsp;&nbsp;&nbsp;&nbsp;•   セキュリティ設定が緩く、MFAが有効化されていない。
&nbsp;&nbsp;&nbsp;&nbsp;•   必要以上の権限が割り当てられている。

攻撃者がAD内の「ドメイン管理者アカウント」を乗っ取ると、ネットワーク全体へのアクセスが可能になります。これにより、重要なサーバー、社員のメール、顧客データ、さらにはクラウド環境に至るまで、すべてのシステムが攻撃者の支配下に置かれるリスクがあります。

#### 4.盗む (Data Loss)
最終段階では、盗み出したデータを外部の攻撃者サーバーに送信します。たとえば、攻撃者は暗号化通信プロトコルを利用して監視をすり抜け、大量の顧客データや機密情報を持ち出します。実際のケースでは、サイバー犯罪者が攻撃対象企業の研究開発データを盗み、それを競合企業や闇市場に売却することで金銭的利益を得る例があります。

# Zscalerのソリューション
Zscalerは、攻撃ライフ サイクル全体にわたってデータを防御するクラウド ネイティブなランサムウェア対策を提供します。世界的に実証されたクラウド型のゼロトラスト アーキテクチャーにより、次のことが可能になります。

Attack Surfaceを排除：すべての侵入口を攻撃者から見えなくします。ゼロトラスト アーキテクチャーでは、ユーザー、ネットワーク、またはアプリケーションがインターネットに公開されることはありません。

Compromiseを防止：アウトバウンドとインバウンドの接続を100%検査し、被害が発生する前に脅威をブロックします。

Lateral Movementを阻止：ユーザー、ワークロード、アプリケーション間に1対1の直接接続を確立するため、ネットワークは攻撃者から見えなくなります。

Data Lossを防ぐ：すべてのトラフィックをクラウドならではの規模でリアルタイムに検査します。信頼できない接続を介して機密データがネットワークから流出することはありません。

# Lateral Movementを阻止
Zscalerは4つのステップに対してそれぞれのソリューションを提供していますが、今回はLateral Movementの対策でAIを活用したアプリセグメントの推奨機能を紹介します。

### 課題
多くの組織は、ユーザーからアプリケーションへのアクセスについて、完全なゼロトラスト、あるいは最小権限ポリシーを実現したいと考えています。このコンセプトは理解できますが、ロールや部門に応じて必要なアプリケーションへのアクセスを制御することは、ほとんどの中規模から大規模の組織では実現が大変です。

また、アプリケーションが物理データセンター、クラウドベースのデータセンター (AWS、GCP、Azure)、ブランチロケーションなどに幅広く展開されているため、ゼロトラストの実現をさらに難しくさせています。

多くの組織は、まず侵入されるVPNの代替としてZPAを使用し、Attack Surfaceの対策を行なっています。ワイルドカードまたはディスカバリーベースのアプリセグメント(*.corpdomain.com)を使用してルールを設定し、IdP経由で認証されたすべてのユーザーがほとんど全てのアプリケーションにアクセスできるようにしています。

誰がどのアプリケーションを使用しているかのトラフィックパターンを記録できますが、最小限アクセスを実現したい場合、よりセグメント化されたアクセスポリシーに移行する必要があります。ワイルドカードポリシーによって生じる攻撃対象領域を縮小してアプリケーションを保護したい場合には、どのような対策が必要でしょうか。

### AIを活用したソリューション
ZPAアプリセグメントの推奨機能は、ユーザーログを分析し、推奨のアプリセグメントを提案します。高度なAI/ML学習を使用して、組織内のアプリケーションを使用するユーザーに基づいて学習されたアプリセグメントが推奨されます。推奨されたアプリセグメントは、既存の定義済みアプリセグメントと結合させたり、新しいアプリセグメントとして追加したり、適用したくない場合は無視することもできます。

# Step1 推奨アプリセグメント有効化
推奨セグメンテーションを有効化する前提条件が満たされているかどうかを確認します。

#### 1.Idpの設定にSCIMが有効である
ZPAテナントでSCIMが適切に有効化されているかどうかをAuthentication → User Authentication → IdP Configurationで確認します。ユーザーIdP構成を編集し、一番下までスクロールして、このIdP に対してポリシーのSAML属性、SCIM同期、およびポリシーのSCIM属性が有効になっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/597c3c15-27f2-b689-2cbe-ebf33b38ba3e.png)

#### 2.SCIM経由で部署の属性が同期される
SCIM経由で送信されるユーザー属性の1つとしてIdPでDepartment属性が設定されていることを確認します。Authentication → User Authentication → SCIM Usersに移動し、数人のユーザーを選択して、部門属性が正しく反映されているかどうかを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/28d88b8d-310e-4a82-9fe8-84ee89ff3941.png)

#### 3.100個以上検出されたアプリケーションがある
過去14日間に少なくとも100件のアプリケーションが検出されたことを確認します。 Dashboard → Applicationsに移動し、ページの下部近くまでスクロールして、検出されたアプリケーションウィジェットを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/bf458428-cb2d-0536-a54c-ab9d57d42b8f.png)

#### 4.アクティブユーザーが20人以上いる
100を超えるアプリケーションに定期的にアクセスしているアクティブユーザーが20人以上いることを確認します。エンジンが取得するデータが増えるほど、追加のアプリセグメントに対してより適切な推奨事項を返すことができるため、すべてのユーザーが ZPA 経由でアプリケーションにアクセスするのが最適です。

#### 5.前提条件満たしているかを確認する
すべての要件を満たしている場合、 Resource Management → Application Management → Application Segments に移動し、「Recommended Application Segments」タブに移動します。推奨機能を有効にするオプションが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/39d3dc60-af72-b015-847d-fcd94714d749.png)

前提条件を満たしていない場合は、エラーが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/136a8ed2-7398-5cca-1b7c-8ddb5a5f9a7c.png)

#### 6.推奨アプリセグメントを有効化する
有効化するには、「Activate Recommendations」ボタンを押し、エンジンが最初の推奨事項を作成するまでに24～48時間待ちます。

# Step2 推奨アプリセグメント確認
アプリセグメントの推奨機能が動作していることと、アプリセグメントが提案されていることを確認します。Resource Management → Application Management → Application Segmentsに移動し、「Recommended Application Segments」タブに移動します。

ユーザーがアクセスした際に検出されたアプリケーションに基づいてエンジンが提案した推奨アプリセグメントを表示します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/c6e44f5f-1310-e4cb-e9b5-8b94088e2561.png)

# Step3 アプリセグメント作成
アプリセグメントの推奨事項を使用して、セグメントを作成します。

アプリセグメントエンジンが実行され、ネットワーク、トラフィック、ユーザー部門の類似性に基づいてセグメントが推奨されます。エンジンの確信度に基づいて積み重ねられたアプリセグメントの推奨事項に従い、管理者は以下の3つのワークフローを実行することができます。

&nbsp;&nbsp;&nbsp;&nbsp;•   新しいアプリセグメントを作成する
&nbsp;&nbsp;&nbsp;&nbsp;•   既存のアプリセグメントにマージする
&nbsp;&nbsp;&nbsp;&nbsp;•   セグメントの推奨事項を無視する

管理者は推奨セグメントにグループ化した理由を確認できます。新しいセグメントを使用した場合どれくらいの攻撃対象を削減できるかを確認できます。

以下の図は、管理者が対象アプリをクリックした場合を示しています。Potential Usersはワイルドカードで設定されている場合、アクセスできる潜在的なユーザー数です。

Recommended Usersはアプリにアクセスしたユーザーと同じ部門のユーザの合計です。Grouping Reasonsは、セグメントにグループ化した理由が表示されます。

右上隅には、アクセス実績がある部門のユーザーのみに新しいアプリセグメントにアクセスを制限する場合、攻撃対象領域の合計削減量が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/ffd6ef47-bd3e-bc06-b132-81b78186362d.png)

#### • 新しいアプリセグメントを作成する
Resource Management → Application Management → Application Segmentsに移動し、「Recommended Application Segments」タブに移動します。アクションの追加アイコンを使用して、推奨事項に基づいて新しいアプリセグメントを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/1adb9e1e-3afa-eaa9-ddc5-6c3a2ba103af.png)

次に、新しいセグメントを作成するすべてのまたは一部のサーバーFQDNのみを選択します。下部の [Next] ボタンを使用してワークフローを進め、[Save] をクリックして新しいセグメントを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/250eeff9-9a44-cb00-9193-e3a985345ad9.png)

#### • 既存のアプリセグメントにマージする
Resource Management → Application Management → Application Segmentsに移動し、「Recommended Application Segments」タブに移動します。マージアクションアイコンを使用して、推奨事項に基づいて既存のアプリセグメントにマージします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/603d428e-5db6-1a0b-a6e4-cc775fee1b81.png)

次に、マージする既存のアプリセグメントを選択します。下部の [Next] ボタンを使用してワークフローを進め、既存のセグメントにマージセグメントの推奨項目を反映します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/966521e6-2103-54cc-2a27-77dc394972f3.png)

#### • セグメントの推奨事項を無視する
Resource Management → Application Management → Application Segmentsに移動し、「Recommended Application Segments」タブに移動します。アクション列の3つのドットをクリックし、[Ignore] を選択します。これにより、エンジンは検出結果から推奨事項を削除し、次回のエンジン実行時に別の推奨事項を提案できるようになります。管理者は、診断ログにアクセスしたり、提案されたセグメントをCSVファイルにダウンロードして、このセグメントが提案された理由をさらに確認することもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625305/82d8ec4f-2d5d-6715-b6b1-3f3488b26dee.png)

# まとめ
AIを活用したアプリセグメントの推奨機能は最小権限アクセスの実現を効率化します。このプロセスにより、攻撃対象領域を大幅に削減できるだけでなく、ネットワーク全体のセキュリティを強化することが可能です。是非活用してみてください。