JPCERT/CC、マルウェア分類ツール「impfuzzy for Neo4j」を公開:マルウェアをクラスタリングし、可視化
JPCERTコーディネーションセンター(JPCERT/CC)が、セキュリティ担当者向けのマルウェア分類ツール「impfuzzy for Neo4j」を公開。マルウェアを素早く分類し、新種のマルウェアを抽出する作業の効率を向上できるという。
JPCERTコーディネーションセンター(JPCERT/CC)は2017年3月10日、IT管理者、セキュリティ担当者向けのマルウェア分類ツール「impfuzzy for Neo4j」をGitHubで公開した。
impfuzzy for Neo4jは、マルウェアの類似性を分析し、グラフデータベース「Neo4j」を使って結果を可視化するツール。マルウェア分析では、大量のマルウェア素早く分類し、分析するべき新種のマルウェアを抽出することが求められる。同ツールにより、こうした作業を効率化できる。
同ツールは以下の流れで動作する。
- impfuzzyを用いて各マルウェアの類似度を計算
- impfuzzyの類似度計算の結果からグラフ(ネットワーク)を作成
- 作成したグラフをネットワーク分析(クラスタリング)
- クラスタリングした結果をNeo4jデータベースに登録し、可視化
同ツールが作成するグラフにより、「どのマルウェアのグループに亜種が多いのか」「どのマルウェアの類似性が高いのか」などを分かりやすく視認できるようになる。
マルウェアの類似度判別に利用するハッシュ値は、JPCERT/CCが考案したアルゴリズム「impfuzzy」で計算する。
マルウェアの調査は既知のマルウェアかどうかを判別することから始める。この作業は、マルウェアの実行ファイルをハッシュ関数に通して得られるハッシュ値によって比較することが多い。ただし、2つのファイルが完全に一致することを確認するためによく利用される「MD5」や「SHA-1」といったハッシュ関数では、入力データが1ビットでも異なればまったく異なるハッシュ値になるために、類似性の比較には適さない。
そこでimpfuzzyでは、マルウェアがインポートしているAPI(Import API)が列挙されている(Windows実行ファイルのヘッダ部分にある)インポートテーブルから得られる「Fuzzy Hashing」を用いてハッシュ値を計算する。Fuzzy Hashingでは、単純かつ機械的な変換しか施されていないコードのハッシュ値は、元のハッシュ値に近い値になる。昨今よく検出されるマルウェアは、既存のマルウェアのカスタマイズ版/亜種であることが多い。つまり、一部のImport APIが追加あるいは変更されただけならば、impfuzzyによる計算値は近い値になる。
また、ハッシュ値計算の対象がインポートテーブルだけなので、実行ファイル全体からハッシュ値を求めるよりも短時間で演算できることもポイントに挙げる。
impfuzzy for Neo4jは、既にGitHubからダウンロード可能。Pythonで記述されていることから、Pythonモジュール「pyimpfuzzy」と「py2neo」、Pythonスクリプト「pylouvain.py」、及びNeo4jをインストールした上で利用する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「貴組織にマルウエアに感染したホストがあるようです」とメールを受け取ったら?
日本ネットワークセキュリティ協会(JNSA)が2015年6月25日に行った「緊急時事ワークショップ〜他人事ではない、サイバー攻撃を受けた組織の選択肢」と題するパネルディスカッションでは、水際でマルウエア感染を防ぐことだけに専念するのではなく、事後の対応にも目を配る必要があるという前提で、必要な取り組みが議論された。 - 高度なサイバー攻撃も「備えあれば憂いなし」、JPCERT/CCが対策ガイド公開
JPCERTコーディネーションセンターが、企業や組織が高度な標的型攻撃を受けても、慌てずに対応できるよう支援する対策文書を公開した。 - 「少しでも現場の負担を減らせる技術を生み出したい」――セキュリティ若手研究者インタビュー
「業界の“一流人”だけでなく、もっと身近な人たちのことも知りたい」。そんな方々に向けて、セキュリティ業界で働く若手たちの生の声をお届けする本連載。今回は「企業研究者」の方にインタビューしました。