第06回BasicSecCap阪大(Pythonによるマルウェア解析)のTweetまとめ

2017年6月5日の阪大BasicSecCapの講義のまとめです。講師はトレンドマイクロの新井さんです。
0

前半はPEファイルが実行されるまで、というテーマでPEファイルフォーマットの各ヘッダの概要について

PEfileの解析

pefileのヘッダ(TimeDateStampとか)でプロファイリングをするというのは、改ざんされている場合もあるので参考にならない場合もある。

OptionalHeader
  • AddressOfEntryPointにはエントリポイントがあるが、その前に実行するマルウェアのテクニックも存在する
  • 最近はあまり見ない
AddressOfEntryPoint
  • これはOffset値
  • ImageBase+AddressOfEntryPointni
  • windows7以降にはASLRが実装されているため、ImageBaseが変更になるが、これがオフセットなのでプログラムは気にしなくてもいい
SectionHeader
  • ここにもCharacteristics
    • セクションの属性がフラグとして存在している
  • 暗号化、難読化されたmalwareはCharacteristicsがrwx全てにフラグがついていることが多い
    • それがどのようなセクションかをわかりにくくする、自己書き換え用プログラムもrwxのすべてのフラグが立ってる
リンク www.openrce.org OpenRCE OpenRCE: The Open Reverse Code Engineering Community 25 users 37
オタクたろう🌖 @__ukun

openrce.org/reference_libr… これとかもっと早めに知りたかったやつやん〜〜〜

2017-06-05 16:41:08

PE Format Poster.graffle
PEフォーマットをいい感じにまとめてくれてます

Pythonでpefileというライブラリを使ってハンズオンを行いました

オタクたろう🌖 @__ukun

pefile初めて使うけど結構有用だし参考になるな

2017-06-05 16:43:50
オタクたろう🌖 @__ukun

NTヘッダのCharacteristicsはそういえばチェックしてなかったな

2017-06-05 16:45:51
オタクたろう🌖 @__ukun

ASLRはImageBaseがランダムになるのか

2017-06-05 16:53:06

後半はマルウェア解析における基礎知識、注意すること、解析手法の課題や、実際に表層解析のハンズオンを行いました。

malwareの解析

  • APIからどのようなマルウェアか推測できる
  • APIの仕組みをちゃんと理解することが重要
動的解析、サンドボックスの課題
  • 現在はクラウド上で感染するものが多い為、仮想マシン上ではうまくいかないことも多い
  • C2サーバーからの指令なども見れない
作成者に注目する
  • リソース中の画像データを詳細に見ると、特定の国でのみ使用されている画像だった、など
仮想環境の課題
  • 抗解析機能の回避
検定の入手方法
  • ハニーポットを運用する
    • 低インタラクティブ(Cowrieとかのツール使用)
    • 高インタラクティブ
  • 感染マシンからも抽出できる
hash値の取得
  • hashlib
    • pythonのhash値算出ライブラリ
    • バッファの上限値が存在して、65536bytes
globってライブラリ
  • ディレクトリ中のファイルをまとめてリストにぶっこめる
  • 感染が疑わしいディレクトリをまとめてハッシュ値を算出できる
Virustotal
  • 次回はvirustotal apiを使ったマルウェアの表層解析自動化のハンズオン!!!
オタクたろう🌖 @__ukun

hashlibなんてライブラリあるのか〜

2017-06-05 17:35:12
オタクたろう🌖 @__ukun

virustotalってバイラストータルって読むのか

2017-06-05 17:37:36
オタクたろう🌖 @__ukun

ウイルストータルって読んでた

2017-06-05 17:37:43
オタクたろう🌖 @__ukun

次回:virustotalに検体投げる作業の自動化

2017-06-05 17:39:25
オタクたろう🌖 @__ukun

講義資料がないと話が繋がらなさそうで厳しいお気持ち

2017-06-05 18:25:21