現在位置: ホーム / ブログ / MATATABI:マルチレイヤ脅威分析基盤

MATATABI:マルチレイヤ脅威分析基盤

 多種多様なサイバー攻撃による被害が拡大していく中で、その対策を講じるために攻撃そのものを理解する事は非常に重要です。攻撃は点描のようなもので、場当たり的な観測では攻撃の概要をとらえる事は一般に困難です。  NECOMAプロジェクトの挑戦として、「マルチレイヤ分析」と呼ばれる手法を採用する事で、分析対象とする情報を広くし攻撃の理解を深め、その結果をデータベース化する事を掲げています。このために多種・多量の観測データを、容易に分析するための技術基盤としてビッグデータ技術を適用しています。

Apache Hadoopによる実装

 マルチレイヤ分析では、分析対象のデータ量が膨大となるため、処理技術に工夫が必要となります。我々はオープンソースソフトウェアの大規模データの分散処理・格納を実現するApache Hadoopや、Facebook Presto-dbを利用した脅威分析基盤MATATABIを設計・構築し、運用しています。
 更に分析結果を公開し、可視化し全体俯瞰等を行うために、ポーランドNASKで開発されているn6 SDKを用いた情報交換等を実現し、知識ベースとして利用可能としています。

クラウド型ではなく、ローカル型

 MATATABIは、Google Cloud PlatformやAmazon EC2等で提供されるクラウド型データ解析サービスではなく、分析対象の観測データを保持している各組織内にて構築する事ができる、データ分析ソフトウェアです。そのため、プライバシ侵害に心配のあるデータを組織外に持ち出す事なく脅威分析が可能です。また、大量のデータを高速に分析する必要があれば、Apache Hadoopの運用と同様に計算ノード台数を増加させる事により、容易に規模を拡大させる事が可能です。

複数の分析手法による脅威検知

 「より多くの情報を分析すると、より多くの攻撃を検知できる」という仮定の下、バックボーンネットワークのトラフィック、DNS問い合わせ記録、スパムメール、ユーザの行動追跡、フィッシングサイトデータベースなど、大量に計測される情報を一元的に、適切な速度で分析する仕組みが必要とされます。分析の着眼点として、NECOMAプロジェクトでは、複数のデータセットを対象とする事で、より深い分析を実現する手法(クロスレイヤ分析)と、分析結果同士の相関をとる事で、より攻撃の実体を詳しく洗いだす手法(マルチレイヤ分析)をとっています。それぞれの分析は各攻撃や観測データ毎に利用シーンを変えて、幅広い分析を可能としています。


fig1.png

図1. クロスレイヤ分析結果の可視化例

 

MATATABIソフトウェアの利用方法 (Dockerイメージ)

 MATATABIは、導入手順を簡素化するために、Dockerというソフトウェアを利用して提供しています。ここでは、Ubuntu 14.04-01 x86 64-bit環境を利用したMATATABIの導入手順を紹介します。
まず、Dockerをインストールします。

% sudo apt-get install docker.io

sudoコマンドが実行できる権限が必要です。
その後、Docker hubで公開されている MATATABIイメージをインストール(ダウンロード)します。

% docker pull necoma/matatabi:1.0

これで、MATATABIのインストールは終わりです。簡単であったと思います。コンテナ技術を利用する事で、複雑な依存関係のあるプログラム群や、それに付随する設定ファイルなどを一つのイメージに封じ込める事ができ、大変便利です。
実行してみましょう。docker run コマンドを利用すると、MATATABIが動作しているOSの起動と初期化を行います。

% docker run -i -t necoma/matatabi:1.0

起動が成功したら、prestoというコマンドを実行して、インストール時に生成してあるサンプルデータを SQL文で検索する処理を実行してみましょう。

root@a6a76dd13275:/# presto
presto:default> select date,ipaddr,qname,cname,typename from querylog;
      date          |     ipaddr            |      qname           | cname | typename
 --------------------+------------------------+------------------------+----------+----------
   01-Jan-2010 | 10.0.0.6#64473: | mail.example.org | IN       | A    
   01-Jan-2010 | 10.0.0.6#26439: | mail.example.org | IN       | A    
   01-Jan-2010 | 10.0.0.6#18020: | mail.example.org | IN       | A    
   01-Jan-2010 | 10.0.0.6#49146: | mail.example.org | IN       | A    
   01-Jan-2010 | 10.0.0.6#30733: | mail.example.org | IN       | A    
   01-Jan-2010 | 10.0.0.6#52651: | mail.example.org | IN       | A   

この例では、DNSの名前問い合わせ (query) の記録をとっているデータに対し、特定の情報のみをquerylogという名前のテーブルに対して問い合わせるSQL文を実行しています。これを応用して、複数のテーブルに対しSQLのJOIN句などで横断的にデータを検索する事などにより、クロスレイヤ解析を分散計算環境にて高速に実施する事ができます。

今後のアップデート予定

 MATATABIのDockerイメージは随時機能追加中で、今後は実際にNECOMAプロジェクトで利用している脅威分析スクリプトを利用した攻撃検知機能や、分析結果を外部プログラムへ(n6 SDKによる)REST APIにより提供する機能などの追加を予定しています。

用語解説

マルチレイヤ分析とクロスレイヤ分析

我々は、単に複数データセットを対象として分析をするクロスレイヤ分析と、分析結果の相関をとり新たな分析を見いだすマルチレイヤ分析を区別しています。

ビッグデータ技術

並列・分散計算技術や、大容量データ格納技術を組み合わせ、従来のデータベース技術では困難とされてきた高速なデータ検索・分析を可能とする技術の総称です。

Docker

コンテナ技術と呼ばれる仮想化手法を利用して、アプリケーションの配布方法を自動化するソフトウェアです。

https://www.docker.com

Docker Hub

Dockerイメージを公開・共有するためのオンラインレポジトリです。 https://registry.hub.docker.com/

presto

Facebook社がオープンソースとして開発している分散SQLクエリ処理エンジンのソフトウェアです。Presto はApache Hive等と比べ、処理内容によっては高速な処理が可能です。https://prestodb.io/