JP6823201B2 - 分類装置、分類方法、および、分類プログラム - Google Patents

分類装置、分類方法、および、分類プログラム Download PDF

Info

Publication number
JP6823201B2
JP6823201B2 JP2019560805A JP2019560805A JP6823201B2 JP 6823201 B2 JP6823201 B2 JP 6823201B2 JP 2019560805 A JP2019560805 A JP 2019560805A JP 2019560805 A JP2019560805 A JP 2019560805A JP 6823201 B2 JP6823201 B2 JP 6823201B2
Authority
JP
Japan
Prior art keywords
website
update history
access result
result data
abused
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
JP2019560805A
Other languages
English (en)
Other versions
JPWO2019123757A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2019123757A1 publication Critical patent/JPWO2019123757A1/ja
Application granted granted Critical
Publication of JP6823201B2 publication Critical patent/JP6823201B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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
    • G06F16/951Indexing; Web crawling techniques
    • 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
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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/1433Vulnerability 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、分類装置、分類方法、および、分類プログラムに関する。
他人のウェブサイトを悪用するウェブサイト改ざんが問題となっている。攻撃者は、例えば、ドライブバイダウンロード攻撃(Drive-by Download攻撃)を仕掛けるウェブサイトやフィッシングサイト等の悪性ウェブサイトへ転送するよう他人のウェブサイトを改ざんすることで、自身の目的を達成する。このようなウェブサイトの改ざんは、ウェブサーバやウェブアプリケーションに存在する脆弱性が悪用されたり、マルウェア感染によりウェブサイト管理情報が窃取されたりすることで発生する。
特に、CMS(Content Management System)に存在する脆弱性の悪用による脅威は年々増大している。CMSは、ウェブサイトを作成、管理、配信するためのシステムであり、ウェブサイトの管理者に広く用いられている。しかしながら、これまでに多くの脆弱性がCMSで発見されていたり、ウェブサイトに使用されているCMSを容易に判別できたりするため、ウェブサイト改ざんに頻繁に悪用されている。このためウェブサイト改ざんの抑制には、ウェブサイト管理者によるCMSのバージョン更新やセキュリティパッチの適用が重要となる。
しかしながら、実際には長い間に対応がなされず、放置されたウェブサイトが攻撃者に悪用されている。実際に、攻撃者は、「Dork」と呼ばれる技術により、検索エンジンを用いて脆弱なCMSで管理されているウェブサイトを効率的に見つけ出していることが知られている。これらの発見されたウェブサイトは、長く運用された実績を持つとともに、既知の脆弱性を保有していることが多いため、攻撃者の標的となりやすい。すなわち、不用意な管理者により管理・運用されるウェブサイトが、攻撃者に悪用される可能性が高いと推測できる。このような放置されたウェブサイトの管理者に対して、これまでの管理・運用の実態を踏まえて注意喚起することは、攻撃者によるウェブサイトの悪用を未然に防ぐ上で重要となる。
このような注意喚起を実現する単純な方法として、Dork技術を用いて古いバージョンのCMSで管理されているウェブサイトを発見し、当該ウェブサイトの管理者に注意喚起する方法がある。しかしながら、管理者は適切にウェブサイトを管理運用しているものの、何らかの理由があってCMSの古いバージョンを意図的に使用している場合もある。このため、ウェブサイトに使用されるCMSが古いバージョンであるからといって、一概に悪用の恐れがあるとは言えない。
従来、ウェブサイト上におけるドライブバイダウンロード攻撃やフィッシング、ハクティビズムを検知する手法が知られている(非特許文献1〜3参照)。また、悪用前のウェブサイトから特徴量を設計し、その特徴量に基づきウェブサイトの悪用を事前に検知する手法(非特許文献4参照)が知られている。上記の手法はいずれも、ウェブサイトの悪用の検知に有用な特徴量の設計に、主にウェブサイトのURLやウェブコンテンツを用いている。
D. Canali, et al., "Prophiler: A Fast Filter for the Large-Scale Detection of Malicious Web Pages", in World Wide Web Conference (WWW), 2011. C. Ludl, et al., "On the Effectiveness of Techniques to Detect Phishing Sites", in Conference on Detection of Intrusions and Malware and Vulnerability Assessment (DIMVA), 2007. K. Borgolte, et al., "Meerkat: Detecting Website Defacements through Image-based Object Recognition", in USENIX Security Symposium, 2015. K. Soska, et al., "Automatically Detecting Vulnerable Websites Before They Turn Malicious", in USENIX Security Symposium, 2014.
しかし、従来技術では、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知する技術は提案されていなかった。そこで、本発明は、前記した問題を解決し、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することを課題とする。
前記した課題を解決するため、本発明は、ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得する取得部と、前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成する更新履歴作成部と、前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する分類器作成部と、を備えることを特徴とする。
本発明によれば、管理者によるウェブサイトの管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
図1は、分類装置の動作概要を説明する図である。 図2は、分類装置の構成例を示すブロック図である。 図3は、図2のアクセス結果DBの一例を示す図である。 図4は、更新履歴の作成を説明するための図である。 図5は、アクセス結果データの比較の一例を示す図である。 図6は、更新履歴の一例を示す図である。 図7は、図6の更新履歴を示す特徴ベクトルの一例を示す図である。 図8は、図2の分類装置による分類器の作成手順の一例を示すフローチャートである。 図9は、図2の分類装置による分類手順の一例を示すフローチャートである。 図10は、図2の分類装置によるアクセス結果データのアクセス結果DBへの蓄積処理の一例を示すフローチャートである。 図11は、図2の分類装置による更新履歴の作成処理の一例を示すフローチャートである。 図12は、分類プログラムを実行するコンピュータを示す図である。
[概要]
以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。
本実施形態の分類装置は、定常的にウェブサイトを監視し、当該ウェブサイトから管理者に起因すると考えられる情報を収集する。そして、分類装置は、当該ウェブサイトがどのように管理・運用されているのかを過去にさかのぼり時系列に分析することで、今後悪用され得るウェブサイトを分類する。
[分類器の作成フェーズ]
例えば、図1に示すように、分類装置は、まず、クローラ部(取得部)121により、インターネット経由で学習用URLリスト(学習用良性URLリストおよび学習用悪性URLリスト)に示されるウェブサイトへアクセスする。そして、クローラ部121は、各ウェブサイトへのアクセス結果データを収集し、アクセス結果DBに蓄積する。ここで、ウェブサイトへのアクセス結果データは、ウェブサイトの管理者による管理に起因して更新される情報(例えば、後記するウェブアプリケーション情報等)を含む。
また、上記の学習用良性URLリストおよび学習用悪性URLリストは、例えば、様々なウェブサイトの過去の状態をアーカイブするサービス(以下の文献1)により提供されているURLリストを用いる。
文献1:Internet Archive, “Wayback Machine”, https://archive.org/web/
例えば、学習用悪性URLリストとして、悪用検知後および悪用検知前の各時刻におけるウェブサイトの状態をアーカイブしているサービスにより提供されているURLリストを用いる。また、学習用良性URLリストとして、悪用されていないウェブサイトの各時刻における状態をアーカイブしているサービスにより提供されているURLリストを用いる。
次に、分類装置は、更新履歴作成部122により、アクセス結果DBに蓄積されたウェブサイトごとのアクセス結果データを比較し、当該ウェブサイトの更新履歴を作成する。
例えば、分類装置は、更新履歴作成部122により、学習用悪性URLリストに示されるウェブサイトのアクセス結果データのうち、悪用検知前のアクセス結果データに基づき、悪用されたウェブサイトの更新履歴を作成する。つまり、悪用が検知されるまでのウェブサイトの更新履歴を作成する。また、分類装置は、更新履歴作成部122により、学習用良性URLリストに示されるウェブサイトのアクセス結果データに基づき、悪用されていないウェブサイトの更新履歴を作成する。
そして、分類装置の分類器作成部123は、上記の悪用されたウェブサイトの更新履歴および悪用されていないウェブサイトの更新履歴を特徴量として用いて機械学習等を行い、今後悪用される可能性があるウェブサイトを分類する分類器を作成する。
[分類フェーズ]
その後、分類装置は、作成した分類器を用いてテスト用URLリスト(分類対象となるウェブサイトのURLのリスト)に示されるウェブサイトの分類を行う。
例えば、分類装置はクローラ部121によりテスト用URLリストに示されるウェブサイトにアクセスし、当該ウェブサイトへのアクセス結果データをアクセス結果DBに蓄積する。そして、分類装置は、更新履歴作成部122により、アクセス結果DBに蓄積されたウェブサイトごとのアクセス結果データを比較し、当該ウェブサイトの更新履歴を作成する。その後、分類装置は、テスト用URLリストに示されるウェブサイトの更新履歴を特徴量とし、上記の分類器を用いて、テスト用URLリストに示される各ウェブサイトが、今後悪用される可能性があるか否かを分類し、分類結果を出力する。
このようにすることで、分類装置は、ウェブサイトの管理者の管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
[構成]
次に、図2を用いて分類装置10の構成を説明する。図2に示すように、分類装置10は、入出力部11と、制御部12と、記憶部13とを備える。
入出力部11は、各種URLリストの入力を受け付けたり、分類器によるURLに示されるウェブサイトの分類結果等を出力したりする入出力インタフェースである。また、この入出力部11は、クローラ部121等がインターネット等の外部ネットワークにアクセスする際の通信インタフェースも司る。
制御部12は、分類装置10全体の制御を司る。この制御部12は、クローラ部121と、更新履歴作成部122と、分類器作成部123と、分類部124とを備える。
[クローラ部]
クローラ部121は、指定されたURLのウェブサイトへアクセスし、様々な情報を収集(取得)する。例えば、クローラ部121は、所定期間ごとに、URLリストに示される各ウェブサイトにアクセスし、アクセスしたウェブサイトへのアクセス結果データを収集し、アクセス結果DBへ蓄積する。このアクセス結果データは、ウェブサイトの管理者による管理に起因して更新される当該ウェブサイトの情報(例えば、後記するウェブアプリケーション情報等)を含む。このクローラ部121は、例えば、ウェブサイトへアクセスするブラウザまたはクローラプログラムの実行により実現される。
なお、クローラ部121に入力されるURLリストは、例えば、学習用URLリスト(学習用良性URLリストと学習用悪性URLリスト)や、テスト用URLリストである。
上記の学習用良性URLリストおよび学習用悪性URLリストは、例えば、前記したとおり、悪用が検知されていないウェブサイト(良性ウェブサイト)および悪用が検知されたウェブサイト(悪性ウェブサイト)の過去の状態をアーカイブするサービス(文献1)により提供されているURLリストを用いる。
また、学習用悪性URLリストは、例えば、既存技術(例えば、アンチウイルスソフトや非特許文献1〜3に記載の技術)を用いて、悪用を事前に検知したウェブサイトのURLを含む悪性URLリスト(例えば、以下の文献2,3に示す既知の悪性URLリストでもよい)を用いてもよい。
文献2:OpenDNS, “PhishTank”, https://www.phishtank.com/
文献3:Malwarebytes, “hpHosts”, https://www.hosts-file.net/
この場合、クローラ部121は、例えば、前記既知の悪性URLリストに基づき、悪用検知前の時刻にアーカイブされたウェブサイトへアクセスし、アクセス結果データを収集する。そして、クローラ部121は、収集したアクセス結果データを、悪用検知前のアクセス結果データ(悪用が検知されるまでの一連のアクセス結果データ)として、アクセス結果DBに蓄積する。この時、クローラ部121は、所定期間、定常的に特定のURLが示すウェブサイトへアクセスし、既存技術により当該ウェブサイトの悪用を検知した場合に、それまで収集したアクセス結果データを、悪用検知前のアクセス結果データとして用いても良い。
また、クローラ部121により収集される、ウェブサイトのアクセス結果データは、当該ウェブサイトを構成する情報を含む。例えば、ウェブサイトへのアクセス結果データは、当該ウェブサイトのHTTPヘッダから得られる当該ウェブサイトのウェブサーバ情報と、当該ウェブサイトのHTTPボティ(例えば、HTTPボディのmetaタグ)から得られる当該ウェブサイトのウェブアプリケーション情報と、当該ウェブサイトのCMS情報との少なくともいずれかを含む。例えば、アクセス結果データは、HTTPヘッダに含まれるServer headerやX-Powered-By headerから得られるウェブサーバ情報や、HTTPボディに含まれるmetaタグから得られるウェブアプリケーション情報、URLのパス文字列から得られるCMS情報等を含む。なお、CMS情報は、例えば、当該ウェブサイトのURL、HTTPヘッダ、および、HTTPボディのmetaタグそれぞれについて、当該情報から当該ウェブサイトのCMSを特定可能か否かを示した情報である。
例えば、図3に示すアクセス結果データにおいて、CMS情報は、URLからのCMSの特定可否を示す「detect-url」、metaタグからのCMSの特定可否を示す「detect-meta」、HTTPヘッダからのCMSの特定可否を示す「detect-header」等の情報である。また、図3に示すアクセス結果データにおいて、ウェブサーバ情報は、Server header、X-Powered-By header等の情報である。さらに、図3に示すアクセス結果データにおいて、ウェブアプリケーション情報は、metaタグのgenerator属性値であるmeta[generator]等の情報である。
なお、従来技術は、ウェブサイトが悪用される可能性があるか否かを判断する際、改ざんにより挿入されるコンテンツや攻撃コード等の悪性コンテンツに着目した情報を特徴量として用いていた。一方、本実施形態の分類装置10は、上記のウェブサイトのウェブサーバ情報やウェブアプリケーション情報等、ウェブサイトの管理者が更新でき得る情報を特徴量として用いる。ただし、上記のウェブサーバ情報やウェブアプリケーション情報は、ウェブサイト管理者により更新可能な情報であれば、これらに限るものではない。
[アクセス結果データ]
アクセス結果DBに蓄積されるアクセス結果データを、図3を用いて説明する。例えば、アクセス結果DBに蓄積されるアクセス結果データは、各アクセス結果データの識別情報である「ID」、ウェブサイトへのアクセス日時である「Date」、アクセスしたウェブサイトのURLである「URL」、当該URLへアクセスした際に別途アクセスが発生するURLの数である「URL数」、HTTPボディのmetaタグのgenerator属性値である「meta[generator]」、HTTPヘッダに含まれる「Server header」および「X-Powered-By header」、URLからのCMSの特定可否を示す「detect-url」、metaタグからのCMSの特定可否を示す「detect-meta」、HTTPヘッダからのCMSの特定可否を示す「detect-header」等の情報を含む。
また、上記のアクセス結果データにおける、「detect-url」、「detect-meta」および「detect-header」の値、つまり、True(CMSの特定可能)、False(CMSの特定不可能)は、既存技術(例えば、以下の文献4に記載の技術)に基づき、クローラ部121が判断するものとする。
文献4:Wappalyzer, https://wappalyzer.com/
なお、クローラ部121が学習用URLリストに示されるウェブサイトにアクセスした場合、当該ウェブサイトへのアクセス結果データに、アクセス先のウェブサイトが良性URL(悪用されていないウェブサイト)か悪性URL(悪用されたウェブサイト)かを示す識別情報を付与して、アクセス結果DBに蓄積する。
[更新履歴作成部]
図2の更新履歴作成部122は、アクセス結果DB(図3参照)に蓄積されたアクセス結果データに基づき、ウェブサイトの更新履歴を作成する。例えば、更新履歴作成部122は、アクセス結果DBから、同一URL(シードURLと呼ぶ)へのアクセス結果データを取得し、時系列順に比較する。例えば、更新履歴作成部122は、比較対象のアクセス結果データに含まれる各情報の比較(例えば、文字列、数値の比較、真偽値等の比較)を行い、比較結果をシードURLのウェブサイトの更新履歴として記憶部13に記憶する。
なお、更新履歴作成部122は、学習用悪性URLリストに示されるウェブサイトの更新履歴を作成する際、当該ウェブサイトへのアクセス結果データのうち、当該ウェブサイトの悪用検知前のアクセス結果データに基づき、悪用されたウェブサイトの更新履歴を作成する。
このことを、具体例を用いて説明する。例えば、アクセス結果DBに、学習用悪性URLリストに示されるウェブサイト(悪用されたウェブサイト)へのアクセス結果データとして、当該ウェブサイトの悪用検知前から悪用検知後にわたる各日時のアクセス結果データが蓄積されていた場合を考える。
この場合、更新履歴作成部122は、図4に示すように、悪用されたウェブサイトの更新履歴の作成に、当該ウェブサイトの各日時のアクセス結果データのうち、悪用検知前のアクセス結果データ(悪用検知されなかったアクセス結果データ)を利用する。つまり、更新履歴作成部122は、悪用されたウェブサイトについて、悪用が検知されるまでの各日時のアクセス結果データを用いて、当該ウェブサイトの更新履歴を作成する。
一方、更新履歴作成部122が、学習用良性URLリストに示されるウェブサイト(悪用されていないウェブサイト)の更新履歴を作成する際には、当該ウェブサイトについてすべてのアクセス結果データ(各日時のアクセス結果データ)を利用して、当該ウェブサイトの更新履歴を作成する。
更新履歴作成部122による更新履歴の作成を、具体例を用いて説明する。例えば、更新履歴作成部122は、図3に示すアクセス結果データのうち、シードURL「http://c.example」のアクセス結果データ(ID=101〜103)を項目(例えば、「Date」、「meta[generator]」、「Server header」、「X-Powered-By header」、「detect-url」、「detect-meta」および「detect-header」)ごとに比較し、ウェブサイト(http://c.example)の更新履歴を作成する場合を考える。
この場合、更新履歴作成部122は、まず、図5に示すように、ID=101とID=102のアクセス結果データに比較し、その比較結果(符号501)を記録する。次に、更新履歴作成部122は、ID=102とID=103のアクセス結果データを比較し、その比較結果(符号502)を更新履歴として記録する(図6のシードURL「http://c.example」における更新履歴の例(比較回数2回の場合)参照)。
なお、例えば、更新履歴作成部122は、比較対象のアクセス結果データにおける比較データが文字列だった場合、当該文字列が観測できるようになった時に「Up」、当該文字列が変化しなかった時に「Stable」、当該文字列が変化した時に「Updated」、当該文字列が観測できないようになった時に「Down」を更新履歴に記録する。
また、比較データが数値だった場合、更新履歴作成部122は、当該数値が増加した時に「Up」、当該数値が変化しなかった時に「Stable」、当該数値が減少した時に「Down」を更新履歴に記録する。さらに、比較データが真偽値だった場合、更新履歴作成部122は、数値と同様の比較が行われ、偽から真へ変化した時に「Up」、当該真偽値が変化しなかった時に「Stable」、真から偽変化した時に「Down」を更新履歴に記録する。
また、更新履歴作成部122は、値の変化を一意に示すことができれば、数値や「Up、Stable、Updated、Down」以外の文字列等を用いてもよい。また、更新履歴作成部122は、クローラ部121により収集されるデータに応じて、文字列、数値、真偽値以外のデータタイプを許容するものとする。
また、更新履歴作成部122は、図3に示すように、アクセス結果データのDateの値を比較して得られた、シードURLへのアクセス日時の時間間隔(月数)を更新履歴に記録してもよい(図6の「Delta」参照)。
このようにシードURLへのアクセス日時の時間間隔(月数)を更新履歴に含めることで、分類器作成部123が分類器を作成する際、シードURLへのアクセス日時の時間間隔も特徴量として考慮した分類器の作成をすることができる。そして、分類部124が、分類対象のウェブサイトへのアクセス日時の時間間隔を含む更新履歴の入力を受け付け、上記の分類器を用いた分類を行うことで、今後悪用され得るウェブサイトの分類精度を向上させることができる。
また、更新履歴作成部122は、同じシードURLのアクセス結果データ同士の時間間隔(図6における「Delta」の値)が事前に定めた時間間隔を上回らない場合、同じシードURLについて、さらに過去のアクセス結果データを用いて更新履歴を作成してもよい。
なお、分類器作成部123が分類器の作成に用いる更新履歴はそれぞれ、同じシードURLのアクセス結果データを同じ回数比較して得られた更新履歴である必要がある。そのため、更新履歴作成部122は、分類器の作成に用いられるアクセス結果データの更新履歴それぞれについて、アクセス結果データの比較回数を同じ回数とするため、以下の処理を実行する。
例えば、分類器の作成に用いる更新履歴はそれぞれ、アクセス結果データを3回比較して得られた更新履歴である必要があるが、アクセス結果DBに同じシードURLのアクセス結果データが3つしか蓄積されていない(2回しか比較できない)場合を考える。
このような場合、更新履歴作成部122は、同じシードURLのアクセス結果データを2回分の比較結果を更新履歴に記録した後、3回目の比較結果として欠損値(例えば、−1)を更新履歴に記録する。
例えば、更新履歴作成部122は、シードURL「http://c.example」における更新履歴として、図5に示すアクセス結果データ(ID=101〜103)の比較結果(2回分の比較結果)を記録した上で、3回目の比較結果を「−1」とした更新履歴を作成する(図6のシードURL「http://c.example」における更新履歴の例(比較回数3回の場合)参照)。なお、上記の例では欠損値として「−1」を用いたが、欠損値であることが特定できる値であれば、「−1」以外の値を用いてもよい。
このようにすることで、更新履歴作成部122は、分類器の作成に用いられる更新履歴それぞれについて、アクセス結果データの比較回数を同じ回数とした更新履歴を作成することができる。なお、アクセス結果データの比較回数は、任意の値を定めることができるものとする。
[分類器作成部]
図2の分類器作成部123は、悪用されていないウェブサイトの更新履歴および悪用されたウェブサイトの更新履歴を特徴量として用いた機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
例えば、分類器作成部123は、記憶部13に記憶される、学習用良性URLリストに示されるウェブサイトの更新履歴と、学習用悪性URLリストに示されるウェブサイトの更新履歴とを読み出す。そして、分類器作成部123は、学習用良性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルと、学習用悪性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルとを作成する。その後、分類器作成部123は、学習用良性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルを良性データ、学習用悪性URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルを悪性データとして用いた機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
例えば、分類器作成部123は、図6に示すシードURL「http://c.example」における更新履歴(比較回数3回の場合)を示す特徴ベクトルとして、図7に示す特徴ベクトルを作成する。なお、ここでは図示を省略しているが、特徴ベクトルには、当該特徴ベクトルが悪性データの特徴ベクトルか、良性データの特徴ベクトルかの識別情報が付与されているものとする。そして、分類器作成部123は、上記の識別情報を含む特徴ベクトルを用いて、機械学習等を行い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。
[分類部]
図2の分類部124は、分類器作成部123により作成された分類器を用いて、今後悪用される可能性のあるウェブサイトを分類し、分類結果を出力する。例えば、分類部124は、テスト用URLリストに示されるウェブサイトの更新履歴を示す特徴ベクトルと、分類器作成部123により作成された分類器を用いて、テスト用URLリストに示される各ウェブサイトが今後悪用される可能性があるか否かを分類し、分類結果を出力する。
[処理手順]
次に、図8および図9を用いて、分類装置10の処理手順の例を説明する。まず、図8を用いて分類装置10が分類器を作成する手順を説明する。
分類装置10のクローラ部121は、学習用良性URLリストおよび学習用悪性URLリストに示されるウェブサイトへアクセスし(S1)、取得したアクセス結果データをアクセス結果DBに蓄積する(S2)。その後、更新履歴作成部122は、アクセス結果DBに蓄積された同じシードURLに関するアクセス結果データを時系列順に取得し、更新履歴を作成する(S3)。そして、分類器作成部123は、学習用良性URLリストに示されるウェブサイトに関する更新履歴と、学習用悪性URLリストに示されるウェブサイトに関する更新履歴とを用いた機械学習等を行い、各ウェブサイトが今後悪用される可能性があるか否かを分類する分類器を作成する(S4)。
次に、図9を用いて、分類装置10が作成した分類器を用いて、テスト用URLリストに示されるウェブサイトについて、今後悪用される可能性のあるウェブサイトを分類する手順を説明する。
まず、分類装置10のクローラ部121は、テスト用URLリストに示されるウェブサイトにアクセスし(S11)、当該アクセスにより取得したアクセス結果データをアクセス結果DBに蓄積する(S12)。その後、更新履歴作成部122は、図8のS2と同様に、アクセス結果DBに蓄積された同じシードURLに関するアクセス結果データを時系列順に取得し、更新履歴を作成する(S13)。そして、分類部124は、図8のS4で作成された分類器を用いて、テスト用URLリストに示されるテスト用URLの分類を行う(S14)。例えば、分類部124は、テスト用URLに示されるウェブサイトの更新履歴を示す特徴ベクトルと、図8のS4で作成された分類器を用いて、テスト用URLリストに示されるウェブサイトが今後悪用される可能性のあるウェブサイトか否かを分類する。そして、分類部124は、S14の分類の結果(分類結果)を出力する(S15)。
このようにすることで、分類装置10は、ウェブサイトの管理者の管理状態に起因して悪用される可能性があるウェブサイトを事前に精度よく検知することができる。
次に、図10を用いて、クローラ部121が、アクセス結果DBにアクセス結果データを蓄積する処理(図8のS1,S2、図9のS11,S12)を詳細に説明する。
クローラ部121は、入力されたURLリストから次のアクセス対象のURLを取得し(S21)、取得したアクセス対象のURLへアクセスし、取得したアクセス結果データをアクセス結果DBに登録する(S22)。そして、クローラ部121は、URLリストに含まれるURLすべてにアクセスしたと判断すると(S23でYes)、処理を終了し、URLリストにまだアクセスしていないURLがあれば(S23でNo)、S21に戻る。
次に、図11を用いて、更新履歴作成部122が、アクセス結果DBに蓄積されたアクセス結果データを用いて、シードURLに関する更新履歴を作成する処理(図8のS3、図9のS13)を詳細に説明する。
まず、更新履歴作成部122は、アクセス結果DBから、シードURLに関するアクセス結果データを時系列順に取得する(S31)ことを試み、アクセス結果データを取得できた場合(S32:アクセス結果データ[取得]が存在?でYes)、S33へ進む。一方、更新履歴作成部122は、アクセス結果DBから、シードURLに関するアクセス結果データを時系列順に取得できなかった場合(S32:アクセス結果データ[取得]が存在?でNo)、更新履歴に欠損値(例えば、−1)を記録し(S34)、S38へ進む。
S33では、更新履歴作成部122は、前回のアクセス結果データの比較で使用したアクセス結果データ(アクセス結果データ[保持])の存在を確認し、アクセス結果データ[保持]が存在した場合は(S33でYes)、S35へ進む。一方、アクセス結果データ[保持]が存在しない場合は(S33でNo)、更新履歴作成部122は、アクセス結果データ[取得]を当該アクセス結果データ[保持]へ格納し(S36)、S31へ戻る。
S35では、更新履歴作成部122は、更新履歴に、アクセス結果データ[取得]と、アクセス結果データ[保持]との比較結果を記録する(S35)。その後、更新履歴作成部122は、アクセス結果データ[取得]をアクセス結果データ[保持]として格納する(S37)。つまり、更新履歴作成部122は、アクセス結果データ[取得]を、次に取得するアクセス結果データとの比較用のデータとして記憶部13の所定領域に格納する。その後、S38へ進む。
S38では、更新履歴作成部122は、アクセス結果データの比較回数が上限値に達していれば(S38でYes)、処理を終了し、アクセス結果データの比較回数が上限値に達していなければ(S38でNo)、S31に戻る。以上のようにして更新履歴作成部122は、シードURLごとの更新履歴を作成する。
このような分類装置10によれば、ウェブサイトの管理者の管理状態を含む当該ウェブサイトのアクセス結果データの更新履歴を特徴量として用い、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する。その結果、分類装置10は、各ウェブサイトが今後悪用される可能性のあるウェブサイトか否かを精度よく分類することができる。
なお、上記の実施形態において分類器の作成と、分類器を用いたウェブサイトの分類とは分類装置10に行われるものとして説明したが、これに限定されない。例えば、分類装置10は、分類器の作成のみを行い、分類器を用いたウェブサイトの分類は、別の装置で行ってもよい。
[プログラム]
また、上記の実施形態で述べた分類装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置を分類装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、分類装置10の機能を、クラウドサーバに実装してもよい。
図12を用いて、上記のプログラム(分類プログラム)を実行するコンピュータの一例を説明する。図12に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図12に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記の実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、上記の分類プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU(Central Processing Unit)1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 分類装置
11 入出力部
12 制御部
13 記憶部
121 クローラ部
122 更新履歴作成部
123 分類器作成部
124 分類部

Claims (8)

  1. ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得する取得部と、
    前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成する更新履歴作成部と、
    前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する分類器作成部と、
    を備えることを特徴とする分類装置。
  2. 前記ウェブサイトへのアクセス結果データは、
    悪用されなかったウェブサイトへのアクセス結果データと、悪用されたウェブサイトの悪用前におけるウェブサイトへのアクセス結果データとを含み、
    前記更新履歴作成部は、
    前記悪用されなかったウェブサイトへのアクセス結果データを時系列順に比較することにより、前記悪用されなかったウェブサイトの更新履歴を作成する処理と、前記悪用されたウェブサイトの悪用前におけるウェブサイト結果データを時系列順に比較することにより、前記悪用されたウェブサイトの更新履歴を作成する処理とを実行し、
    前記分類器作成部は、
    前記悪用されなかったウェブサイトの更新履歴の特徴量と、前記悪用されたウェブサイトの更新履歴の特徴量とを用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成する
    ことを特徴とする請求項1に記載の分類装置。
  3. 前記ウェブサイトへのアクセス結果データは、
    前記ウェブサイトのHTTPヘッダ情報から得られる当該ウェブサイトのウェブサーバ情報と、HTTPボティから得られる当該ウェブサイトのウェブアプリケーション情報と、当該ウェブサイトのURL、HTTPヘッダ情報および前記ウェブアプリケーション情報それぞれについて当該情報から当該ウェブサイトのCMS(Content Management System)を特定可能か否かを示すCMS情報との少なくともいずれかを含む
    ことを特徴とする請求項2に記載の分類装置。
  4. 前記ウェブサーバ情報は、
    前記ウェブサイトで用いられるウェブサーバソフトウエア、および、前記ウェブサイトで用いられるプログラミング言語の少なくともいずれかを示す情報である
    ことを特徴とする請求項3に記載の分類装置。
  5. 前記更新履歴作成部は、
    前記ウェブサイトへのアクセス結果データを時系列順に比較する際に、比較対象のアクセス結果データに示される前記ウェブサイトへのアクセス日時の差分を前記ウェブサイトの更新履歴に含める
    ことを特徴とする請求項1または請求項2に記載の分類装置。
  6. 分類対象となるウェブサイトへのアクセス結果データの更新履歴と、前記分類器とを用いて、今後悪用される可能性のあるウェブサイトを分類する分類部をさらに備える
    ことを特徴とする請求項1に記載の分類装置。
  7. 今後悪用される可能性のあるウェブサイトを分類する分類装置が、
    ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得するステップと、
    前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成するステップと、
    前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成するステップと、
    を含んだことを特徴とする分類方法。
  8. 今後悪用される可能性のあるウェブサイトを分類するための分類プログラムであって、
    ウェブサイトの管理者により更新される前記ウェブサイトの情報を含む前記ウェブサイトへのアクセス結果データを取得するステップと、
    前記ウェブサイトへのアクセス結果データを時系列順に比較することにより、当該ウェブサイトの更新履歴を作成するステップと、
    前記ウェブサイトの更新履歴を特徴量として用いて、今後悪用される可能性のあるウェブサイトを分類する分類器を作成するステップと、
    をコンピュータに実行させることを特徴とする分類プログラム。
JP2019560805A 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム Active JP6823201B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017243914 2017-12-20
JP2017243914 2017-12-20
PCT/JP2018/035987 WO2019123757A1 (ja) 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム

Publications (2)

Publication Number Publication Date
JPWO2019123757A1 JPWO2019123757A1 (ja) 2020-04-02
JP6823201B2 true JP6823201B2 (ja) 2021-01-27

Family

ID=66992565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019560805A Active JP6823201B2 (ja) 2017-12-20 2018-09-27 分類装置、分類方法、および、分類プログラム

Country Status (4)

Country Link
US (1) US11423099B2 (ja)
EP (1) EP3705974B1 (ja)
JP (1) JP6823201B2 (ja)
WO (1) WO2019123757A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936677B2 (en) * 2018-11-28 2021-03-02 Paypal, Inc. System and method for efficient multi stage statistical website indexing
US11799876B2 (en) * 2019-10-04 2023-10-24 Zscaler, Inc. Web crawler systems and methods to efficiently detect malicious sites
TW202240426A (zh) * 2021-04-14 2022-10-16 阿物科技股份有限公司 資訊去識別化之行為向量化方法及系統

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4078554B2 (ja) 2004-01-21 2008-04-23 日本電気株式会社 改ざん検知制御装置、改ざん検知制御システム、改ざん検知制御方法、プログラムおよび記録媒体
US8862699B2 (en) * 2009-12-14 2014-10-14 Microsoft Corporation Reputation based redirection service
WO2013184653A1 (en) 2012-06-04 2013-12-12 Board Of Regents, The University Of Texas System Method and system for resilient and adaptive detection of malicious websites
US9514494B2 (en) * 2012-08-23 2016-12-06 Sap Se Prevention of coalition attacks in social network communities
JP5986338B2 (ja) * 2014-03-13 2016-09-06 日本電信電話株式会社 監視装置、監視方法、および、監視プログラム
CN106796637B (zh) * 2014-10-14 2020-08-25 日本电信电话株式会社 分析装置、分析方法
US9621576B1 (en) * 2014-12-31 2017-04-11 EMC IP Holding Company LLC Detecting malicious websites
CN104766014B (zh) * 2015-04-30 2017-12-01 安一恒通(北京)科技有限公司 用于检测恶意网址的方法和***
KR101689297B1 (ko) * 2015-10-19 2016-12-23 한국과학기술정보연구원 보안이벤트 자동 검증 방법 및 장치
US10033757B2 (en) * 2016-06-09 2018-07-24 Rapid7, Inc. Identifying malicious identifiers
WO2018035163A1 (en) * 2016-08-15 2018-02-22 RiskIQ, Inc. Techniques for determining threat intelligence for network infrastructure analysis
US11019096B2 (en) * 2017-01-11 2021-05-25 Nippon Telegraph And Telephone Corporation Combining apparatus, combining method, and combining program

Also Published As

Publication number Publication date
WO2019123757A1 (ja) 2019-06-27
US11423099B2 (en) 2022-08-23
JPWO2019123757A1 (ja) 2020-04-02
EP3705974B1 (en) 2022-12-07
EP3705974A1 (en) 2020-09-09
EP3705974A4 (en) 2021-09-01
US20200372085A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
Berrueta et al. A survey on detection techniques for cryptographic ransomware
US10581892B2 (en) Automatically grouping malware based on artifacts
US9998484B1 (en) Classifying potentially malicious and benign software modules through similarity analysis
CN109074452B (zh) 用于生成绊网文件的***和方法
US9300682B2 (en) Composite analysis of executable content across enterprise network
CN109074454B (zh) 基于赝象对恶意软件自动分组
JP6823201B2 (ja) 分類装置、分類方法、および、分類プログラム
Atzeni et al. Countering android malware: A scalable semi-supervised approach for family-signature generation
Buyukkayhan et al. Lens on the endpoint: Hunting for malicious software through endpoint data analysis
US10735457B2 (en) Intrusion investigation
Alam et al. Looking beyond IoCs: Automatically extracting attack patterns from external CTI
Bhagwat et al. Detection of ransomware attack: A review
Li et al. Understanding security risks of embedded devices through fine-grained firmware fingerprinting
Patil et al. Roadmap of digital forensics investigation process with discovery of tools
EP3848822B1 (en) Data classification device, data classification method, and data classification program
US9276947B2 (en) Identifying misuse of legitimate objects
Chew et al. Real-time system call-based ransomware detection
WO2023124041A1 (zh) 一种勒索病毒检测方法以及相关***
Bo et al. Tom: A threat operating model for early warning of cyber security threats
Mukesh et al. Real-time framework for malware detection using machine learning technique
Flaglien Cross-computer malware detection in digital forensics
US20230036599A1 (en) System context database management
Shin et al. Study on malicious code behavior detection using windows filter driver and API call sequence
Sugantham V et al. An Improved Method of Phishing URL Detection Using Machine Learning
Naik et al. Network Traffic Analysis using Feature-Based Trojan Detection Method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210107

R150 Certificate of patent or registration of utility model

Ref document number: 6823201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150