(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-02
(45)【発行日】2023-02-10
(54)【発明の名称】ドメイン名のホモグラフ検出
(51)【国際特許分類】
H04L 61/4511 20220101AFI20230203BHJP
【FI】
H04L61/4511
(21)【出願番号】P 2021540481
(86)(22)【出願日】2019-11-06
(86)【国際出願番号】 US2019060141
(87)【国際公開番号】W WO2020149920
(87)【国際公開日】2020-07-23
【審査請求日】2021-09-07
(32)【優先日】2019-01-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517308688
【氏名又は名称】インフォブロックス・インコーポレーテッド
【氏名又は名称原語表記】INFOBLOX INCORPORATED
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】オルモフィン・フェミ
【審査官】野元 久道
(56)【参考文献】
【文献】米国特許出願公開第2018/0337947(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 61/45
(57)【特許請求の範囲】
【請求項1】
システムであって、
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信し、
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用し、
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する、プロセッサーと、
前記プロセッサーに結合され、前記プロセッサーに指令を出すメモリと、
を備えるシステム。
【請求項2】
請求項1に記載のシステムであって、前記DNSデータストリームが、ライブDNSデータストリームであるシステム。
【請求項3】
請求項1に記載のシステムであって、前記ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するシステム。
【請求項4】
請求項1に記載のシステムであって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するシステム。
【請求項5】
請求項1に記載のシステムであって、前記ホモグラフ検出器は、深層ニューラルネットワークとトレーニングデータとを用いて生成されるシステム。
【請求項6】
請求項1に記載のシステムであって、前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフの検出に基づいて、緩和措置を実行するシステム。
【請求項7】
請求項1に記載のシステムであって、前記プロセッサーがさらに、前記DNS応答をブロックして、前記ドメイン名の前記ホモグラフに関連付けられたIPアドレスとのクライアント通信を妨げるシステム。
【請求項8】
請求項1に記載のシステムであって、前記DNSクエリの解決のための前記DNS応答がIPアドレスを含み、
前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスをブラックリストに追加するか、またはホモグラフドメインをブラックリストフィードに追加するシステム。
【請求項9】
請求項1に記載のシステムであって、前記DNSクエリの解決のための前記DNS応答がIPアドレスを含み、
前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスをファイアウォールに送信するシステム。
【請求項10】
請求項1に記載のシステムであって、前記プロセッサーがさらに、下記の緩和措置:
前記ドメイン名の前記ホモグラフに関連付けられたIPアドレスに基づいてファイアウォールルールを生成する;
前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスへのネットワーク通信をブロックするネットワークデバイスを構成する;
前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスとの関連付けに基づいて感染していると判定された感染ホストを隔離する;
のうち、一つまたは複数を行うシステム。
【請求項11】
方法であって、
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信し、
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用し、
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する、
方法。
【請求項12】
請求項11に記載の方法であって、前記DNSデータストリームが、ライブDNSデータストリームである方法。
【請求項13】
請求項11に記載の方法であって、ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出する方法。
【請求項14】
請求項11に記載の方法であって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出する方法。
【請求項15】
請求項11に記載の方法であって、前記ホモグラフ検出器は、深層ニューラルネットワークとトレーニングデータとを用いて生成される方法。
【請求項16】
請求項11に記載の方法であって、さらに、前記ドメイン名の前記ホモグラフの検出に基づいて、緩和措置を実行する方法。
【請求項17】
コンピュータープログラ
ムであって
、
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信
する機能と;
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用
する機能と;
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する
機能と;
を
コンピューターに実現させるコンピュータープログラ
ム。
【請求項18】
請求項17に記載のコンピュータープログラ
ムであって、前記DNSデータストリームが、ライブDNSデータストリームであるコンピュータープログラ
ム。
【請求項19】
請求項17に記載のコンピュータープログラ
ムであって、前記ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するコンピュータープログラ
ム。
【請求項20】
請求項17に記載のコンピュータープログラ
ムであって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するコンピュータープログラ
ム。
【発明の詳細な説明】
【背景技術】
【0001】
ネットワークセキュリティは、インターネットなどのネットワークを介してリソースにアクセスする様々なネットワークおよびユーザーを保護する上での技術的課題であり、近年ますます課題が増えてきている。マルウェア、フィッシング攻撃、オンラインブランド攻撃などの詐欺行為では、その仕組みとして偽のドメイン名や紛らわしいドメイン名が頻繁に使用されており、それら偽のまたは紛らわしいドメイン名に関連付けられたサイトやサービスにユーザーを誘導しようとする。
【図面の簡単な説明】
【0002】
以下、本発明の様々な実施形態を、図面を参照しながら詳細に説明する。
【0003】
【
図1】ホモグラフ例と関連するピュニコード符号化を用いて偽装可能な、標的ドメイン名の例を示す図である。
【0004】
【
図2】いくつかの実施形態における、ドメイン名のホモグラフ検出のためのオンラインプラットフォームを構築するアーキテクチャを示す機能ブロック図である。
【0005】
【
図3】いくつかの実施形態における、ホモグラフ分類器トレーニングのための畳み込みニューラルネットワーク(CNN)アーキテクチャを示す図である。
【0006】
【
図4】いくつかの実施形態における、文字の入力画像に対して畳み込みカーネルトレーニングを実行して、ASCII文字へのマッピングを生成するためのプロセスを示す図である。
【0007】
【
図5】いくつかの実施形態における、ドメイン名のホモグラフ検出のためのオンラインプロセスを示すフロー図である。
【0008】
【
図6】いくつかの実施形態における、ドメイン名のホモグラフ検出モデル生成のためのオフラインプロセスを示すフロー図である。
【発明を実施するための形態】
【0009】
本発明は、プロセス、装置、システム、組成物、コンピューターによる読み取り可能な記憶媒体上に具現化されたコンピュータープログラム製品、および/または、例えばプロセッサーに結合されたメモリ上に記憶された、および/またはそのメモリによって提供される命令を実行するような機能を持つプロセッサーを含む多くの方法によって実施できる。本明細書では、これらの実装形態、または本発明を実現する他の任意の形態を技法と呼ぶことがある。一般に、開示されたプロセスのステップの順序は、本発明の範囲内で変更が可能である。特に言及しない限り、タスクを実行するためのプロセッサーまたはメモリなどの構成要素は、所与の時間にタスクを実行するために一時的に構成される一般的な構成要素、またはタスクを実行するように製造された特定の構成要素によって実現され得る。本明細書において、「プロセッサー」という用語は、コンピュータープログラムにおける命令などのデータを処理するように構成された一つまたは複数のデバイス、回路、および/または処理コアを指す。
【0010】
以下に、本発明の一つ又は複数の実施形態を、本発明の原理を示す図面を参照しながら詳細に説明する。以下の説明では、本発明は後述の実施形態に関連して説明されるが、本発明はそれらのいかなる実施形態にも限定されるものではない。本発明の範囲は特許請求の範囲によってのみ限定され、本発明は多数の代替物、改変物及び均等物を包含する。本発明の完全な理解のために、以下の説明において多数の具体的な記載が示されるが、これらの記載事項は例示の目的で示されるものであり、本発明は、特許請求の範囲内である限り、これらの具体的な特徴の一部または全部を除いた状態でも実施することができる。なお、本発明に関連する技術分野で知られている技術的材料は、不必要な曖昧性を避け、発明を明確にするために、詳細には説明されない。
【0011】
ネットワークセキュリティは、インターネットなどのネットワークを介してリソースにアクセスする様々なネットワークおよびユーザーを保護する上での技術的課題であり、近年ますます課題が増えてきている。マルウェア、フィッシング攻撃、オンラインブランド攻撃などの不正行為や非合法行為の仕組みにおいて、偽のドメイン名や紛らわしいドメイン名(例えば、偽装ドメイン名)が頻繁に使用されており、それらの偽または紛らわしいドメイン名(例えば、Uniform Resource Locator(URL))に関連付けられたサイトやサービスにユーザーを誘導しようとする。
【0012】
一般に、国際化されたドメイン名(IDN)は、ラベルとして、少なくとも一つのマルチバイトユニコード文字を使用する。ドメイン名の国際化によって、ユニコード標準のスクリプトに対応していれば、世界の筆記語のほとんどが、母国語のままの表記でドメイン名を作成できるようになった。DNSプロトコルおよびシステムとの互換性のため、IDNドメインは、ピュニコードシステムを使用してASCIIとして符号化される。
【0013】
具体的には、ピュニコードは、ドメイン名としての使用においてASCIIで記載できない語を変換するためのユニコードを指す。しかし一方で、ピュニコードは、標的のドメイン名のなりすましとしての、偽の、あるいは紛らわしいドメイン名(例えば、偽装ドメイン名)を生成するために不正使用されてしまうこともある。例えば、ピュニコードは、マルウェア、フィッシング攻撃、オンラインブランド攻撃などの詐欺行為において、偽のドメイン名や紛らわしいドメイン名を生成し、それらの偽の、又は紛らわしいドメイン名(例えば、URL)に関連付けられたサイトやサービスにユーザーを誘導する。
【0014】
具体的な問題は、人がピュニコードドメイン(例えば、xn-aa-thringen-xhb.de)を暗記するのは難しいため、ほとんどのシステムが、これらのドメインを復号された形態(例えば、aa-thuringen.de)で提示していることに起因している。このように、IDNは、ドメイン命名において、実際には違うが視覚的には類似している膨大な文字セットを作成することが可能であり、それがドメイン名のセキュリティ問題となる。その結果、以下で詳述する
図1に示されるように、ASCII文字のうちの一つまたは複数を、視覚的に類似しかつ不明瞭なユニコード文字で置換することによって、標的ドメイン(たとえば、価値の高い標的ドメイン名)になりすますといった不正も可能である。
【0015】
図1に、ホモグラフ例と関連するピュニコード符号化を用いて偽造可能な、標的ドメイン名の例を示す。本明細書において、ホモグラフとは、別の正当なドメイン(たとえば、標的ドメイン名)になりすますために作成されたドメイン名を指す。
図1を参照すると、102で示されるようなgoogle.com(googleは登録商標)などの標的ドメインは、104で示されるホモグラフ例を有し、このホモグラフ例は106で示されるピュニコード符号化を含む。
図1から明らかなように、google.comの標的ドメインに対するホモグラフの例は、一見同一に見えるが、実際は異なるピュニコード符号化を含んでいる。したがって、このホモグラフは、マルウェア、フィッシング攻撃、オンラインブランド攻撃、及び/または、他のホモグラフに関連付けられたサイトやサービス(たとえば、この例ではgoogle.comの標的ドメイン名をかたる、偽の、又は紛らわしいドメイン名)にユーザーを誘導する詐欺行為に利用される恐れがある。
【0016】
このような偽の、又は紛らわしいドメイン名(例えば、詐欺の可能性があるドメイン)によって引き起こされるリスクを緩和するためには、ホモグラフを含んだ偽の、又は紛らわしいドメイン名(例えば、URL)を自動的に検出することが有用である。しかしながら、従来の、ドメインブラックリストを使ったやり方や、sinkholingを使用した方法のような静的防止では、ピュニコードを使用して生成される、偽の、又は紛らわしいドメイン名(例えば、URL)による被害を効果的に防げない場合が多い。
【0017】
そのため、ドメイン名およびドメイン名システム(DNS)セキュリティのための、より効果的な新しい方法が必要である。具体的には、ドメイン名のホモグラフを検出することによって、ドメイン名およびドメイン名システム(DNS)のセキュリティが可能な、より効果的な新しい方法が必要である。
【0018】
ドメイン名のホモグラフを検出する技法の概要
【0019】
こうした背景の下、ドメイン名のホモグラフを検出するための様々な技法が開示されている。例えば、ディープラーニング技術(例えば、深層ニューラルネットワーク、または深層ネットワークとも呼ばれる)によって生成されるモデル(例えば、分類器を使用して実施される)を提供することが、ドメイン名のホモグラフを検出するための技術として開示されている。
【0020】
いくつかの実施形態では、ホモグラフとして知られる不正を目的としたドメイン名を検出するためのシステム、プロセス、及び/またはコンピュータープログラム製品が開示されている。例えば、不正者たちは、多くの場合、
図1において上記で説明したように、価値の高いドメイン名を持つ標的を選び、そのドメインになりすますためにホモグラフを作成し、その結果ユーザーはまんまと騙されることになる。不正者は、しばしばそのような、偽の、あるいは紛らわしいドメインを使用してマルウェアを仕掛けたり、ユーザー情報をフィッシングしたり、ブランドの名声を脅かしたりするなどの不正や詐欺行為を行う。
【0021】
またいくつかの実施形態では、ディープラーニング技術を使用してホモグラフを検出するシステム、プロセス、及び/またはコンピュータープログラム製品が開示されている。いくつかの既存の手法は、標的ドメインとホモグラフドメインとの間の類似性を識別するためにレーベンシュタイン距離を使用することなど、距離および文字列マッチング方法に焦点を当てている。これらの手法は、典型的には、二つの文字列間の距離が閾値距離比較に基づいて近いと判定されたときに、肯定的検出のフラグを立てる。また、これらの手法のいくつかは、IDNドメインに対してストリングマッチングを使用している。しかしながら、そのような手法では、ホモグラフを作成するために使用される文字の視覚的形状が考慮されないため、しばしば、偽検出および一致の見逃しが起こる可能性がある。これらの手法は、ユニコード文字の形状またはグリフの代わりに、整数符号点に焦点を当てている。ホモグラフは本来人間をだますように設計されているため、人間(例えば、ユーザー)は一般的に、符号点ではなく視覚的外観に基づいてドメインを判断するので、この違いは、こういったセキュリティ技術分野に関わってくる。
【0022】
したがって、いくつかの実施形態では、ドメイン名のホモグラフを検出するための技術において、ドメイン名の数字、文字、およびハイフンと視覚的に類似する文字を識別するためのディープラーニングシステムのトレーニングを、ユニコード文字の形状および特徴を重視して行う。実装形態の一例では、教師あり機械学習システムは、畳み込みニューラルネットワーク(CNN)であり、これは、視覚および画像認識タスクのための最先端技術である。この実装形態例では、ユニコードホモグラフらしきものの識別は、オフラインプロセスを使用して実施され、新しいスクリプトおよび文字がユニコード規格対応となった場合にも再度実行が可能である(例えば、現在、年に約一回新しいスクリプトおよび文字がユニコード規格となる)。
【0023】
またいくつかの実施形態では、ASCIIの数字、文字、およびハイフンの、それらに類似したユニコード文字に対する包括的かつ網羅的なマップがトレーニング段階において生成され、そのマップがオンライン段階で効率的かつ自動的に適用されて、DNSクエリおよび応答データストリーム中のライブトラフィック上においてリアルタイムでホモグラフを検出する、及び/又は、後にDNS応答ログデータを介して適用されることとなる。この技術は、例えば、以下で説明するように、DNSセキュリティソリューション用のホモグラフ検出器において実施可能である。実装形態の一例では、DNSセキュリティソリューションのためのホモグラフ検出器は軽量である。なぜなら、画像生成およびディープラーニングインフラストラクチャがオフライン/トレーニング段階では利用されるものの、これらはオンライン分類段階では不要であり、オンライン分類段階は、ライブDNSトラフィック上で効率的かつリアルタイムに実行できるためである。
【0024】
また他の実施形態においては、剽窃やフィッシングの難読化、及び/又はマルウェアによる実行ファイル名の偽装(例えば、実行可能ファイル名がWord.exeではく、malware.exe)を、同様のやり方で検出できる旨を開示している。
【0025】
別の既存の技法としては、Woodbridgeらによって提案された、入力がドメインのワイドピクセルであるSiameseニューラルネットワークを使用した技法(例えば、Jonathan Woodbridge, Hyrum S. Anderson, Anjum Ahuja, Daniel Grant, EndGame Inc., Detecting Homoglyph Attacks with a Siamese Neural Network, 2018 IEEE Symposium on Security and Privacy Workshops(2018年5月 https://arxiv.org/abs/1805.09738参照))がある。このような手法は、ドメインを画像に変換し、画像からのホモグラフオンライン予測を完了するための高価なインフラストラクチャを必要とする。一方、ドメイン名のホモグラフを検出する技術では、以下で説明するように、文字ごとにホモグラフ検出を実行し、その後のオンライン段階においてその検出結果によってホモグラフを識別することで、ドメイン名のホモグラフ検出のより効率的かつ正確なソリューションを実現している。
【0026】
また、いくつかの実施形態では、ドメイン名のホモグラフを検出するためのシステム、プロセス、及び/又はコンピュータープログラム製品が、DNSクエリおよびDNSクエリの解決のためのDNS応答を含むDNSデータストリーム(例えば、ライブDNSデータストリーム)を受信すること、DNSデータストリーム中の各ドメインについてホモグラフ検出器を適用すること、またホモグラフ検出器を使用してDNSデータストリーム中のドメイン名のホモグラフを検出することを含む。例えば、このホモグラフ検出器(例えば、ホモグラフ分類器)は、IDNドメインについてホモグラフを自動的に検出し、ユニコード文字認識のための機械学習を適用する。
【0027】
いくつかの実施形態では、ホモグラフ検出器は、文字ベースのマップ(たとえば、ASCII文字からユニコード文字へのマッピング)を用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出する。
【0028】
いくつかの実施形態では、ドメイン名のホモグラフを検出するためのシステム、プロセス、及び/又はコンピュータープログラム製品が、ドメイン名のホモグラフ検出に基づいてさらに緩和措置を実行することを含む。緩和措置には、例えば、ドメイン名のホモグラフに関連付けられたIPアドレスに基づいてファイアウォールルールを生成すること;ドメイン名のホモグラフに関連付けられたIPアドレスとのネットワーク通信をブロックするようにネットワークデバイスを構成すること;ドメイン名のホモグラフに関連付けられたIPアドレスとの関連付けに基づいて感染していると判定されたホストを隔離すること;および、ドメイン名のホモグラフを評判フィードに追加すること、のうちの一つまたは複数が含まれる。
【0029】
いくつかの実施形態では、ドメイン名のホモグラフを検出するためのシステム、プロセス、及び/又はコンピュータープログラム製品が、ドメイン名の文字画像に対するトレーニングおよびテストデータセットを生成すること、一つまたは複数のASCII文字と視覚的に類似するユニコード文字を認識するためのトレーニングおよびテストデータセットを使用して、ホモグラフ分類器をトレーニングすること、ユニコード文字のセットに対してホモグラフ分類器を実行してASCIIからユニコードへのマップを生成することを含む。例えば、このホモグラフ検出器(例えば、ホモグラフ分類器)は、IDNドメインについてホモグラフを自動的に検出し、ユニコード文字認識のための機械学習を適用する。
【0030】
例えば、ドメイン名のリアルタイムホモグラフ検出は、反応的またはオフライン検出とは異なり、DNSサーバ/アプライアンスにおいてDNSクエリのライブストリームに対してリアルタイムで実行される(例えば、他のコンテキスト情報なしでドメイン名文字列への入力を制限することができる)。以下で詳しく述べるように、ホモグラフ検出モデル(たとえば、以下で説明するように、場合によってはドメイン名を入力として効果的かつ効率的に受信し、そのドメイン名がホモグラフである確率を決定することが可能な一つまたは複数の分類器)のトレーニングおよび評価において、本物のDNSトラフィックデータを使用する。
【0031】
実装形態の一例では、開示技術によるホモグラフに対するリアルタイム処理を容易にするために、一つまたは複数のホモグラフ検出モデルにおいて、インライン検出のためのリアルタイムDNSクエリを標的とする。さらに、この手法は、マルウェアIPアドレスを取得し、ブラックリストを作成することもできる。
【0032】
また別の実装形態例では、ホモグラフ検出器が、DNS応答ログストリーム上でホモグラフを検出するために配置される。
【0033】
また、いくつかの実施形態では、ドメイン名のホモグラフを検出するための技術が、オフライン段階およびオンライン段階において実行される。オフライン段階では、トレーニングおよびテストデータセットが生成され、畳み込みニューラルネットワーク(CNN)分類器をトレーニングするために使用される。次に、CNN分類器を使用して、関連するASCII文字から視覚的に類似するUnicode文字へのマッピングを作成する。オンライン段階では、検出器は、マッピングおよび標的ドメイン名のリストを利用して、実際のライブDNSトラフィック上のホモグラフを識別する。以下に、例えば
図2および
図3を参照して、これらの技術およびシステムの実装形態例について詳述する。
【0034】
以下に、ドメイン名のホモグラフを検出するための上記技法、および他の技法についてさらに説明する。
【0035】
ドメイン名のホモグラフ検出のためのオンラインプラットフォームアーキテクチャ
【0036】
図2は、いくつかの実施形態における、ドメイン名のホモグラフ検出のためのオンラインプラットフォームを構築するアーキテクチャを示す機能ブロック図である。
図2は、202と、さらに以下にも示すように、インラインホモグラフ検出コンポーネントを提供するために分類器がどのように展開できるかを示す。一実施形態においては、オンラインプラットフォーム用のフレームワークは、(例えば、スケーラブルな実装の)リアルタイムプロセッサークラスターを含む。例えば、リアルタイムプロセッサークラスターは、DNSストリームデータ入力を処理および分析し、ドメイン名のホモグラフの検出を行うことを含むリアルタイムDNSストリームデータ検出を行う複合イベント処理(CEP:Complex Event Processing)機能を扱うように構成することができる。実装形態の一例では、ホモグラフ検出モジュールを含む検出モジュールは、
図2を参照してさらに説明するように、オフラインプラットフォーム(例えば、
図3を参照して以下でさらに説明するようなオフラインプラットフォーム)からトレーニングされたプラガブルとすることができる。特に、オンラインプラットフォームは、本明細書においてさらに説明するように、ドメイン名のホモグラフ検出において一つまたは複数のモデル(例えば、分類器)を適用することができる。さらに、これらのモデルは、本明細書でさらに説明するように、オンラインシステム及び/又はオフラインシステムにおいて再トレーニングおよび精緻化することができる。
【0037】
図2に示すように、オンラインプラットフォームは、入力キュー206を介してDNSデータストリーム204を受信する(例えば、リアルタイムプロセッサークラスターを使用して実装される)ホモグラフドメイン名検出器202を含む。また、例えば、リアルタイムでドメイン名のホモグラフを効率的に検出するために、リアルタイムエンドツーエンド処理を容易にする水平スケーラブルインフラストラクチャを備えることも可能である。ホモグラフ検出モデル/分類器は、以下でさらに説明するように、ウェブスケールおよびDNS速度で実行できるように構築することができる。
図2に示される、オンラインプラットフォームのアーキテクチャの一実装形態例においては、以下でさらに述べるように、アーキテクチャは、分散されかつ水平にスケーラブルである、種々のオープンソース要素から成る。
【0038】
実装形態の一例では、エージェントは、一つまたは複数のDNSサーバまたはアプライアンス上で実行されてDNSクエリを収集し、周期的にまたはリアルタイムで、DNSクエリをDNSストリーム204に送信し、次いで、ホモグラフドメイン名検出器202を実装するための(たとえば、リアルタイムプロセスクラスターを使用して実行される)ホモグラフ検出モデル/分類器を使用してそのDNSデータを収集し、ほぼリアルタイムで処理するために、キューイング機構に提供するように構成されてもよい。例えば、エージェントは、
図2に示すように、入力キュー206によって、DNSストリームを構造化データとして送信するように構成することができる。いくつかの場合において、DNSデータストリームは、セキュリティ及び/又はポリシー/ルール分離などのために、グリッドごとに区分することができる(例えば、緩和措置は、グリッドごとのポリシーまたは他の何らかのレベルの粒度に基づいてグリッドごとに構成できる)。入力キュー206は、DNSメッセージストリームの入力のための永続的キューとして使用され得るApache Kafka高スループット配信メッセージングシステムなどの、オープンソースメッセージキューを使用して実施できる。
【0039】
一実施形態においては、ホモグラフドメイン名検出器202は、本明細書で説明する様々な技法を使用して、ライブDNSストリーム204上で、ドメイン名のホモグラフの自動検出をリアルタイムで実行し、ホモグラフ検出結果を含むDNSセキュリティ検出結果を検出データベース208に提供する(例えば、いくつかの実装形態においては、以下でさらに説明する様々な技法を使用して検出されたホモグラフらしきものは、以下で説明するように、さらなるオフライン分析、報告、及び/又はさらなる分析のためのクラウドベースのDNSセキュリティサービス212へ送られる(インターネット及び/又は他のネットワーク通信を介して)ため、検出データベース208に記憶されるか、あるいは別のデータストア/キャッシュ(
図2には図示せず)にキャッシュされてもよい))。実装形態の一例では、ホモグラフドメイン名検出器202は、Apache(登録商標) StormまたはApache Sparkなどのストリームデータ処理のためのオープンソースプラットフォームを使用して実施することができる。これらのオープンソースプラットフォームは、一つまたは複数のホモグラフ検出モデル/分類器、および本明細書でさらに説明する様々な機械学習技法に基づいて、リアルタイム分析を実行するように実施することができる、無料かつオープンソースの配信リアルタイム計算システム(例えば、アプリケーションを並列に実行することを可能にする分散フレームワークであって、ユーザーはそのAPIに基づいてアプリケーション層内にトポロジネットワークを構築することができ、Stormネットワークによって供給および管理される各トポロジは一つまたは複数のアプリケーション用である)である。
【0040】
実装形態の一例では、このオンライン検出フレームワークは、アプライアンス(例えば、アプライアンス及び/又はコンピューティングサーバのセット、または仮想アプライアンスなどの、仮想マシンインスタンスを含む他のタイプのコンピューティングデバイスを使用して)として実施することができる。例えば、参照符号210によって示されるオンラインプラットフォームの一部分は、DNSサーバ及び/又はDNSアプライアンスの構成要素として実施可能である。別の例として、参照符号210によって示されるオンラインプラットフォームの一部分は、1つ以上のコンピューターサーバもしくはアプライアンスデバイス上で実施可能であり、また、Amazon(登録商標) Web Services(AWS)もしくはクラウドベースのコンピューティング、およびストレージサービスのための別のクラウドサービスプロバイダを使用する等、クラウドサービスとしても実施可能である。
【0041】
同様に
図2に示すように、オンラインプラットフォーム210を使用して得られたDNSセキュリティ検出結果は、緩和エンジン214へも通信可能である。いくつかの実装形態においては、緩和エンジンは、オンラインプラットフォーム内で、またはオンラインプラットフォームと統合されて、及び/又は、DNSサーバ、及び/又はDNSアプライアンスの構成要素として実装できる。緩和エンジン214は、ポリシーデータベース216に記憶されたDNSセキュリティポリシーなどのポリシーに基づいて、DNSセキュリティ検出結果に対する様々な緩和措置を決定および要求することができる。例えば、緩和エンジン214は、ホモグラフドメイン名検出器202を使用して、不正ネットワークドメインに関連すると決定されたDNSクエリ/要求(例えば、標的ドメイン名のホモグラフであると決定されたドメイン名/FQDN)をフィルタリング(例えば、ブロックまたはブラックリストに入れる)するように、スイッチまたはルータネットワーキングデバイス218を構成することができる。いくつかの実装形態では、ポリシーデータベース216に記憶されたDNSセキュリティポリシーなどのポリシーに基づくDNSセキュリティ検出結果に対する緩和措置は、標的ドメイン名の中のホモグラフらしきものに関連するDNSサンプルを、DNSセキュリティサービス212に送信することを含むことができる。
【0042】
別の例として、緩和エンジン214は、ホモグラフドメイン名検出器202を使用して、不正ネットワークドメインに関連すると判定された一つまたは複数の不正ドメイン(例えば、標的ドメイン名のホモグラフであると判定されたドメイン名/FQDN)を識別するために、DNSファイアウォール220と通信することができる。いくつかの実装形態においては、緩和エンジン214は、レスポンスポリシーゾーン(RPZ)データフィードなどのデータフィードを使用し、出版-購読型モデル接続プロトコル及び/又は様々な他の通信機構を介して、DNSファイアウォール(例えば、あるいは他のファイアウォールデバイス)220と通信する。一実施形態においては、DNSセキュリティを実行するための複数の分類器をサポートする、ネットワークセキュリティのためのホモグラフドメイン名検出器を実装するオンラインプラットフォームのアーキテクチャが開示されている。例えば、DNSセキュリティを実行するための二つ以上の異なる分類器で使用するために、共通の属性をDNSデータストリームから効率的に抽出することができる。分類器の例として、ホモグラフドメイン名検出のための分類器、ドメインフラックス(高速フラックス)関連アクティビティ、DNSトンネリング関連アクティビティのための分類器、ドメイン生成アルゴリズム(DGA)関連アクティビティのための分類器、及び/又はDNSセキュリティを実行するためのその他の分類器が挙げられる。以下、ホモグラフドメイン名検出のための分類器の例について更に説明する。
【0043】
一実施形態においては、ホモグラフドメイン名検出器202は、インラインホモグラフドメイン名検出コンポーネントを提供するための分類器を含む。例えば、クライアントデバイス(図示せず)がDNSクエリ(例えば、A/AAAAクエリ)をDNSサーバに送信し、キャッシュされていない場合、DNSサーバポリシーは、DNSクエリを上位再帰(図示せず)に転送し、また、ドメイン名210のホモグラフの検出のためにオンラインプラットフォームを使用して実行されるセキュリティ分析のために、DNSストリーム204に提供される。DNSクエリは、ホモグラフドメイン名検出器202を使用して、セキュリティ分析のために処理され、ポジティブ判定(すなわち、該特定のDNSクエリは、ホモグラフであると判定された、または
図3に関して以下でさらに説明するように、閾値に基づいてホモグラフである可能性が高いと判定されたドメイン名を使用している場合)かどうかが決定される。次いでDNSクエリはホモグラフとして識別され、ポリシーデータベース216に記憶されたルール/ポリシーに基づいて実行される措置を決定するために、緩和エンジン214に送信される。このように、DNSクエリが解明され、インラインホモグラフドメイン名検出器202によって検出がポジティブと判定される(例えば、DNSサーバで解明するドメインは、上記において、ドメイン名が、
図3に関して以下でさらに説明されるような、深層ネットワークを用いたインラインホモグラフドメイン名検出のための開示技術を使用して、インラインホモグラフドメイン名検出器202によって実装される分類器によって、悪意のあるもの/標的ドメイン名のホモグラフであると予測可能であったのと同様に、それらが悪意のあるものであるかどうかを予測するために、インラインホモグラフドメイン名検出器202によって実装される分類器に照らしてチェックされる)と、次いで、ポリシーデータベース216に記憶されたルール/ポリシーに基づいた措置を実行することができる(例えば、解明済みのIPアドレスを、ファイアウォール/DNSファイアウォールを使用して実施されるブラックリストに追加する措置などであり、この場合DNSファイアウォール220は、セキュリティサーバ/アプライアンスおよび/またはセキュリティサービス、DNSサーバ/アプライアンスの構成要素、および/またはそれらの組合せなどの別個の製品/サービスとして実装することができる)。
【0044】
DNSデータは、ドメイン名のホモグラフ検出を含む、ネットワークにおける悪意ある行為の検出に非常に有用である。したがって、本開示技術は、
図3に関して以下でさらに説明するようなトレーニングにおいて、(1)人間工学的特徴を使用せず、かつ(2)合成データではなく実際のトラフィックを使用し、ドメイン名のホモグラフのインライン検出を促進するため、ドメイン名のホモグラフのリアルタイム検出にディープラーニングを適用するための新たな解決策を提供する。
【0045】
トレーニングデータセットの作成
【0046】
いくつかの実施形態では、標的ドメイン名のホモグラフを自動的に検出できる機械学習(ML)ベースのモデル(例えば、分類器)をトレーニングする際に、リアルトラフィックDNSデータおよびライブトラフィックDNSデータがサンプルとして使用できるため、いくつかの実施形態における深層ネットワークによるインラインホモグラフドメイン名検出が容易になる。実装形態の一例では、ホモグラフ分類器は、トレーニング画像、トレーニングラベル、テスト画像、およびテストラベルを含むプロプライエタリデータセットを使用してトレーニングされる。この例では、データセットは、ドメイン名のASCII文字(すなわち、0...9, a...z, A...Z, 及び -)、ユニコードシード紛らわしい文字リスト(例えば、https://www.unicode.org/Public/security/12.0.0/confusables.txtで利用可能),発音区別符号(例えば、発音区別符号マーク、アクセント)、及び均一にスケーリングされた複数のフォントを使用して生成される。データのフォーマットは、手書き数字のMINSTデータセットに使用されるフォーマットのアダプテーションである(例えば、http://yann.lecun.com/exdb/mnistを参照)。符号なしバイトラベルを使用するMINSTラベルファイルとは異なり、当該データセットの各ラベルは4バイトの整数である。生成プロセスでは、各文字を28×28ピクセルの画像としてレンダリングする。この例では、トレーニングセットは百万以上の画像を含み、テストセットは数十万の画像及びラベルを有する。各々の文字クラスについてデータを生成することに加えて、ドメイン名文字または視覚的に異なるユニコード文字に属さない他のASCII、およびユニコード文字についての同じような数のデータポイントの付加クラスを含んでもよい。
【0047】
ディープラーニング法
【0048】
一実施形態においては、ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)を使用してトレーニングされる。別の実施形態では、回帰ニューラルネットワーク(RNN)を使用するなど、他のタイプのニューラルネットワークが、ホモグラフドメイン名検出のための本開示技術を実行するためにトレーニングされ、利用される。どちらのニューラルネットワークも、マニュアル特徴抽出の手間を要することなく、生データを入力とすることができる。別の実施形態では、K平均クラスタリングおよびサポートベクトルマシン(SVM)などの他の機械学習アルゴリズムが、分類器をトレーニングするために使用される。
【0049】
畳み込みニューラルネットワーク
【0050】
CNNは、画像処理における最先端の進歩として知られており、グリッド状トポロジの入力に適用される。(例えば、http: //www. deeplearningbook.orgに記載の、I. Goodfellow, Y. Bengio, and A. Courville, Deep learning, MIT Press, 2016を参照)CNNは、予測に重要なパターンを検出するために、フィルタを自動的に学習する。これらのパターンの存在(または欠如)は、次に、クイントエッセンシャルニューラルネットワーク(例えば、多層パーセプトロンまたはMLP)によって使用され、予測が行われる。これらのフィルタ(例えば、カーネルとも呼ばれる)は、バックプロパゲーション中に学習される。画像処理における直感的な例としては、画像内における位置にかかわらず垂直エッジを検出できるフィルタが挙げられる。
【0051】
CNNの根本となる演算は、各フィルタと入力のサブセクションとの間で実行される、要素ごとの乗算である。結果として得られる値は、これらのサブセクションがフィルタと一致する度合いを示す。このようにして、フィルタは、発見された特徴の位置を表すアクティベーションマップを形成するため、入力に畳み込まれる。後続の各畳み込み層は、さらなる抽象化を達成し、先行する層において検出された特徴からなるさらに高度なレベルの特徴を見つける。
【0052】
画像処理は、画像を使用したホモグラフドメイン名検出のための、2次元の畳み込みである。
図3に関して以下でさらに説明するように、深層学習法でトレーニングされるネットワークは、文字レベル(例えば、ホモグラフの検出のための各ドメイン名の文字ごとの画像ベース分析)で動作し、埋め込み層から開始することができる。
【0053】
実装形態の一例では、これらのニューラルネット例は、Python(登録商標)2とTensorflow(登録商標)を用いてトレーニングできる。この実装形態例では、トレーニングに使用されるプラットフォームは、GPUへのアクセス可能なAWS仮想マシンである。オンラインモデル/分類器は、ユニコード文字を、ドメイン名ラベルの視覚的に類似したASCII文字として分類することができる。分類結果のマッピングは、DNSデータストリーム(例えば、ライブDNSトラフィック)上のホモグラフのインライン検出に使用することができる。本開示検出システムは、Java(登録商標)、Scala、または別の高レベルプログラミング言語を使用して実装できる。
【0054】
さらに、本開示技術は、オンライン連続トレーニング(例えば、自動特徴抽出を含む)を含むことができる。例えば、この開示技術は、(例えば、以下でさらに説明されるように、ユニコード規格の周期的更新に基づいて)オンライン展開後に、人による対話なしに、分類器を周期的にトレーニングし、また改良できる。
【0055】
ホモグラフ分類器のオフライントレーニング、およびホモグラフ分類器を使用したドメイン名のホモグラフのオンライン検出のための機械学習アーキテクチャの実施形態
【0056】
図3は、いくつかの実施形態における、ホモグラフ分類器トレーニングのための畳み込みニューラルネットワーク(CNN)アーキテクチャを示す。具体的には、
図3に示すCNNアーキテクチャ例は、オフライン段階302中にホモグラフ分類器310をトレーニングし、次いで、オンライン段階314においてホモグラフ分類器を展開して、以下でさらに説明するDNSデータストリーム(例えば、ライブDNSトラフィック)上のドメイン名のホモグラフを自動的に検出する。例えば、ホモグラフ分類器は、
図2に関して上記で同様に説明したホモグラフドメイン名検出器202の実装として展開することができる。
図3に関して以下でさらに説明するように、本開示技術は、ドメイン名の文字ごとに行われる画像ベースの分析を用いてドメイン名のホモグラフを検出するCNNアーキテクチャをトレーニングし、展開することを含む。
【0057】
オフライン段階302を参照すると、オフラインプロセスは、304において、トレーニング及びテスト用データセット(例えば、文字画像当たり28×28ピクセル又は別のピクセル濃度を使用)(例えば、MNISTデータセットを含むテストデータセット)とラベルを、ユニコードシード紛らわしい文字リスト(例えば、https://www.unicode.org/Public/security/12.0.0/confusables.txtから利用可能),発音区別符号(例えば、発音区別符号マーク、発音区別符号ポイント、発音区別符号サイン又はアクセントなどの文字に付加されたグリフ)、及び複数のフォントを使用して生成することから始まる。次いで、306に示すように、テストデータセットを用いてCNN分類器をトレーニングし、視覚的に類似したユニコード文字をASCIIとして認識し、次いでホモグラフ分類器を出力する。308においては、ラテン文字様グリフを有するユニコードスクリプトからのデータセット及びラベルが生成され、
図3に示されるようにホモグラフ分類器への入力として付与される。310においては、視覚的類似性に基づいて、ユニコードセット内の各ユニコード文字にASCII文字をマッピングするために、ユニコードセット全体にわたってホモグラフ分類器が実行される。結果として得られる出力は、312に示されるように、ASCIIからユニコードへのマッピング(例えば、ASCII―ユニコードマップ)である。したがって、312に示すように、各ASCII文字は、本開示技術による画像ベースの文字を使用した文字マッピングによって、様々な異なるユニコード文字にマッピングされる。
【0058】
オンライン段階314を参照すると、ドメイン名の標的リスト316(例えば、infoblox.com(infobloxは登録商標), workday.com(workdayは登録商標), apple.com(appleは登録商標)など)が、ホモグラフ検出器320への入力として付与される。次いで、入力DNSストリーム(例えば、DNSデータストリーム)318が、ホモグラフ検出器320に付与される。ドメイン名の標的リスト316は、所与のエンティティ/顧客についてのドメイン名、所与のバーティカル(例えば、政府エンティティ、銀行/金融エンティティ、医療/病院エンティティ、小売業エンティティ、技術分野エンティティ、または他のバーティカル市場/チャネル)についてのドメイン名、または所与の地理的エリア内のエンティティについてのドメイン名のリスト、あるいは非常に有名なドメイン(例えば、https://majestic.com/reports/majestic-millionで入手可能なMajestic Millionによって提供されるリスト、https://www.domcop.com/で入手可能なDomCopによって提供されるリスト、あるいはその他のよく知られたドメイン名リストなどの、市販あるいはオープンソースの公開ドメイン名リスト)のリスト、あるいはこれらの任意の組み合わせなどからなる、ドメイン名の構成リストとすることができる。この実装形態例では、ホモグラフ検出器320は、ドメイン名の標的リスト316と、ASCII-ユニコードマップ312と、入力ドメイン/DNSストリーム318とを含む。入力ドメイン/DNSストリーム318上での動作中に、ホモグラフ検出器320は、まずフィルタを適用して非IDNドメインを除外する。(例えば、そういった非IDNドメイン上で必要となるコンピューティング動作およびリソースを低減するための任意の動作段階など)次いで、ホモグラフ検出器320は、入力ドメイン/DNSストリーム318において受信された各ドメインを、ユニコードに復号する。ホモグラフ検出器320は、マップ(例えば、ASCII-ユニコードマップ312)を適用して、各ユニコード文字を、ASCII文字にマッピングする。ホモグラフ検出器320は、動作の次の段階で、標的リストの検索を実行し、類似性スコアメトリック、及び/又はk-最近傍(k-NN)アルゴリズム、または他の距離/分類/MLアルゴリズムを適用して、本実装形態例の閾値類似性スコア、もしくはk-NN閾値距離結果に基づいた、検索に基づく一致、及び/又は近傍/近接一致を識別する。次いで、ホモグラフ検出器320は、発見された場合(たとえば、入力ドメイン名がホモグラフである場合であり、これは本明細書ではホモグラフドメインとも呼ばれる)には肯定的検出を報告し、そうでない場合(たとえば、入力ドメイン名がホモグラフではない場合)に否定的検出を報告する。最後に、322に示すように、処理された入力ドメイン/DNSストリーム318から検出されたホモグラフが出力される(これは、例えば、ファイアウォール/DNSファイアウォールによる実装/実施のためのブラックリストに追加するか、及び/又はホモグラフドメインブラックリストフィードに追加される)。この例では、動作のオンライン段階中に、ホモグラフ検出器を使用して行った処理により、infoblox.comのホモグラフ、およびapple.comのホモグラフが報告されている。
【0059】
ここで、CNN分類器のオフライントレーニングについて、
図4を参照して、以下でさらに説明する。
【0060】
図4は、いくつかの実施形態における、文字の入力画像に対して畳み込みカーネルトレーニングを実行して、ASCII文字へのマッピングを生成するためのプロセスである。実装形態の一例では、トレーニングプロセスにおいては、多くの異なる数の畳み込みカーネルを利用して、後に分類のために使用される特徴の作成を試行する。ここで、CNN分類器のためのオフライントレーニングを実行するためのプロセス400について、さらに説明する。
【0061】
402において、入力は、(例えば、単色カラーチャネル(グレースケール)をもつ28×28ピクセル、または別のピクセル密度及び/又は別のカラーチャネルを使用して)各文字についての各入力画像を付与することを含む。トレーニング中、入力画像のバッチ(例えば、100個または別の数の入力画像)を同時に処理して、文字画像のセット全体を処理するための計算時間を短縮することができる。
【0062】
404において、畳み込み層1は、次元が6×4ピクセルであるカーネルによって定義された近傍を使用して、各入力画像中のピクセルの線形結合を通して32個の特徴を計算する。
【0063】
406においては、プーリング層1が、抽出された特徴の次元を低減するために、最大プーリングを用いて畳み込み層1からの隣接ピクセルの値を積分する。この例では、プールサイズは2×2であり、ストライドは2である。
【0064】
408において、畳み込み層2は、7×7カーネルによって定義された近傍におけるプーリング層1の出力の線形結合を使用して、64個の特徴を計算する。
【0065】
410において、プーリング層2は、2×2プールサイズおよび2のストライドをもつmaxプーリングを使用して、第2の畳み込み層からの隣接ピクセルの値を積分する。
【0066】
412においては、フラット化テンソルが、この実装形態例においては、各文字の特徴の7×7×64ベクトルを生成する。
【0067】
414において、全結合層1は、プーリング層2からのフラット化された特徴ベクトルを使用して、入力画像をラベルに分類するために、畳み込み層2からの特徴を使用する二つの層のうち、第1の層を提供する。この例では、1024個のニューロンが含まれる。
【0068】
416において、全結合層2は、入力クラス(例えば、0...9, A...Z, a ... z, -、および負のクラス)への最終画像分類のための64個のニューロンを含む。この実装形態例においては、全結合層2は、モデル精度を改善するため、0.55のレートでドロップアウト正則化を含む。
【0069】
418においては、全結合層2の出力が、入力画像の分類を表す重みのベクトルを、入力中の候補クラスの各々についての確率である0と1との間の数のベクトルに変換する、softmax関数、または別の同様の関数に入力される。したがって、特定の入力画像に対する分類結果は、最大の確率値の位置となる。
【0070】
一般的に、CNNの人工知能(AI)深層学習法は、人間の脳の視覚皮質部分と同様に動作するように作成されている。実装形態の一例では、CNNアーキテクチャは、数学的畳み込みを使用して、入力画像(例えば、ドメイン名の各文字の入力画像)の空間構造を利用することによって、トレーニングプロセス中に、特徴を自動的に学習するように実装してもよい。
【0071】
ここで、ドメイン名のホモグラフ検出のための本開示技法として適用できる、他のプロセス例について説明する。
【0072】
ドメイン名のホモグラフ検出におけるプロセス例
【0073】
図5は、いくつかの実施形態における、ドメイン名のホモグラフ検出のためのオンラインプロセスを示すフロー図である。各種の実施形態において、プロセス500は、上述した
図2~
図4に示すシステムとプロセスによって実行される。
【0074】
502において、DNSデータストリームが受信される。例えば、DNSデータストリームは、DNSクエリと、DNSクエリの解決のためのDNS応答とを含むことができる。
【0075】
504において、DNSデータストリーム中の各ドメインについて、ホモグラフ検出器が適用される。例えば、上記で述べたように、ホモグラフ検出モデルは、文字ごとの画像ベースの文字類似性技術を使用してホモグラフを識別し、標的ドメイン名のホモグラフを検出するが、このようなホモグラフ検出モデルを生成する様々な技術が開示されている。
【0076】
506において、ホモグラフ検出器を使用して、DNSデータストリーム中のドメイン名のホモグラフが検出される。例えば、ホモグラフ分類器は、上記でも述べたように、標的リストの検索を実行し、類似性スコアメトリックを適用、及び/又はk-最近傍(k-NN)アルゴリズムまたは他の距離/分類/MLアルゴリズムを実装して、閾値類似性スコアもしくはk-NN閾値距離結果に基づいた、検索に基づく一致、及び/又は近傍/近接一致を識別する。
【0077】
508において、ドメイン名のホモグラフ検出に基づいて、緩和措置が実行される。例えば、緩和措置は、構成措置及び/又はフィルタリング措置(例えば、怪しげなネットワークドメインに関連する不正/マルウェアネットワークドメイン及び/又は不正/マルウェアIPアドレスへ(から)のパケットをドロップ、またはブロックする)を含むことができる。別の例として、緩和措置は、ネットワークデバイス(例えば、物理または仮想スイッチ/ルータとして実装されるスイッチまたはルータ)を構成して、感染したホストを隔離し、及び/又はドメイン名のホモグラフに関連した不正ネットワークドメイン及び/又は不正IPアドレスへのアクセスをブロックすることと、ネットワークアクセス制御または他の機構を使用して、感染したホストを隔離し、及び/又は不正ネットワークドメイン及び/又は不正IPアドレスへのアクセスをブロックすることと、オープンフロー技術を使用してセキュリティデバイスコントローラを構成して、ネットワークデバイス(例えば、物理または仮想スイッチ/ルータとして実装されるスイッチまたはルータ)を構成して、感染したホストを隔離し、及び/又は不正ネットワークドメイン及び/又は不正IPアドレスへのアクセスをブロックし、及び/又はAPIまたは出版-購読型モデル機構を介するなどして、他の構成/プログラミング技法を実装して、ネットワークデバイス(例えば、物理または仮想スイッチ/ルータとして実装されるスイッチまたはルータ)を構成して、感染したホストを隔離し、及び/又は不正ネットワークドメイン及び/又は不正IPアドレスへのアクセスをブロックすることを含むことができる。
【0078】
図6は、いくつかの実施形態における、ドメイン名のホモグラフ検出モデル生成のためのオフラインプロセスを示すフロー図である。各種の実施形態において、プロセス600は、上述した
図2~
図4に示すシステムとプロセスによって実行される。
【0079】
602において、ドメイン名の文字画像用のトレーニングデータセット、およびテストデータセットが生成される。例えば、ドメイン名の文字画像用のトレーニングデータセットおよびテストデータセットは、
図3の304についての上記の説明と同様に実装可能である。
【0080】
604において、一つまたは複数のASCII文字に視覚的に類似するユニコード文字を認識させるため、トレーニングデータセットおよびテストデータセットを使用して、ホモグラフ分類器をトレーニングする。例えば、ホモグラフ分類器は、
図3の306についての上記の説明と同様に、トレーニングすることができる。
【0081】
606において、ASCII-ユニコードマップを生成するために、ユニコード文字のセットに対してホモグラフ分類器が実行される。例えば、ホモグラフ分類器は、
図3の310,312についての上記の説明と同様に、ASCIIからユニコードへのマップを生成することができる。実装形態の一例では、ホモグラフ分類器は、
図6についての上記の説明と同様に、インラインホモグラフ検出モデル(たとえば、分類器)を提供する形に展開することができる。さらに、ホモグラフ検出モデルは、上記で述べたように、本開示技術を使用して、ライブDNSトラフィックにおけるオンライン学習(例えば、自動特徴抽出を含む)を継続することができる。例えば、新しいスクリプトおよび文字がユニコード標準に追加された場合、上記で述べたオフライントレーニングプロセスを実行してホモグラフ分類器を更新し、新しいユニコード文字を含むASCIIからユニコード文字へのマッピングを生成することができる(例えば、現在、ユニコード標準の新しいスクリプトおよび文字が約一年に一回利用可能になる)。
【0082】
前述の実施形態は、発明の明確な理解を目的として、詳細な構成を記載したが、これらの詳細な構成によって本発明は限定されない。本発明は、多くの代替的な方法によっても実施可能である。開示された実施形態は例示的なものであり、限定的なものではない。本開示は、以下の適用例を含む。
[適用例1]
システムであって、
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信し、
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用し、
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する、プロセッサーと、
前記プロセッサーに結合され、前記プロセッサーに指令を出すメモリと、
を備えるシステム。
[適用例2]
適用例1に記載のシステムであって、前記DNSデータストリームが、ライブDNSデータストリームであるシステム。
[適用例3]
適用例1に記載のシステムであって、前記ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するシステム。
[適用例4]
適用例1に記載のシステムであって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するシステム。
[適用例5]
適用例1に記載のシステムであって、前記ホモグラフ検出器は、深層ニューラルネットワークとトレーニングデータとを用いて生成されるシステム。
[適用例6]
適用例1に記載のシステムであって、前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフの検出に基づいて、緩和措置を実行するシステム。
[適用例7]
適用例1に記載のシステムであって、前記プロセッサーがさらに、前記DNS応答をブロックして、前記ドメイン名の前記ホモグラフに関連付けられたIPアドレスとのクライアント通信を妨げるシステム。
[適用例8]
適用例1に記載のシステムであって、前記DNSクエリの解決のための前記DNS応答がIPアドレスを含み、
前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスをブラックリストに追加するか、またはホモグラフドメインをブラックリストフィードに追加するシステム。
[適用例9]
適用例1に記載のシステムであって、前記DNSクエリの解決のための前記DNS応答がIPアドレスを含み、
前記プロセッサーがさらに、前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスをファイアウォールに送信するシステム。
[適用例10]
適用例1に記載のシステムであって、前記プロセッサーがさらに、下記の緩和措置:
前記ドメイン名の前記ホモグラフに関連付けられたIPアドレスに基づいてファイアウォールルールを生成する;
前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスへのネットワーク通信をブロックするネットワークデバイスを構成する;
前記ドメイン名の前記ホモグラフに関連付けられた前記IPアドレスとの関連付けに基づいて感染していると判定された感染ホストを隔離する;
前記ドメイン名の前記ホモグラフを評判フィードに追加する;
のうち、一つまたは複数を行うシステム。
[適用例11]
方法であって、
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信し、
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用し、
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する、
方法。
[適用例12]
適用例11に記載の方法であって、前記DNSデータストリームが、ライブDNSデータストリームである方法。
[適用例13]
適用例11に記載の方法であって、ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出する方法。
[適用例14]
適用例11に記載の方法であって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出する方法。
[適用例15]
適用例11に記載の方法であって、前記ホモグラフ検出器は、深層ニューラルネットワークとトレーニングデータとを用いて生成される方法。
[適用例16]
適用例11に記載の方法であって、さらに、前記ドメイン名の前記ホモグラフの検出に基づいて、緩和措置を実行する方法。
[適用例17]
コンピュータープログラム製品であって、前記コンピュータープログラム製品は、有形のコンピューター読み取り可能な記憶媒体において具現化され、また、下記のコンピューター指示:
DNSクエリと、前記DNSクエリの解決のためのDNS応答とを含むDNSデータストリームを受信し;
前記DNSデータストリーム中の各ドメインにホモグラフ検出器を適用し;
前記ホモグラフ検出器を用いて、前記DNSデータストリーム中のドメイン名のホモグラフを検出する;
を含むコンピュータープログラム製品。
[適用例18]
適用例17に記載のコンピュータープログラム製品であって、前記DNSデータストリームが、ライブDNSデータストリームであるコンピュータープログラム製品。
[適用例19]
適用例17に記載のコンピュータープログラム製品であって、前記ホモグラフ検出器は、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するコンピュータープログラム製品。
[適用例20]
適用例17に記載のコンピュータープログラム製品であって、前記ホモグラフ検出器は、文字ベースのマップを用いて、一つまたは複数の標的ドメイン名のホモグラフを自動的に検出するコンピュータープログラム製品。
[適用例21]
システムであって、
ドメイン名の文字画像に対するトレーニングおよびテストデータセットを生成し、
一つまたは複数のASCII文字と視覚的に類似するユニコード文字を認識するための前記トレーニングおよびテストデータセットを使用してホモグラフ分類器をトレーニングし、
ユニコード文字のセットに対して前記ホモグラフ分類器を実行して、ASCIIからユニコードへのマップを生成する、プロセッサーと、
前記プロセッサーに結合され、前記プロセッサーに指令を出すメモリと、
を備えるシステム。