JP2018063694A - Webページの悪意のある要素を検出するシステム及び方法 - Google Patents

Webページの悪意のある要素を検出するシステム及び方法 Download PDF

Info

Publication number
JP2018063694A
JP2018063694A JP2017126120A JP2017126120A JP2018063694A JP 2018063694 A JP2018063694 A JP 2018063694A JP 2017126120 A JP2017126120 A JP 2017126120A JP 2017126120 A JP2017126120 A JP 2017126120A JP 2018063694 A JP2018063694 A JP 2018063694A
Authority
JP
Japan
Prior art keywords
web page
elements
malicious
cluster
statistical model
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.)
Granted
Application number
JP2017126120A
Other languages
English (en)
Other versions
JP6530786B2 (ja
Inventor
ブイ. キュプリーヴ オレグ
V Kupreev Oleg
ブイ. キュプリーヴ オレグ
ビー. ガルチェンコ アントン
B Galchenko Anton
ビー. ガルチェンコ アントン
ブイ. ウスチノフ ミハイル
V Ustinov Mikhail
ブイ. ウスチノフ ミハイル
ブイ. コンドラトフ ヴィタリ
V Kondratov Vitaly
ブイ. コンドラトフ ヴィタリ
エー. クスコフ ウラジミール
A Kuskov Vladimir
エー. クスコフ ウラジミール
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2018063694A publication Critical patent/JP2018063694A/ja
Application granted granted Critical
Publication of JP6530786B2 publication Critical patent/JP6530786B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • 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
    • G06F21/562Static detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

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)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】Webページの悪意のある要素を検出するシステム及び方法を提供する。
【解決手段】方法は、テストされたWebページの要素に関するデータを取得するステップと、前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成するステップと、既知の悪意のあるWebページの要素の統計モデルを検索するステップと、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記N次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することによって比較するステップと、前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するステップとを備える。
【選択図】図3

Description

