特許第6596596号(P6596596)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シマンテック コーポレーションの特許一覧

特許6596596ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法
<>
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000002
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000003
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000004
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000005
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000006
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000007
  • 特許6596596-ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6596596
(24)【登録日】2019年10月4日
(45)【発行日】2019年10月23日
(54)【発明の名称】ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20191010BHJP
   G06F 21/56 20130101ALI20191010BHJP
【FI】
   G06F21/55 320
   G06F21/56 360
【請求項の数】15
【全頁数】22
(21)【出願番号】特願2018-544758(P2018-544758)
(86)(22)【出願日】2016年9月27日
(65)【公表番号】特表2019-500712(P2019-500712A)
(43)【公表日】2019年1月10日
(86)【国際出願番号】US2016054026
(87)【国際公開番号】WO2017095513
(87)【国際公開日】20170608
【審査請求日】2018年5月16日
(31)【優先権主張番号】14/954,425
(32)【優先日】2015年11月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501113353
【氏名又は名称】シマンテック コーポレーション
【氏名又は名称原語表記】Symantec Corporation
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】100134119
【弁理士】
【氏名又は名称】奥町 哲行
(72)【発明者】
【氏名】ソーベル・ウイリアム イー
【審査官】 和平 悠希
(56)【参考文献】
【文献】 特開2010−092236(JP,A)
【文献】 国際公開第2015/107861(WO,A1)
【文献】 特開2015−043204(JP,A)
【文献】 特開2011−076188(JP,A)
【文献】 米国特許出願公開第2015/0195299(US,A1)
【文献】 米国特許出願公開第2014/0310811(US,A1)
【文献】 韓国公開特許第10−2011−0069481(KR,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
ドメイン名前サービストラフィック分析を介してマルウェア感染を検出するための方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって行われ、前記方法が、
前記コンピューティングデバイスによってネットワークを介して送信された失敗したドメイン名サービス要求であって前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求を検出することと、
前記失敗したドメイン名サービス要求に関する情報及び前記コンピューティングデバイスの静的一意識別子を含むレコードを作成することであって、前記静的一意識別子は、前記コンピューティングデバイスを前記ネットワーク内の他のコンピューティングデバイスから区別するデータを含む、ことと、
前記レコードを、前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求に関する過去のレコードのセットと相関させることと、
前記レコードを、前記過去のレコードのセットと相関させることに基づいて、前記コンピューティングデバイスが前記失敗したドメイン名サービス要求を生成したマルウェアに感染していると判定することと、を含む方法。
【請求項2】
前記レコードを作成することが、メッセージを、前記コンピューティングデバイスからネットワークレベル分析システムに送信することを含み、
前記レコードを前記過去のレコードのセットと相関させることが、前記ネットワークレベル分析システムによって前記メッセージを前記静的一意識別子を有する前記コンピューティングデバイスによって送信された過去のメッセージのセットと相関させることを含み、
前記コンピューティングデバイスが前記マルウェアに感染していると判定することが、前記ネットワークレベル分析システムによって、前記コンピューティングデバイスがマルウェアに感染していると判定することを含む、請求項1に記載の方法。
【請求項3】
前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求に関する前記過去のレコードのセットが、複数の異なるネットワーク上の前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求のレコードを含む、請求項1に記載の方法。
【請求項4】
前記コンピューティングデバイスが前記マルウェアに感染していると判定することが、前記静的一意識別子を有する前記コンピューティングデバイスが失敗したドメイン名サービス要求の悪意のない割合の所定の閾値を超える割合の失敗したドメイン名サービス要求を生成したことを判定することを含む、請求項1に記載の方法。
【請求項5】
失敗したドメイン名サービス要求の悪意のない割合の前記所定の閾値が、複数のコンピューティングデバイス全体の失敗したドメイン名サービス要求の統計的基準を含む、請求項4に記載の方法。
【請求項6】
前記コンピューティングデバイスが前記マルウェアに感染しているという判定に基づいて、前記静的一意識別子を有する前記コンピューティングデバイス上でマルウェア修復処置を行うことを更に含む、請求項1に記載の方法。
【請求項7】
前記静的一意識別子が、前記ネットワークによって前記コンピューティングデバイスに割り当てられず、管理者によってのみ変更され得る、請求項1に記載の方法。
【請求項8】
ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステムであって、前記システムは、
ンピューティングデバイスによってネットワークを介して送信された失敗したドメイン名サービス要求であって前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求を検出する手段と、
前記失敗したドメイン名サービス要求に関する情報及び前記コンピューティングデバイスの静的一意識別子を含むレコードを作成する手段であって、前記静的一意識別子は前記コンピューティングデバイスを前記ネットワーク内の他のコンピューティングデバイスから区別するデータを含む、手段と、
前記レコードを、前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求に関する過去のレコードのセットと相関させる手段と、
前記レコードを、前記過去のレコードのセットと相関させることに基づいて、前記失敗したドメイン名サービス要求を生成した前記コンピューティングデバイスがマルウェアに感染していると判定する手段と、
前記検出する手段、前記作成する手段、前記相関する手段、及び前記判定する手段を実行するように構成された少なくとも1つの物理的プロセッサと、
を備える、システム。
【請求項9】
前記作成する手段が、前記レコードを、メッセージを前記コンピューティングデバイスからネットワークレベル分析システムに送信することによって作成し、
前記相関する手段が、前記レコードを、前記ネットワークレベル分析システムによって前記メッセージを前記静的一意識別子を有する前記コンピューティングデバイスによって送信された過去のメッセージのセットと相関させることによって、前記過去のレコードのセットと相関させ、
前記判定する手段が、前記ネットワークレベル分析システムによって前記コンピューティングデバイスがマルウェアに感染していると判定することによって、前記コンピューティングデバイスが前記マルウェアに感染していると判定する、請求項8に記載のシステム。
【請求項10】
前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求に関する前記過去のレコードのセットが、複数の異なるネットワーク上の前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求のレコードを含む、請求項8に記載のシステム。
【請求項11】
前記判定する手段が、前記静的一意識別子を有する前記コンピューティングデバイスが失敗したドメイン名サービス要求の悪意のない割合の所定の閾値を超える割合の失敗したドメイン名サービス要求を生成したことを判定することによって、前記コンピューティングデバイスが前記マルウェアに感染していると判定する、請求項8に記載のシステム。
【請求項12】
失敗したドメイン名サービス要求の悪意のない割合の前記所定の閾値が、複数のコンピューティングデバイス全体の失敗したドメイン名サービス要求の統計的基準を含む、請求項11に記載のシステム。
【請求項13】
前記コンピューティングデバイスが前記マルウェアに感染しているという判定に基づいて、前記静的一意識別子を有する前記コンピューティングデバイス上でマルウェア修復処置を行う、修復する手段を更に含む、請求項8に記載のシステム。
【請求項14】
前記静的一意識別子が、前記ネットワークによって前記コンピューティングデバイスに割り当てられず、管理者によってのみ変更され得る、請求項8に記載のシステム。
【請求項15】
1つ以上のコンピュータ可読命令を含む非一時的コンピュータ可読媒体であって、前記命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
前記コンピューティングデバイスによってネットワークを介して送信された失敗したドメイン名サービス要求であって前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求を検出することと、
前記失敗したドメイン名サービス要求に関する情報及び前記コンピューティングデバイスの静的一意識別子を含むレコードを作成することであって、前記静的一意識別子は、前記コンピューティングデバイスを前記ネットワーク内の他のコンピューティングデバイスから区別するデータを含む、ことと、
前記レコードを、前記静的一意識別子を有する前記コンピューティングデバイスから発信された失敗したドメイン名サービス要求に関する過去のレコードのセットと相関させることと、
前記レコードを過去のレコードを前記セットと相関させることに基づいて、前記失敗したドメイン名サービス要求を生成した前記コンピューティングデバイスがマルウェアに感染していると判定することと、を行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
ウイルス、トロイの木馬、スパイウェア、及びその他の種類のマルウェアは、ネットワーク接続を必要とするコンピューティングデバイスにとって常に脅威である。ブラウザプラグインからウイルススキャナ、ファイアウォールなどに至るまで、これらの脅威に対処するための多くの異なるタイプのセキュリティシステムが存在する。無数の新しいインスタンスとマルウェアの並べ替えが毎日作成されるため、セキュリティシステムを絶えず更新する必要がある。このような警戒にもかかわらず、コンピューティングデバイスはあらゆるタイプの脅威に引き続き感染させられている。マルウェアの一部は、検出されることなくセキュリティシステムのいくつかの層をバイパスする可能性があり、次いで、コマンドアンドコントロールサーバへの連絡を開始して次に取るべき処置を判定することがある。
【0002】
マルウェアを修復するための多くの従来のシステムは、マルウェアからコマンドアンドコントロールサーバへのメッセージを識別、引いては傍受しようと試みることがある。これにより、マルウェア作成者は、悪意のあるアプリケーションとサーバとの間の通信を隠すクリエイティブな手段を見つけることができた。攻撃者が使用する解決策の1つは、ドメイン名サービス(DNS)ルックアップ要求を使用して、コマンドアンドコントロールサービスを指し示すドメインを見つけて接続するマルウェアである。マルウェアの中には、マルウェアがマルウェア対策システムによる検出を避けるために、絶えず動いているコマンドアンドコントロールサーバに接続できるドメイン名生成アルゴリズムによりコード化されているものがある。したがって、本開示は、DNSトラフィック分析を介してマルウェア感染を検出するための追加の、かつ改善されたシステム及び方法の必要性を特定し、それに対処する。
【発明の概要】
【0003】
以下で更に詳細に説明するように、本開示は、同じコンピューティングアドバイスから発信された失敗したDNSルックアップのレコードを格納し、マルウェアが失敗したルックアップを生成した可能性があるかどうかを判定するためにレコードを分析することによって、DNSトラフィック分析を介してマルウェア感染を検出するための様々なシステム及び方法を記載する。
【0004】
一例では、DNSトラフィック分析を介してマルウェア感染を検出するためのコンピュータで実施される方法は、(1)コンピューティングデバイス上で、コンピューティングデバイスから発信された失敗したDNS要求を検出することと、(2)失敗したドメイン名要求に関する情報及びコンピューティングデバイスの静的一意識別子を含むレコードを作成することと、(3)レコードを、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットと相関させることと、(4)レコードを過去のレコードのセットと相関させることに基づいて、失敗したDNS要求を生成したコンピューティングデバイスがマルウェアに感染していると判定することと、を含んでもよい。
【0005】
一実施形態では、レコードを作成することは、メッセージを、コンピューティングデバイスからネットワークレベル分析システムに送信することを含むことができ、レコードを過去のレコードのセットと相関させることは、ネットワークレベル分析システムによって、静的一意識別子を有するコンピューティングデバイスによって送信された過去のメッセージのセットと相関させることを含んでもよい。この実施形態では、コンピューティングデバイスがマルウェアに感染していると判定することは、ネットワークレベル分析システムによってコンピューティングデバイスがマルウェアに感染していると判定することを含んでもよい。
【0006】
一例では、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットは、異なるネットワークのグループ上の静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求のレコードを含んでもよい。一部の例では、コンピューティングデバイスがマルウェアに感染していると判定することは、静的一意識別子を有するコンピューティングデバイスが、失敗したDNS要求の悪意のない割合の閾値を超える割合の失敗したDNS要求を生成したことを判定することを含んでもよい。一実施形態では、失敗したDNS要求の悪意のない割合の所定の閾値は、コンピューティングデバイスのグループ全体の失敗したDNS要求の統計的基準を含んでもよい。
【0007】
一部の例では、コンピュータで実施される方法は、コンピューティングデバイスがマルウェアに感染しているという判定に基づいて、静的一意識別子を有するコンピューティングデバイスに対してマルウェア修復処置を行うことを更に含んでもよい。一実施形態では、静的一意識別子は、ネットワークによってコンピューティングデバイスに割り当てられず、管理者によってのみ変更可能である識別子を含んでもよい。
【0008】
一実施形態では、上述の方法を実施するためのシステムは、(1)メモリに格納され、コンピューティングデバイス上で、コンピューティングデバイスから発信された失敗したDNS要求を検出する検出モジュールと、(2)メモリに格納され、失敗したドメイン名要求に関する情報及びコンピューティングデバイスの静的一意識別子を含むレコードを作成する、作成モジュールと、(3)メモリに格納され、レコードを、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットと相関させる、相関モジュールと、(4)メモリに格納され、レコードを過去のレコードのセットと相関させることに基づいて、失敗したDNS要求を生成したコンピューティングデバイスがマルウェアに感染していると判定する、判定モジュールと、(5)検出モジュール、作成モジュール、相関モジュール、及び判定モジュールを実行するように構成された少なくとも1つの物理プロセッサと、を含んでもよい。
【0009】
いくつかの実施例では、上述の方法は、非一時的コンピュータ可読媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに、(1)コンピューティングデバイス上で、コンピューティングデバイスから発信された失敗したDNS要求を検出することと、(2)失敗したドメイン名要求に関する情報及びコンピューティングデバイスの静的一意識別子を含むレコードを作成することと、(3)レコードを、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットと相関させることと、(4)レコードを過去のレコードのセットと相関させることに基づいて、コンピューティングデバイスが失敗したDNS要求を生成したマルウェアに感染していると判定することと、を行わせる1つ以上のコンピュータ可読命令を含んでもよい。
【0010】
上述の実施形態のいずれかによる特徴は、本明細書に記載される一般原理に従って、互いに組み合わせて使用されてもよい。これら及び他の実施形態、特徴、及び利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことによって更に十分に理解されるだろう。
【図面の簡単な説明】
【0011】
添付の図面は、いくつかの例示的な実施形態を図示するものであり、本明細書の一部である。以下の説明と併せて、これらの図面は、本開示の様々な原理を実証及び説明する。
図1】ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的なシステムのブロック図である。
図2】ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための追加の例示的なシステムのブロック図である。
図3】ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的な方法のフロー図である。
図4】例示的な失敗したDNSルックアップレコードのブロック図である。
図5】ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的なコンピューティングシステムのブロック図である。
図6】本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実施できる例示的なコンピューティングシステムのブロック図である。
図7】本明細書で説明及び/又は図示される実施形態のうちの1つ以上を実施できる例示的なコンピューティングネットワークのブロック図である。
【0012】
図面を通して、同一の参照符号及び記述は、必ずしも同一ではないが、類似の要素を示す。本明細書で説明される例示的実施形態は、様々な修正物及び代替的な形態が可能であるが、特定の実施形態が例として図面に示されており、本明細書に詳細に記載される。しかしながら、本明細書に記載される例示的実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲内にある全ての修正物、等価物、及び代替物を網羅する。
【発明を実施するための形態】
【0013】
本開示は、一般に、ドメイン名サービストラフィック分析を介してマルウェア感染を検出するためのシステム及び方法に関する。以下に詳細に説明するように、コンピューティングデバイスの静的一意識別子を使用して失敗したDNS要求を相関させることにより、失敗した要求をネットワーク全体で追跡することができ、コンピューティングデバイスのインターネットプロトコル(IP)アドレスが変化したときに追跡することもできる。このようにして失敗したDNS要求を相関させることにより、本明細書に記載されるシステム及び方法は、マルウェアに感染したコンピューティングデバイスをより効果的に識別することができる。
【0014】
以下、図1図2及び図5を参照して、ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的なシステムの詳細な説明を提供する。対応するコンピュータで実施される方法の詳細な説明も図3に関連して提供される。対応する例示的な失敗したDNSルックアップレコードの詳細な説明は、図4と組み合わせて提供される。更に、本明細書で説明される実施形態のうちの1つ以上を実施できる例示的なコンピューティングシステム及びネットワークアーキテクチャについての詳細な説明が、それぞれ、図6及び図7と関連して提供されることになる。
【0015】
図1は、DNSトラフィック分析を介してマルウェア感染を検出するための例示的なシステム100のブロック図である。この図に図示されるように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。例えば、以下でより詳細に説明するように、例示的なシステム100は、コンピューティングデバイス上で、コンピューティングデバイスから発信された失敗したDNS要求を検出する、検出モジュール104を含んでもよい。例示的なシステム100は更に、失敗したドメイン名要求に関する情報及びコンピューティングデバイスの静的な一意の識別子を含むレコードを作成する、作成モジュール106を含んでもよい。例示的なシステム100はまた、レコードを、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットと相関させる、相関モジュール108を含んでもよい。例示的なシステム100は更に、レコードを過去のレコードのセットと相関させることに基づいて、コンピューティングデバイスが失敗したDNS要求を生成したマルウェアに感染していると判定する判定モジュール110を含んでもよい。別々の要素として図示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表してもよい。
【0016】
特定の実施形態では、図1のモジュール102のうち1つ以上は、コンピューティングデバイスによって実行されると、コンピューティングデバイスに1つ以上のタスクを行わせ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下で更に詳細に説明するように、モジュール102のうちの1つ以上は、図2のコンピューティングデバイス202、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分等の1つ以上のコンピューティングデバイスに格納されて、そこにおいて作動するように構成されているソフトウェアモジュールを表してもよい。図1のモジュール102のうち1つ以上はまた、1つ以上のタスクを行うように構成された1つ以上の専用コンピュータの全て又は一部を表し得る。
【0017】
図1に示すように、例示的なシステム100はまた、データベース120などの1つ以上のデータベースを含んでもよい。一例では、データベース120は、過去のレコード124のような、失敗したDNS要求の過去のレコードを格納するように構成されてもよい。
【0018】
データベース120は、単一のデータベース若しくはコンピューティングデバイスの部分、又は複数のデータベース若しくはコンピューティングデバイスの部分を表してもよい。例えば、データベース120は、図2のサーバ206の一部分、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分を表してもよい。あるいは、図1のデータベース120は、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分等のコンピューティングデバイスがアクセスできる1つ以上の物理的に別個のデバイスを表してもよい。
【0019】
図1の例示的なシステム100は、様々な方法で実施され得る。例えば、例示的なシステム100の全て又は一部は、図2における例示的なシステム200の部分を表してもよい。図2に示すように、システム200は、コンピューティングデバイス202を含んでもよい。一実施例では、コンピューティングデバイス202は、モジュール102のうち1つ以上を用いてプログラムされてもよく、かつ/又はデータベース120内のデータの全て若しくは一部分を記憶することができる。
【0020】
一実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイス202の少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイス202に、DNSトラフィック分析を介してマルウェア感染を検出させることができる。例えば、以下でより詳細に説明するように、検出モジュール104は、コンピューティングデバイス202上で、コンピューティングデバイス202から発信された失敗したDNS要求208を検出してもよい。次に、作成モジュール106は、失敗したドメイン名要求に関する情報及びコンピューティングデバイス202の静的一意識別子212を含むレコード210を作成してもよい。直後又はしばらく後のいずれかで、相関モジュール108は、レコード210を、静的一意識別子212を有するコンピューティングデバイス202から発信された失敗したDNS要求に関する過去のレコード124と相関させてもよい。最後に、判定モジュール110は、レコード210を過去のレコード124と相関させることに基づいて、失敗したDNS要求208を生成したコンピューティングデバイス202がマルウェアに感染していることを判定してもよい。
【0021】
コンピューティングデバイス202は、一般に、コンピュータ実行可能命令を読み取ることができる任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202の例としては、非限定的に、ラップトップ、タブレット、デスクトップ、サーバ、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、埋め込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、ゲーム機、それらの1つ以上の組み合わせ、図6の例示的なコンピューティングシステム610、あるいは他の任意の好適なコンピューティングデバイスが挙げられる。
【0022】
図3は、ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的なコンピュータで実施される方法300のフロー図である。図3に示されるステップは、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって行われてもよい。いくつかの実施形態では、図3に示すステップは、図1のシステム100、図2のシステム200、図6のコンピューティングシステム610、及び/又は図7の例示的なネットワークアーキテクチャ700の部分の構成要素のうち1つ以上によって実行されてもよい。
【0023】
図3に示されるように、ステップ302で、本明細書で記載されるシステムのうちの1つ以上は、コンピューティングデバイス上で、コンピューティングデバイスから発信された失敗したDNS要求を検出することができる。例えば、検出モジュール104は、図2のコンピューティングデバイス202の一部として、コンピューティングデバイス202上で、コンピューティングデバイス202から発信された失敗したDNS要求208を検出してもよい。
【0024】
「ドメイン名サービス要求」又は「DNS要求」という用語は、本明細書で使用するとき、一般に、サーバに接続しようと試みる際に集中型サービスに送信される任意の要求を指す。例えば、DNS要求は、ドメイン名をIPアドレスに変換するためにDNSサービスに送信される要求であってもよい。「失敗したDNS要求」という用語は、本明細書で使用するとき、一般に、正当なウェブページを指し示す有効なIPアドレスを返すことに失敗する任意のDNS要求を指す。例えば、失敗したDNS要求は、IPアドレスに解決されないドメイン名の要求であってもよい。一部の例では、DNS要求が登録されていないドメイン名に対して行われると、失敗した要求が生じることがある。別の例では、DNSサービスは、登録されていないドメインに対する全ての要求に応答して、デフォルトのウェブページ(例えば、広告ページ)を返すことができる。一部の例では、マルウェアの一部は、ドメイン生成アルゴリズムを使用して、多数のドメイン名をプログラムによって生成し、その一部のみがマルウェアコマンドアンドコントロールサーバの有効なIPアドレスを指し示すことがある。
【0025】
検出モジュール104は、様々なコンテクストで失敗したDNS要求208を検出することができる。例えば、検出モジュール104は、全ての発信DNS要求及び/又はDNS要求への全ての着信応答を監視してもよい。一実施形態では、検出モジュール104は、ネットワークトラフィックをフィルタリング及び/又は監視するファイアウォールの一部であってもよい。別の実施形態では、検出モジュール104は、ネットワークトラフィックを検査するセキュリティアプリケーションの一部であってもよい。一部の例では、検出モジュール104は、潜在的なDNSサービス生成デフォルトウェブページを含む応答を受信することと、既知の登録されていないドメイン名に対する追加の要求を送信することと、追加の要求に応答して同じウェブページを受信することと、両方の要求に応答してデフォルトのウェブページを受信することに基づいて最初のDNS要求が失敗した要求であることを判定することと、によって失敗したDNS要求を検出してもよい。
【0026】
ステップ304で、本明細書に記載されるシステムのうちの1つ以上は、失敗したドメイン名要求に関する情報及びコンピューティングデバイスの静的一意識別子を含むレコードを作成することができる。例えば、作成モジュール106は、図2のコンピューティングデバイス202の一部として、失敗したドメイン名要求に関する情報を含むレコード210及びコンピューティングデバイス202の静的一意識別子212を作成してもよい。
【0027】
「静的一意識別子」という用語は、本明細書で使用するとき、一般に、コンピューティングデバイスを一意に記述し、コンピューティングデバイスがネットワークを変更したときに変化せず、かつ/又は非手動の変更を受けることがない任意の識別子を指す。一部の実施形態では、静的一意識別子は、コンピューティングデバイスを、グループ内及び/又はネットワーク上の他のコンピューティングデバイスから一意に区別することしかできない。例えば、コンピューティングデバイスは、組織によって管理されるコンピューティングデバイスの間で一意の識別子であり得るが、全てのコンピューティングデバイスにわたってグローバルに一意の識別子ではない「アカウンティングデスクトップ03」、「ユーザーラップトップ」、及び/又は「セレニティ」などの名前で識別され得る。他の実施形態では、静的一意識別子は、グローバル一意識別子(GUID)を含んでもよい。一実施形態では、静的一意識別子は、ネットワークによってコンピューティングデバイスに割り当てられず、管理者によってのみ変更可能である識別子を含んでもよい。対照的に、IPアドレスは、管理者の介入なしに自動的に変更される可能性があり、かつ/又はコンピューティングデバイスがネットワークを切り替えるときに変更される可能性があるため、静的一意識別子ではない。
【0028】
「レコード」という用語は、本明細書で使用するとき、一般に、失敗したDNS要求に関する任意の記憶された情報、及びその要求を発信したコンピューティングデバイスの静的一意識別子を指す。図4に示されるように、一部の実施形態では、レコードは、コンピューティングデバイスのマシン識別子、要求されたドメイン名、及び/又は要求のタイムスタンプを含んでもよい。例えば、レコード402及び404は、同じマシン識別子を有するコンピューティングデバイスから発信された異なる回数及び異なるドメインについての失敗したDNS要求を記録してもよい。追加的又は代替的に、レコードは、失敗したDNS要求が発生したときにコンピューティングデバイスが接続されたネットワークに関する情報、失敗したDNS要求の待ち時間、失敗したDNS要求を生成したアプリケーション、及び/又は失敗したDNS要求に関する任意の他の情報を記憶してもよい。
【0029】
一部の実施形態では、レコードは、コンピューティングデバイスから別のデバイス及び/又はシステムに送信されるメッセージを含むことができる。例えば、コンピューティングデバイスは、失敗したDNS要求に関する情報を、ネットワークのDNSトラフィックを分析するDNSトラフィック分析システムに送信してもよい。一部の実施形態では、コンピューティングデバイス上のマルウェア対策アプリケーションは、失敗したDNS要求に関する情報を、サーバ上に位置するバックエンドマルウェア対策システムに送信してもよい。
【0030】
作成モジュール106は、様々な方法でレコードを作成することができる。例えば、作成モジュール106は、レコードを作成し、次いで、レコードをデータベースにローカルで格納してもよい。別の例では、作成モジュール106は、レコードをローカルで格納する代わりに、又はそれに加えて、レコードを含むメッセージを送信してもよい。
【0031】
図3に戻ると、ステップ306で、本明細書に記載されるシステムのうちの1つ以上は、レコードを、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットと相関させることができる。例えば、相関モジュール108は、図2のコンピューティングデバイス202の一部として、レコード210を、静的一意識別子212を有するコンピューティングデバイス202から発信された失敗したDNS要求に関する過去のレコード124と相関させてもよい。
【0032】
相関モジュール108は、様々なコンテクストでレコードを相関させることができる。例えば、相関モジュール108は、新しいレコードをコンピューティングデバイス上の他のローカルで格納されたレコードと相関させてもよい。別の実施形態では、相関モジュール108は、追加のコンピューティングデバイス上でホストされてもよく、新しいレコードをリモートで格納された他の記録と相関させてもよい。
【0033】
一実施形態では、静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求に関する過去のレコードのセットは、複数の異なるネットワーク上の静的一意識別子を有するコンピューティングデバイスから発信された失敗したDNS要求のレコードを含むことができる。例えば、相関モジュール108は、コンピューティングデバイスが喫茶店の無線ネットワークに接続されている間に送信された失敗したDNS要求のレコードを、ホームネットワーク及び/又はオフィスネットワークから行われた過去の失敗したDNS要求の記録と相関させてもよい。
【0034】
ステップ308で、本明細書で記載されるシステムのうちの1つ以上は、レコードを、過去のレコードのセットと相関させることに基づいて、失敗したDNS要求を生成したコンピューティングデバイスがマルウェアに感染していることを判定してもよい。例えば、判定モジュール110は、図2のコンピューティングデバイス202の一部として、レコード210を過去のレコード124と相関させることに基づいて、失敗したDNS要求を生成したコンピューティングデバイス202がマルウェアに感染していることを判定してもよい。
【0035】
「マルウェア」という用語は、本明細書で使用するとき、一般に、コンピューティングデバイス上の任意の望ましくないファイル、スクリプト、及び/又はアプリケーションを指す。一部の実施形態では、マルウェアは、ファイルの削除、ファイルの暗号化、個人情報の盗難、及び/又は行為の記録を含むがこれらに限定されない悪意のある行為を行い得る。マルウェアの例として、非限定的に、トロイの木馬、スパイウェア、アドウェア、及び/又はウイルスが挙げられる。
【0036】
判定モジュール110は、様々な方法で、コンピューティングデバイスがマルウェアに感染していることを決定することができる。例えば、判定モジュール110は、コンピューティングデバイスが、失敗したDNS要求の悪意のない割合の所定の閾値を超える割合の失敗したDNS要求を生成したことを判定することによって、コンピューティングデバイスがマルウェアに感染していることを判定してもよい。
【0037】
例えば、コンピューティングデバイスは、DNS要求に対して80%の失敗率を有することがあり、これは、一部のアプリケーションが多数の無効なドメイン名に対する要求を生成していることを示している。一実施形態では、失敗したDNS要求の悪意のない割合の所定の閾値は、コンピューティングデバイスのグループ全体の失敗したDNS要求の統計的基準を含んでもよい。例えば、組織によって管理されるコンピューティングデバイス間での失敗したDNS要求の平均割合は10%であってもよく、閾値は20%であってもよい。別の例では、ネットワーク上の全てのコンピューティングデバイスに対する失敗したDNS要求の平均割合は5%であってもよく、閾値は7%であってもよい。一部の例では、判定モジュール110は、コンピューティングデバイスが所定期間にわたって悪意にない割合の閾値を超えたことを判定してもよい。例えば、判定モジュール110は、1時間、1日及び/又は1週間の中からDNSトラフィックデータを分析し、その時間間隔内にコンピューティングデバイスによって生成された失敗したDNS要求の割合を判定してもよい。
【0038】
別の実施形態では、判定モジュール110は、コンピューティングデバイスがある時間間隔内にいくつかの失敗したドメイン要求に対して閾値を超えた場合、コンピューティングデバイスがマルウェアに感染していると判定することができる。例えば、判定モジュール110は、1分間に500の失敗したDNS要求を生成するコンピューティングデバイスがマルウェアに感染していると判定してもよい。別の例では、判定モジュール110は、1時間に3000の失敗したDNS要求を生成するコンピューティングデバイスがマルウェアに感染していると判定してもよい。
【0039】
追加的に又は代替的に、判定モジュール110は、他のコンピューティングデバイスからのDNS要求を分析することによって、コンピューティングデバイスがマルウェアに感染していると判定してもよい。例えば、判定モジュール110は、コンピューティングデバイスが他のコンピューティングデバイスからの失敗したDNS要求と一致するドメイン名に対するDNS要求を生成したと判定してもよく、この場合、コンピューティングデバイスの全てがマルウェアに感染している可能性がある。一部の実施形態では、判定モジュール110は、コンピューティングデバイスから受信された情報を使用して、他のコンピューティングデバイスによって使用される疑わしいドメイン名のブラックリストを生成することができる。
【0040】
一実施形態では、判定モジュール110は、相関モジュール108及び/又は過去のレコードを格納するデータベースとともに、ネットワークレベル分析システムの一部であってもよい。図5に示されるように、コンピューティングデバイス502は、ネットワーク504を介して分析システム506と通信することができる。分析システム506は、任意のタイプのコンピューティングデバイス上でホストされる任意のタイプのDNSトラフィック及び/又はマルウェア分析システムを表すことができる。一部の実施形態では、分析システム506は、セキュリティサーバ、ルータ、及び/又はネットワークスイッチ上にホストされてもよい。一例では、検出モジュール104は、コンピューティングデバイス502によって生成された失敗したDNS要求508を検出してもよい。次いで、相関モジュール108は、失敗したDNS要求508に関する情報を含むメッセージ510及びコンピューティングデバイス502に対する一意の静的識別子512を作成してもよい。
【0041】
この例では、相関モジュール108は、分析システム506上でメッセージ510を受信してもよく、かつ/又はメッセージ510の情報を過去のメッセージ514と相関させてもよい。次いで、決定モジュール110は、失敗したDNS要求508がマルウェアによって生成されたかどうかを判定するために、過去のメッセージ514と組み合わせてメッセージを分析してもよい。
【0042】
一部の例では、本明細書に記載されるシステムは、コンピューティングデバイスがマルウェアに感染していると判定したことに基づいて、コンピューティングデバイス上でマルウェア修復処置を行ってもよい。一部の実施形態では、本明細書に記載されるシステムは、マルウェアクリーンアップツールを実行するようにユーザーに指示してもよい。他の実施形態では、管理者は、コンピューティングデバイス上でマルウェア対策ユーティリティをリモートで実行してもよい。一部の実施形態では、本明細書に記載されるシステムは、現在実行中のマルウェア対策アプリケーションによってマルウェアが検出されないために、積極的なマルウェア対策ツール(例えば、NORTON POWER ERASER、MALWAREBYTES ANTI−MALWARE、及び/又はCOMODO CLEANING ESSENTIALS)を実行し、かつ/又は実行するようにユーザーに促してもよい。
【0043】
一部の実施形態では、本明細書に記載されるシステムは、DNS要求情報の提出のためのウェブベースシステムと、コンピューティングデバイス又はコンピューティングデバイスの管理者によって、それ自体又は任意のマシンが感染していると思われる管理ドメイン下にあるか否かを照会され得るウェブベースシステムとの、2つのウェブベースシステムとして実装されてもよい。一意の静的識別子は、クエリパラメータとして使用されてもよく、一部の例では、一意の静的識別子はエンドユーザーがより積極的なマルウェア対策ツール及びクリーンアップツールを実行するためのワークフローを引き起こすことができる。追加的に又は選択的に、管理者は、単一又は集合のユニットにおいて、その管理下のコンピューティングデバイスのいずれかが感染しているか否かを照会し、かつ/又は管理ワークフロー(エンドユーザーワークフローの一部又は全部を含む)を引き起こして、積極的なマルウェア対策及び/又はクリーンアップツールを引き起こしてもよい。
【0044】
上記の方法300に関して説明したように、本明細書に記載されるシステム及び方法は、DNSトラフィックを分析することによって、コンピューティングデバイス上の過去に検出されなかったマルウェアを検出することができる。一部の実施形態では、本明細書に記載されるシステムは、失敗したDNS要求に関する情報を、ネットワークに接続された複数のコンピューティングデバイスに対する失敗したDNS要求を分析することができるネットワークレベル分析システムに送信することができる。これらの実施形態では、本明細書に記載されるシステムは、失敗したDNS要求のレポート内のコンピューティングデバイスの静的一意識別子を含むことができ、その結果、コンピューティングデバイスが異なるネットワークに接続されたときに、コンピューティングデバイスのIPアドレスが変更され、又は失敗したDNS要求が発生した場合でも、同じコンピューティングデバイスからの情報が相関され得る。
【0045】
図6は、本明細書に記載及び/又は図示される実施形態のうち1つ以上を実施できる例示的なコンピューティングシステム610のブロック図である。例えば、コンピューティングシステム610の全て又は一部は、単独で又は他の要素と組み合わせて、(図3に示されるステップのうち1つ以上等の)本明細書に記載されるステップのうち1つ以上を行ってもよい、及び/又はそれを行うための手段であってもよい。コンピューティングシステム610の全て又は一部は、また、本明細書に記載及び/又は図示される他の任意のステップ、方法、若しくは処理を行い得、かつ/又はそれを行うための手段となり得る。
【0046】
コンピューティングシステム610は、コンピュータ可読命令を実行することが可能な任意のシングル若しくはマルチプロセッサのコンピューティングデバイス又はシステムを幅広く表す。コンピューティングシステム610の例としては、非限定的に、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は他の任意のコンピューティングシステム若しくはデバイスが挙げられる。その最も基本的な構成において、コンピューティングシステム610は、少なくとも1つのプロセッサ614及びシステムメモリ616を含んでもよい。
【0047】
プロセッサ614は、データの処理又は命令の解釈及び実行が可能な任意のタイプ若しくは形式の物理的処理ユニット(例えば、ハードウェア実装型中央処理ユニット)を、一般に表す。特定の実施形態では、プロセッサ614は、ソフトウェアアプリケーション又はモジュールから命令を受信してもよい。これらの命令は、プロセッサ614に、本明細書において記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能を行わせてもよい。
【0048】
システムメモリ616は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる任意のタイプ若しくは形態の揮発性又は不揮発性記憶デバイスを表す。システムメモリ616の例としては、非限定的に、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は他の任意の好適なメモリデバイスが挙げられる。必須ではないが、特定の実施形態では、コンピューティングシステム610は、揮発性メモリユニット(例えば、システムメモリ616など)、及び不揮発性記憶デバイス(例えば、詳細に後述するような、一次記憶デバイス632など)の両方を含み得る。一実施例では、図1のモジュール102のうち1つ以上がシステムメモリ616にロードされ得る。
【0049】
特定の実施形態では、例示的なコンピューティングシステム610は、また、プロセッサ614及びシステムメモリ616に加えて、1つ以上の構成要素又は要素を含んでもよい。例えば、図6に示されるように、コンピューティングシステム610は、メモリコントローラ618、入力/出力(I/O)コントローラ620、及び通信インターフェース622を含んでもよいが、それらはそれぞれ通信基盤612を介して相互接続されてもよい。通信基盤612は、一般に、コンピューティングデバイスの1つ以上の構成要素間の通信を容易にすることができる、任意のタイプ又は形態の基盤を表す。通信基盤612の例としては、非限定的に、通信バス(産業標準アーキテクチャ(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)、及びネットワークが挙げられる。
【0050】
メモリコントローラ618は、一般に、メモリ若しくはデータを扱うこと、又はコンピューティングシステム610の1つ以上の構成要素間の通信を制御することが可能な、任意のタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ618は、通信基盤612を介して、プロセッサ614、システムメモリ616、及びI/Oコントローラ620の間の通信を制御してもよい。
【0051】
I/Oコントローラ620は、一般に、コンピューティングデバイスの入出力機能を調整及び/又は制御することが可能な、任意のタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ620は、プロセッサ614、システムメモリ616、通信インターフェース622、ディスプレイアダプタ626、入力インターフェース630、及び記憶インターフェース634など、コンピューティングシステム610の1つ以上の要素間におけるデータの転送を制御し、又はそれを容易にし得る。
【0052】
通信インターフェース622は、例示的なコンピューティングシステム610と1つ以上の追加のデバイスとの間の通信を容易にすることができる、任意のタイプ又は形態の通信デバイス又はアダプタを幅広く表す。例えば、特定の実施形態では、通信インターフェース622は、コンピューティングシステム610と、追加のコンピューティングシステムを含む私設又は公衆ネットワークとの間の通信を容易にし得る。通信インターフェース622の例としては、非限定的に、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び他の任意の好適なインターフェースが挙げられる。少なくとも1つの実施形態では、通信インターフェース622は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供し得る。通信インターフェース622はまた、例えば、ローカルエリアネットワーク(イーサネット(登録商標)ネットワークなど)、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、セルラー電話接続、衛星データ接続、又は他の任意の好適な接続を通して、リモートサーバへの接続を間接的に提供し得る。
【0053】
特定の実施形態では、通信インターフェース622はまた、外部バス又は通信チャネルを介して、コンピューティングシステム610と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成された、ホストアダプタを表し得る。ホストアダプタの例としては、非限定的に、小型コンピュータシステムインターフェース(SCSI)ホストアダプタ、ユニバーサルシリアルバス(USB)ホストアダプタ、米国電気電子学会(IEEE)1394ホストアダプタ、アドバンストテクノロジーアタッチメント(ATA)、パラレルATA(PATA)、シリアルATA(SATA)、及び外部SATA(eSATA)ホストアダプタ、ファイバーチャネルインターフェースアダプタ、イーサネット(登録商標)アダプタなどが挙げられる。通信インターフェース622はまた、コンピューティングシステム610が分散型又はリモートコンピューティングに関与することを可能にし得る。例えば、通信インターフェース622は、実行のためにリモートデバイスから命令を受信、又はリモートデバイスに命令を送信し得る。
【0054】
図6に示すように、コンピューティングシステム610はまた、ディスプレイアダプタ626を介して通信基盤612に連結される少なくとも1つのディスプレイデバイス624を含み得る。ディスプレイデバイス624は、ディスプレイアダプタ626によって転送される情報を視覚的に表示することができる、任意のタイプ若しくは形態のデバイスを、一般に表す。同様に、ディスプレイアダプタ626は、ディスプレイデバイス624に表示するために、通信基盤612から(又は当該技術分野において既知であるように、フレームバッファから)グラフィックス、テキスト、及び他のデータを転送するように構成された、任意のタイプ若しくは形態のデバイスを、一般に表す。
【0055】
図6に示すように、例示的なコンピューティングシステム610はまた、入力インターフェース630を介して通信基盤612に連結される少なくとも1つの入力デバイス628を含み得る。入力デバイス628は、コンピュータ又は人間のいずれかが生成した入力を、例示的なコンピューティングシステム610に提供することができる、任意のタイプ若しくは形態の入力デバイスを、一般に表す。入力デバイス628の例としては、非限定的に、キーボード、ポインティングデバイス、音声認識デバイス、又は他の任意の入力デバイスが挙げられる。
【0056】
図6に示すように、例示的なコンピューティングシステム610はまた、記憶インターフェース634を介して通信基盤612に連結される、一次記憶デバイス632及びバックアップ記憶デバイス633を含み得る。記憶デバイス632及び633は、一般に、データ及び/又は他のコンピュータ可読命令を記憶することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を表す。例えば、記憶デバイス632及び633は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであり得る。記憶インターフェース634は、一般に、記憶デバイス632及び633とコンピューティングシステム610の他の構成要素との間でデータを転送するための、任意のタイプ若しくは形態のインターフェース又はデバイスを表す。一実施例では、図1のデータベース120は、一次記憶デバイス632内に格納され得る。
【0057】
特定の実施形態では、記憶デバイス632及び633は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された取外し可能な記憶ユニットから読み取る、及び/又はそれに書き込むように構成され得る。好適な取外し可能な記憶ユニットの例としては、非限定的に、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス632及び633はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令が、コンピューティングシステム610にロードされることを可能にする、他の同様の構造体又はデバイスを含み得る。例えば、記憶デバイス632及び633は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取るように、及びこれを書き込むように構成され得る。記憶デバイス632及び633はまた、コンピューティングシステム610の一部であってもよく、又は他のインターフェースシステムを介してアクセスされる別個のデバイスであってもよい。
【0058】
他の多くのデバイス又はサブシステムが、コンピューティングシステム610に接続され得る。反対に、図6に示す構成要素及びデバイスの全てが、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要があるわけではない。上記で言及したデバイス及びサブシステムはまた、図6に示されるのとは異なる方法で相互接続され得る。コンピューティングシステム610はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェアの構成を用い得る。例えば、本明細書で開示する例示的な実施形態の1つ以上は、コンピュータ可読媒体上で、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。「コンピュータ可読媒体」という用語は、本明細書で使用するとき、一般に、コンピュータ可読命令を格納又は保有することができる、任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、非限定的に、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、及びブルーレイ(BLU−RAY)ディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システムなどの非一時的媒体が挙げられる。
【0059】
コンピュータプログラムを包含するコンピュータ可読媒体は、コンピューティングシステム610にロードされ得る。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、次に、システムメモリ616に、及び/又は記憶デバイス632及び633の様々な部分に格納され得る。プロセッサ614によって実行されると、コンピューティングシステム610にロードされたコンピュータプログラムは、プロセッサ614に、本明細書に記載及び/又は図示される例示的な実施形態のうち1つ以上の機能を行わせ、かつ/又はそれらを行わせるための手段となり得る。追加的に又は代替案として、本明細書に記載及び/又は図示される例示的な実施形態の1つ以上は、ファームウェア及び/又はハードウェアで実施されてもよい。例えば、コンピューティングシステム610は、本明細書に開示される例示的な実施形態のうちの1つ以上を実施するように適合される、特定用途向け集積回路(ASIC)として構成されてもよい。
【0060】
図7は、クライアントシステム710、720、及び730、並びにサーバ740及び745がネットワーク750に連結され得る、例示的なネットワークアーキテクチャ700のブロック図である。上記に詳述したように、ネットワークアーキテクチャ700の全て又は一部は、単独で又は他の要素と組み合わせて、本明細書に開示されるステップのうちの1つ以上(図3に示されるステップのうちの1つ以上等)を行い得、かつ/又はそれを行うための手段となり得る。ネットワークアーキテクチャ700の全て又は一部はまた、本開示に記載される他のステップ及び特徴を行うのに使用され得、かつ/又はそれを行うための手段となり得る。
【0061】
クライアントシステム710、720、及び730は、一般に、図6の例示的なコンピューティングシステム610など、任意のタイプ若しくは形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ740及び745は、様々なデータベースサービスを提供し、及び/又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピューティングデバイス又はシステムを、一般に表す。ネットワーク750は、例えばイントラネット、WAN、LAN、PAN、又はインターネットを含む、任意の電気通信又はコンピュータネットワークを、一般に表す。一実施例では、クライアントシステム710、720、及び/若しくは730、並びに/又はサーバ740及び/若しくは745は、図1からのシステム100の全て、又は一部を含み得る。
【0062】
図7に示すように、1つ以上の記憶デバイス760(1)〜(N)はサーバ740に直接取り付けられてもよい。同様に、1つ以上の記憶デバイス770(1)〜(N)は、サーバ745に直接取り付けられ得る。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、データ及び/又は他のコンピュータ可読命令を格納することができる、任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。特定の実施形態では、記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)などの様々なプロトコルを使用して、サーバ740及び745と通信するように構成されたネットワーク接続ストレージ(NAS)デバイスを表し得る。
【0063】
サーバ740及び745はまた、ストレージエリアネットワーク(SAN)ファブリック780に接続され得る。SANファブリック780は、一般に、複数の記憶デバイス間の通信を容易にすることができる、任意のタイプ若しくは形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック780は、サーバ740及び745と、複数の記憶デバイス790(1)〜(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。SANファブリック780はまた、記憶デバイス790(1)〜(N)及びインテリジェント記憶アレイ795が、クライアントシステム710、720、及び730にローカルで取り付けられたデバイスとして現れるような方式で、ネットワーク750並びにサーバ740及び745を介して、クライアントシステム710、720、及び730と、記憶デバイス790(1)〜(N)及び/又はインテリジェント記憶アレイ795との間の通信を容易にし得る。記憶デバイス760(1)〜(N)及び記憶デバイス770(1)〜(N)と同様に、記憶デバイス790(1)〜(N)及びインテリジェント記憶アレイ795は、データ及び/又は他のコンピュータ可読命令を格納することができる任意のタイプ若しくは形態の記憶デバイス又は媒体を、一般に表す。
【0064】
特定の実施形態では、また図6の例示的なコンピューティングシステム610を参照すると、図6の通信インターフェース622などの通信インターフェースは、それぞれのクライアントシステム710、720、及び730とネットワーク750との間の接続を提供するために使用され得る。クライアントシステム710、720、及び730は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ740又は745上の情報にアクセスすることが可能であり得る。かかるソフトウェアは、クライアントシステム710、720、及び730が、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、又はインテリジェント記憶アレイ795によってホストされるデータにアクセスすることを可能にし得る。図7は、データを交換するために(インターネットなどの)ネットワークを使用することを示しているが、本明細書に記載及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
【0065】
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうち1つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ740、サーバ745、記憶デバイス760(1)〜(N)、記憶デバイス770(1)〜(N)、記憶デバイス790(1)〜(N)、インテリジェント記憶アレイ795、又はこれらの任意の組み合わせ上にロードされ、これらによって実行され得る。本明細書に開示される例示的な実施形態のうち1つ以上の全て又は一部はまた、コンピュータプログラムとしてコード化され、サーバ740に記憶され、サーバ745によって作動し、ネットワーク750上でクライアントシステム710、720、及び730に配信されてもよい。
【0066】
上で詳述したように、コンピューティングシステム610、及び/又はネットワークアーキテクチャ700の1つ以上の構成要素は、単独で又は他の要素と組み合わせて、ドメイン名サービストラフィック分析を介してマルウェア感染を検出するための例示的な方法の1つ以上のステップであってもよい。
【0067】
前述の開示は、特定のブロック図、フローチャート、及び実施例を使用して様々な実施形態を記載しているが、本明細書に記載及び/又は図示されるそれぞれのブロック図の構成要素、フローチャートのステップ、動作、及び/又は構成要素は、個別にかつ/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(若しくはそれらの任意の組み合わせ)の構成を使用して実現されてもよい。それに加えて、同じ機能性を達成するように他の多くのアーキテクチャを実現することができるので、他の構成要素内に包含される構成要素のあらゆる開示は、本質的に例示と見なされるべきである。
【0068】
一部の実施例では、図1の例示的なシステム100の全て又は一部は、クラウドコンピューティング環境又はネットワークベースの環境の一部を表してもよい。クラウドコンピューティング環境は、インターネットを介して、様々なサービス及びアプリケーションを提供してもよい。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通してアクセス可能であってもよい。本明細書に記載する様々な機能は、リモートデスクトップ環境又は他の任意のクラウドベースのコンピューティング環境を通して提供されてもよい。
【0069】
様々な実施形態では、図1の例示的なシステム100の全て又は一部は、クラウドベースのコンピューティング環境内におけるマルチテナンシーを容易にしてもよい。換言すれば、本明細書に記載するソフトウェアモジュールは、本明細書に記載する機能の1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成してもよい。例えば、本明細書に記載するソフトウェアモジュールの1つ以上は、2つ以上のクライアント(例えば、顧客)がサーバ上で作動しているアプリケーションを共有するのを可能にするように、サーバをプログラムしてもよい。このようにプログラムされたサーバは、複数の顧客(即ち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有してもよい。本明細書に記載するモジュールの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は設定情報にアクセスできないように、顧客ごとにマルチテナントアプリケーションのデータ及び/又は設定情報を分割してもよい。
【0070】
様々な実施形態によれば、図1の例示的なシステム100の全て又は一部は仮想環境内に実装されてもよい。例えば、本明細書に記載するモジュール及び/又はデータは、仮想機械内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想機械」という用語は、一般に、仮想機械マネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出される、任意のオペレーティングシステム環境を指す。それに加えて、又は別の方法として、本明細書に記載するモジュール及び/又はデータは、仮想化層内で常駐及び/又は実行してもよい。本明細書で使用するとき、「仮想化層」という用語は、一般に、オペレーティングシステム環境にオーバーレイする、並びに/あるいはそこから抽出される、任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、基礎となる基本オペレーティングシステムの一部であるかのように仮想化層を提示する、ソフトウェア仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理されてもよい。例えば、ソフトウェア仮想化ソリューションは、最初に基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しを、仮想化層内の場所にリダイレクトしてもよい。
【0071】
一部の実施例では、図1の例示的なシステム100の全て又は一部は、モバイルコンピューティング環境の一部を表してもよい。モバイルコンピューティング環境は、携帯電話、タブレットコンピュータ、電子ブックリーダー、携帯情報端末、ウェアラブルコンピューティングデバイス(例えば、ヘッドマウントディスプレイを備えたコンピューティングデバイス、スマートウォッチなど)などを含む、広範なモバイルコンピューティングデバイスによって実現されてもよい。一部の実施例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間での1つのみのフォアグラウンドアプリケーションの提示、リモート管理特性、タッチスクリーン特性、位置及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、及び/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を限定する制限されたプラットフォーム、アプリケーションのインストールを(例えば、認可されたアプリケーションストアからのみ生じるように)制限する制御などを含む、1つ以上の個別の特性を有することができる。本明細書で説明される様々な機能は、モバイルコンピューティング環境に対して提供され得る、及び/又はモバイルコンピューティング環境と相互作用し得る。
【0072】
それに加えて、図1の例示的なシステム100の全て又は一部は、情報管理のための1つ以上のシステムの部分を表してもよく、それと相互作用してもよく、それによって生成されるデータを消費してもよく、かつ/又はそれによって消費されるデータを生成してもよい。本明細書で使用するとき、「情報管理」という用語は、データの保護、組織化、及び/又は記憶を指してもよい。情報管理のためのシステムの例としては、非限定的に、記憶システム、バックアップシステム、アーカイブシステム、複製システム、高可用性システム、データ検索システム、仮想化システムなどを挙げることができる。
【0073】
一部の実施形態では、図1の例示的なシステム100の全て又は一部は、情報セキュリティのための1つ以上のシステムの部分を表してもよく、それによって保護されるデータを生成してもよく、かつ/又はそれと通信してもよい。本明細書で使用するとき、「情報セキュリティ」という用語は、保護されたデータに対するアクセスの制御を指してもよい。情報セキュリティのためのシステムの例としては、非限定的に、管理されたセキュリティサービスを提供するシステム、データ損失防止システム、本人認証システム、アクセス制御システム、暗号化システム、ポリシー遵守システム、侵入検出及び防止システム、電子証拠開示システムなどを挙げることができる。
【0074】
一部の実施例によれば、図1の例示的なシステム100の全て又は一部は、エンドポイントセキュリティのための1つ以上のシステムの部分を表してもよく、それと通信してもよく、かつ/又はそれから保護を受けてもよい。本明細書で使用するとき、「エンドポイントセキュリティ」という用語は、不正及び/若しくは違法な使用、アクセス、並びに/又は制御からのエンドポイントシステムの保護を指してもよい。エンドポイント保護のためのシステムの例としては、非限定的に、アンチマルウェアシステム、ユーザー認証システム、暗号化システム、プライバシーシステム、スパムフィルタリングサービスなどを挙げることができる。
【0075】
本明細書に記載及び/又は図示されるプロセスパラメータ及びステップの順序は、単なる例として与えられるものであり、所望に応じて変更することができる。例えば、本明細書に図示及び/又は記載されるステップは特定の順序で図示又は考察されることがあるが、これらのステップは、必ずしも図示又は考察される順序で行われる必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載若しくは図示されるステップの1つ以上を省略するか、又は開示されるものに加えて追加のステップを含んでもよい。
【0076】
様々な実施形態を、完全に機能的なコンピューティングシステムの文脈で本明細書に記載及び/又は図示してきたが、これらの例示的な実施形態の1つ以上は、実際に配布を実施するのに使用されるコンピュータ可読媒体の特定のタイプにかかわらず、様々な形態のプログラム製品として配布されてもよい。本明細書に開示される実施形態はまた、特定のタスクを行うソフトウェアモジュールを使用して実施されてもよい。これらのソフトウェアモジュールは、コンピュータ可読記憶媒体又はコンピューティングシステムに格納されてもよい、スクリプト、バッチ、若しくは他の実行可能ファイルを含んでもよい。一部の実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態の1つ以上を行うようにコンピューティングシステムを構成してもよい。
【0077】
それに加えて、本明細書に記載するモジュールの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現を、1つの形態から別の形態へと変換してもよい。例えば、本明細書に列挙されるモジュールのうちの1つ以上は、変換されるDNS要求データを受信し、DNS要求データをレコードに変換し、変換の結果を相関モジュールに出力し、変換の結果を使用してマルウェアが1つ以上のDNS要求を生成したか否かを判定し、その変換結果をデータベースに格納してもよい。それに加えて、又は別の方法として、本明細書に列挙されるモジュールの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイスにデータを格納し、並びに/あるいは別の方法でコンピューティングデバイスと相互作用することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/又は物理的コンピューティングデバイスの他の任意の部分を、1つの形態から別の形態へと変換してもよい。
【0078】
上述の記載は、本明細書に開示される例示的な実施形態の様々な態様を他の当業者が最良に利用するのを可能にするために提供されてきた。この例示的な記載は、網羅的であることを意図するものではなく、又は開示される任意の正確な形態に限定することを意図するものではない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないものと見なされるべきである。本開示の範囲を決定する際に、添付の特許請求の範囲及びそれらの等価物を参照するべきである。
【0079】
別途記載のない限り、「〜に接続される」及び「〜に連結される」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、直接的接続及び間接的接続(即ち、他の要素若しくは構成要素を介する)の両方を許容するものとして解釈されるものである。それに加えて、「a」又は「an」という用語は、本明細書及び特許請求の範囲で使用するとき、「〜のうち少なくとも1つ」を意味するものとして解釈されるものである。最後に、簡潔にするため、「含む」及び「有する」という用語(並びにそれらの派生語)は、本明細書及び特許請求の範囲で使用するとき、「備える」という単語と互換性があり、同じ意味を有する。
図1
図2
図3
図4
図5
図6
図7