JP6397932B2 - エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム - Google Patents

エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム Download PDF

Info

Publication number
JP6397932B2
JP6397932B2 JP2016558219A JP2016558219A JP6397932B2 JP 6397932 B2 JP6397932 B2 JP 6397932B2 JP 2016558219 A JP2016558219 A JP 2016558219A JP 2016558219 A JP2016558219 A JP 2016558219A JP 6397932 B2 JP6397932 B2 JP 6397932B2
Authority
JP
Japan
Prior art keywords
cache
suspicious
url
fully qualified
domain name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016558219A
Other languages
English (en)
Other versions
JP2017510894A (ja
Inventor
ハート・マイケル
キーンズル・ダレル
アシュリー・ピーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2017510894A publication Critical patent/JP2017510894A/ja
Application granted granted Critical
Publication of JP6397932B2 publication Critical patent/JP6397932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

ネットワーク内のエンドポイントのマシンからのネットワークリクエストが、様々なタイプのマルウェアの犠牲になることがある。マルウェアの作成者は、マルウェア検出システム及び方法の作成者の裏をかくために絶えず努力しており、またその逆も行われている。様々なマルウェア検出システム及び方法において、精度と効率の間に本質的なトレードオフがある。典型的には、マルウェア検出方法又はシステムは、検出を高めるために、メモリ、通信帯域幅、及び/又は処理帯域幅などのシステム資源を消費する。効率的な方法又はシステムは、消費するシステム資源が少なく、マルウェアの識別における偽陽性の割合が低い。いくつかのマルウェア検出システムは、マルウェアを配布する既知のウェブサイトに対するネットワークリクエストを確認する。しかしながら、マルウェアの作成者は、そのような検出を回避できる新しいウェブサイトを素早く生成することができる。
これは、実施形態が生まれる文脈内にある。
マルウェアに感染しているマシンを識別する方法が提供される。本方法は、コンピューティングデバイスからのネットワークリクエスト内のユニバーサルリソースロケータ(URL)が、プロセッサに連結された第1のキャッシュ内にあるかを決定することを含む。本方法は、URLが第1のキャッシュ内にないという決定に応じて、URLの完全修飾ドメイン名が、プロセッサに連結された第2のキャッシュ内にあるかを決定することを含む。本方法は、完全修飾ドメイン名が第2のキャッシュ内にないという決定に応じて、親ホスト名を不審さについて評価することを含む。本方法は、URLが第1の不審さ指示を有する第1のキャッシュ内にあること、完全修飾ドメイン名が第2の不審さ指示を有する第2のキャッシュ内にあること、又は第3の不審さ指示を有する親ホスト名の評価のうちの1つに応じて、コンピューティングデバイスが感染している可能性を有することを指示することを含み、少なくとも1つの方法動作が、プロセッサによって実行される。
プロセッサによって実行されたときに、プロセッサに方法を実行させる命令を有する非一時的有形コンピュータ可読媒体が提供される。本方法は、コンピューティングデバイスによって参照されるユニバーサルリソースロケータ(URL)の第1のキャッシュ内における存在について検査することを含む。本方法は、第1のキャッシュがURLの存在を有し、かつURLが不審であるという指示を有することに応じて、コンピューティングデバイスを感染している可能性があるものとしてリストすることを含む。本方法は、第1のキャッシュ内にURLがないことに応じて、URLから完全修飾ドメイン名を抽出することを含む。本方法は、第2のキャッシュが完全修飾ドメイン名の存在を有し、かつ完全修飾ドメイン名が不審であるという指示を有することに応じて、第2のキャッシュ内の完全修飾ドメイン名の存在を検査することと、コンピューティングデバイスを感染している可能性があるものとしてリストすることとを含む。本方法は、第2のキャッシュ内の完全修飾ドメイン名が存在しないことに応じて親ホスト名を不審さについて査定することと、完全修飾ドメイン名が不審であることを示す査定に応じてコンピューティングデバイスを感染している可能性があるものとしてリストすることとを含む。
マルウェアに感染しているマシンを識別するためのシステムが提供される。本システムは、ユニバーサルリソースロケータ(URL)及び第1の関連不審さレベルを記憶するように構成された第1のキャッシュと、完全修飾ドメイン名及び第2の関連不審さレベルを記憶するように構成された第2のキャッシュとを含む。本システムは、第1のキャッシュ及び第2のキャッシュに連結されたプロセッサを含み、このプロセッサは、監視されている1つ以上のコンピューティングデバイスによって行われるネットワークアクセスからユニバーサルリソースロケータ(URL)を受け取るように構成されている。このプロセッサは、URLが存在するかについて第1のキャッシュを確認することと、第1のキャッシュ内にURLを見つからないことに応じて、URLからの完全修飾ドメイン名が存在するかについて第2のキャッシュを確認することとを含む行為を実行するように構成されている。これらの行為は、第2のキャッシュ内に完全修飾ドメイン名が見つからないことに応じて、親ホスト名に不審さレベルを割り当てることと、第1のキャッシュの確認、第2のキャッシュの確認及び不審さレベルの割り当ての1つ以上の結果に応じて、コンピューティングデバイスを感染しているものとして識別することとを含む。
マルウェアに感染しているマシンを識別する方法が提供される。本方法は、第1の期間にコンピューティングデバイスからのネットワークリクエスト内のドメイン名を追跡することと、ネットワークリクエストに関連する完全修飾ドメイン名をコンピューティングデバイスから受け取ることとを含む。本方法は、完全修飾ドメイン名が、少なくとも第1の期間であって、かつ第2の期間の前の追跡されたドメイン名の中のものであるかを決定することを含む。第2の期間は、現在の時間までに及び、第1の期間は、第2の期間の最初から遡る。本方法は、決定の結果に応じて、コンピューティングデバイスが感染している可能性を有することを示し、少なくとも1つの方法動作が、プロセッサによって実行される。
実施形態の他の態様及び利点は、例えば、記載した実施形態の原理を示す添付図面と関連して行われる以下の詳細な説明から明白になるであろう。
説明した実施形態及びその利点は、添付図面と関連して行われる以下の説明を参照して最もよく理解され得る。これらの図面は、記載された実施形態の趣旨と範囲から逸脱することなく、記載された実施形態に対して当業者によって行われる形態と詳細のいかなる変更も制限しない。
いくつかの実施形態による、マルウェアに感染しているマシンを識別するために、ユニバーサルリソースロケータ(URL)をどのように解析し動作させるかを示すシンタックスとプロセスの図である。 いくつかの実施形態によるマルウェアに感染しているマシンを識別するシステムのブロック図である。 図2のシステムの一実施形態のブロック図であり、いくつかの実施形態によるセキュリティ監視サービスを示す。 いくつかの実施形態による図2のシステムの更に他の実施形態のブロック図である。 いくつかの実施形態による図2のシステムの更に他の実施形態のブロック図である。 感染の疑いのあるマシンを識別する方法のフロー図であり、この方法は、いくつかの実施形態により図1〜図3Cに示された実施形態で実施されてもよくその実施形態を使用してもよい。 いくつかの実施形態による感染の疑いのあるマシンを識別する方法の更に他の態様のフロー図である。 感染の疑いのあるマシンを識別する方法の更に他の実施形態であり、この方法は、いくつかの実施形態による図4Aと図4Bに示された方法の実施形態の代わり又は追加で実施されてもよく、その実施形態の様々な部分と共に実施されてもよい。 本明細書に記載された実施形態を実現することができる例示的コンピューティングデバイスを示す説明図である。
本明細書に開示されたシステム及び方法の実施形態では、マルウェアに感染しているマシンを識別するために、ネットワーク内のエンドポイントでマシン(すなわち、コンピューティングデバイス)から出されたネットワークリクエストからのユニバーサルリソースロケータ(URL)が収集及び分析される。いくつかの実施形態では、ユニバーサルリソースロケータの一部分が解析され動作するとき、ネットワークリクエストに言語分析が適用される。マルチレベルキャッシュ、又はいくつかの実施形態ではシングルレベルキャッシュの使用によって不審なユニバーサルリソースロケータが識別されたとき、そのような不審なユニバーサルリソースロケータの使用パターンを有するマシンにレッドフラグが付けられる。そのようなレッドフラグ付きマシンによって参照された不審なユニバーサルリソースロケータの更なる分析に基づいて、通知を出すことができる。不審なユニバーサルリソースロケータの識別とそれらの使用パターンの認識を組み合わせて、マルウェアに感染している疑いのあるコンピューティングデバイスを識別することによって、偽陽性の発生率が減少し、システム資源の使用が処理しやすいレベルに維持される。図1は(シンタックスを示す)と図2〜図3C(システム実施形態を表す)は、図4A〜図4Cのフロー図における様々な方法による原理と動作例の検討に続く。
図1は、シンタックス及びプロセス図であり、マルウェアに感染しているマシンを識別するために、本開示の一実施形態により、ユニバーサルリソースロケータ102(ウェブアドレスとしても知られる)がどのように解析され動作するかを示す。理解されるように、様々な構成のネットワーク上のコンピューティングデバイスは、図1に示された例の形式と関連した形式のウェブサイトやダウンロードなどのネットワークの資源にアクセスするために、ネットワークを介してネットワークリクエストを送信することができる。典型的には、ユニバーサルリソースロケータ102は、左端で、コロンとダブルスラッシュに先行する(すなわち、それらに続く)1組の文字であるスキーム又はプロトコル104で始まる。スキーム又はプロトコル104の例には、http(ハイパーテキストターミナルプロトコル)、https(ハイパーテキストターミナルプロトコルセキュア)、ftp(ファイル転送プロトコル)などがある。
右に進むと、スキーム又はプロトコル104と、コロンとダブルスラッシュの後に、ホスト(通常はドメイン名として示される)が続くが、リテラルIP(インターネットプロトコル)として示されることもある。ホストの後に、必要に応じて、ポート番号が、コロンと数字として示される。ホストとオプションのポート番号の後に、スラッシュ文字(すなわち「/」)が続く。スラッシュ文字の後に、必要に応じて、パス112が示され、パス112は、当該の資源がドメイン内のどこにあるかを指定する。その他のオプションは、疑問符(すなわち、「?」)が先にあるクエリストリングを有することである。パスとクエリストリングの両方が適用される場合は、クエリストリングがパスに続く(すなわち、パスの右にある)。
ドメインネームシステム(DNS)は、ドメイン名階層とインターネットプロトコルアドレス空間の間を変換し、すなわち、ドメイン名とIPアドレスの間を変換する。ドメイン名階層とインターネットプロトコルアドレス空間は両方ともネーム空間である。分野ネーム空間では、シンタックスは、ドメイン名の1つ以上の部分がそれぞれラベルと呼ばれるものである。右端のラベルは、トップレベルドメインであり、階層は右から左に作用し、各レベルは、サブディビジョン又はサブドメインを示す。ドメイン名は登録される。クエリ及び応答プロトコル(例えば、WHOIS)は、登録ユーザ、インターネット資源の受託者、ドメイン名、IPアドレスブロック及び他の情報に関するデータベースを照会するために使用され得る。そのようなクエリの結果と、クエリ応答が始まるデータ、レコード又はデータベースは、WHOISデータと呼ばれる。
本明細書に開示されたシステム及び方法のために、図1を引き続き参照すると、いくつかの実施形態では、絶対ドメイン名とも呼ばれる完全修飾ドメイン名114が対象となる。完全修飾ドメイン名114は、トップレベルドメインとルートゾーンを含む全てのドメインレベルを指定するドメイン名であり、その結果、ドメインネームシステム内で正確なロケーションが指定される。完全修飾ドメイン名114は、ユニバーサルリソースロケータ102のダブルスラッシュとシングルスラッシュの間の部分であり、スキーム又はプロトコル104、コロン及びダブルスラッシュを廃棄し、シングルスラッシュとびシングルスラッシュに続く(すなわち、右側にある)全てのものを廃棄することによって得られる。
一般に、完全修飾ドメイン名114は、トップレベルドメイン110とホスト名を指定するドメイン名であり、ホスト名は、ホストコンピュータに割り当てられたドメイン名である。全てのホスト名がドメイン名であり、また全てではないが多くのドメイン名がホスト名であることを理解されたい。ホスト名は、単に1つの名前でもよく、ローカルホスト名106とその後の親ホスト名108でもよく、ローカルホスト名106(ドットの左側)と親ホスト名108(ドットの右側)の間にドット(すなわち、「.」)がある。従って、親ホスト名108は、トップレベルドメイン110のサブドメインになり、従って、ローカルホスト名106(ローカルホスト名106を有する完全修飾ドメイン名114内の)は、親ドメイン又は親ホスト名108のサブドメインになる。
特定のドメイン名サフィックスは、パブリックサフィックスリストにまとめられている。パブリックサフィックスは、有効トップレベルドメインと呼ばれることもある。パブリックサフィックスの例には、is−a−doctor.com、is−very−evil.org、is−very−nice.org、ballooning.aero、k12.ca.us、americanart.museum、blogspot.jpなどがある。多くのパブリックサフィックスが、国と関連付けられており、パブリックサフィックスの表現として上に示された例は変化することがあることを理解されたい。
更に図1を参照し、関連したシンタックスを適用して、本開示によるユニバーサルリソースロケータ102の動作プロセスがこれから記載される。完全修飾ドメイン名114が対象となるので、ユニバーサルリソースロケータ102内のパス112は無視され、除去され得る。スキーム又はプロトコル104も除去される。これにより完全修飾ドメイン名114が残り、従って、ユニバーサルリソースロケータ102から完全修飾ドメイン名114が抽出される。適切に指示されたプロセッサが、本明細書に記載のこの行為及び他の行為を行うことができることを理解されたい。行為118で、第1のレベルキャッシュ内で完全修飾ドメイン名が探索される。この説明は、ユニバーサルリソースロケータ102の第1のレベルの動作プロセスに適用される。ヒットがあった場合、すなわち、行為118により第1のレベルキャッシュ内に完全修飾ドメイン名114があった場合、図2〜図4Cに関して記述されるように、更なる行為を行うことができる。ヒットがない場合、すなわち、行為118による第1のレベルキャッシュ内に完全修飾ドメイン名114がない場合、プロセスは第2のレベルに移る。
プロセスの第2のレベルでは、ローカルホスト名106が、完全修飾ドメイン名114又はユニバーサルリソースロケータ102から抽出される。例えば、完全修飾ドメイン名114からトップレベルドメイン110と親ホスト名108を除去するか、ユニバーサルリソースロケータ102からスキーム又はプロトコル104、親ホスト名108、トップレベルドメイン及びパス112を除去することによって、ローカルホスト名106を抽出することができる。行為120で、第2のレベルキャッシュ内でローカルドメイン名106が探索される。ヒットがあった場合、すなわち、行為120により第2のレベルキャッシュ内にローカルドメイン名106がある場合は、図2〜図4Cに関して記述されるように、更なる行為を行うことができる。ヒットがない場合、すなわち、行為120により第2のレベルキャッシュ内にローカルドメイン名106がない場合、プロセスは第3のレベルに移る。第2のレベルでの更なる行為122として、親ホスト名108とトップレベルドメイン110をパブリックサフィックスリスト内で探索することとができ、親ホスト名とトップレベルドメイン110がパブリックサフィックスリスト内にあるかにより、更なる行為を行うことができる。
完全修飾ドメイン名114が第1のレベルキャッシュから欠落しているか存在せず、かつローカルホスト名106が第2のレベルキャッシュから欠落しているか存在しないときに到達するプロセスの第3のレベルでは、ローカルホスト名106が、行為124で、不審としてスコアされる。ローカルホスト名106を不審についてスコアするか、査定するか、評価することは、様々な実施形態で様々な方法で行われ得る。例えば、確率的クラシファイアは、数値、文字ベース、語句ベース又は他のタイプのスコアを、ローカルホスト名106がどれだけ不審かであるかの可能性に割り当てることができる。そのようなスコアは、例えば、不審でない場合が0で不審である場合が1(すなわち、二元スコア又は評価)、1から10又は他の等級までの数値スコア、文字スコア、「低」、「中」、「高」などの語句ベーススコア、又は「不審ではない」と「不審である」(二元スコアの別のバージョン)、又は本明細書に開示された教示により容易に考案されるような別のスケール、パラメータ又は表現でよい。行為124による不審さに関するスコアは、図2〜図4Cに関して詳述されるような様々な方法で適用され得る。詳細には、このスコアを使用して第1及び第2のレベルキャッシュならびにマシン(すなわち、コンピューティングデバイス)を更新することができ、このスコアは、ユニバーサルリソースロケータの様々な使用パターンと合致する。いくつかの実施形態では、特定のレベル以上のスコアは、不審なウェブサイト又はマルウェアの可能性を示し、フラグ付けされ得る。
いくつかの実施形態では、不審さに関するスコアリングは、ローカルホスト名106が、発音しやすい認識可能な音節を有するような発音規則と合致するかに基づく。一実施形態では、不審さに関するスコアリングは、ローカルホスト名106の文字カウント又は長さに基づく。一実施形態では、不審さに関するスコアリングは、ローカルホスト名106が、通常は音節に見られない数字、繰り返し文字若しくは文字の組み合わせ、又は通常は言語ベースの音節に見られない他の文字を含むかに基づく。一実施形態では、不審さに関するスコアリングは、語又は音節の辞書又は他の編纂内の語の順序における文字のランダムさと比較した、ローカルホスト名106内の文字の順序のランダムさの評価に基づく。
いくつかの実施形態では、不審さに関するスコアリングは、様々な実施形態では、特定のマシン又は監視されているマシンのグループが訪問する全てのユニバーサルリソースロケータ102、完全修飾ドメイン名114又は単なる親ホスト名108のリストを、指定された期間にわたって維持することに基づく。この期間には、現在までの無制限の期間、現時点までの制限された期間、又は他の所定の時間間隔が挙げられる。このリストに、評価されているユニバーサルリソースロケータ102、評価されている完全修飾ドメイン名114、評価されている親ホスト名108、又は評価されているローカルホスト名106(様々な実施形態において)が、1週間などの別の(例えば、第2の)所定の時間間隔より前から見られた場合は、スコアリング機構は、不審さの低いスコアを提供する。他の状況で、このリストに、第2の間隔より前に見られなかった場合、すなわち、訪問が最近しか行われておらず、サイトがこれまで訪問されていない場合、スコアリング機構は、不審さの高いスコアを提供する。また、スコアは、この第2の期間中にドメイン又はサブドメインが訪問された回数、すなわち最近訪問された回数に基づいてもよい。次に、この例では、第1の期間は、第2の期間の最初より前に遡り、第2の期間は、現在の時間にまで及ぶ。換言すると、いくつかの実施形態では、第1の期間は、第2の期間の最初まで遡り、第2の期間は、現在の時間にまで及ぶ。この技術に基づく実施形態は、ごく最近訪問しかつ以前訪問したことのないユニバーサルリソースロケータ102、親ホスト名108、完全修飾ドメイン名114又はローカルホスト名106に、高い不審さスコアを割り当てる。その結果、実施形態は、特定の種類のマルウェアの特徴を示す急に生成されて消えたドメインにフラグを立てる。
引き続き図1を参照すると、本開示によるユニバーサルリソースロケータ102の更なる動作プロセスが提供される。このその他のプロセスでは、第1のレベルキャッシュ、第2のレベルキャッシュ、及び第3のレベルキャッシュが用いられる。プロセスの第1のレベルで、第1のレベルキャッシュ内でユニバーサルリソースロケータ108が検索される。ヒットがあった場合、すなわち、第1のレベルキャッシュ内にユニバーサルリソースドメイン名102があった場合、図2〜図4Cに関連して記載されるように更なる行為を行うことができる。ヒットがなかった場合、すなわち、第1のレベルキャッシュ内にユニバーサルリソースドメイン名102がなかった場合、プロセスは第2のレベルに移る。プロセスの第2のレベルで、前述のように、完全修飾ドメイン名114が、ユニバーサルリソースロケータ102から抽出される。第2のレベルキャッシュ内で完全修飾ドメイン名114が検索される。ヒットがあった場合、すなわち、第2のレベルキャッシュ内に完全修飾ドメイン名114があった場合、図2〜図4Cに関連して記載されるように、更なる行為を行うことができる。ヒットがなかった場合、すなわち、第2のレベルキャッシュ内に完全修飾ドメイン名114がなかった場合、プロセスは第3のレベルに移る。プロセスの第3のレベルで、親ホスト名108とトップレベルドメイン110が、完全修飾ドメイン名114又はユニバーサルリソースロケータ102から抽出される。第3のレベルキャッシュ内で親ホスト名108とトップレベルドメイン110が検索される。ヒットがあった場合、すなわち、第3のレベルキャッシュ内に親ホスト名108とトップレベルドメイン110があった場合、図2〜図4Cに関連して記載されるように、更なる行為を行うことができる。ヒットがなかった場合、すなわち、第3のレベルキャッシュ内に親ホスト名108とトップレベルドメイン110がなかった場合、前述のように、親ホスト名108とトップレベルドメイン110が不審であるとしてスコアリングされる。例えば、確率的クラシファイアは、親ホスト名108とトップレベルドメイン110をスコアリングしてもよく、トップレベルドメイン110のない親ホスト名108をスコアリングしてもよい。スコアリングの結果は、第3のレベルキャッシュ、第2のレベルキャッシュ及び第1のレベルキャッシュに適切な更新と共に広められる。例えば、更新は、ユニバーサルリソースロケータ102と新しいスコアを加えたものを第1のキャッシュに追加し、完全修飾ドメイン名114と新しいスコアを加えたものを第2のキャッシュに追加し、親ホスト名108、又は親ホスト名108とトップレベルドメイン110を新しいスコアを加えたものを第3のキャッシュに追加することを含む。ユニバーサルリソースロケータ102、完全修飾ドメイン名114、親ホスト名108及びトップレベルドメイン110の処理の他の変形が可能であり、実施形態の範囲内にあることを理解されたい。更に、本明細書に示された例のいくつかは、2レベルキャッシュシステムを考察しているが、実施形態は、前述のような3レベル以上のキャッシュシステムに拡張される。更に、いくつかの実施形態では、キャッシュレベルの数が、達成される最適な処理効率に基づくことを理解されたい。
図2は、マルウェアに感染しているマシンを識別するシステムのブロック図である。クライアントデバイス202(すなわち、コンピューティングデバイス又はマシン)が、ファイアウォール204によって保護され、インターネットサービスプロバイダ206に繋がっている。インターネットサービスプロバイダ206によって、クライアントデバイス202は、インターネットとして知られるグローバル通信ネットワークなどのネットワーク208にアクセスすることができる。ファイアウォール204は、インターネットサービスプロバイダ206とネットワーク208を介してログ収集プラットフォーム210と通信し、1つ以上のユニバーサルリソースロケータのログ102をログ収集プラットフォーム210に送る。例えば、いくつかの実施形態では、クライアントデバイス202が、ユニバーサルリソースロケータ102を含むネットワークリクエストを送信するたびに、ファイアウォール204は、このユニバーサルリソースロケータ102をログに書き込む。定期的に、いくつかのエントリを収集した後、又はいくつかの実施形態では1つのエントリを収集した後である程度すぐに、ファイアウォール204は、ログをログ収集プラットフォーム210に送る。これは、電子メール通信などのメッセージ、又はファイル転送プロトコル若しくはネットワーク208を介してデータ転送するための他の機構によって送信されるファイルで行われてもよい。例えば、ファイアウォール204は、クライアントデバイス202上のソフトウェアで実現されてもよく、インターネットサービスプロバイダ206によるサービスとして実現されてもよい。
更に図2を参照すると、ログ収集プラットフォーム210は、クライアントデバイス202や他のクライアントデバイス202からのユニバーサルリソースロケータ102のログを、解析エンジン214に連結されるか、分析エンジン214を含むかそれを実現するサーバ212に通信する。分析エンジン214は、クラシファイア216、キャッシュ218及びレッドフラグ付きマシン220のリストを含み、ユニバーサルリソースロケータ102のログを分析する。この分析は、図1に示されたプロセスの形態をとってもよく、図4A〜図4Cに示された方法若しくはその変形の1つ以上でもよい。分析エンジン214が、マルウェアに感染している疑いのあるクライアントデバイス202を識別したとき、分析エンジン214は、レッドフラグ付きマシン220のリストを更新して、クライアントデバイス202及びユニバーサルリソースロケータ102又はその一部分に関する情報を、レッドフラグ付きマシン220のリストに追加する。次に、分析エンジン214は、感染している疑いのある各マシンを更に分析することができ、詳細には、それらのマシンのユニバーサルリソースロケータ102又はその一部分を更に分析することができる。これにより、全てのクライアントデバイス202から出ている全てのユニバーサルリソースロケータ102の分析及び更なる分析と比較して、分析エンジン214への計算及び資源負担が大幅が減少することを理解されたい。詳細には、スコアがキャッシュ内にあるので、第1のレベル及び第2のレベルのキャッシュ動作によって、スコアリング機構で分析してスコアを生成するために必要とされるユニバーサルリソースロケータ102又はその一部分の数が大幅に減少する。スコアリング機構が第3のレベルで適用された後、スコアがキャッシュに更新されてスコアリング機構を適用する繰り返しが減少するかなくなる。更に、レッドフラグ付きマシンと、レッドフラグ付きマシンによって参照されるユニバーサルリソースロケータ102のみに分析を適用することにより、計算及び資源負担が更に減少し、偽陽性が更に減少する。
図3A〜図3Cを参照して、図2のシステムの様々な実施形態を示す。これらの実施形態は、セキュリティ監視サービス302を特徴とし、セキュリティ監視サービス302は、図2からのログ収集プラットフォーム210、サーバ212、分析エンジン214、クラシファイア216、キャッシュ218、及びレッドフラグ付きマシン220のリストまたその変形物を含む。例えば、セキュリティ監視サービス302及びその構成要素は、1つのサーバの一部分又は1つ以上のサーバ上で実施されてもよい。図3Aは、セキュリティ監視サービス302を示す図2のシステムの一実施形態のブロック図である。ここで、クライアントデバイス202は、ネットワーク208を介してセキュリティ監視サービス302と通信するエージェント304を有する。ネットワークは、様々なサーバ306に連結される。例えば、クライアントデバイス202は、クライアントデバイス202のユーザが、ウェブサーフィンをしているか、あるいはネットワーク208を使用してサーバ306にアクセスするときなどに、ネットワーク208を介してサーバ306の1つに送られるネットワークリクエスト(ユニバーサルリソースロケータ102を含む)を送信する。エージェント304は、クライアントデバイス202上で稼働するソフトウェアで実現されてもよく、ユニバーサルリソースロケータ102を収集し、ネットワーク208を介してユニバーサルリソースロケータ102をセキュリティ監視サービス302に送信する。ネットワークリクエストを作成するユニバーサルリソースロケータ102とクライアントデバイス202の監視は、ローカルエリアネットワーク、無線エリアネットワーク又はイントラネット内のサービスとして行われてもよく、例えば契約又は定期サービス契約によってネットワークを介して利用可能な独立型サービスとして行われてもよい。
図3Bは、図2のシステムの更に他の実施形態のブロック図である。複数のクライアントデバイス202が、例えばサービスプロバイダとして、セキュリティ監視サービス302に連結される。セキュリティ監視サービス302は、様々なサーバ306に連結されたネットワーク208に連結される。例えば、クライアントデバイス202は、セキュリティ監視サービス302を介して送られたネットワークリクエスト(ユニバーサルリソースロケータ102を含む)を、ネットワーク208とサーバ306に送信する。セキュリティ監視サービス302は、分析のために、ネットワークリクエストからのユニバーサルリソースロケータ102を取り込むかインターセプトする。そのような分析は、ネットワークサービスプロバイダによって提供されるサービスとして行われてもよい。
図3Cは、図2のシステムの更に他の実施形態のブロック図である。ファイアウォール204とインターネットサービスプロバイダ206をそれぞれ有する複数のクライアントデバイス202は、インターネットサービスプロバイダ206を介してネットワーク208に連結される。ネットワーク208は、様々なサーバ306と、セキュリティ監視サービス302に連結される。ファイアウォール204はそれぞれ、ユニバーサルリソースロケータ102をセキュリティ監視サービスに、それぞれのインターネットサービスプロバイダ206とネットワーク208を介して通信する。ユニバーサルリソースロケータ102とクライアントデバイス202の監視は、定期サービス契約又は他のサービス契約を使用して行われてもよい。本明細書に開示された教示に従って、通信及び監視の様々な更に他の構成が可能である。
図4A〜図4Cを参照して、感染している疑いのあるマシンを識別する方法の実施形態を示す。これらの実施形態は、図1を参照してエンドポイントからのネットワークリクエストを分析する文脈で考察されるシンタックスを利用する。この方法は、サーバやセキュリティ監視サービス内のプロセッサなどのプロセッサを使用して実施されてもよい。いくつかの実施形態は、クライアントデバイス内のプロセッサを利用する。方法の行為の実施態様の例が本明細書に記載される。図4Aは、感染の疑いのあるマシンを識別する方法のフロー図であり、この方法は、図1〜図3Cに示された実施形態で実施してもよくその実施形態を使用してもよい。行為402で、ユニバーサルリソースロケータを受け取る。例えば、ユニバーサルリソースロケータは、1つ以上のクライアントデバイスからの1つ以上のログから、ログ収集プラットフォームによって受け取られる。ユニバーサルリソースロケータは、ファイアウォール若しくはエージェントによって通信されてもよく、前述のようなサービスプロバイダによって収集されてもよい。ユニバーサルリソースロケータは、ログの形で通信されてもよく、一度に単一通信で直接収集されてもよい。行為404で、完全修飾ドメイン名が抽出される。例えば、完全修飾ドメイン名は、パスを無視しスキーム又はプロトコルを除去して完全修飾ドメイン名を残すことによって、ユニバーサルリソースロケータから抽出されてもよい。
決定行為406で、第1のキャッシュ内に完全修飾ドメイン名があるかという質問が出される。第1のキャッシュは、一実施形態では、ローカルホスト名が抽出されスコアリングされた全ての完全修飾ドメイン名を含むことができ、次に第1のキャッシュが更新されて、完全修飾ドメイン名、又は完全修飾ドメイン名を含むユニバーサルリソースロケータ全体が、関連付けられたスコアと共に第1のキャッシュに追加される。更に他の実施形態では、第1のキャッシュは、1週間より前などの規定の時間より前にクライアントデバイスが訪問した全ての完全修飾ドメイン名、又は完全修飾ドメイン名を含む全てのユニバーサルリソースロケータを含んでもよい。これは、ユニバーサルリソースロケータ又は完全修飾ドメイン名にタイムスタンプし、クライアントデバイスが訪問した全てのユニバーサルリソースロケータ又は完全修飾ドメイン名のリストを維持することによって容易にされ得る。規定の時間より前に訪問したユニバーサルリソースロケータ又は完全修飾ドメイン名のリストは、クライアントデバイスが訪問した全てのURL又は完全修飾ドメイン名のリストから導出され得る。一実施形態では、クライアントデバイスが訪問した全てのユニバーサルリソースロケータ又は完全修飾ドメイン名のリストの一部分が、タイムスタンプと共に、決定行為406で出された質問に答えるために適用される。
決定行為406に対する答えがいいえの場合、第1のキャッシュ内に完全修飾ドメイン名がなく、これは、キャッシュミスと呼ばれることがあり、フローは、行為412に分岐する。決定行為406に対する答えがはいの場合、第1のキャッシュ内に完全修飾ドメイン名があり、フローは決定行為408に分岐する。
決定行為408で、完全修飾ドメイン名が不審かの質問が出される。例えば、第1のキャッシュは、フロー図の更に下の行為418及び426で更新されるときに、完全修飾ドメイン名のスコアを含むことある。スコアが、完全修飾ドメイン名が不審であることを示す場合、すなわち、規定値を超える評価値を有する場合、質問に対する答えははいであり、フローは行為410に分岐する。スコアが、完全修飾ドメイン名が不審ではないことを示す場合、すなわち、規定値を超える評価値を有する場合、質問に対する答えはいいえであり、フローは行為402に分岐して、別のユニバーサルリソースロケータを受け取る。
行為410で、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータを使用したマシンは、分析エンジンによって維持されたレッドフラグ付きマシンのリストなどの不審なデバイスのリストに追加される。いくつかの実施形態では、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータ又は単に不審な完全修飾ドメイン名、及び付随するスコアなどの更に詳しい情報が、不審なデバイスのリスト上の、感染の疑いのあるマシンと関連付けられた情報に追加される。これにより、図4Bに関して更に検討されるように、不審なユニバーサルリソースロケータ、不審な完全修飾ドメイン名、及び不審なデバイスの挙動の分析が更に可能になる。行為410の後、フローは行為402に分岐して、別のユニバーサルリソースロケータを受け取る。
第1のキャッシュ内に完全修飾ドメイン名がない場合に到達する行為412で、パブリックサフィックスが適用又は取得される。パブリックサフィックスが、ローカルホスト名の抽出を可能にすることを理解されたい。パブリックサフィックスは、いくつかの実施形態では、公に入手できるリストにより得られることがある。決定行為414で、サブドメインが許容可能かという質問が出される。この質問には、パブリックサフィックスの適用を有するいくつかの事例、及びパブリックサフィックスに追加された別のデータベースや他のパブリックソースから提供され得る追加情報の使用を有する他の事例で答えることができる。答えがいいえの場合、サブドメインは許容可能でなく、サブドメインがマルウェア作成者によって素早く生成された懸念は少なく、従って、完全修飾ドメイン名は不審ではないか、低い不審さスコアを有する。フローは行為418に分岐して、第1のキャッシュをこの情報で更新する。答えがはいの場合、サブドメインは許容可能であり、フローは決定行為416に分岐する。
決定行為416で、親がサブドメインを制御するかという質問が出される。この質問には、パブリックサフィックスの適用を有するいくつかの事例、及び別のデータベースや他のソースから提供され得る追加情報の使用を有する他の事例で答えることができる。答えがいいえの場合、親がサブドメインを制御し、サブドメインがマルウェア作成者によって素早く生成された懸念が少なく、従って、完全修飾ドメイン名が不審でないか、低い不審さスコアを有する。フローは行為418に分岐して、第1のキャッシュをこの情報で更新する。答えがいいえの場合、親はサブドメインを制御せず、これが不審な完全修飾ドメイン名と付随するユニバーサルリソースロケータであるという懸念がある。その場合、フローは行為420に分岐する。いくつかの実施形態では、動作412がルーチンと見なされ、動作414、416、及び418が、ルーチンによって呼び出されたサブルーチンと見なされることを理解されたい。
行為414でサブドメインが許容できないと判定されたときに到達する行為418で、第1のキャッシュが更新される。例えば、完全修飾ドメイン名、又は完全修飾ドメイン名を有するユニバーサルリソースロケータは、決定行為414又は決定行為416の結果に従って、不審さの低いスコア又は不審さが低いかないという他の指示と共に、第1のキャッシュに追加されてもよい。不審さレベルが低いので、低レベルの不審さを有すると思われるそのユニバーサルリソースロケータと完全修飾ドメイン名を用いたマシンは、不審なデバイスのリストに追加されない。
行為420で、ローカルホスト名が抽出される。これにより、行為412で行われたパブリックサフィックスの適用が可能になる。図1に関して、ローカルホスト名の抽出が更に記載される。決定行為422で、第2のキャッシュ内にローカルホスト名があるかという質問が出される。答えがはいの場合は、ローカルホスト名が第2のキャッシュ内にあり、フローが行為426に分岐し、第1のキャッシュをローカルホスト名の不審さに関するスコアで更新する。答えがいいえの場合は、ローカルホスト名が第2のキャッシュ内になく、これはキャッシュミスと呼ばれることがあり、フローが行為424に分岐して、ローカルホスト名をスコアリングする。行為424で、ローカルホスト名が抽出される。これは、いくつかの実施形態で分析エンジン内で用いられるような確率的クラシファイア、又は様々なメトリックに基づく別のクラシファイアを適用する形をとることがある。
行為430で、第2のキャッシュが更新される。いくつかの実施形態では、第2のキャッシュが、ローカルホスト名と行為424の評価結果を追加することによって更新される。フローは行為426に分岐して、第1のキャッシュを更新する。行為426で、第1のキャッシュが更新される。第1のキャッシュは、第2のキャッシュ内に見つかったか行為424の評価で割り当てられたローカルホスト名と関連スコアを含むように更新される。例えば、第1のキャッシュは、第2のキャッシュ内に見つかったか評価されたローカルホスト名を含む完全修飾ドメイン名又はユニバーサルリソースロケータを含むように更新されてもよい。
決定行為428で、ローカルホスト名が不審かという質問が出される。例えば、第2のキャッシュ又は評価が、規定値を超えるスコア、不審さフラグにおけるセットビット、又は他の指示を示してもよい。これらの同じメカニズムが、第1のキャッシュにも適用されてもよいことを理解されたい。答えがはいの場合、ローカルホスト名は不審であり、フローは行為432に分岐する。答えがいいえの場合、ローカルホスト名は不審ではなく、フローが行為402に分岐して、別のユニバーサルリソースロケータを受け取る。行為432で、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータを使用したマシンが、分析エンジンによって維持されたレッドフラグ付きマシンのリストなどの不審なデバイスのリストに追加される。いくつかの実施形態では、不審な完全修飾ドメイン名を有するユニバーサルリソースロケータ、又は不審な完全修飾ドメイン名、及び付随するスコアなどの更に他の情報が、不審なデバイスのリスト上の、感染の疑いのあるマシンと関連付けられた情報に追加される。これにより、図4Bに関して更に検討されるように、不審なユニバーサルリソースロケータ、不審な完全修飾ドメイン名、及び不審なデバイスの挙動の分析が更に可能になる。行為432の後で、フローは行為402に分岐して、別のユニバーサルリソースロケータを受け取る。
図4Aに示されたフローの様々な繰り返しの結果、最新の第1のキャッシュ、最新の第2のキャッシュ、及び不審なデバイスの記入リストが得られる。いくつかの実施形態では、不審なデバイスの記入リストは、更に、ネットワークリクエストでユニバーサルリソースロケータが送信された(すなわち、訪問された)各不審なデバイスのリストなどの情報を含む。この更なる情報は、各ユニバーサルリソースロケータのタイムスタンプを含んでもよく、その結果、ある期間にわたるマシンごとの使用パターンに従って更なる処理を行うことができる。不審なデバイスのリストとのその更なる内容は、後述される図4Bのフローで処理され得る。
図4Bは、感染の疑いのあるマシンを識別する方法の更に他の態様のフロー図である。このフローは、不審なデバイス、すなわちマルウェアに感染している疑いのあるコンピューティングデバイスのリストがあると仮定する。そのようなリストは、図4Aに示された方法、図4Cに示された方法、又はその更に他の変形によって作成され得る。フローは、図4Bの行為440から、リスト上の第1の不審なデバイス、又はリスト上のランダムに選択されたか他の方法で選択されたデバイスに関して始まる。リストから提示されるデバイスの順序は、番号順、ランダム順序、挙動の様相に基づく限定された順序、又は何らかのアルゴリズムに基づく系統的順序でよい。行為440で、リスト上の次の不審なデバイスが示される。例えば、レッドフラグ付きマシンのリストから、マルウェアに感染している疑いのあるデバイスが選択される。
決定行為442で、不審なデバイスが、不審なユニバーサルリソースロケータを規定の回数訪問したかの質問が出される。答えがいいえの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを訪問していないか、不審なユニバーサルリソースロケータを規定の回数より少ない回数しか訪問しておらず、フローは、決定行為444に分岐する。答えがはいの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを少なくとも規定の回数訪問しており、フローは決定行為448に分岐して、完全修飾ドメイン名を確認する。決定行為444で、不審なデバイスが、規定の回数不審なユニバーサルリソースロケータを訪問したかの質問が出される。答えがいいえの場合、例えば、デバイスは、不審なユニバーサルリソースロケータを訪問していないか、規定の回数より少ない回数しかユニバーサルリソースロケータを訪問しておらず、フローは、決定行為446に分岐する。答えがはいの場合、例えば、デバイスは、少なくとも規定の回数不審なユニバーサルリソースロケータを訪問しており、フローは決定行為448に分岐し、完全修飾ドメイン名を確認する。
決定行為446で、不審なデバイスが、長いドメイン名を有するユニバーサルリソースロケータを訪問したかの質問が出される。例えば、文字数を指定することができ、この文字数を超える長さにフラグを立てることができる。答えがいいえの場合は、フローは行為440に分岐して、マルウェアに感染している疑いのあるデバイスのリスト上の次の不審なデバイスを調べる。答えがはいの場合は、フローは行為448に分岐して、完全修飾ドメイン名を確認する。
決定行為442、444及び446で出された質問の1つ以上に対する肯定的答えに従って、不審なデバイスのリスト上の不審なデバイスが、不審なユニバーサルリソースロケータを訪問した履歴を有する場合に到達する決定行為448で、全ての完全修飾ドメイン名を確認したかの質問が出される。この質問は、不審なデバイスリスト内の情報に従って、不審なデバイスが訪問した各完全修飾ドメイン名を確認するループの先頭にある。答えがはいの場合、不審なデバイスが訪問した全ての完全修飾ドメイン名が確認済みであり、フローが行為440に分岐して、不審なデバイスのリスト上の次の不審なデバイスを調べる。答えがいいえの場合、不審なデバイスが訪問した完全修飾ドメイン名が全て確認されたわけではなく、フローは行為450に分岐する。更なる実施形態が、この種類の繰り返しループを確立するための他の機構を使用してもよいことを理解されたい。
行為450で、完全修飾ドメイン名に対応するインターネットプロトコル(IP)アドレスがピングされる。いくつかの実施形態では、これは、ピングと呼ばれる手順を用い、この手順は、ピングに応答するデバイスがあるかを確認する。決定行為452で、現在ドメインが在存するかの質問が出される。この質問に対する答えは、行為450から、ピングの結果によって決定される。ピングからの応答により、デバイスの存在が確認される。ピングに対する応答又は返信がないことは、デバイスが現在存在しないことを意味する。答えがいいえの場合は、ドメインが現在存在せず、これは不審であり、ドメインを作成するマルウェアのサプライヤを示すことが多い。マルウェアのサプライヤが、それらのドメインを素早く消すので、そのドメインをトレースすることができず、マルウェア検出サービスが、それらのドメインをマルウェアの既知の拡散者として理解しリストしない確率が高いことを理解されたい。動作452で答えがいいえの場合、フローが行為458に分岐して、第1のキャッシュを更新する。動作452で答えがはいの場合、ドメインは現在存在し、あまり不審ではなく、行為は、決定行為454に分岐する。
決定行為454で、ドメインが最近登録されたかの質問が出される。最近登録されたドメインは不審であり、高い不審さスコアを有するべきである。答えがはいの場合、ドメインは最近登録され、フローが行為458に分岐して、第1のキャッシュを更新する。答えがいいえの場合、ドメインは最近登録されておらず、あまり不審ではなく、この行為は、決定行為456に分岐する。決定行為456で、完全修飾ドメイン名が、不審なデバイスに関して国が変則的かの質問が出される。例えば、不審なデバイスが、特定の国内のウェブサイトを訪問した履歴を有し、完全修飾ドメイン名が同じ国で始まる場合、この完全修飾ドメイン名は不審ではない。しかし、不審なデバイスが、特定の国内のウェブサイトを訪問しておらず、また完全修飾ドメイン名が、不審なデバイスによって定期的に訪問されていない国で生成されている場合、この完全修飾ドメイン名は不審であり、高い不審さスコアを有するべきである。行為456で答えがはいの場合、国は変則的であり、フローは行為458に分岐して、第1のキャッシュを更新する。決定行為456で答えがいいえの場合は、国は変則的でなく、フローは決定行為448に分岐して戻って、調べている特定の不審なデバイスに関係する不審なデバイスリストに関する情報から、次の完全修飾ドメイン名を調べる。
行為458で前述されたように、第1のキャッシュが更新されて、決定行為452、454、及び456での質問の1つ以上に対する答えに対応する不審さの指示が、不審なデバイスの、調べている完全修飾ドメイン名に関する情報に追加される。フローが、決定行為460に分岐して、マルウェアに感染しているデバイスに比較的強い不審さがあるか決定する。決定行為460で、アナリスト又はサービスに相談すべきかの質問が出される。完全修飾ドメイン名が不審かについてアナリスト又はサービスに相談することは高価な行為なので、この質問は、一般に、フィルタリングされた不審なデバイス、すなわち、不審なデバイスのリスト上に最初からあるデバイスのサブセットに対して検討される。行為460で答えがいいえの場合、相談はないはずであり、フローは決定行為464に分岐する。行為460で答えがはい場合、相談はあるはずであり、フローは決定行為462に分岐する。行為462で、第1のキャッシュが、相談の結果で更新される。詳細には、第1のキャッシュは、相談に基づいて、完全修飾ドメイン名又は関連ユニバーサルリソースロケータの高レベル又は低レベルの不審さを示すように更新されてもよい。
決定行為464で、管理者に通知すべきかの質問が出される。答えがはいの場合は、フローは行為466に分岐して、当該マシンがマルウェアに感染している疑いがあることを管理者に通知する。答えがいいえの場合、フローは決定行為468に分岐する。決定行為468で、ユーザに通知すべきかの質問が出される。答えがはいの場合、行為470で、当該マシンがマルウェアにより感染している疑いがあることがユーザに通知される。答えがいいえの場合は、フローは行為440に分岐して、マルウェアに感染している疑いのあるデバイスのリスト上の次の不審なデバイスを調べる。いくつかの実施形態では、ユーザ通知は、適切なリストから1つ以上のユニバーサルリソースロケータをユーザに示すことと、ユーザがそのようなユニバーサルリソースロケータをクリックしたかタイプ入力したかを尋ねることを含む。
図4Bに示されたフローの質問を再構成することができ、いくつかの実施形態では1つ以上の質問が省略され、更に他の実施形態では追加質問が出されることを理解されたい。図4Bに示されたフローの様々な実施形態では、不審なデバイスのリスト上の各デバイスが調べられ、各デバイスの情報にリストされた各完全修飾ドメイン名が調べられて、デバイスの使用パターンが識別される。次に、引き続き不審に見えるデバイスが更に調べられる。第1のキャッシュは、様々な質問に基づいて新しい情報が生成されたときに更新される。相談するかと誰に通知するかの決定は、追加質問をした結果に基づく。様々なフィルタを様々な順序で適用することによって、偽陽性の数が減少する。第1のキャッシュを更新することによって、更なるユニバーサルリソースロケータとその査定の計算負担が減少する。
図4Cは、感染の疑いのあるマシンを識別する方法の更に他の実施形態であり、この方法は、図4Aと図4Bに示された方法の実施形態の代わり又は追加で実施されてもよく、その実施形態の様々な部分と共に実施されてもよい。一実施形態では、図4Cに示された方法が実施され、不審なデバイスのリストが生成される。これは、図4Bに示された方法を実施した後に続き、不審なデバイスのリストをフィルタリングし、通知を作成する。図4Cの方法は、ユニバーサルリソースロケータを受け取る行為480から始まる。いくつかの実施形態では、図4Aに示された方法の行為402と類似の方式でコンピューティングデバイスからURLを受け取ることができる。
行為482で、完全修飾ドメイン名が、ユニバーサルリソースロケータから抽出される。これは、図4Aに示された方法では、行為404と同様に実施されてもよい。決定行為484で、当該のコンピューティングデバイスに関して、訪問したドメイン名又はユニバーサルリソースロケータのリスト上の完全修飾ドメイン名が所定の期間前かの質問が出される。例えば、タイムスタンプと共に、当該コンピューティングデバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストが維持されてもよい。このリストから、コンピューティングデバイスが所定の期間前に訪問したドメイン名又はユニバーサルリソースロケータのリストが得られる。他の実施形態では、タイムスタンプを有する新しく到着したドメイン名又はユニバーサルリソースロケータが、タイムスタンプを有するコンピューティングデバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストと比較されてもよい。特定の例として、一週間、一ヶ月又は他の期間より前に訪問したドメイン名又はユニバーサルリソースロケータからリストが導出され得る。リストは、無制限のリストでも制限のあるリストでもよい。答えがはいの場合、完全修飾ドメイン名が、所定の期間より前のそのようなリスト上にあり、この完全修飾ドメイン名は不審ではなく、フローは行為480に分岐して、別のユニバーサルリソースロケータを受け取る。
行為484で答えがいいえの場合、完全修飾ドメイン名は、所定の期間より前のそのようなリスト上になく、これは不審なURLを示すことがあり、その理由は、その完全修飾ドメイン名が、マルウェアの提供者によって素早く生成されたドメインのうちの1つである可能性があるからであり、フローは行為486に分岐する。
行為486では、当該コンピューティングデバイスが、不審なデバイスのリストに追加される。これは、図4Aに示された方法の行為410及び432と類似の方式で実施されてもよい。フローが行為488に続き、完全修飾ドメイン名(規定の期間より前に訪問しなかったサイトのリストに見つからなかった)、又は関連ユニバーサルリソースロケータが、タイムスタンプと共に、当該デバイスが訪問した全てのドメイン名又はユニバーサルリソースロケータのリストに追加される。そこから、規定の期間後に、完全修飾ドメイン名又はユニバーサルリソースロケータが、タイムスタンプと共に、規定の期間より前に訪問したドメイン名又はユニバーサルリソースロケータのリストに移動又は複写されてもよい。次に、フローが行為480に分岐して、別のユニバーサルリソースロケータを受け取る。
行為486及び488がどちらの順序で実行されてもよいことを理解されたい。図4Cに示された方法の実施形態は、デバイスがその最近の期間より前にその完全修飾ドメイン名を使用していなかったときに、デバイスが最近の期間に完全修飾ドメイン名を使用している場合に、マルウェアに感染している疑いがあるとしてデバイスにフラグを立てる。これは、確率的クラシファイアを適用するよりも計算上効率的である。図4Bに示された方法とその変形物を適用することによって、偽陽性を減少させることができることを理解されたい。更に、図4A、図4B及び図4Cの方法の組み合わせを適用することによって、偽陽性を更に減少させることができる。
本明細書に記載された実施形態は、SYMANTEC MANAGED SECURITY SERVICES(商標)、SYMANTEC ENDPOINT PROTECTION(商標)、DATA LOSS PREVENTION(商標)、及び譲受人の他の製品に使用するのに適することがある。更に、実施形態は、消費者又は企業使用のためにエンドポイントエージェントに組み込まれてもよい。実施形態は、譲受人のGLOBAL INTELLIGENCE SERVICES(商標)と一体化されてもよく、いくつかの実施形態では、GLOBAL INTELLIGENCE SERVICES(商標)からのイベントデータログが、図2のログ収集プラットフォームと共に利用されてもよい。実施形態は、ネットワークに繋がっているマシン上で有用であり、それにより、マシン間のトラフィックを確認し、監視し、分析することができる。種不審さに関する二次レベルドメインのスコアリング、すなわち査定又は評価に、様々な言語分析ツールを適用することができる。本明細書に開示されたいくつかの実施形態は、ドメインが不審としてフラグが立てられるネットワークリクエストを出すマシンに焦点を当てている。いくつかの実施形態では、セキュリティ監視サービスを通過する全てのネットワークリクエストに関して、不審さスコアをキャッシュから取り出すか又は計算することができる。不審なドメイン名を含むとしてフラグが立てられたネットワークリクエストについて、本システムは、リクエストを出すマシンをユニバーサルリソースロケータと関連付ける。
本明細書に開示されたバージョンのキャッシングアーキテクチャは、ユニバーサルリソースロケータ評判の二重計算を回避する。いくつかの実施形態では、キャッシングアーキテクチャは、3段階動作を用いる。第1の段階は、ユニバーサルリソースロケータ評判を、ユニバーサルリソースロケータ全体に基づいて、より具体的には完全修飾ドメイン名に基づいてキャッシュする。この第1のレベルは、最近の活動ウィンドウ内でユニバーサルリソースロケータが繰り返し要求されることが、顧客データの経験的測定によって通知される。第2の段階は、完全修飾ドメイン名からのローカルホスト名をキャッシュする。第3の段階は、第2の段階でキャッシュ内に見つからない場合に、ローカルホスト名を調べる。これに応じてキャッシュが更新される。このキャッシュ構成によって、リクエストを処理するのに必要な時間がかなり最小になる。
いくつかの実施形態では、確率的クラシファイアは、いくつかの特徴を測定するマシン学習クラシファイアを使用して確率を計算する。キーワード分割や言語モデリングなどの特徴のいくつかは、計算とメモリを多く使用する。キャッシュの使用によって、そのような評価の数が減少し、計算負荷が減少する。これは、特徴を様々な順序で調べることによって行われ、それにより、完全計算を行うことなく、不審さ又は不審さのなさの早期の決定を行うことができる。例えば、いくつかの実施形態では、言語モデルの対数確率が−1.4を超えると、ワームによって用いられるドメイン生成アルゴリズムなどのプロセスによってドメインが作成されていないことを示す。
ワーム及び他のマルウェアは、本明細書に記載された実施例が理解するように設計されたドメイン生成アルゴリズムと呼ばれるプロセスを使用することがある。一実施形態では、第1のフィルタが、以下のしきい値を使用して感染マシンを識別する。フシステムは、ある時間期間TにN個を超える不審なドメインを要求するというフラグが立てられ、不審なドメインは長さLの長さを有し、不審さスコアはSを超える。L、N、S及びTの値は、検出及び偽陽性割合を最適化するように選択されてもよく、いくつかの実施形態では動的に調整さてもよい。上記をフィルタとして適用することにより、システムの検出機能が、特定タイプのマルウェアのネットワーク挙動に一致する。例えば、多くのトロイ、スケアウェア、ランサムウェア及びワームは、文字がランダムに選択される複数のドメインに循環する(例えば、a7huanamkp.com)。感染マシンは、典型的には、そのようなドメインのいくつか又は多くに短期間にコンタクトすることによって、悪意のあるペイロードにアクセスしようとする。従って、変数N及びTは、この挙動を識別するのに役立つ。Sしきい値は、ボーダーライン上の検出をなくす(例えば、不審さである確率が51%程度)。
ドメインが、少なくともLの長さと、Sを超える不審さスコアを有する場合でも、そのようなドメインにフラグを立てると、マシンの不審な名前の最終計算に含まれるべきでない偽陽性が生じる可能性がある。偽陽性を更に減らすために、感染した可能性が高いと識別されたマシンによって要求されたドメインに確認が適用される。そのような確認は、計算能力、メモリ又は時間を多く必要とすることがあり、従って、感染した可能性が高いマシンに適用され、そのように識別されないマシンには適用されない。
感染した可能性が高いと識別されたマシンによって要求されたドメインに適用される確認は、以下のもののうちの1つ又は様々な組み合わせを含むことができる。インターネットプロトコルアドレスがピングされ、その結果でドメインがもう存在しないことが分かった場合、これは、不審なURLを示す。この規則は、ドメイン生成アルゴリズムが成功の保証のないリクエストを出すという観察によって引き出される。ユニバーサルリソースロケータ評判サービスが参照され、そのような参照の結果によりで、ユニバーサルリソースロケータ又はその一部分が不審であるか、ドメインのレコードを有していない場合は、不審さを高めるべきである。特定のウェブサイトのリクエストが、少なくとも1週間前、又は規定の時間間隔より前に生じた場合は、不審さを低くするべきである。この規則は、いくつかのマーケティングウェブサイトが、人間が読むことができないドメインを使用しているという観察に基づく(例えば、Adrotator.seは、0aac4e6a54c170b0.seなどのドメインを使用している)。しかしながら、そのような読めない(すなわち、文字を発音する以外、人間による話し言葉として容易に読むことができない)ドメイン名が、平均的マルウェアサイトに関してかなり長時間確認された場合、これにより不審さが高められるべきでない。発生率を高めるか、又はユニバーサルリソースロケータ評判分類を格下げするために、WHOISデータのパターンを使用することもできる。ドメインがつい最近登録されたことが分かり、かつ/又は当該マシンを提供した生産国が異常である場合は、ユニバーサルリソースロケータ評判分類に基づいて発生率を高めることができる。これら及びその他の規則は、マルウェア作者の現在の挙動に従い、変化することがある。しかしながら、通常、多数のドメインを悪意のある活動として登録することによって、悪意のあるエンティティが、ドメインの登録においてパターンを生成する種の自動化を使用するようになる。アナリストは、そのようなパターンを発見し、そのパターンを最近開示されたシステムに適した規則に適用することができる。そのような付加的確認の結果は、次に、将来使用するためにキャッシュされなければならない。ドメインが不審でないことを示す確認によって、そのドメインはホワイトリストに記載されてもよい(例えば、そのようなドメインの不審さが低いかゼロレベルであることを示すように1つ以上のキャッシュが更新される)。偽陽性かもしれないドメインを除去した後で、当該特定マシンの不審なドメインの数を訂正することができる。この数が更にNを超えた場合、マシンは感染している可能性が高い。
本明細書に記載の方法が、従来の汎用コンピュータシステムなどのデジタル処理システムで実行されてもよいことを理解されたい。あるいは、1つの機能のみを実行するように設計又はプログラムされた専用コンピュータが使用されてもよい。図5は、本明細書に記載の実施形態を実現することがある例示的コンピューティングデバイスを示す説明図である。図5のコンピューティングデバイスは、ユニバーサルリソースロケータを監視し、いくつかの実施形態によりマルウェアに感染している疑いのあるマシンを識別する機能の実施形態を実行するために使用され得る。コンピューティングデバイスは、バス505を介してメモリ503に連結された中央処理装置(CPU)501と、大容量記憶デバイス507とを含む。大容量記憶デバイス507は、いくつかの実施形態ではローカルでもリモートでもよいディスクドライブなどの永続的データ記憶デバイスを表わす。大容量記憶デバイス507は、いくつかの実施形態では、バックアップ記憶を実現することができる。メメモリ503には、読み取り専用メモリ、ランダムアクセスメモリなどが挙げられる。コンピューティングデバイス上に常駐するアプリケーションは、いくつかの実施形態では、メモリ503や大容量記憶デバイス507などのコンピュータ可読媒体に記憶されてもよく、コンピュータ可読媒体を介してアクセスされてもよい。アプリケーションは、また、コンピューティングデバイスのネットワークモデムや他のネットワークインタフェースによってアクセスされる、変調された変調電子信号の形でもよい。いくつかの実施形態では、CPU 501が、汎用プロセッサ、専用プロセッサ、又は特別にプログラムされた論理回路で実施されてもよいことを理解されたい。
ディスプレイ511は、バス505を介して、CPU 501、メモリ503及び大容量記憶デバイス507と通信する。ディスプレイ511は、本明細書に記載のシステムと関連付けられた任意の視覚化ツール又はレポートを表示するように構成されている。入出力デバイス509は、バス505に連結されて、コマンド選択における情報をCPU 501に通信する。外部デバイス間のデータが入出力デバイス509を介して通信されてもよいことを理解されたい。CPU 501は、図1〜図4に関して記載された機能を可能にするために、本明細書に記載の機能を実行するように規定されてもよい。この機能を実施するコードは、いくつかの実施形態では、CPU 501などのプロセッサによって実行するためにメモリ503又は大容量記憶デバイス507内に記憶されてもよい。コンピューティングデバイス上のオペレーティングシステムは、MS DOS(登録商標)、MS−WINDOWS(登録商標)、OS/2(登録商標)、UNIX(登録商標)、LINUX(登録商標)、又は他の既知のオペレーティングシステムでよい。本明細書に記載の実施形態が、仮想化コンピューティングシステムと一体化されてもよいことを理解されたい。
詳細な説明的な実施形態は、本明細書に開示される。しかしながら、本明細書に開示された特定の機能的詳細は、実施形態を記載するための代表に過ぎない。しかしながら、実施形態は、多くの代替形態で実施されてもよく、本明細書で説明された実施形態のみに限定されるように解釈されるべきでない。
第1、第2などの用語は、本明細書では、様々なステップ又は計算を説明するために使用されることがあり、そのようなステップ又は計算は、これらの用語によって限定されるべきでないことを理解されたい。これらの用語は、あるステップ又は計算を別のものと区別するためにのみ使用される。例えば、この開示の範囲から逸脱せずに、第1の計算を第2の計算と呼ぶことができ、同様に第2のステップを第1のステップと呼ぶことができる。本明細書で使用されるとき、用語「及び/又は(and/or)」と記号「(/」)は、関連したリスト項目のいずれか及び1つ以上の全ての組み合わせを含む。
本明細書で使用されるとき、単数形「a」、「an」及び「the」は、文脈で特に明示されない限り、複数形も含むように意図される。更に、用語「備える」、「備えること」、「含む」、及び/又は「含むこと」が、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を明示するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそのグループの存在又は追加を除外しないことを理解されよう。従って、本明細書で使用される用語は、特定の実施形態を説明するためだけのものであり、限定するものではない。
また、いくつかの代替実施態様では、示された機能/行為は、図に示された順序以外で行われてもよいことに注意されたい。例えば、連続的に示された2つの図が、実際には、含まれる機能/行為に応じて、実質的に同時に実行されてもよく、逆の順序で実行されてもよい。
上記の実施形態を考慮すると、実施形態が、コンピュータシステムに記憶されたデータに関係する様々なコンピュータ実施動作を用いることがあることを理解されたい。これらの動作は、物理量の物理的操作を必要とするものである。必須ではないものの、通常、これらの量は、記憶し、転送し、組み合わせ、比較し、また別の形で操作することができる、電気信号又は磁気信号の形態をとる。更に、行われる操作は、作成、識別、決定、比較などの用語で参照されることがある。実施形態の一部を構成する本明細書に記載された動作はいずれも、有効な機械動作である。実施形態は、これらの動作を行うためのデバイス又は装置にも関する。装置は、特に、必要とされる目的のために構成されてもよく、又は装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に活動化又は構成された汎用コンピュータでもよい。詳細には、本明細書の教示に従って記述されたコンピュータプログラムと共に様々な汎用マシンを使用することができ、必要な動作を実行するためにより特殊な装置を構成したほうが好都合なことがある。
モジュール、アプリケーション、レイヤ、エージェント又は他の方法で実行可能なエンティティは、ハードウェア、プロセッサ実行ソフトウェア、又はこれらの組み合わせとして実現されてもよい。ソフトウェアベースの実施形態が本明細書に開示された場合、ソフトウェアが、コントローラなどの物理的マシンで実施されてもよいことを理解されたい。例えば、コントローラは、第1のモジュール及び第2のモジュールを含んでもよい。コントローラは、例えば方法、アプリケーション、レイヤ又はエージェントの様々な行為を実行するように構成されていてもよい。
また、実施形態は、非一時的コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は、後でコンピュータシステムが読み取ることができるデータを記憶できる任意のデータ記憶デバイスである。コンピュータ可読媒体の例には、ハードディスク、ネットワーク接続ストレージ(NAS)、読み取り専用メモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープ、並びに他の光学及び非光学データ記憶デバイスが含まれる。コンピュータ可読媒体は、コンピュータ可読コードが分散式に記憶され実行されるように、ネットワーク接続されたコンピュータシステムに分散されてもよい。本明細書に記載された実施形態は、携帯端末デバイス、タブレット、マイクロプロセッサシステム、マイクロプロセサベース又はプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む様々なコンピュータシステム構成で実施されてもよい。実施形態は、また、有線又は無線ネットワークによって連結されたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施され得る。
方法動作を特定の順序で記載しているが、記載された動作の間に他の動作を行ってもよく、記載された動作が、わずかに異なる時間で行われるように調整されてもよく、記載された動作が、処理と関連付けられた様々な間隔で処理動作を行うことを可能にするシステム内で分散されてもよいことを理解されたい。
以上の説明は、説明のために、特定の実施形態を参照して記載されている。しかしながら、上述の例示的考察は、包括的であること、又は本発明を開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、実施形態の原理及びその実際の用途を最も良く説明するために選択かつ記載され、それにより、他の当業者が、企図される特定の用途に好適であり得る実施形態と様々な修正を最大限に利用することを可能にする。従って、この実施形態は、説明的であり非限定的なものとして解釈されるべきであり、本発明が本明細書に示された詳細に限定されないが、添付の特許請求の範囲及び等価物内で修正され得る。

Claims (24)

  1. マルウェアに感染しているマシンを識別する方法であって、
    コンピューティングデバイスからのネットワークリクエスト内のユニバーサルリソースロケータ(URL)が、サーバのプロセッサに連結された第1のキャッシュ内にあるかを決定することと、
    前記URLが前記第1のキャッシュ内にないという決定に応じて、前記URLから抽出され、且つ前記URLとは異なる完全修飾ドメイン名が、前記サーバの前記プロセッサに連結された第2のキャッシュ内にあるかを決定することと、
    前記完全修飾ドメイン名が前記サーバの前記第2のキャッシュ内にないという決定に応じて、前記URLから抽出され、且つ前記URLとは異なる親ホスト名を不審さについて評価することであって、前記親ホスト名を評価することが、前記親ホスト名が所定の長さを超える長さを有するかを決定することを含む、評価することと、
    前記URL前記第1のキャッシュ内にあり且つ当該第1のキャッシュが、前記URLが不審であることを示す第1の指示を有すること、前記完全修飾ドメインが前記第2のキャッシュ内にあり且つ当該第2のキャッシュが、前記完全修飾ドメインが不審であることを示す第2の指示を有すること、又は前記親ホスト名が、当該親ホスト名が不審であることを示す第3の指示を有するという評価と、のうちの1つに応じて、前記コンピューティングデバイスが感染している可能性を有することを示すことと、を含み、少なくとも1つの方法動作が前記プロセッサによって実行される、方法。
  2. 前記URLが不審であることを示す前記第1の指示は、前記URLが第1の値を超える第1の不審さスコアを有することを含み、
    前記完全修飾ドメインが不審であることを示す前記第2の指示は、前記完全修飾ドメイン名が第2の値を超える第2の不審さスコアを有し、
    前記親ホスト名が不審であることを示す前記第3の指示は、前記親ホスト名が第3の値を超える第3の不審さスコアを生成するという評価を含む、請求項1に記載の方法。
  3. 前記親ホスト名を不審さについて評価することは、前記親ホスト名が、所定の間隔より前に訪問したウェブサイトのリストにあるかを決定することを含む、請求項1に記載の方法。
  4. 前記親ホスト名を不審さについて評価することが、前記親ホスト名に確率的クラシファイアを適用することを含む、請求項1に記載の方法。
  5. 前記完全修飾ドメイン名が前記第2のキャッシュ内にないという決定に応じて、前記URLの親ホスト名が、前記プロセッサに連結された第3のキャッシュ内にあるかを決定することを更に含み、前記親ホスト名を評価することが更に、前記親ホスト名が前記第3のキャッシュ内にないという決定に応じる、請求項1に記載の方法。
  6. 前記親ホスト名の不審さについての前記評価に応じて、前記第2のキャッシュを更新することを更に含む、請求項1に記載の方法。
  7. 前記コンピューティングデバイスが感染している可能性を有することを示すことが、前記コンピューティングデバイスに関する追跡情報を、感染している疑いのあるコンピューティングデバイスのリストに追加すること、ユーザに通知すること、及び管理者に通知することのうちの少なくとも1つを含む、請求項1に記載の方法。
  8. プロセッサによって実行されたときに、前記プロセッサに、
    第1のキャッシュ内におけるコンピューティングデバイスによって参照されるユニバーサルリソースロケータ(URL)の存在について検査することと、
    前記第1のキャッシュが、前記URLの存在を有し、且つURLが不審であるという指示を有することに応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、
    前記第1のキャッシュ内に前記URLが存在しないことに応じて、前記URLから完全修飾ドメイン名を抽出することと、
    第2のキャッシュ内における前記完全修飾ドメイン名の存在について検査することと、
    前記第2のキャッシュが、前記完全修飾ドメイン名の存在を有し、且つ前記完全修飾ドメイン名が不審であるという指示を有することに応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、
    前記第2のキャッシュ内に前記完全修飾ドメイン名がないことに応じて、前記URLからの親ホスト名の不審さを査定することであって、前記親ホスト名を査定することが、前記親ホスト名が所定の長さを超える長さを有するかを決定することを含む、査定することと、
    前記親ホスト名が不審であることを示す前記査定に応じて、前記コンピューティングデバイスを感染している可能性があるものとしてリストすることと、を含む方法を実行させる命令を有する非一時的有形コンピュータ可読媒体。
  9. 前記方法が、
    前記URLから前記親ホスト名を抽出することを更に含む、請求項8に記載のコンピュータ可読媒体。
  10. 前記方法が、
    パブリックサフィックスリストに従って、前記完全修飾ドメイン名で示された親ホスト名の親がサブドメインを販売しているかを決定することと、
    前記親ホストがサブドメインを販売していないという決定に応じて、前記完全修飾ドメイン名が低レベルの不審さを有することを示すように前記第1のキャッシュを更新することと、を更に含む、請求項8に記載のコンピュータ可読媒体。
  11. 前記方法が、
    前記第2のキャッシュが前記完全修飾ドメイン名の存在を有すること、又は前記親ホスト名の不審さについての前記査定のうちの一方に応じて、前記完全修飾ドメイン名に対応する前記URL及び不審さレベルの指示を追加するように前記第1のキャッシュを更新することを更に含む、請求項8に記載のコンピュータ可読媒体。
  12. 前記コンピューティングデバイスを感染している可能性があるものとしてリストすることが、前記コンピューティングデバイスが、所定の期間中に所定の回数を超える回数、不審なURLを訪問していること、又は前記コンピューティングデバイスが、同じ又は異なる所定の期間中に所定の回数を超える回数、不審なURLを訪問していることのうちの少なくとも一方の決定に更に基づく、請求項8に記載のコンピュータ可読媒体。
  13. 前記方法が、
    前記URLに示されたドメインが、所定の最近の期間内に最初に登録されたかを決定することと、
    前記決定に応じて前記第1のキャッシュを更新することと、を更に含み、前記更新が、前記ドメインが前記所定の最近の期間内に最初に登録されたという決定に応じて、前記URLが不審であるという指示を含む、請求項8に記載のコンピュータ可読媒体。
  14. マルウェアに感染しているマシンを識別するためのシステムであって、
    URL及び第1の関連不審さレベルを記憶するように構成された第1のキャッシュと、
    完全修飾ドメイン名及び第2の関連不審さレベルを記憶するように構成された第2のキャッシュと、
    前記第1のキャッシュ及び前記第2のキャッシュに連結されたプロセッサと、を備え、前記プロセッサが、監視されている1つ以上のコンピューティングデバイスによって実行されたネットワークアクセスからユニバーサルリソースロケータ(URL)を受け取るように構成されており、
    URLが存在するかについて前記第1のキャッシュを確認することと、
    前記第1のキャッシュ内に前記URLが見つからないことに応じて、前記URLから抽出され、且つ前記URLとは異なる完全修飾ドメイン名が存在するかについて前記第2のキャッシュを確認することと、
    前記第2のキャッシュ内に前記完全修飾ドメイン名が見つからないことに応じて、前記URLから抽出され、且つ前記URLとは異なる親ホスト名に不審さレベルを割り当てることであって、前記不審さレベルが、前記親ホスト名が所定の長さを超える長さを有するかの査定に基づく、割り当てることと、
    前記第1のキャッシュの前記確認、前記第2のキャッシュの前記確認、及び前記不審さレベルの前記査定のうちの1つの以上の結果に応じて、前記コンピューティングデバイスを感染しているものとして識別することと、を含む行為を実行するように更に構成されている、システム。
  15. 前記プロセッサが、前記コンピューティングデバイスが、所定の最近の時間中に所定の数を超える数の不審なドメインを要求すること、前記コンピューティングデバイスが、所定の時間中に所定の回数を超える回数、不審なドメインを訪問すること、前記コンピューティングデバイスが、所定の長さを超える長さ及び所定値を超える不審さスコアを有する所定の数を超える数のドメインを要求すること、前記コンピューティングデバイスが、所定の最近の時間中に登録された所定の数を超える数のドメインを要求すること、前記コンピューティングデバイスが、1つ以上の国であってそのドメインが前記コンピューティングデバイスによって履歴上訪問されたことがない1つ以上の国を起源とする、所定の数を超える数のドメインを要求することのうちの1つ以上に基づいて、前記コンピューティングデバイスを感染しているものとして識別するように構成されている、請求項14に記載のシステム。
  16. 前記プロセッサが、インターネットプロトコル(IP)アドレスをピングしてドメインが現在存在するかを決定するように構成されており、前記コンピューティングデバイスを感染している可能性があるものとして識別することが、前記ピングの結果に更に基づく、請求項14に記載のシステム。
  17. 前記コンピューティングデバイスを感染しているものとして識別することが、URL評価サービス、管理者、又はユーザのうちの1つに通知するように構成された前記プロセッサを含む、請求項14に記載のシステム。
  18. 前記プロセッサが、前記URLから前記完全修飾ドメイン名を抽出するように構成されており、パブリックサフィックスリストの適用により、前記URL又は前記完全修飾ドメイン名からローカルホスト名を抽出するように更に構成されている、請求項14に記載のシステム。
  19. 前記プロセッサが、前記第2のキャッシュの前記確認及び前記親ホスト名への前記不審さレベルの前記割り当ての結果に従って前記第1のキャッシュを更新するように構成されており、前記親ホスト名への前記不審さレベルの前記割り当てに従って前記第2のキャッシュを更新するように構成されている、請求項14に記載のシステム。
  20. マルウェアに感染しているマシンを識別する方法であって、
    少なくとも第1の期間に、コンピューティングデバイスからのネットワークリクエスト内のドメイン名を追跡することと、
    前記コンピューティングデバイスからネットワークリクエストに関連する完全修飾ドメイン名を受け取ることと、
    前記完全修飾ドメイン名が、前記少なくとも第1の期間であり、且つ第2の期間より前に、前記追跡されたドメイン名の中のものであるかを決定することであって、前記第2の期間が現在の時間にまで及び、前記第1の期間が前記第2の期間の最初から遡る、決定することと、
    前記決定の結果に応じて、前記コンピューティングデバイスが感染している可能性を有することを示すことと、を含み、少なくとも1つの方法動作がプロセッサによって実行される、方法。
  21. 前記ドメイン名を追跡することが、前記完全修飾ドメイン名を、タイムスタンプと共に、追跡されたドメイン名のリストに追加することを含む、請求項20に記載の方法。
  22. 前記決定の結果に応じて、前記コンピューティングデバイスを、マルウェアに感染している疑いのあるコンピューティングデバイスのリストに追加することを更に含む、請求項20に記載の方法。
  23. 前記第2の期間中に、前記コンピューティングデバイスが、規定値を超える数の複数のネットワークリクエストを発行したかを更に決定することであって、前記複数のネットワークリクエストの各々が前記完全修飾ドメイン名を含む、更に決定することと、
    前記更なる決定の前記結果に応じて、前記コンピューティングデバイスの不審さレベルを引き上げることと、を更に含む、請求項20に記載の方法。
  24. 前記完全修飾ドメイン名が所定の長さを超えるかを更に決定することと、
    前記完全修飾ドメイン名が、前記追跡により、国であってそのドメインが前記コンピューティングデバイスによって履歴上訪問されたことがない国を起源とするかをなお更に決定することと、
    前記更なる決定又は前記なお更なる決定に応じて、前記コンピューティングデバイスの不審さレベルを引き上げることと、を更に含む、請求項20に記載の方法。
JP2016558219A 2014-03-26 2015-03-16 エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム Active JP6397932B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/226,626 US9419986B2 (en) 2014-03-26 2014-03-26 System to identify machines infected by malware applying linguistic analysis to network requests from endpoints
US14/226,626 2014-03-26
PCT/US2015/020763 WO2015148171A1 (en) 2014-03-26 2015-03-16 A system to identify machines infected by malware applying linguistic analysis to network requests from endpoints

Publications (2)

Publication Number Publication Date
JP2017510894A JP2017510894A (ja) 2017-04-13
JP6397932B2 true JP6397932B2 (ja) 2018-09-26

Family

ID=54192028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016558219A Active JP6397932B2 (ja) 2014-03-26 2015-03-16 エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム

Country Status (5)

Country Link
US (2) US9419986B2 (ja)
EP (1) EP3123668B1 (ja)
JP (1) JP6397932B2 (ja)
AU (2) AU2015236616B2 (ja)
WO (1) WO2015148171A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9325735B1 (en) 2013-10-31 2016-04-26 Palo Alto Networks, Inc. Selective sinkholing of malware domains by a security device via DNS poisoning
US20160232353A1 (en) * 2015-02-09 2016-08-11 Qualcomm Incorporated Determining Model Protection Level On-Device based on Malware Detection in Similar Devices
US11030332B1 (en) * 2015-04-13 2021-06-08 Wells Fargo Bank, N.A. Database controlled web service type architecture
US9917852B1 (en) * 2015-06-29 2018-03-13 Palo Alto Networks, Inc. DGA behavior detection
US9838407B1 (en) * 2016-03-30 2017-12-05 EMC IP Holding Company LLC Detection of malicious web activity in enterprise computer networks
US10380188B2 (en) 2016-08-05 2019-08-13 International Business Machines Corporation Distributed graph databases that facilitate streaming data insertion and queries by reducing number of messages required to add a new edge by employing asynchronous communication
US10394891B2 (en) 2016-08-05 2019-08-27 International Business Machines Corporation Distributed graph databases that facilitate streaming data insertion and queries by efficient throughput edge addition
US10552450B2 (en) 2016-08-05 2020-02-04 International Business Machines Corporation Distributed graph databases that facilitate streaming data insertion and low latency graph queries
US10445507B2 (en) * 2016-09-23 2019-10-15 International Business Machines Corporation Automated security testing for a mobile application or a backend server
JP6851212B2 (ja) * 2017-02-09 2021-03-31 Sky株式会社 アクセス監視システム
US10594725B2 (en) * 2017-07-27 2020-03-17 Cypress Semiconductor Corporation Generating and analyzing network profile data
WO2019228613A1 (en) * 2018-05-29 2019-12-05 Huawei Technologies Co., Ltd. Device and method for detecting malicious domain names
US11729134B2 (en) 2019-09-30 2023-08-15 Palo Alto Networks, Inc. In-line detection of algorithmically generated domains
US11336692B1 (en) * 2020-05-07 2022-05-17 NortonLifeLock Inc. Employing SNI hostname extraction to populate a reverse DNS listing to protect against potentially malicious domains
US11470099B2 (en) * 2020-10-19 2022-10-11 Cycraft Singapore Pte. Ltd. Cyber security protection system and related proactive suspicious domain alert system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205552B1 (en) * 1998-12-31 2001-03-20 Mci Worldcom, Inc. Method and apparatus for checking security vulnerability of networked devices
US7526730B1 (en) * 2003-07-01 2009-04-28 Aol Llc Identifying URL target hostnames
US7594011B2 (en) 2004-02-10 2009-09-22 Narus, Inc. Network traffic monitoring for search popularity analysis
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
US8914309B2 (en) * 2004-08-20 2014-12-16 Ebay Inc. Method and system for tracking fraudulent activity
US7487217B2 (en) * 2005-02-04 2009-02-03 Microsoft Corporation Network domain reputation-based spam filtering
US7769820B1 (en) * 2005-06-30 2010-08-03 Voltage Security, Inc. Universal resource locator verification services using web site attributes
US20070005652A1 (en) * 2005-07-02 2007-01-04 Electronics And Telecommunications Research Institute Apparatus and method for gathering of objectional web sites
CN101310502B (zh) * 2005-09-30 2012-10-17 趋势科技股份有限公司 安全管理设备、通信系统及访问控制方法
US8020206B2 (en) * 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US20080172738A1 (en) * 2007-01-11 2008-07-17 Cary Lee Bates Method for Detecting and Remediating Misleading Hyperlinks
US7979734B2 (en) * 2007-07-11 2011-07-12 Samsung Electronics Co., Ltd. Method and system for preventing service disruption of internet protocol (IP) based services due to domain name resolution failures
US9461966B2 (en) * 2009-05-08 2016-10-04 F-Secure Oyj Method and apparatus for rating URLs
US20100318681A1 (en) * 2009-06-12 2010-12-16 Barracuda Networks, Inc Protocol-independent, mobile, web filter system provisioning dns triage, uri scanner, and query proxy services
JP2011002916A (ja) * 2009-06-17 2011-01-06 Lac Co Ltd 感染活動検知装置、感染活動検知方法、及びプログラム
US8347394B1 (en) * 2009-07-15 2013-01-01 Trend Micro, Inc. Detection of downloaded malware using DNS information
JP2011028013A (ja) * 2009-07-27 2011-02-10 Sony Corp 表示装置および電子機器
US8205258B1 (en) * 2009-11-30 2012-06-19 Trend Micro Incorporated Methods and apparatus for detecting web threat infection chains
US8505094B1 (en) * 2010-01-13 2013-08-06 Trend Micro, Inc. Detection of malicious URLs in a web page
US8229930B2 (en) 2010-02-01 2012-07-24 Microsoft Corporation URL reputation system
US9369437B2 (en) * 2010-04-01 2016-06-14 Cloudflare, Inc. Internet-based proxy service to modify internet responses
CA2789824C (en) * 2010-04-16 2018-11-06 Sourcefire, Inc. System and method for near-real time network attack detection, and system and method for unified detection via detection routing
US8510829B2 (en) * 2010-06-24 2013-08-13 Mcafee, Inc. Systems and methods to detect malicious media files
JP5415390B2 (ja) * 2010-10-28 2014-02-12 日本電信電話株式会社 フィルタリング方法、フィルタリングシステム及びフィルタリングプログラム
US8756691B2 (en) 2010-11-10 2014-06-17 Symantec Corporation IP-based blocking of malware
US8521667B2 (en) 2010-12-15 2013-08-27 Microsoft Corporation Detection and categorization of malicious URLs
CN102694772B (zh) * 2011-03-23 2014-12-10 腾讯科技(深圳)有限公司 一种访问互联网网页的装置、系统及方法
US8776240B1 (en) * 2011-05-11 2014-07-08 Trend Micro, Inc. Pre-scan by historical URL access
US8555388B1 (en) * 2011-05-24 2013-10-08 Palo Alto Networks, Inc. Heuristic botnet detection
US20130031625A1 (en) 2011-07-29 2013-01-31 Electronics And Telecommunications Research Institute Cyber threat prior prediction apparatus and method
US20130067115A1 (en) * 2011-09-12 2013-03-14 Isaac Omar Lapanc Method And System For Mapping Domain Prefixes To Qualified URLs
US8949982B2 (en) 2011-12-30 2015-02-03 Verisign, Inc. Method for administering a top-level domain
KR102017526B1 (ko) * 2012-09-25 2019-09-03 삼성전자주식회사 Url 리스트에서 url 주소 검색 방법 및 장치
US9231972B2 (en) * 2012-11-13 2016-01-05 Tencent Technology (Shenzhen) Company Limited Malicious website identifying method and system
US20140196144A1 (en) * 2013-01-04 2014-07-10 Jason Aaron Trost Method and Apparatus for Detecting Malicious Websites
US8826434B2 (en) * 2013-07-25 2014-09-02 Splunk Inc. Security threat detection based on indications in big data of access to newly registered domains

Also Published As

Publication number Publication date
US9692772B2 (en) 2017-06-27
JP2017510894A (ja) 2017-04-13
AU2015236616A1 (en) 2016-10-20
AU2018208693A1 (en) 2018-08-09
WO2015148171A1 (en) 2015-10-01
EP3123668B1 (en) 2021-01-13
US20150281257A1 (en) 2015-10-01
AU2018208693B2 (en) 2019-07-11
US9419986B2 (en) 2016-08-16
EP3123668A4 (en) 2017-10-18
AU2015236616B2 (en) 2018-05-10
US20160156640A1 (en) 2016-06-02
EP3123668A1 (en) 2017-02-01

Similar Documents

Publication Publication Date Title
JP6397932B2 (ja) エンドポイントからのネットワークリクエストに言語分析を適用するマルウェアに感染しているマシンを識別するためのシステム
US10778705B1 (en) Deep-learning-based intrusion detection method, system and computer program for web applications
Vinayakumar et al. Scalable framework for cyber threat situational awareness based on domain name systems data analysis
CN107645503B (zh) 一种基于规则的恶意域名所属dga家族的检测方法
CN110431828B (zh) 基于域名系统dns日志和网络数据检测dns隧道
US8516585B2 (en) System and method for detection of domain-flux botnets and the like
US9654495B2 (en) System and method of analyzing web addresses
US8260914B1 (en) Detecting DNS fast-flux anomalies
US9300682B2 (en) Composite analysis of executable content across enterprise network
US20090064337A1 (en) Method and apparatus for preventing web page attacks
CN104579773A (zh) 域名系统分析方法及装置
US10505986B1 (en) Sensor based rules for responding to malicious activity
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
KR20080044145A (ko) 웹 로그 상호연관분석을 이용한 웹 애플리케이션 공격의침입 탐지 시스템 및 방법
Lamprakis et al. Unsupervised detection of APT C&C channels using web request graphs
US20230283641A1 (en) Dynamic cybersecurity scoring using traffic fingerprinting and risk score improvement
CN113190839A (zh) 一种基于SQL注入的web攻击防护方法及系统
JP6691240B2 (ja) 判定装置、判定方法、および、判定プログラム
JP6666475B2 (ja) 解析装置、解析方法及び解析プログラム
CN111371917B (zh) 一种域名检测方法及系统
Lee et al. DGA-based malware detection using DNS traffic analysis
Mohammed et al. Visualization of DNS tunneling attacks using parallel coordinates technique
Zou et al. Detecting malware based on expired command-and-control traffic
US11985147B2 (en) System and method for detecting a cyberattack
TWI726455B (zh) 滲透測試個案建議方法及系統

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161027

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180903

R150 Certificate of patent or registration of utility model

Ref document number: 6397932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250