業界の多くの記事や私のブログ「 Deciphering SASE」は、SASEの主な構成要素について非常に明確にしています。 SASEセキュリティの場合、Secure Web Gateway (SWG)、Cloud Access Security Broker (CASB)、Zero Trust Network Access (ZTNA)、Next-Generation Firewall (NGFW)が主なコンポーネントです。 これらのコンポーネントのセキュリティ機能には、IPアドレス、ドメイン、URL、ファイルレピュテーションベースのアクセス制御、マルウェア対策、データ損失防止、侵入防止に加え、L3/L4アクセス制御、URLカテゴリベースのアクセス制御、Software as a Service機能レベルのアクセス制御など、さまざまなレベルのポリシーベースのアクセス制御があります。 ハイパーテキスト転送プロトコル(HTTP)は、インターネット、SaaS(Software as a Service)、さらには企業アプリケーションのアクセスにおいて最も一般的なプロトコルであるため、セキュリティ機能は、多くの記事でハイパーテキスト転送プロトコルの文脈で説明されています。 この記事では、ドメインネームシステム(DNS)プロトコルと、DNSプロキシによって実現できる脅威防御に焦点を当てます。 私たちAryakaは、SASEはDNSベースのセキュリティを含むべきだと考えています。 DNSとは何ですか? DNSは、人間が読めるドメイン名をIPアドレスに変換するシステムです。 コンピューターはIPアドレスを使って相互に通信しますが、ドメイン名の方が人間にとって覚えやすく使いやすいのです。 ユーザーがウェブサイトやサービスにアクセスするためにブラウザでドメイン名を入力すると、ブラウザはDNSリゾルバにDNSクエリーリクエストを送信し、ドメイン名に関連付けられたIPアドレスを検索します。 リゾルバは、DNS階層と呼ばれる分散データベースでIPアドレスを検索し、それをブラウザに返します。DNSとDNSセキュリティによるセキュリティ「DNSセキュリティ」という用語は、通常、権威DNSサーバーやDNSリゾルバを含む、企業のDNSインフラを保護するために取られた対策を指すために使用されます。 「DNS経由のセキュリティ」とは、脅威防御とアクセス制御のためにDNSプロトコルを使用することを指し、通常は透過的なDNSプロキシを使用します。 SASEは、複数のネットワークセキュリティサービスを1つに統合しているので、SASEは「DNS経由のセキュリティ」と「DNSセキュリティ」の両方の機能を含む必要があると考えています。 この2つの機能は、DNSプロキシ機構を介してSASEで実現することができます。 SASEのSD-WAN部分は、DNSトラフィックをインターセプトしてDNSプロキシに渡し、様々なセキュリティ機能を実行することができます。 DNSプロキシは、DNSクエリを上流のDNSリゾルバ/サーバに送信する単純な(非再帰型)DNSリゾルバとしても動作する必要があります。SASE DNSプロキシの共通機能プライバシーの確保 ネイティブクライアントアプリケーション/ブラウザなどのクライアントが生成するDNSクエリは暗号化されません。 このため、トラフィックにアクセスできる中間エンティティは、ユーザーがどのウェブサイトを閲覧しているかを知ることができます。 このようなプライバシーの欠如は、中間者攻撃者がユーザーのオンライン行動を追跡することを容易にします。 SASEのDNSプロキシは、DNSクエリが企業の論理バウンダリから外に出る前に登場することができるため、DNS-over-TLSおよびDNS-over-HTTPを介して、上流のDNSリゾルバでユーザのオンライン行動のプライバシーを保護することができます。 DNSプロキシは、クライアントからのDNSクエリをインターセプトし、DNS-over-HTTPS/TLSを介してアップストリームのDNSリゾルバに転送することができます。 DNSレスポンスの完全性と認証の確保:DNSシステムは信頼に基づいて構築されています。 DNSクライアントとDNSリゾルバは、上流のDNSサーバーとリゾルバから得られるDNS応答を信頼します。 上流のDNSシステムが侵害された場合、攻撃者は本物のドメイン名に対して攻撃者のサイトIPアドレスでDNS応答を送信することが可能です。 これはDNSスプーフィングまたはDNSキャッシュポイズニング攻撃と呼ばれます。 DNSプロトコルのDNSSEC(セキュアDNS)拡張は、DNSスプーフィングを阻止するソリューションの1つです。 DNSSECは、DNSクライアント/リゾルブがデータの真正性を検証できるように、DNSレスポンスデータに電子署名を付与することで、攻撃から保護します。 しかし、すべてのDNSクライアントとリゾルバがDNSSECを実行できるわけではありません。 DNSクライアントとアップストリームDNSサーバーの邪魔になるDNSプロキシは、DNSSEC機能を使用してデータの有効性を検証できます。 DNSフラッド攻撃からの保護 この記事は、DNSインフラに対するDDoS攻撃、特に被害者を圧倒するDNS増幅攻撃とDNS反射攻撃について非常に包括的に説明しています。 これには、DNSサーバー/リゾルバが稼働しているインフラとDNSサービス自体の両方が含まれます。 別のタイプの攻撃は、リソース(CPUとメモリ)を使い果たすことを目的としています。 このタイプの例としては、NXDOMAINフラッド攻撃や、攻撃者が存在しないドメインやランダムなラベルを持つサブドメインでDNSクエリを送信するウォーター・トーチャー攻撃などがあります。 SASEは、L3/L4ファイアウォールサービスにより、DNSクエリがない場合、DNSレスポンスが被害者に到達するのを防ぐことができ、リフレクション攻撃を効果的に阻止することができます。 さらに、一般的なレート制限サービスを持つSASEは、ソースIP/サブネットごとのクエリ数を制限するために使用することができ、それによってDNSサービス(リゾルバとサーバ)の洪水を緩和することができます。 SASE DNSプロキシは、NXDOMAINフラッドや水責め攻撃を含むフラッド攻撃からインテリジェントに保護するために必要です。 SASE DNSプロキシは、DNSプロトコルレベルのレート制限と、異常ドメイン名検出方法を使用したランダムラベルの検出により、これらの攻撃を軽減します。 DNSベースのエクスプロイトからの保護:DNSインフラストラクチャの脆弱性や設定ミスは、攻撃者によってDNSサービスを侵害するために悪用される可能性があります。 DNSサービスが侵害されると、攻撃者は自分のIPアドレスでDNS応答を偽装することができます。 バッファオーバーフロー脆弱性の例としては、Bind9 TKEY 脆弱性や逆クエリーオーバーフロー脆弱性などがあります。 エクスプロイトの中には、関連するRFCへの準拠をチェックすることで検出できるものもあります。 しかし、場合によっては、エクスプロイトのペイロードがRFCに準拠している一方で、DNSサービスの実装の脆弱性を利用していることもあります。 SASEのセキュリティには通常、IDPS(侵入検知防御システム)が含まれており、既知のエクスプロイトを検知するために使用することができます。 ゼロデイ防御のためには、SASE DNSプロキシがプロトコルのコンプライアンスをチェックし、通常観測されるものと比較して異常なDNSペイロードコンテンツを識別するために異常検知を採用することが重要です。 アクセス制御と、ユーザが悪い評判のサイトを訪問することを防ぎます:上記の「DNSとは」セクションで説明したように、ドメイン名クエリは、ユーザーが任意のウェブサイトを訪問する際の最初のステップです。 Via-DNSのセキュリティは、マルウェアやフィッシングコンテンツをホストするサイトにユーザーがアクセスするのを防ぐ上で重要な役割を果たします。 多くの脅威インテリジェンス・ベンダーは、IPアドレスとドメイン名のレピュテーション・スコアを提供しています。 このインテリジェンスを利用して、悪意のあるドメイン名へのDNSクエリをブロックし、不正なIPアドレスを含むDNS応答を防ぐことができます。 SASE DNSプロキシの機能により、この第一レベルのアンチマルウェアとアンチフィッシングセキュリティをユーザーに実装することができます。 SASE DNSプロキシは、複数の脅威インテリジェンスベンダーと統合し、IP/ドメインレピュテーションデータベースを定期的に取得し、悪意のあるIPアドレスやドメイン名を含むDNSクエリや応答をフィルタリングします。 しかし、脅威インテリジェンス・フィードには誤検知もあり得るので、SASEプロバイダーが例外を作成する機能を提供していることを確認することが重要です。 さらに、SASE DNSプロキシは、管理者がカスタムドメイン名とIPアドレスをフィルタリングすることができ、企業の利益に沿わないサイトにユーザーがアクセスするのを防ぐことができます。 侵害されたアップストリームDNSサービスからの保護:前述のように、DNSSECは、DNSレスポンスの有効性の問題に対処し、なりすましIPアドレスによるDNSレスポンスを防止することができます。 しかし、すべてのDNSサービスがDNSSECを実装しているわけではありません。 非DNSSECベースの危殆化したDNSサービスからのDNSスプーフィングを検出することは、ユーザーがフィッシングサイトやマルウェアサイトにアクセスするのを防ぐために極めて重要です。 1つの手法は、複数のアップストリームDNSリゾルバを利用し、各リゾルバからの応答を比較し、結果が一貫している場合にのみDNS応答を転送することです。 SASE DNSプロキシの機能は、様々なアップストリームDNSリゾルバから受信した複数のDNSレスポンスの相互検証を可能にします。 応答間の一貫性をチェックし、検証に成功した場合のみ応答します。 このアプローチでは、複数のアップストリームDNSリゾルバからの応答を待つ必要があるため、DNSクエリに待ち時間が発生する可能性があるため、複数のDNSクエリを送信し、脅威インテリジェンスデータベースにクエリされたドメイン名に対する回答がない場合にのみクロス検証を実行するのが一般的です。 侵害の指標(IoC):DNSトラフィックのセキュリティ分析により、貴重な洞察や侵害の指標を得ることができます。 SASE DNSセキュリティが提供できる洞察とIoCには、以下のようなものがあります:
- 脅威インテリジェンスフィードを使用した疑わしいドメイン名。
- 侵害されたアップストリームDNSサービスからの保護」およびその他の技術で説明されているように、DNSレスポンス分析によるDNSスプーフィング試行の検出。
- NXDOMAINやSERVFAILなどの異常で予期しないDNSレスポンスコードの識別。
- 特定のドメインへの大量のリクエストや、失敗したクエリの繰り返しなど、異常なクエリパターンの検出。
- マルウェアがコマンド・アンド・コントロール・センターとの通信に通常使用するドメイン生成アルゴリズム(DGA)の検出。
- ドメインに関連するIPアドレスが急速に変化する高速フラックスネットワークの識別。 この動作は、マルウェアをホストしているサイトによく見られます。
SASE DNSプロキシ、IDPS、およびファイアウォールは、ユーザーのリスクを軽減するだけでなく、SASEシステムによって生成されたログを通じて貴重な洞察を提供する上で重要な役割を果たしています。まとめDNSベースのセキュリティは、実際のデータトランザクションが発生する前にDNSが参照されるため、ユーザーとDNSインフラストラクチャの両方にとって、最初の防御ラインとして機能するというのが私たちの見解です。 効果的なセキュリティのためには、攻撃をできるだけ早期に検知することが重要です。 DNSベースのセキュリティは、現在のSASE/SSEの文献の多くではあまり取り上げられていませんが、SASE/SSEサービスはDNSベースのセキュリティを取り入れるべきだと確信しています。 SASEとセキュリティに関する過去のブログ記事はこちらをご覧ください。
-
CTOインサイトブログ
Aryaka CTO Insightsブログシリーズは、ネットワーク、セキュリティ、およびSASEのトピックに関するソートリーダーシップを提供します。
Aryaka製品の仕様については、Aryakaデータシートを参照してください。