本発明は、一般に、サイバーセキュリティの分野に関し、より具体的には、ウェブページの悪意のある要素を検出するシステム及び方法に関する。
近年、銀行などの金融機関は、銀行業務の一環としてWebバンキングサービス(インターネットバンキング)を積極的に採用している。Webバンキングは、リモートバンキングサービス技術の一般的な用語であり、いつでも、インターネットにアクセス可能な任意のコンピュータから口座にアクセスし、(リモートバンキングサービス技術により)操作することができる。これらの操作を実行するには、典型的にはウェブクライアント(ブラウザ等)が使用される。
このような技術の普及は、自然とハッカー、とりわけリモートサービスシステムのユーザの口座から資金を盗むことに関心を持つ者の興味をかきたてる。Webバンキングのユーザに対する一般的な攻撃の一つは、ユーザに対して表示されるWebページのコンテンツの代わりに悪意のあるソフトウェアを配置することである。悪意のあるソフトウェアは、Webページ内にHTMLコードを埋め込む。この攻撃は、しばしば「マン・イン・ザ・ブラウザ」又は「Webコードインジェクション」攻撃と呼ばれる。この攻撃は、例えばトロイの木馬アプリケーションにより開始される。トロイの木馬は、被害者のブラウザに悪意のある拡張子のファイルをインストールし、再起動したときに当該ファイルをブラウザで実行する。その後、特定のWebサイト(大抵は銀行サイト)にルーティングされるユーザのトラフィックを傍受する。そして、ユーザに表示されるWebページを(ロード中又はオープン中に)改ざんすることで、Webページの特定の要素の外観を変更したり、被害者の認証データを盗み出したり、ユーザが送金した資金を第三者の口座に転送したりするのである。
現存する解決策は、外部コードをWebページに導入する攻撃に対し、ネット上においてユーザの安全な作業を増やすことを目指すものである。しかしながら、これらの解決策は、悪意のあるソフトウェアによってWebページが改ざんされたかどうかを効果的に判断はせず、追加のソフトウェアをインストールしない限り、ユーザ側のWebページのバージョンの異常な要素を特定することもない。同時に、各種のセキュリティクライアント、シンクライアント(ライトエージェント)、その他のアンチウイルス手段等の追加のソフトウェアは、必ずしもユーザ側でインストール可能なわけではなく、最終的には、アンチウイルスアプリケーションの動作に過誤を発生させる。例えば、第1の種類の過誤は、データ転送チャネルを捕捉して転送される全ての情報にアクセスするため、コンピューティングシステムに「マン・イン・ザ・ブラウザ」タイプの攻撃を許してしまうものであり、第2の種類の過誤は、ユーザ側での正当なWebページの変更が異常であると誤って判断されることである。
Webページの悪意のある要素を検出するシステム及び方法が開示される。1つの例示的な方法は、テストされたWebページの要素に関するデータを取得するステップと、前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成するステップと、既知の悪意のあるWebページの要素の統計モデルを検索するステップと、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記N次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することによって比較するステップと、前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するステップとを備える。
1つの例示的な態様では、前記テストされたWebページの要素に関するデータを取得するステップは、前記Webページに埋め込まれたスクリプトからデータを取得することを含み、前記スクリプトは、少なくとも前記Webページの少なくとも1つの要素に関するデータを収集するためにユーザデバイスで実行されるよう構成される。
1つの例示的な態様では、前記方法は、前記取得されたデータのハッシュを計算させる命令と、前記Webページの既知の悪意のある要素の少なくとも1つのハッシュを取得させる命令と、前記計算されたハッシュを前記少なくとも1つのハッシュと比較して前記少なくとも1つの要素が悪意のあるものであるかどうかを判定させる命令と、をさらに備える。
1つの例示的な態様では、前記比較の結果に基づき、前記Webページの少なくとも1つの要素の前記少なくとも1つのN次元ベクトルと前記Webページの統計モデルのクラスタの中心との間のN次元空間における距離が前記クラスタの半径以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するステップを備える。
1つの例示的な態様では、前記比較の結果に基づき、前記Webページの少なくとも1つの要素の前記少なくとも1つのN次元ベクトルと前記Webページの統計モデルのクラスタの中心との間のN次元空間における近接度が第1の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するステップを備える。
1つの例示的な態様では、前記比較の結果に基づき、前記Webページの少なくとも1つの要素の少なくとも1つのN次元ベクトルと前記Webページの前記統計モデルの前記クラスタのN次元ベクトルであって前記クラスタの中心から最も離れたベクトルとの間のN次元空間における近接度が第2の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するステップを備える。
1つの例示的な態様では、Webページの悪意のある要素を検出するシステムは、少なくとも1つのプロセッサを備え、前記プロセッサは、テストされたWebページの要素に関するデータを取得し、前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成し、既知の悪意のあるWebページの要素の統計モデルを検索し、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記要素のN次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することで比較し、前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するよう構成される。
1つの例示的な態様では、Webページの悪意のある要素を検出するためのコンピュータ実行可能命令が格納された非一時的コンピュータ可読媒体が、テストされたWebページの要素に関するデータを取得させる命令と、前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成させる命令と、既知の悪意のあるWebページの要素の統計モデルを検索させる命令と、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記要素のN次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することで比較させる命令と、前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別させる命令と、を備える。
1つの例示的な態様において、本発明の例示的な態様の上記簡略化した概要は、本発明の基本的な理解を提供する役割を果たす。この概要は、全ての熟考された形態を含んだ広範な概要ではなく、全ての態様の重要な要素を特定することも、本発明の任意の又は全ての態様の範囲を定めることも意図していない。本発明の1つ以上の態様は、前述の目的を達成するため、特に請求の範囲において挙げられている特徴を含んでいる。
添付図面は、本明細書に組み込まれ、本明細書の一部を構成する。添付図面は、本願の1つ以上の例示的な態様を示しており、発明の詳細な説明とともに、それらの態様の原理及び実装を説明する役割を果たす。
図1は、本発明の態様に係る、Webページの異常且つ悪意のある要素を検出するための例示的なシステムを示す図である。 図2は、本発明の態様に係るN次元空間の例を、統計モデル及びクラスタのメトリックとともに示す図である。 図3は、本発明の態様に係る、Webページの異常且つ悪意のある要素を検出するための例示的な方法を示す図である。 図4a、図4b、図4cは、本発明の態様に係る、統計モデルの視覚化の例を示す図である。 図5は、Webページの異常且つ悪意のある要素を検出するシステム及び方法の態様を実施可能な汎用コンピュータシステムの一例を示す図である。
以下では、Webページの異常且つ悪意のある要素を検出するためのシステム、方法及びコンピュータプログラム製品についての、発明の例示的な態様を説明する。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことが理解されよう。本発明の利益を享受する当業者であれば、他の態様も容易に示唆されることであろう。添付の図面では、その詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当する項目については、同一の参照符号を用いるものとする。
以下の用語が、本発明の例示的な態様を説明する際に使用される。
Webページは、Webクライアント(ブラウザ)によって処理されるようWebサーバによって生成されたデータ含み、ハイパーテキストマークアップ言語(HTML、XHTML、XML、WML、VML、PGML、SVG、XBRL等)やスクリプト言語(JScript、JavaScript、ActionScript、Tcl、Lua、Perl、PHP、Python、REBOL、Ruby等)を用いて構成される。
本明細書において、コンテンツはWebページのコンテンツのことを示すこととする。
スクリプトは、スクリプト言語で書かれた実行中のプロシージャを含み、厳密に決定されたWebページを表示する際に到着する要求によって、サーバ側又はクライアント側で実行されてもよい。
インラインスクリプトは、その実行形式のコード(body)がWebページのコンテンツの一部となったスクリプトを含む。例えば、インラインスクリプトはタグ<script> </script>の間に配置される。
タグ(マーカ)は、ハイパーテキストマークアップ言語(HTML)の特別な構成を含む。タグは、山カッコ<name_tag>で囲まれたテキストを構成する。各タグは、タグ及びそれに続くコンテンツをどのように表示するかの特定の命令をブラウザにもたらす。特定の場合において、タグは、タグを明確にし、タグの可能性を拡張してより柔軟な制御を可能にする属性を有する(例えば、コンテナタグの中身)。例えば、<script src = "URL"> ... </ script>などである。src属性は、スクリプトのbodyの場所を示す。
コンテナタグは、開始タグおよび終了タグを有するペアタグを含む。コンテナタグは、テキストとハイパーテキスト言語の他の要素の両方を含む。
Webページの要素(マークアップ言語の要素)は、開始タグ及び終了タグ(ある場合、例えば<br>タグの場合には、開始タグと終了タグは一致する。)の組み合わせと、タグ間のコンテンツを含むことができる。Webページの要素の全体は、Webページのコンテンツを形成する。要素には、対応するタグの名前によって区別される少なくとも次の種類のものが存在する:ハイパーリンク、テキストブロック、テキストフォーマット、リスト、オブジェクト(例えば、メディアファイル、アプレット、スクリプト、ネイティブコード等)、イメージ、イメージマップ、表、フォーム、文字等。
要素のN次元ベクトルには、順序付けられたn個の実数の組が含まれ、その数にはベクトルの座標が含まれる。ベクトルの座標の個数は、ベクトルの次元数として知られている。座標は、N次元空間における、Webページの対応する要素(スクリプトなど)又はWebページの同じ種類の要素グループ(フォームの要素など)の位置を定める(図2は2次元空間の例を示す)。ベクトルは、要素又は要素グループのコンテンツに関する情報を変換することによって得られる。ベクトルは、要素又は要素グループのコンテンツに関する特定の情報を表す。一例では、各座標が要素のコンテンツの特性の1つを表す。例えば、1つの座標がスクリプト内の演算子の数を示し、別の座標は評価演算子の数を示す。数値に、要素のコンテンツの文字列パラメータの辞書式順序、又は異なる要素の文字列パラメータ間のレーベンシュタイン距離を反映させることもできる。例えば図2は、ベクトル、特に、座標(1666,1889)及び(1686,1789)を有する2次元ベクトルの例を示す。
クラスタは、N次元空間において、厳密に定義された要素又は要素グループについてのベクトルの座標の許容値の集合を含有する。1つの例示的な態様によれば、ある選択された要素又は要素グループは、その要素のN次元ベクトルからあるクラスタの中心までの距離がそのクラスタの半径よりも小さい場合に、当該クラスタに割り当てられる。図2は、クラスタ210'の一例を示す。一例において、ある要素のN次元ベクトルとあるクラスタの要素のうち最も近いN次元ベクトルとの間の距離(図2の「d'」)の値が許容できる最大距離(距離[d']の閾値)よりも小さいか、又は、ある要素のN次元ベクトルからあるクラスタの中心までの距離(図2の「d」)の値がこのクラスタの半径より小さい場合、その要素は当該クラスタに割り当てられる。例えば、ベクトル(1666,1889)からクラスタの中心までの距離はクラスタの半径よりも小さいので、そのコンテンツがベクトルに表された要素又は要素グループは、当該クラスタに属することになる。一方、ベクトル(1686,1789)からクラスタの中心までの距離はクラスタの半径よりも大きく、最も近いN次元ベクトルまでの距離は閾値よりも大きいので、そのコンテンツがベクトルに表された要素又は要素グループは、当該クラスタに属さない。近接度を評価するための距離の種類には、直線距離、ユークリッド距離、ユークリッド距離の2乗、一般化されたミンコフスキー指数距離、チェビシェフ距離、マンハッタン距離等があるが、これらに限定されるわけではない。
近接度(類似度、類似度係数)は、Webページの要素の類似性を判定するための無次元パラメータを含む。近接度を定めるために用いる方法(基準)には、落合係数、Jaccard係数、Sokal-Sneath係数、Kulczynski係数、対称なDice係数などが含まれるが、これらに限定されない。
クラスタの中心(重心)は、N次元空間における複数のN次元ベクトルの幾何平均位置である。1つのベクトルからなるクラスタの場合は、そのベクトルをクラスタの中心とすることができる。
クラスタの半径(図2の「R」)は、クラスタ内に存在するN次元ベクトルのクラスタ中心からの最大距離である。
クラスタリングには、階層型(凝集型及び分割型)と非階層型を含む様々な既知のアルゴリズム及び手法を使用することができる。
Webページの要素の統計モデル(Webページの要素のモデル)は、1種類の要素又は1種類の要素グループについてのクラスタ210の集合を含む。例えば、Webページのスクリプトの統計モデルや、Webページのフォームの統計モデルである。図2に示すように、Webページの要素の統計モデルは220と表される。1つのクラスタで構成されるモデルの場合、そのクラスタが要素のモデルとなる。
Webページの統計モデル(Webページのモデル)は、Webページの全ての種類の要素及び/又は要素グループ(異なる種類の要素を備えた要素グループを含む)のクラスタの集合を含む。例えば、認証ページの統計モデルである。言い換えると、Webページの統計モデル230は、Webページの要素のモデル220の集合を含む。同様に、Webサイトの統計モデルは、Webサイトの全種類の要素及び/又は要素グループのクラスタの集合を含む。つまり、Webサイトの統計モデル(図示せず)は、Webページのモデル230の集合を含むことになる。
Webページの悪意のある要素の統計モデルは、同一及び/又は異なる種類の既知の悪意のある要素のクラスタ210のグループ、又は、同一及び/又は異なる種類の要素グループを含む。例えば、悪意のあるスクリプトの統計モデル、Webページの悪意のあるフォームの統計モデル、Webページの悪意のあるスクリプト及びフォームの統計モデルである。単一のクラスタから構成されるモデルの場合、そのクラスタは悪意のある要素のモデルとなる。特定の種類のモデルの構築には、既知の悪意のある要素が用いられる。ここで、既知の悪意のある要素は、そのコンテンツがN次元ベクトルに変換された後クラスタ化され、モデルに結合される。それらの形式では、Webページの統計モデル及びWebページの悪意のある要素の統計モデルは互いに異なっていない。つまり、モデルを構築するために用いられる要素が異なっており、1番目のケースでは、モデルは潜在的に危険な要素から構築され、2番目のケースでは、モデルは既知の悪意のある要素から構築される。
Webページの異常要素には、Webページの要素であって、そのベクトルが特定のタイプの要素に対して構築されたいずれのWebページの統計モデルのクラスタにも関係しないもの、又は、統計的有意性が閾値以下のものが含まれる。
要素の統計的有意性は、モデル構築のために取得したWebページの総数又は所定のセクション(評価セクション)においてモデルの構築のために取得したWebページの数に対する、評価対象の要素がWebページのコンテンツ内で見つかった回数の比とする。ここで、セクションの範囲は、例えば要素の観測の開始時間のような特定の時間以降に、モデルの構築のため得られたWebページの数によって決定される。例えば、100ページを取得し、評価対象の要素が30回見つかった場合、統計的有意性は30%である。
クラスタの統計的有意性は、モデル構築のために取得したWebページの総数又は所定のセクションにおいてモデルの構築のために取得したWebページの数に対する、Webページのコンテンツ内で評価され、そのベクトルがクラスタを形成する要素の数の比とする。ここで、セクションの範囲は、例えばクラスタの観測の開始時間のような特定の時間以降に、モデルの構築のために得られたWebページの数によって決定される。
要素又はクラスタの統計的有意性の値を、統計的有意性の閾値とすることができる。この値を超えると、当該要素又はクラスタ(及びクラスタの要素)は統計的に有意であるとみなされる。そして、クラスタの要素の統計的有意性の値が設定された閾値よりも低い場合、要素又はクラスタは異常であるとみなされる。
クラスタの形成には、階層的方法を用いることができ、例えば、凝集法により形成することができる。凝集法では、(距離の)最も近い要素のN次元ベクトルの組が取り出されてクラスタが生成され、又は、(距離の)最も近いクラスタの組が1つのクラスタに併合される。この方法を用いる場合、線形又はユークリッド距離や、一般化された指数関数的なMinkowski距離、Chebyshev距離又はManhattan距離を使用することができる。そして、最小の相互距離を有するベクトルの組は最も近いものとされ、クラスタは、その半径ができるだけ半径の閾値に近づくよう分割される。ここで、最も近づいた半径は、クラスタを分離する次の回における半径の閾値を超えるものであっても良い。別の場合、許容可能な近接度が残っているクラスタ又はベクトルがなくなるまで、クラスタを分離することができる。この場合、許容可能な近接度は、設定された閾値を超えない値である。中心間の距離が最も短い2つのクラスタが最も近いクラスタである。
あるいは、分割法によりクラスタを形成することもできる。分割法では、相互距離が最大許容距離よりも小さいベクトルの集合によってクラスタが形成される。距離の最大許容度は閾値によって決定され、クラスタは、例えば、その半径が当該半径の閾値と同じかそれ未満になるまで分割される。
図1は、本発明の態様に係る、Webページの異常且つ悪意のある要素を検出するとともにWebページ100の統計モデル及びWebページの要素の統計モデルを構築するために用いられる、異常且つ悪意のある要素を検出するための例示的なシステムを示す。システムは、Webクライアント110がインストールされたユーザデバイス120、Webサーバ130、コントロールサーバ150、データベース160を含むことができるが、これらに限定されるわけではない。
1つの例示的な態様では、WebブラウザなどのWebクライアント110をユーザのデバイス120にインストールすることができる。Webクライアント110は、Webサイトのコンテンツを要求、処理、操作及び表示するよう構成され、論理的に相互に関連するWebページ100のセットを含んでいる。Webクライアント110は、例えば、Webサーバ130に対して指定されたユニフォーム・リソース・ロケータ(URL)アドレスを用いてリソースを取得する要求を送信し、一般にはWebサーバ130のWebページ100又はWebページの要素とともに、応答を受信する。Webクライアント110からの要求に応じて、Webサーバ130は、準備されたWebページ100を送信したり、動的にページを生成したりすることができる。本発明のWebサーバ130によってクライアントに送られる各Webページには、通常のコンテンツに加えて、スクリプトが追加されている。スクリプト140の機能には、少なくともWebクライアント側110においてそのスクリプト140を含むWebページ100のデータ(Webページの要素又は要素グループに関する情報、1つの要素に関する情報、特定の場合には1つの要素のコンテンツの情報を含む)を収集することが含まれる。一例では、Webページ100の要素に関する情報には、その要素のコンテンツが含まれている。クライアント側100におけるWebページ100の要素及びWebページ100の要素のコンテンツは、サーバ側130におけるWebページの同じバージョンの要素及びWebページ100のこれらの要素のコンテンツとは異なる場合がある。この理由は、Webクライアント側110のWebページの動的リフレッシュによるものか、又は、「マン・イン・ザ・ブラウザ」攻撃によるものである。
1つの例示的な態様では、コントロールサーバ150は、スクリプトによって収集されたWebページの要素又は要素グループに関する情報を受け取る。スクリプトは、収集されたデータを「生の」状態又は変換された状態のいずれかの状態で送信することができ、送信されたデータのフォーマットは、Webサーバ130がWebページ100に追加したスクリプト140の機能によって決定される。すなわち、実行中のスクリプトは、Webページ100の要素に関する厳密に定義された情報を厳密に定められた形式で送信し、スクリプトの機能により決定される。あるいは、スクリプトは、Webサーバ又はコントロールサーバに、クライアント側110においてスクリプトの開始が成功したことについてのデータを送信し、応答として、Webページ100のどの要素を収集する必要があるか、どのような形式によって受信者(Webサーバ130又はコントロールサーバ150に直接)に情報を送信するかについての命令を受信する。1つの例示的な態様では、スクリプト140は中間ノードにおいて、例えば企業のプロキシサーバによって、Webページ100に埋め込むこともできる。
データ変換の主な方法には、量子化、ソート、マージ(貼り付け)、グループ化、データセットの設定、テーブルへの値の挿入、算出値、データコーディング、正規化(スケーリング)等がある。
一例では、データは、データ変換の結果として情報の属性を取得する。
スクリプトの変換方法の1つには、抽象構文木の構築、重要なオペレータのみの受信者(Webサーバ130又は直接コントロールサーバ150)への転送(送信)、スクリプト140の設定により又は受信者からの命令により予め決定された構成が含まれる。
1つの例示的な態様では、スクリプト140によって収集された全てのデータをコントロールサーバ150に転送する。コントロールサーバ150は、Webクライアント110から直接データを取得するか、又はWebサーバ130を介してデータを取得するよう構成される。別の形態では、コントロールサーバ150をWebサーバ130と同じネットワーク内に存在させることができる。コントロールサーバ150によって収集されたデータは、Webページの統計モデル230(又はWebページの要素の統計モデル)を構築し、異常(又は悪意のある)要素を検出するために使用される。コントロールサーバ150は、スクリプト140によって収集されたデータをN次元ベクトルに変換し、得られたベクトルをデータベース160に格納する。特に、コントロールサーバは、要素のコンテンツから、ハッシングアルゴリズム(CRC、MD5、MD6、SHA1、SHA2、GOST R 34.11-2012など)の1つによってハッシュを算出する。
コントロールサーバ150の解析モジュールは、受信したベクトルからクラスタ210を形成し、異常な要素又は要素グループを検出する。なお、異常な要素又は要素グループのコンテンツは、受信したベクトルにより表されている。この機能は、N次元空間におけるN次元ベクトルと形成されたクラスタ210の相互比較によって実現される。
例示的な一態様では、データベース160は、構築されたモデル及びベクトル、そして既知の悪意のある要素のハッシュを格納するよう構成される。悪意のある要素のハッシュに関する記録は、外部ソース(すなわち、すでに算出されたハッシュ)からデータベースに与えられてもよい。また、ハッシュは、異常要素のアンチウイルススキャンの結果として検出されるか、又は、Webページの悪意のある要素のコピーを格納する悪意のあるソフトウェアのリポジトリ(図示せず)から選択された、既知の悪意のある要素のコンテンツから、コントロールサーバ150が算出しても良い。
本発明で開示されたシステムは、いくつかの方法、すなわち、Webページの統計モデル230を構築する方法、Webページの悪意のある要素の統計モデルを構築する方法、Webページの構築されたモデル230を用いてWebページ100の悪意のある要素を検出する方法、Webページの要素の構築されたモデルを用いてWebページ100の悪意のある要素を検出する方法、ハッシュによりWebページの悪質な要素100を検出する方法を実行することができる。これらの方法を図3に示す。
図3に示すように、Webページの統計モデル230の例示的な構築方法は、以下のように実施される。ステップ300において、ユーザは自身のデバイスからWebサイトへアクセスする。Webクライアント110は、Webサーバ130へ送信された要求により、Webサーバ130からサイトのWebページを取得するよう構成される。そのプロセスの間に、Webサーバ130(又は中間ノード)は、Webページにスクリプト140を追加する。ステップ310において、スクリプトをWebクライアント側110で実行し、Webページ100に含まれるデータを収集する。スクリプト140によって収集されたデータには様々な情報が含まれる。特に、スクリプト140は、Webページの少なくとも1つの要素(スクリプト、フォームなど)のコンテンツを収集することができる。スクリプト140によって収集されたデータは、必要に応じて変換される。データは、スクリプト140自体によって、又はコントロールサーバ150上の処理手段によって変換される。ステップ320において、収集されたデータを、少なくとも1つのN次元ベクトルに変更し、ステップ330において保存する。ステップ350において、少なくとも1つのベクトルから、少なくとも1つのクラスタ210を形成する。ステップ360において、形成された少なくとも1つのクラスタ210に基づいて、Webページの統計モデル230を生成する。
一例では、ステップ301において、取得したN次元ベクトルを保存したあと、別のWebクライアント110にWebページ100を取得させ、ステップ320において、このWebページから収集したデータに基づいてN次元ベクトルを追加的に取得させ、この後にクラスタが形成されてもよい。
別の例では、クラスタ210を作成しモデル230を構築した後、ステップ302において、別のWebクライアント110によりWebページ100を取得し、このWebページからスクリプト140により収集されたデータに基づいてN次元ベクトルを取得し、取得したN次元ベクトルに基づいて既に作成されていたクラスタ210を修正(リフレッシュ)する(それらの半径、中心/重心を変更する)か、新たなクラスタ210を作成する。その結果、Webページの統計モデル230は、(クラスタ210の修正により)精緻化され、(新たなクラスタ210の作成により)補完される。スクリプト140が収集するデータは、それ以前のバージョン(イテレーション)において収集したデータと異なっていてもよく、例えば、Webページ100の他の要素の情報を収集しても良い。
1つの例示的な態様では、ウェブページの統計モデル230に基づいて異常要素を検出する方法は、以下のように実施することができる。ステップ300において、ユーザは自身のデバイスからWebサイトへアクセスする。Webクライアント110は、Webサーバ130へ送信された要求により、Webサーバ130からサイトのWebページを取得するよう構成される。そのプロセスの間に、Webサーバ130(又は中間ノード)はWebページにスクリプト140を追加する。ステップ310において、スクリプトをWebクライアント側110で実行し、Webページ100に含まれるデータを収集する。スクリプト140によって収集されたデータには様々な情報が含まれる。特に、スクリプト140は、Webページの少なくとも1つの要素(スクリプト、フォームなど)のコンテンツを収集することができる。スクリプト140によって収集されたデータは、必要に応じて変換される。データは、スクリプト140自体によって、又はコントロールサーバ150上の処理手段によって変換される。ステップ320において、収集されたデータを、少なくとも1つのN次元ベクトルに変更し、ステップ330において保存する。
ステップ370において、得られたベクトルを、(例えば取得したベクトルとクラスタの中心との相互距離を測定することによって、)Webページの構築された統計モデル230のクラスタ及び/又は特定の統計モデルのN次元ベクトルと比較する。ステップ380において、比較の結果として、分析した要素を、例えば以下の場合に異常であると識別する。
(i)N次元空間において、その要素のN次元ベクトルとモデルの各クラスタの中心との距離が、これらのクラスタの半径よりも大きい。
(ii)N次元空間において、その要素のN次元ベクトルとモデルの全てのクラスタの中心との間の近接度が、閾値よりも大きい。
(iii)N次元空間において、その要素のN次元ベクトルとモデルのクラスタのN次元ベクトルのうちクラスタ中心から最も離れたベクトルとの間の近接度が、閾値よりも大きい。
一例では、要素が異常であると認識されない場合、ステップ351において、その要素のN次元ベクトルをWebページの統計モデル230に追加する。
別の例では、Webサーバ130は、Webページ100の異常要素を検出すると、Webクライアント110及びユーザのデバイス120との接続を無効にするか、又は、その接続は維持するもののWebサーバ130がクライアント110の要求に対する応答を停止する(接続によるデータ送信を停止する)よう構成される。ステップ390において、データ送信が停止している間、検出されたWebページの異常要素は、悪意のある機能(危険性)の存在を理由に、コントロールサーバ150のアンチウィルス手段(図示せず)によりスキャンされるか、又は監視される。閾値を超える統計的有意性を有するクラスタが検出した要素の周囲に形成される場合には、検出された異常要素は安全であると識別され、接続が再確立され、セッションが継続される。
特定の場合、異常要素が含まれているかどうかが事前に分かっていないWebページに基づいてモデルを構築すると、競合が発生する可能性がある。すなわち、要素のN次元ベクトルがモデルのいずれのクラスタにも現れず、ジレンマ−当該ベクトルに基づいて新たなクラスタを作成するのか、又は当該ベクトルによってそのコンテンツが表されている要素を異常なものとみなすのか−が発生する。競合は、評価セクションで評価されている要素と似た(近い)要素に基づいて作成された、要素又はクラスタの統計的有意性の評価に基づいて解決される。すなわち、評価対象の要素(又は、近傍の要素、つまりN次元空間内のN次元ベクトル間の距離がある閾値よりも小さい要素)を含むWebページの数と、セクションで評価されるモデルの構築に使用されているWebページの総数との比に基づいて、セクションの範囲がページ数又はバージョン(イテレーション)数として測定される。評価セクションにおける評価されたWebページの要素の統計的有意性の値が、同一セクションにおける他の要素の統計的有意性の値(又は統計的有意性の平均値)に近い(近接性は閾値によって決定される)か、又はある閾値を超える(例えば、20%)場合、その要素は統計的に有意であると認識され、そうでなければ(それが閾値を超えなければ)異常であると認識される。例えば、モデル構築ステップにおいて、そのベクトルが以前に形成されたクラスタ210のいずれにも現れないWebページ100の要素が出現する可能性がある。したがって、例えばそのWebページ100が含まれるセクションにおける統計的有意性を定めることによって、その要素が異常であるかどうかを決めることが必要である。一例では、所定のタイプの要素の統計的有意性の閾値は20%である。この検証は、要素の特定の範囲において、評価された要素に近い要素が4回出現したことを示し、統計的有意性の値が閾値より小さい2%であることに対応する。したがって、評価された要素とそれに近い要素(評価された要素の周囲に形成されたクラスタ)は異常である可能性がある。特定の場合、統計的有意性の閾値を、同じ種類の要素についてのクラスタの統計的有意性の最小値と定めることもできる。例えば、モデルが25%、32%、47%及び95%の統計的有意性を有するスクリプトのクラスタを含む場合、同じ種類の要素の閾値を25%に設定することができる。
1つの例示的な態様では、統計的有意性はWebページの異常要素の検出にも用いられる。例えば、これは、統計モデルが構築されていない場合、又は上述のジレンマの解決中に使用される。第1のステップにおいて、Webクライアント110により、Webサーバ130からWebページ100を取得し、ユーザのデバイス120上で実行する。スクリプト140を含むWebページは、スクリプト140が実行されると、Webページ100の少なくとも1つの要素のコンテンツに関する情報をWebクライアント側110で収集し、収集された情報をユーザのデバイスから送信する。前述のスクリプトは、Webクライアント110の助けを借りて実行され、Webページ100の要素の少なくとも1つのコンテンツの情報をWebクライアント側110で収集し、収集した情報を、Webクライアント110がWebページ100を受信したユーザのデバイス120から送信する。コントロールサーバ150において、デバイス120から受信したコンテンツに関する情報は、要素のN次元ベクトルに変換されるよう構成されており、得られたN次元ベクトルは任意の適切な方法によってクラスタ化される。
N次元ベクトルは、Webページの各要素について、要素のグループについて、あるいは同じ種類の要素のグループについて形成される。また、異なる種類の要素がグループを形成していてもよい。クラスタ210が少なくとも1つのベクトルを含む場合、クラスタ210が形成されてから、得られたクラスタ210の統計的有意性を定めても良い。ここで、統計的有意性は、クラスタ210内のN次元ベクトルの数とWebページ100の数との比と定めることができる。なお、ここでのWebページ100の数は、その要素のコンテンツの情報が収集され、コントロールサーバ150又はWebサーバ130に送信されたWebページの数のことである。閾値の有意性は、上述した方法によって定められ、要素の種類、クラスタリングの方法、評価セクションの範囲等に依存させることができる。
1つの例示的な態様では、ユーザがWebバンキングサイト、例えばhttps://my.KasperskyBank.ru/のWebページを要求すると、要求されたWebページはスクリプト140を追加し、ページ100がユーザのデバイス120上で実行されるWebクライアント110に送信される。ユーザ側のスクリプト140は、以下のようなWebページ上の<script>要素を収集する。
<script>document.documentElement.id="js";var ..../Kasperskybank/";</script>

<script src="//static.kaspersky.ru/dist/kfs/kfs.js" crossorigin="anonymous"></script>

<script src="https:// static.kaspersky.ru /ib/prod/2842c77095d860e412d7a8cf30231fd53c89fb4e/ Kasperskybank / Kasperskybank.js" crossorigin="anonymous"></script>

<script async="" src="/kfs/kfs"></script>

<script>!function(){var e=document.getElementById("before-init__noscript");e&&(e.className="ui-browser__holder-block-hide");var o=function(){try{return"withCredentials"in new XMLHttpRequest}catch(e){return!1}}();if(o){var t=function(){if(navigator.cookieEnabled)return!0;document.cookie="cookietest=1";var e=-1!=document.cookie.indexOf("cookietest=");return document.cookie="cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT",e}();if(t)document.body.removeChild(document.getElementById("before-init"));else{var n=document.getElementById("before-init__nocookies");n&&(n.className="ui-browser__holder-block")}}else{var r=document.getElementById("before-init__old-browser");r&&(r.className="ui-browser__holder-block")}}();</script>
src属性を持つ<script>要素の場合、スクリプト本体のロードと正規化が実行される。インラインスクリプトの場合は、正規化のみである。例えば、上述したインラインスクリプトの場合、正規化された形式は次のようになる(重要な言語構成と標準的なオブジェクト/メソッドのみを記述し、リテラルは「非人格化」している)。
document.documentElement.i0=v0;vari1=window.i1||{};i1.i2=v1,i1.i3=v2,i1.i4=v3,i1.i5=v4,i1.i6={i7:v5,i8:v6},i1.i9=v7;

!function(){vari0=document.getElementById(v0);i0&&(i0.i1=v1);vari2=function(){try{returnv2innewXMLHttpRequest}catch(i0){return!v3}}();if(i2){vari3=function(){if(navigator.i4)return!v4;document.cookie=v5;vari0=-v3!=document.cookie.indexOf(v6);returndocument.cookie=v7,i0}();if(i3)document.body.removeChild(document.getElementById(v8));else{vari5=document.getElementById(v9);i5&&(i5.i1=v10)}}else{vari6=document.getElementById(v11);i6&&(i6.i1=v10)}}();
次に、スクリプト140は、ページ上に存在する<input>要素を収集する。
<input autocomplete="off" autocorrect="off" autocapitalize="off" class="m-login__form-field-input ng-pristine ng-invalid ng-invalid-required ng-touched" type="text" ... ng-blur="login.focus = false" placeholder="password">
スクリプト140は、<input>要素の収集されたデータを、例えば以下のように正規化しつつ変換する(属性はアルファベット順にソートされ、タグ名は切り捨てられ、属性値の空白は切り取られ、属性は「;」によりリスト化される)。
<autocapitalize=off;autocomplete=off;autocorrect=off;class=m-login__form-field-inputng-pristineng-invalidng-invalid-requiredng-touched;name=lg;ng-blur=login.focus=false;warmUp();;ng-change=input(true);ng-disabled=false;ng-keydown=login.focus=true&&$event.keyCode===13&&authUser();ng-keyup=fix(login.form.lg,$event);ng-model=login.lg;placeholder=login;spellcheck=false;style=padding:0px;;type=text;ui-focus=login.setFocus;validator=validator.lg>

<autocapitalize=off;autocomplete=off;autocorrect=off;class=m-login__form-field-inputng-pristineng-untouchedng-invalidng-invalid-required;name=pw;ng-blur=login.focus=false;ng-change=input();ng-disabled=false;ng-keydown=login.focus=true&&$event.keyCode===13&&authUser();ng-keyup=fix(login.form.pw,$event);ng-model=login.pw;placeholder=password;spellcheck=false;type=password;validator=validator.pw>
スクリプト140は、収集されたデータをコントロールサーバ150に送信する。コントロールサーバ150は、対応するモデル(全てのスクリプト要素の集合形−スクリプト型要素の統計モデル220)のコンテキスト内の<script>要素の収集されたデータを、以下のように処理することができる。
・各スクリプトについて、数値ベクトルを取得する(例えば、ベクトルは2次元とすることができる)。ここで、ベクトルは文字列のコード(ASCIIのような文字コードを得るため、任意の適切な符号化方法が用いられる)から計算され、収集されたデータを構成する(インラインスクリプトの場合、このデータには正規化されたスクリプトの内容が含まれ、その他の場合、データはsrc属性の内容である)。結果として得られるWebページ100に含まれる<script>要素に対し、以下のベクトルを得ることができる。
o 16314,10816
o 2254,2598
o 16084,15036
o 356,822
o 20010,51838
・各ベクトルは、モデル230の2次元空間に保存され、異常がない所定の場合、全てのベクトルは以前に形成されたクラスタ内に収まる(すなわち、全てのベクトルが、以前のWebページのそれらのバージョンのスクリプト140から来たデータと一致する)。図4aにおいて、ドットは分析された<script>要素を示し、着色された領域は、モデル230の一部として以前に作成されたモデル220のクラスタ210である。
コントロールサーバ150は、<input>要素の収集されたデータを同様の方法で処理する。結果として、視覚化は図4bに示す形式となる。異常要素が検出されていないため、処理は終了する。
1つの例では、同じページhttps://my.KasperskyBank.ru/のユーザの1人に、追加の<script>要素の形で、悪意のあるインジェクションが現れる。
<script src="https://static.kasperskyBank.ru/ib/prod/bank/malware.js" crossorigin="anonymous"></script>
上述した方法によって計算されたベクトルは(4560,3192)に等しく、モデルは図4C(インジェクションの内容を表した異常である現在のベクトルは、赤色にマークされる)に示される形となる。ステップ390において、検出された異常要素は、コントロールサーバ150のアンチウィルス手段によって処理され、接続自体を無効にすることができる。また同時に、モデル空間内の要素をその統計的有意性を測定するために観察しても良い。
本発明は、異常要素の検出だけでなく、上述のように、Webページの悪意のある要素を検出するためにも使用できる。悪意のある要素を検出するため、同一の統計的クラスタモデルを使用することができる。異常要素を検出するために使用される統計的クラスタモデルと、悪意のある要素を検出するために使用される統計的クラスタモデルとの違いには、モデルを構築するためにクラスタ化されるN次元ベクトルを作成するために用いられる情報が含まれる。異常要素を検出する場合、潜在的に危険な要素に関する情報を使用してクラスタが作成される。一方、悪意のある要素を検出する場合、既知の悪意のある要素に関する情報を使用してクラスタが作成される。つまり、統計モデルは、モデルを構築するために使用される情報のみが異なっている。したがって、図2のエンティティ230を、Webページの悪意のある要素の統計モデルを定めるために用いることができる。また、図1に示すシステムと同じシステムを用いてモデルを構築し、悪意のある要素を検出することができる。
1つの例示的な態様では、図3に示すように、Webページ230の悪意のある要素の統計モデルを構築する方法は、ステップ311において、コントロールサーバ150によって既知の情報を含むデータベース160からWebページの既知の悪意のある要素に関するデータを取得する。一態様では、これらの要素は、ステップ390において悪意があると認識された検出された異常要素のアンチウイルススキャンがなされた後、又は既知の悪意のあるソフトウェアのコピーを含むリポジトリを使用した後、早期に検出される。ステップ311においてデータベース160から取得されたデータは、Webページの悪意のある要素のコンテンツに関する情報(スクリプト、フォームなど)を含む。データを、必要であれば、コントロールサーバ150によって変換することができる。ステップ330において収集されたデータを、ステップ320において少なくとも1つのN次元ベクトルに変換することができる。ステップ350において、少なくとも1つのベクトルから少なくとも1つのクラスタ210を作成する。少なくとも1つの作成されたクラスタ210に基づいて、ステップ360において、悪意のある要素の統計モデルを構築する。
1つの例示的な態様では、Webページ230の悪意のある要素の統計モデルに基づいて悪意のある要素を検出する方法は、ステップ300において、ユーザは自分のデバイスからWebサイトへアクセスし、Webクライアント110はWebサーバ130に要求を送信することによって、Webサーバ130からサイトのWebページ100を取得する。このプロセスでは、Webサーバ130(又は中間ノード)によってスクリプト140をWebページ100に追加してもよい。ステップ310において、Webクライアント側でスクリプトを実行し、Webページ100に含まれるデータを収集する。スクリプト140によって収集されるデータには様々な情報が含まれる。例えば、スクリプトはWebページの少なくとも1つの要素(スクリプト、フォームなど)のコンテンツを収集することができる。スクリプト140によって収集されたデータは、必要に応じて変換される。データは、スクリプト140自体によって、又はコントロールサーバ150によって変換される。そして、得られたベクトルを、ステップ370において、Webページの悪意のある要素の構築された統計モデル230のクラスタ及び/又はその統計モデル230のN次元ベクトルと(例えば、取得したベクトルとクラスタの中心との間の相互距離を決定することによって)比較する。ステップ381において、比較の結果として、分析した要素を、以下のうちの1つ又は複数を検出することで悪意のあるものであると判定する。
(1)取得したN次元ベクトルと、統計モデルの少なくとも1つのクラスタの中心との間のN次元空間における距離が、これらのクラスタの半径よりも小さい。
(2)取得したN次元ベクトルと、統計モデルの少なくとも1つのクラスタの中心との間のN次元空間における距離が、これらのクラスタの半径に等しい。
(3)取得したN次元ベクトルと、統計モデルの少なくとも1つのクラスタの中心との間の近接度が閾値未満である。
(4)取得したN次元ベクトルと、統計モデルの少なくとも1つのクラスタの中心から最も離れたN次元ベクトルの少なくとも1つとの間の近接度が閾値未満である。
1つの例示的な態様では、ハッシュに基づいて悪意のある要素を検出する方法は、ステップ300において、ユーザは自分のデバイスからWebサイトへアクセスし、Webクライアント110がWebサーバ130に要求を送信することによって、Webサーバ130からサイトのWebページ100を取得することを含む。ここで、Webサーバ130(又は中間ノード)によってスクリプト140をWebページ100に追加してもよい。ステップ310において、Webクライアント側でスクリプトを実行し、Webページ100に含まれるデータを収集する。スクリプト140によって収集されるデータには様々な情報が含まれる。例えば、スクリプトはWebページの少なくとも1つの要素(スクリプト、フォームなど)のコンテンツを収集することができる。ステップ361において、Webページの既知の悪意のある要素のコンテンツに関する情報から算出されたデータベース160から、ハッシュを取得する。ここで、情報は上述したものと同じ方法によって取得される。必要に応じて、スクリプト140によって収集されたデータは、スクリプト140自体によって、又は、コントロールサーバ150の処理手段によって変換される。ステップ321において、収集されたデータは、ハッシュの算出に用いられる。ステップ371において、コントロールサーバは、ステップ312において算出されたハッシュと、ステップ361においてデータベース160から取得したハッシュとを比較する。ステップ382において、コントロールサーバ150は、収集された情報の分析の結果として悪意のある要素を検出する。ここでは、ハッシュの比較の結果、コンテンツに関する収集された情報から算出されたハッシュとステップ361においてデータベース160から取得したハッシュが一致した場合に、要素が悪意のあるものであると判断される。
多くの例示的な態様において、本願に開示されている分析モジュール及び処理モジュールが実装されたWebサーバ、Webクライアント、データベース、コントロールサーバは、実際のデバイス、システム、コンポーネント、統合されたマイクロサーキットなどのハードウェアを使用して実現されるコンポーネントのグループ(特定用途向け集積回路、ASIC)、又は、フィールドプログラマブルゲートアレイ(FPGA)を含み、例えば、マイクロプロセッサシステム及びプログラム命令のセットのようなソフトウェアとハードウェアの組み合わせの形で、又はニューロシナプティックチップ上で実行することができる。システムの示された要素の機能は、ハードウェアのみによって、また、組み合わせによって実現される。後者の場合、システムの要素の機能の一部はソフトウェアによって実現され、一部はハードウェアによって実現される。特定の変形例では、要素のいくつか、又は要素の全ては、汎用コンピュータ(図5に示すものなど)のプロセッサ上に実装することができる。
図5は、本発明の例示的な態様に係る、Webページの異常且つ悪意のある要素を検出するためのシステム及び方法の態様の一例を示す図である。
図示のように、コンピュータシステム20(パーソナルコンピュータ又はサーバ)は、CPU21と、システムメモリ22と、CPU21に関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス23とを含む。当業者に理解されるように、システムバス23は、バスメモリ又はバスメモリコントローラ、周辺バス、及び他のバスアーキテクチャと相互作用するローカルバスを含むことができる。システムメモリは、永久メモリ(ROM)24及びランダムアクセスメモリ(RAM)を含む。基本入出力システム(BIOS)26は、ROM24を使用してオペレーションシステムをロードする際のように、コンピュータシステム20の要素間で情報を転送するための基本的な手順を記憶する。
ハードディスク27、磁気ディスクドライブ28、及び光学式のドライブ30は、ハードディスクインターフェース32、磁気ディスクインターフェース33、及び光学式のドライブインターフェース34それぞれを介してシステムバス23と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びコンピュータシステム20の他のデータを蓄積するための電源依存のモジュールである。
当業者であれば、コンピュータによって読み取り可能な形式でデータを記憶することのできる任意のタイプのメディア56(ソリッド・ステート・ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)等)を使用できることが理解されよう。
コンピュータシステム20は、オペレーティングシステム35が格納されるファイルシステム36と、追加のプログラムアプリケーション37と、他のプログラムモジュール38と、プログラムデータ39とを有する。コンピュータシステム20のユーザは、キーボード40、マウス42、又は当業者に知られた任意の他の入力デバイス(非限定的な例:マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等)を用いて命令を入力する。このような入力デバイスは、典型的には、シリアルポート46を介してコンピュータシステム20に接続され、シリアルポートはシステムバスに接続される。ただし、当業者であれば、入力デバイスを、パラレルポート、ゲームポート、又はユニバーサル・シリアル・バス(USB)など(これらに限定されない)を介して接続することができることを理解するであろう。モニタ47又は他のタイプの表示装置もまた、ビデオアダプタ48などのインタフェースを介してシステムバス23に接続することができる。パーソナルコンピュータは、モニタ47に加えて、ラウドスピーカやプリンタなどの他の周辺出力装置(図示せず)を備えていても良い。
コンピュータシステム20は、1つ又は複数のリモートコンピュータ49へのネットワーク接続により、ネットワーク環境で動作することができる。リモートコンピュータ(又は複数のコンピュータ)49は、コンピュータシステム20の性質を説明する上で前述した要素のほとんど又は全てを含むローカルコンピュータワークステーション又はサーバであっても良い。ルータ、ネットワークステーション、ピアデバイス、又は他のネットワークノードなどの他のデバイスも、コンピュータネットワークに存在することができるが、これに限定されるものではない。
ネットワーク接続は、ローカルエリアコンピュータネットワーク(LAN)50及びワイドエリアコンピュータネットワーク(WAN)を形成することができる。このようなネットワークは、企業のコンピュータネットワーク及び社内ネットワークで使用され、一般にインターネットにアクセスする。LAN又はWANネットワーク内では、パーソナルコンピュータ20は、ネットワークアダプタ又はネットワークインタフェース51を介してローカルエリアネットワーク50に接続される。ネットワークが使用される場合、コンピュータ20は、モデム54又はインターネットなどのワイドエリアコンピュータネットワークとの通信を可能にする当業者に周知の他のモジュールを使用することができる。モデム54は、内部又は外部のデバイスとすることができ、シリアルポート46によってシステムバス23に接続される。上記のネットワークシステムが、通信モジュールを使用して1つのコンピュータが他のコンピュータへの接続を確立するための多くの周知の方法のうちの非限定的な例であることは、当業者には理解されるだろう。
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにより、ここで説明されたシステム及び方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの1つ又は複数の命令又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって命令又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
様々な実施形態で、本願のシステム及びメソッドはモジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや命令セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という2つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる(図1〜4を用いて上記において詳述したもの等)。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明のいずれの実施形態を開発する場合においても、開発者の具体的な目標を達成するためには実装に係る多くの決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたい。このような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとっては当然のエンジニアリングであると理解されたい。
さらに、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、本明細書の用語又は表現は、関連する技術分野の当業者の知識と組み合わせて、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたい。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、一般的でない又は特別な意味を持たせることは意図されていない。本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。さらに、複数の態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (18)

  1. Webページの悪意のある要素を検出する方法であって、
    テストされたWebページの要素に関するデータをプロセッサにより取得するステップと、
    前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを前記プロセッサにより生成するステップと、
    既知の悪意のあるWebページの要素の統計モデルをデータベース上で検索するステップと、
    前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記N次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することによって前記プロセッサにより比較するステップと、
    前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別するステップと、
    を備える、方法。
  2. 前記テストされたWebページの要素に関するデータをプロセッサにより取得するステップは、前記Webページに埋め込まれたスクリプトからデータを取得することを含み、前記スクリプトは、少なくとも前記Webページの少なくとも1つの要素に関するデータを収集するためにユーザデバイスで実行されるよう構成される、請求項1に記載の方法。
  3. 前記取得されたデータのハッシュをプロセッサにより計算するステップと、
    前記Webページの既知の悪意のある要素の少なくとも1つのハッシュを取得するステップと、
    前記計算されたハッシュを前記少なくとも1つのハッシュと比較して前記少なくとも1つの要素が悪意のあるものであるかどうかを判定するステップと、
    をさらに備える、請求項1に記載の方法。
  4. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における距離が前記クラスタの半径以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別するステップを備える、請求項1に記載の方法。
  5. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における近接度が第1の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別するステップを備える、請求項1に記載の方法。
  6. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタのN次元ベクトルであって前記クラスタの中心から最も離れたベクトルとの間のN次元空間における近接度が第2の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別するステップを備える、請求項1に記載の方法。
  7. Webページの悪意のある要素を検出するシステムであって、
    少なくとも1つのプロセッサを備え、
    前記プロセッサは、
    テストされたWebページの要素に関するデータを取得し、
    前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成し、
    既知の悪意のあるWebページの要素の統計モデルを検索し、
    前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記N次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することによって前記プロセッサにより比較し、
    前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別するよう構成される、システム。
  8. 前記テストされたWebページの要素に関するデータを取得することは、
    前記Webページに埋め込まれたスクリプトからデータを取得することを含み、前記スクリプトは、少なくとも前記Webページの少なくとも1つの要素に関するデータを収集するためにユーザデバイスで実行されるよう構成される、請求項7に記載のシステム。
  9. 前記プロセッサはさらに、
    前記取得されたデータのハッシュをプロセッサにより計算し、
    前記Webページの既知の悪意のある要素の少なくとも1つのハッシュを取得し、
    前記計算されたハッシュを前記少なくとも1つのハッシュと比較して前記少なくとも1つの要素が悪意のあるものであるかどうかを判定するよう構成される、請求項7に記載のシステム。
  10. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における距離が前記クラスタの半径以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別する、請求項7に記載のシステム。
  11. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における近接度が第1の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別する、請求項7に記載のシステム。
  12. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルの前記クラスタのN次元ベクトルであって前記クラスタの中心から最も離れたベクトルとの間のN次元空間における近接度が第2の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別する、請求項7に記載のシステム。
  13. Webページの悪意のある要素を検出するためのコンピュータ実行可能命令が格納された非一時的コンピュータ可読媒体であって、
    テストされたWebページの要素に関するデータを取得させる命令と、
    前記テストされたWebページの要素を特徴付ける少なくとも1つのN次元ベクトルを生成させる命令と、
    既知の悪意のあるWebページの要素の統計モデルを検索させる命令と、
    前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタとを、前記要素のN次元ベクトルと前記統計モデルの全てのクラスタの中心との距離を測定することで比較させる命令と、
    前記比較の結果に基づいて、前記テストされたWebページの少なくとも1つの悪意のある要素を識別させる命令と、
    を備える、非一時的コンピュータ可読媒体。
  14. 前記テストされたWebページの要素に関するデータを取得させる命令は、前記Webページに埋め込まれたスクリプトからデータを取得させることを含み、前記スクリプトは、少なくとも前記Webページの少なくとも1つの要素に関するデータを収集するためにユーザデバイスで実行されるよう構成される、請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記取得されたデータのハッシュを計算させる命令と、
    前記Webページの既知の悪意のある要素の少なくとも1つのハッシュを取得させる命令と、
    前記計算されたハッシュを前記少なくとも1つのハッシュと比較して前記少なくとも1つの要素が悪意のあるものであるかどうかを判定させる命令と、
    をさらに備える、請求項13に記載の非一時的コンピュータ可読媒体。
  16. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における距離が前記クラスタの半径以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を識別させる命令を備える、請求項13に記載の非一時的コンピュータ可読媒体。
  17. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルのクラスタの中心との間のN次元空間における近接度が第1の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別させる命令を備える、請求項13に記載の非一時的コンピュータ可読媒体。
  18. 前記比較の結果に基づき、前記少なくとも1つのN次元ベクトルと前記統計モデルの前記クラスタのN次元ベクトルであって前記クラスタの中心から最も離れたベクトルとの間のN次元空間における近接度が第2の選択された閾値以下である場合に、前記テストされたWebページの少なくとも1つの悪意のある要素を前記プロセッサにより識別させる命令を備える、請求項13に記載の非一時的コンピュータ可読媒体。
JP2017126120A 2016-10-10 2017-06-28 Webページの悪意のある要素を検出するシステム及び方法 Active JP6530786B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2016139468A RU2638710C1 (ru) 2016-10-10 2016-10-10 Способы обнаружения вредоносных элементов веб-страниц
RU2016139468 2016-10-10
US15/475,885 2017-03-31
US15/475,885 US10505973B2 (en) 2016-10-10 2017-03-31 System and methods of detecting malicious elements of web pages

Publications (2)

Publication Number Publication Date
JP2018063694A true JP2018063694A (ja) 2018-04-19
JP6530786B2 JP6530786B2 (ja) 2019-06-12

Family

ID=60718915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017126120A Active JP6530786B2 (ja) 2016-10-10 2017-06-28 Webページの悪意のある要素を検出するシステム及び方法

Country Status (4)

Country Link
US (2) US10505973B2 (ja)
JP (1) JP6530786B2 (ja)
CN (1) CN107918733B (ja)
RU (1) RU2638710C1 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805331B2 (en) 2010-09-24 2020-10-13 BitSight Technologies, Inc. Information technology security assessment system
US9438615B2 (en) 2013-09-09 2016-09-06 BitSight Technologies, Inc. Security risk management
US11182720B2 (en) 2016-02-16 2021-11-23 BitSight Technologies, Inc. Relationships among technology assets and services and the entities responsible for them
US10425380B2 (en) 2017-06-22 2019-09-24 BitSight Technologies, Inc. Methods for mapping IP addresses and domains to organizations using user activity data
CA3080589A1 (en) * 2017-10-31 2019-05-09 Bluvector, Inc. Malicious script detection
US10257219B1 (en) 2018-03-12 2019-04-09 BitSight Technologies, Inc. Correlated risk in cybersecurity
RU2702081C2 (ru) * 2018-03-30 2019-10-03 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения модификации веб-ресурса
EP3547646B1 (en) * 2018-03-30 2021-11-10 AO Kaspersky Lab System and method of detecting a modification of a web resource
US10812520B2 (en) 2018-04-17 2020-10-20 BitSight Technologies, Inc. Systems and methods for external detection of misconfigured systems
US10831892B2 (en) * 2018-06-07 2020-11-10 Sap Se Web browser script monitoring
RU2702080C1 (ru) * 2018-06-29 2019-10-03 Акционерное общество "Лаборатория Касперского" Способ блокировки сетевых соединений с ресурсами из запрещенных категорий
US11200323B2 (en) 2018-10-17 2021-12-14 BitSight Technologies, Inc. Systems and methods for forecasting cybersecurity ratings based on event-rate scenarios
US10521583B1 (en) * 2018-10-25 2019-12-31 BitSight Technologies, Inc. Systems and methods for remote detection of software through browser webinjects
CN109491896B (zh) * 2018-10-26 2022-06-21 深圳点猫科技有限公司 一种教育系统的微信小程序表单校验方法及电子设备
US20200137092A1 (en) * 2018-10-31 2020-04-30 Salesforce.Com, Inc. Detecting anomalous web browser sessions
US10726136B1 (en) 2019-07-17 2020-07-28 BitSight Technologies, Inc. Systems and methods for generating security improvement plans for entities
US11956265B2 (en) 2019-08-23 2024-04-09 BitSight Technologies, Inc. Systems and methods for inferring entity relationships via network communications of users or user devices
CN110659057B (zh) * 2019-09-24 2021-10-22 腾讯科技(深圳)有限公司 应用程序热更新方法、装置、存储介质及计算机设备
US10848382B1 (en) 2019-09-26 2020-11-24 BitSight Technologies, Inc. Systems and methods for network asset discovery and association thereof with entities
US11032244B2 (en) 2019-09-30 2021-06-08 BitSight Technologies, Inc. Systems and methods for determining asset importance in security risk management
US11270000B1 (en) * 2019-11-07 2022-03-08 Trend Micro Incorporated Generation of file digests for detecting malicious executable files
CN111221610B (zh) * 2020-01-03 2023-07-04 建信金融科技有限责任公司 一种页面元素采集方法和装置
US10791140B1 (en) 2020-01-29 2020-09-29 BitSight Technologies, Inc. Systems and methods for assessing cybersecurity state of entities based on computer network characterization
US10893067B1 (en) 2020-01-31 2021-01-12 BitSight Technologies, Inc. Systems and methods for rapidly generating security ratings
US10764298B1 (en) 2020-02-26 2020-09-01 BitSight Technologies, Inc. Systems and methods for improving a security profile of an entity based on peer security profiles
US11023585B1 (en) 2020-05-27 2021-06-01 BitSight Technologies, Inc. Systems and methods for managing cybersecurity alerts
US11716350B2 (en) * 2020-06-23 2023-08-01 IronNet Cybersecurity, Inc. Systems and methods of detecting anomalous websites
US11122073B1 (en) 2020-12-11 2021-09-14 BitSight Technologies, Inc. Systems and methods for cybersecurity risk mitigation and management
US11882152B2 (en) * 2021-07-30 2024-01-23 Bank Of America Corporation Information security system and method for phishing website identification based on image hashing
CN113688049B (zh) * 2021-08-31 2023-06-23 中国平安财产保险股份有限公司 基于录入信息的可回溯性检测方法、装置、设备及介质
CN114363082B (zh) * 2022-01-12 2024-05-03 南昌首页科技股份有限公司 网络攻击检测方法、装置、设备及计算机可读存储介质
US11934523B1 (en) * 2022-12-01 2024-03-19 Flexxon Pte. Ltd. System and method for securing data files

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137732A (ja) * 1998-11-04 2000-05-16 Fuji Xerox Co Ltd 検索装置、検索方法及び検索プログラムを記録したコンピュ―タ読み取り可能な記録媒体
JP2008529105A (ja) * 2004-11-04 2008-07-31 ヴェリセプト コーポレーション クラスタリング及び分類のための方法、装置、及びシステム
JP2010079871A (ja) * 2008-06-09 2010-04-08 Yahoo Japan Corp ベクトルデータ検索装置
JP2012088803A (ja) * 2010-10-15 2012-05-10 Univ Of Aizu 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム
CN102811213A (zh) * 2011-11-23 2012-12-05 北京安天电子设备有限公司 基于模糊哈希算法的恶意代码检测系统及方法
US8826439B1 (en) * 2011-01-26 2014-09-02 Symantec Corporation Encoding machine code instructions for static feature based malware clustering
KR20150144009A (ko) * 2014-06-16 2015-12-24 주식회사 예티소프트 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
JP2016508274A (ja) * 2013-01-15 2016-03-17 シマンテック コーポレーションSymantec Corporation クラスタ化を用いたサンプルの分類

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1176432C (zh) * 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
US6611925B1 (en) * 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
JP4652741B2 (ja) * 2004-08-02 2011-03-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 異常検出装置、異常検出方法、異常検出プログラム、及び記録媒体
US8225401B2 (en) * 2008-12-18 2012-07-17 Symantec Corporation Methods and systems for detecting man-in-the-browser attacks
KR20100078081A (ko) * 2008-12-30 2010-07-08 (주) 세인트 시큐리티 커널 기반 시스템 행위 분석을 통한 알려지지 않은 악성코드 탐지 시스템 및 방법
US20100299430A1 (en) * 2009-05-22 2010-11-25 Architecture Technology Corporation Automated acquisition of volatile forensic evidence from network devices
BR112012018643B1 (pt) * 2010-01-26 2021-12-07 EMC IP Holding Company LLC Método para detecção de acessos não autorizados de recursos online seguros, sistema de segurança de rede para detectar acessos não autorizados de recursos online seguros e mídia de armazenamento legível por computador
RU2446459C1 (ru) * 2010-07-23 2012-03-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ проверки веб-ресурсов на наличие вредоносных компонент
AU2011200413B1 (en) * 2011-02-01 2011-09-15 Symbiotic Technologies Pty Ltd Methods and Systems to Detect Attacks on Internet Transactions
US9386028B2 (en) * 2012-10-23 2016-07-05 Verint Systems Ltd. System and method for malware detection using multidimensional feature clustering
US9225737B2 (en) 2013-03-15 2015-12-29 Shape Security, Inc. Detecting the introduction of alien content
US9270694B2 (en) * 2013-05-21 2016-02-23 Rapid7, Llc Systems and methods for assessing security for a network of assets and providing recommendations
US20150033336A1 (en) * 2013-07-24 2015-01-29 Fortinet, Inc. Logging attack context data
JP6216458B2 (ja) * 2014-01-24 2017-10-18 マカフィー, エルエルシー 自動プレースホルダファインダ及びフィラー
US9979748B2 (en) * 2015-05-27 2018-05-22 Cisco Technology, Inc. Domain classification and routing using lexical and semantic processing
US9923916B1 (en) * 2015-06-17 2018-03-20 Amazon Technologies, Inc. Adaptive web application vulnerability scanner
US20170337376A1 (en) * 2016-05-19 2017-11-23 Scot Anthony Reader Adaptive Heuristic Behavioral Policing of Executable Objects
RU2652451C2 (ru) * 2016-09-08 2018-04-26 Акционерное общество "Лаборатория Касперского" Способы обнаружения аномальных элементов веб-страниц

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137732A (ja) * 1998-11-04 2000-05-16 Fuji Xerox Co Ltd 検索装置、検索方法及び検索プログラムを記録したコンピュ―タ読み取り可能な記録媒体
JP2008529105A (ja) * 2004-11-04 2008-07-31 ヴェリセプト コーポレーション クラスタリング及び分類のための方法、装置、及びシステム
JP2010079871A (ja) * 2008-06-09 2010-04-08 Yahoo Japan Corp ベクトルデータ検索装置
JP2012088803A (ja) * 2010-10-15 2012-05-10 Univ Of Aizu 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム
US8826439B1 (en) * 2011-01-26 2014-09-02 Symantec Corporation Encoding machine code instructions for static feature based malware clustering
CN102811213A (zh) * 2011-11-23 2012-12-05 北京安天电子设备有限公司 基于模糊哈希算法的恶意代码检测系统及方法
JP2016508274A (ja) * 2013-01-15 2016-03-17 シマンテック コーポレーションSymantec Corporation クラスタ化を用いたサンプルの分類
KR20150144009A (ko) * 2014-06-16 2015-12-24 주식회사 예티소프트 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
K. BORGOLTE, ET AL.: "Delta: Automatic Identification of Unknown Web-based Infection Campaigns", CCS'13 PROCEEDINGS OF THE 2013 ACM SIGSAC CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY [ONLINE], JPN7018002802, 4 November 2013 (2013-11-04), US, pages 109 - 120, ISSN: 0003958876 *
芝原 俊樹: "リダイレクトの構造的類似性に基づく悪性Webページ検知手法", CSS2015 コンピュータセキュリティシンポジウム2015 論文集 情報処理学会シンポジウムシリー, JPN6018031847, 14 October 2015 (2015-10-14), JP, pages 496 - 503, ISSN: 0003958877 *

Also Published As

Publication number Publication date
JP6530786B2 (ja) 2019-06-12
US10505973B2 (en) 2019-12-10
US11038917B2 (en) 2021-06-15
RU2638710C1 (ru) 2017-12-15
CN107918733A (zh) 2018-04-17
US20200092305A1 (en) 2020-03-19
US20180103043A1 (en) 2018-04-12
CN107918733B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
JP6530786B2 (ja) Webページの悪意のある要素を検出するシステム及び方法
US11050778B2 (en) Complex application attack quantification, testing, detection and prevention
JP6847187B2 (ja) 画像ベースのcaptchaチャレンジ
US9621570B2 (en) System and method for selectively evolving phishing detection rules
CA2595758C (en) System for detecting vulnerabilities in web applications using client-side application interfaces
US20240202366A1 (en) Systems and methods for controlling data exposure using artificial-intelligence-based modeling
JP2018041442A (ja) Webページの異常要素を検出するためのシステム及び方法
CN109768992B (zh) 网页恶意扫描处理方法及装置、终端设备、可读存储介质
US11212297B2 (en) Access classification device, access classification method, and recording medium
CN105635064B (zh) Csrf攻击检测方法及装置
RU2622626C2 (ru) Система и способ обнаружения фишинговых сценариев
EP3306511B1 (en) System and methods of detecting malicious elements of web pages
EP3293661A1 (en) System and method for detecting anomalous elements of web pages
RU2659741C1 (ru) Способы обнаружения аномальных элементов веб-страниц на основании статистической значимости
RU2702081C2 (ru) Система и способ обнаружения модификации веб-ресурса
Sun et al. Padetective: A systematic approach to automate detection of promotional attackers in mobile app store
JP7420247B2 (ja) 計量学習装置、計量学習方法、計量学習プログラム、及び検索装置
US20240214406A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
CA3170593A1 (en) Detection of phishing websites using machine learning
KR20220161790A (ko) 크리덴셜 스터핑 탐지 모델 생성 장치 및 방법, 크리덴셜 스터핑 탐지 장치 및 방법
CN115225341A (zh) 一种网站访问方法及装置
Frühwirt Automated discovery of secure website domains

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190418

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: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190517

R150 Certificate of patent or registration of utility model

Ref document number: 6530786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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