2005年度  森泰吉郎記念研究振興基金 研究助成金報告書   
 

政策・メディア研究科 修士課程1年 田中 秀和   
CI プログラム NovelComputing所属   
学籍番号 80524981/Login pidekazu
   


            
       アセンブリ言語レベルでの未知ウィルスの解析
    
     研究概要
  
            
            次世代に出現するマルウェアに用いられている技術は、一層複雑化・巧妙化することが予想される。
           ポリモーフィックウィルスやメタモーフィックウィルスをはじめ、未知のマルコードに対する検出方法は、
           既存の手法を用いても困難とされている。その理由として、多形態ウィルスについては感染する度に自
           らを変形させてコードを書き換えるといった点が挙げられる。また未知のマルコードについては、一般的に
           用いられるパターンマッチング手法などでは、その挙動やコードを予測して種別を完全に限定することが
           困難であるといった課題も残されている。
          
            また既存のウィルススキャンに実装されているデバッガでは、検出が困難なウィルスに対して検出を見
          逃す可能性がある。
         
            本研究では特に検出が困難とされる多形態型ウィ ルスに焦点を絞り、多形態化エンジンを生成する
          ジェネレータを用いて、そこから生成される様々なパター ンの多形態化エンジンの解析を行い、最終的には
          未知なウィルスに対する解析手法を考案する。
         
           解析結果からデータを収集することで、多形態型 ウィルスの検出率の向上を目指す。
     
     既存の検出手法

          
既存の検出手法としては、単純パターンマッチングと正規表現によるパターンマッチングが挙げられる。
          これはウィルスを特徴付けるシグネチャとパターンマッチングを行うことによって感染プログラムかどうかを
          判断するという手法である。しかしながら未知ウィルスや変形型ウィルスには効果がなく、既知ウィル
          スに対してのみ効力を発揮する。
           
            既存検出手法として挙げられるものとして、ヒューリスティック手法というものがある。これは感染後の
          ビヘイビア(振る舞い)などの組み合わせを調べることによって、そのプログラムがウィルスかどうか推測し
          異常検知する手法であるが、誤警報・誤検出が多い。なぜならば、例えば、ファイルをオープンして書
          き込むといった処理は、ウィルスでないプログラムも行うため、正常なプログラムをウィルスであると判断
          してしまう可能性もある(誤検出)。また逆にウィルスであるプログラムをウィルスであると判断できないと
          いった可能性もありうる(見逃し)。こういったことは、ウィルススキャンに組み込まれているデバッガの性
          能の問題であるため、このデバッガの精度を向上させることによって検出率が高まるであろうと考えら
          れる。

     メタモーフィックウィルス

           メタモーフィックウィルスとは、多形態型ウィルスといって、感染するたびに姿を変化させていくといった
          特徴を持つウィルスである。そのため特定のシグネチャが存在せず、ウィルススキャンからの検出を間
          逃れるといったことが可能なのである。主な特徴的な挙動としては、1:ウィルスの本体をいくつかに分
          割して、そのブロックの順番をジャンプ命令などで入れ替える(Reordering Instruction)・2:ある機能
          を実現するコード中の命令を複数の命令で実現できるようにする・3:実行しても意味がない冗長的
          なコードを挿入する。こうした複雑な挙動を示すことによって、検出が非常に困難になるとともに、今
          後の脅威となる可能性が考えられる。

      多形態型ウィルスの特性

          ・Entry Point関数の書き換え(ヘッダ部分)
          ・特定のAPIをフック
          ・DLL Injection
          ・冗長的なコードを挟み込む

     多形態化技術
           
            暗号化技術の進化したもので、複号ルーチンと感染時の暗号化ルーチンを乱数によっ て自動生
           成するポリモーフィックエンジン(TPE:TridenT Polymorphic Engine)やミューテーション(多形態化)エ
           ンジン(MtE:Mutation Engine) などが挙げられる。

     SMEG:Simulated Metamorphic Encryption Generator

             実行するとランダムに複数のパターンの 多形態化エンジンを生成する。  
           生成されたエンジンの中にはウィルスス キャンに検知されないものも存在する。


      解析手法
           
           既存検出手法で検出できないパターンについて、 十分な解析を施す必要性がある。

         ・ジェネレータが生成する多数の多形態化・暗号化エンジンを逆アセンブルして、
           暗号化・複合化ルーチンをトレースする。

           ・ウィルススキャンに検知されないパターンを洗い出す。

         MicrosoftC++に付属されているCode Viewerを用いて、SMEGからランダムに生成され
         る暗号化エンジンの解析を行った。

      予想される効果
          
          
改善点としては、検出精度が向上することによって誤検出が軽減し、解析を強化することによって
          検出困難なウィルスの形態が分かるため、誤警報の軽減が予想される。問題点としては、解析を強
          化する分システム全体が重くなってしまうということが考えられる。

      春学期の活動

           今期は特にサーベイを中心に行った。検出対象をWindowsにおけるメタモーフィックウィルスに焦点を
          当てているので、Windowsにおけるファイル構造(PEフォーマット)の調査、また基礎情報理論の勉強
          、環境の構築、デバッガによる解析、サンプル収集、マシン語の勉強などを行った。今後の本格的な
          研究に入る前に必要な基本的な勉強を行った。

      秋学期の活動

            今期は特にMetamorphic VirusやPolymorphic Virusの核となる、暗号ルーチンの解析などを行った。
           Code Viewerを用いて、SMEGからランダムに生成される暗号化エンジンの解析を行った。
      
       今後の研究計画

           
解析対象とするウィルスを絞り、より有効な検出手法を考案し、実装する。コンパイラやOSの深い理解が
             必要とされるので、こうした勉強も並行して行いながら研究を進めて行きたい。            

      成果報告

           プロジェクト(NovelComputing)において発表したプレゼン資料を示しておく。

            セキュリティに特化したデバッガを用いたメタモーフィックコーディングの解析と検出 1
            セキュリティに特化したデバッガを用いたメタモーフィックコーディングの解析と検出 2
            セキュリティに特化したデバッガを用いたメタモーフィックコーディングの解析と検出 3
            Metamophic Encryption エンジンの解析
            Encryption/Decryption エンジンの解析