ブログ
次の結果を表示 
次の代わりに検索 
もしかして 

2016 年 8 月:回避技法の検証

投稿者 J-Net_Japan_Blog_Team ‎10-31-2016 06:56 PM - 編集済み ‎11-08-2016 08:13 PM

今月のブログでは、8 月によくみられた、検知を回避するシンプルなドロッパー ファミリーの一例をみていきます。焦点は解析と検知を積極的に回避するために使用される技法です。今回のサンプルには著者のデバッグ情報が一部含まれており、プロジェクトに「ResourceDropper」というラベルが付けられています。

 

image1.png  

実行可能コードは静的解析を妨害するために難読化され、最終的なペイロードは暗号化されます。コンパイルされたコードは GetProcAddress での実行時に多くの依存関係を解決します。これは静的解析の基本的な機能を妨害するためによく使用されます

 

image2.png

 

 

このマルウェアは多数のサンドボックスやデバッガーに自らの解析を示すものがあるかどうかも確認します。最初は、デバッガーがアタッチされているかどうかを直接確認します。

 

image3.png

 

次に、サンプルはプロセス環境ブロックにアクセスしてデバッグや解析を間接的に示すものを探します。その後で、多数の一般的なアンチマルウェア製品があるかどうかを確認します(難読化された製品名を使用)。

 

image4.png

アンチマルウェアに対抗するチェックが成功した場合、このマルウェアはすぐに終了します。それ以外の場合、別の悪意のあるファイルをドロップして実行します(Java アップデーターに成りすまします)。次に、ドロップ/注入されたファイルは自らをコピーし、起動後に削除します(もう一つの悪質な兆候!)。そして解析されていることを示す兆候を確認します。プロセス メモリには、Sandboxie に関連した DLL のチェックが見つかっています。 

 

image5.png

 

マルウェアは、特定のサンドボックス製品やアンチマルウェア製品に関連付けられていることがわかっている Windows 製品の ID を探し始めます。

 

image6.png

 

 

これらの準備をすべて終えると、マルウェアはユーザーの認証情報(下に示す FTP のログイン情報など)を収集し、永続的なバックドアを開こうとします。 


image7.png

ここに掲載した検知回避の技法は、特別に巧妙というわけではありません。マルウェアは、人間の存在を示すあらゆる種類のもの(マウスの動作など)を確認し、システムの仕様を確認してマシンが本物かどうか(ハード ドライブに十分な大きさがあり、プロセッサのコア数が十分かどうか)を確認することがわかっています。あるいは、マルウェアは解析されていないことを確認するために、ダウンロードしたスクリプトとは別に特定のコマンド ライン パラメータを要求します。その結果、マルウェアの作成者とアンチマルウェア業界はいたちごっこの状態です。マルウェアの作成者は作業から最高の見返りを得るために、できる限り検知を遅らせようとします。Sky ATP では、サンプルが解析システムを特定して検知を回避しようとした痕跡を多数探し出し、新しい機能を継続的に追加しています。さらに、当社のマシン ラーニング エンジンは対象(検知を回避する最新のマルウェアを含む)を絶えず更新するようにトレーニングされており、技法の進化に伴う回避動作を検知できるようになっています。

 

今回もお読みいただきありがとうございます!次回は Return-oriented programming(ROP)を取り上げます。ぜひご覧ください。