Windows PEファイル感染及び発見的手法による検知 Nicolas BRULEZ / Digital River

Slides:



Advertisements
Similar presentations
G ゼミ 2010/5/14 渡辺健人. パフォーマンスの測定 CUDA Visual Profiler CUDA の SDK に標準でついているパフォーマン ス測定用のツール 使い方: exe ファイルのパスと作業ディレクトリ指定して実 行するだけ 注意点 : GPU のコード実行後にプログラム終了前に,
Advertisements

九州工業大学 塩田裕司 光来健一.  仮想マシンは必要なときだけ動かす使い方が一般 的 ◦ 一台の計算機上に複数の計算機を仮想的に作成できる ◦ デスクトップ  異なる OS を使用するため作成 ◦ サーバ  最大負荷に合わせた数の仮想マシンを作成  長期間使わない仮想マシンも存在する VM.
第 7 章 ネットワークセキュリティ 大久保 恭太. 7.3 ネットワークスキャン 攻撃者はネットワークを攻撃するにあたって 、 攻撃対象のネットワークの 様々な情報を取得していく 。 ・ドメイン情報の取得 ・ホストに関する情報の取得 ・パスワードの奪取.
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
1 PC の情報を得る - 「システム情報」 ①「スタート」 → 「すべてのプログラム」 → 「アクセサリ」 → 「システム ツール」 → 「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
プログラムNo.:論文タイトル(必ず書いてください)
Windows XP ウィルス対策手順 1 感染の確認 感染している場合→2へ 感染していない場合→3へ 2 ウィルスの駆除
・ω・.
TeX で数式を書くための PowerPoint アドイン Ver (2011/06/26) Ver. 0.1 (2007/5/30)
SDOPxls2xml操作説明書 version1.0
PROCESS 14:一般情報(2) InstallShieldLecture
ファイルキャッシュを考慮したディスク監視のオフロード
文字列検出ツール "istrings" の使い方
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
技術トピックス 2014/10.
コンピュータウィルスと脆弱性 メディアコミュニケーション論Ⅲ 7/18/08.
情報処理演習C2 ファイル操作について (2).
Linux リテラシ 2006 第2回 基本コマンド2.
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
講師 宮川 翼 (情報処理センター テックサポーター)
ネット時代のセキュリティ2(脅威の例) 2SK 情報機器工学.
ネットワーク検知技術の最適化への ハイブリッド・アプローチ
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
MSBuild 色々出来るよ 2011/04/02 お だ.
プログラミング論 II 電卓,逆ポーランド記法電卓
ネストした仮想化を用いた VMの安全な帯域外リモート管理
初年次セミナー 第2回 文字の出力.
川口真司 松下誠 井上克郎 大阪大学大学院情報科学研究科
卒業論文に向けて(5) 学部4年生 島本 大輔 2004年12月14日.
Windows 2000 拡張カーネルの技術紹介 2018年6月10日 黒翼猫.
DNSトラフィックに着目したボット検出手法の検討
ウイルスについて I98N044 久野耕介 I98N114 藤田和久
コードクローンに含まれるメソッド呼び出しの 変更度合の分析
パケットキャプチャーから感染種類を判定する発見的手法について
Microsoft MVP for Development Tools – Visual C++
Cプログラミング演習 第7回 メモリ内でのデータの配置.
プログラミング言語入門.
Microsoft MVP for Development Tools – Visual C++
実行時情報に基づく OSカーネルのコンフィグ最小化
TA 高田正法 B10 CPUを作る 3日目 SPIMの改造 TA 高田正法
3-3.テーブルを更新する 2004年 4月22日(木) 01T6074X 茂木啓悟.
ゲーム開発モデルの基礎.
コンパイラ資料 実行時環境.
卒業論文に向けて(2) 学部4年生 島本 大輔 2004年10月29日.
Microsoft MVP for Development Tools – Visual C++
暗号技術 ~暗号技術の基本原理~ (1週目) 情報工学科  04A1004 石川 真悟.
C言語 はじめに 2016年 吉田研究室.
JAVAバイトコードにおける データ依存解析手法の提案と実装
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
高度プログラミング演習 (01).
プログラミング演習I 2003年7月2日(第11回) 木村巌.
2004 Fall. Term Report Immune Project
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
プログラムが実行されるまで 2002年4月14日 海谷 治彦.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
ここにタイトルを入力 ここにサブタイトルを入力 草原 (初級)
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
第11回放送授業.
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
統合開発環境のための プログラミング言語拡張 フレームワーク
卒業論文に向けて(3) 学部4年生 島本 大輔 2004年11月11日.
情報処理Ⅱ 2007年12月3日(月) その1.
データの改竄を防ぐ仕組み 2002/9/12 牧之内研究室「インターネット実習」Webページ
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
Presentation transcript:

Windows PEファイル感染及び発見的手法による検知 Nicolas BRULEZ / Digital River PACSEC '04

はじめに

コンピュータ ウイルスの進化 非暗号化 暗号化 少形( Oligomorphic ) 多様型( Polymorphic ) 変形型( Metamorphic )

PE ファイル形式 MZ ヘッダ PE ヘッダ PE ファイル ヘッダ PE オプショナル ヘッダ データ ディレクトリ セクション ヘッダ

位置独立コード ウイルスはどのメモリアドレスでも実行可能であること が要求される デルタ オフセットの計算

Windows PE ファイル 感染テクニック

ウイルスの位置 最後のセクション: - 新しいセクション BEFORE : AFTER :

ウイルスの位置 最後のセクション: - 新しいセクション

ウイルスの位置 最後のセクション: - 最後のセクションの拡張 BEFORE : AFTER :

ウイルスの位置 最後のセクション: - 最後のセクションの拡張

ウイルスの位置 ヘッダ感染

ウイルスの位置 キャビティ BEFORE : AFTER :

実行開始位置 最後のセクション内

実行開始位置 最初のセクション内

実行開始位置 最初のセクションの前

e_lfanew 感染 e_lfanewはPEヘッダ オフセットのポインタである MZヘッダ内のMZ+3Chにある ウイルスはファイルの末尾にコピーされるが、独立した位置コー ドは不要である

e_lfanew 感染 プログラムが改変されることにより、そのe_lfanewはウイルスの PEヘッダにポイントする そのためWindowsは感染したファイルではなく、ウイルスをロー ドする そしてウイルスは感染したプログラムの一時的なコピーを作成 し、 PEヘッダへの元のポインタを修正する 最後にウイルスは例えばCreateProcessAを用いて一時ファイル を実行し、終了後、一時ファイルを削除する

Windows PEファイルにおける発見的手法による検知

PE ファイルの構造解析 発見的手法による検知は主にWindows実行可能プログラムの PEファイルの構造解析に基づく エントリポイント セクションの特性 (固有の特性をもつ)セクションの名前 PEヘッダ内で更新されない値 ファイル内のPEヘッダの位置 など

PE ファイルの構造解析 最後のセクション内のエントリポイント 最初のセクションの前のエントリポイント

PE ファイルの構造解析 セクションの特性 : セクション名およびその特性 - 最後のセクション « 実行可能 » - 最後のセクション « 実行可能 » - 最初のセクション « 書き込み可能 » セクション名およびその特性

PE ファイルの構造解析 «SizeOfImage» PEヘッダ内で正しくない ファイルの終わり近くのPEヘッダ « コードサイズ » 正しくない

コード解析 エントリ ポイントにおける非標準命令 デルタ オフセットの計算 疑わしいコードの出力先変更: - JUMP FAR - PUSH RET   その他..

コード解析 PEファイルを探しているコード システムDLLのイメージベースを取得するためのPEB使用

コード解析 - "*.exe" コード セクション内の疑わしい文字列 - Win関数の名前: FindFirstFileA, MapViewOfFile など.. - レジストリ キー : Run / RunOnce など

エミュレーション JMP FAR PUSH / RET + コード・フローの出力先変更のための多様な方法 ディクリプタ エミュレーション( ループの識別)

対発見的テクニック

PE 構造 セクションの特性の非改変 追加された1つ以上のセクション (偽装リロケーション/インポー ト) 疑わしいものを避けるために上書きするコードセクションの部分 ウイルスを配置するコードセクションのパッキングは開放された 場所 EPO: エントリポイントの隠蔽

PEの構造 FF15/FF25 (IATスロットと呼ぶ) パッチ スタック フレーム パッチ 最新のチェックサム 既存のセクション名の変更(可能な場合) « コードサイズ » 固定

アンチ エミュレーション SEH – 構造化例外処理(Structured Exception Handling) コプロセッサ命令 MMX / SSE テクノロジ 隠し命令 アンチ仮想マシンコード 鍵をブルートフォースする暗号解読層 スレッド

アンチ ヒューリスティック(発見的) コード デルタ オフセットは異なる方法で計算される 疑わしい行為を隠すオブフスケーション(不明瞭化)の使用法 (PEファイルチェックなど) ウイルスローダに文字列はない: CRC / HASH

基本的な発見的エンジンについて

基本エンジン 標準バイナリ : notepad, regedit, calc, MS Pain, WordPad など…

基本エンジン

基本エンジン

基本エンジン

基本エンジン 感染したバイナリの解析 : 多様型、暗号化、標準、 EPO など

基本エンジン

基本エンジン

基本エンジン

基本エンジン

基本エンジン

基本エンジン

ベーシック・エンジンのプレゼンテーション

基本エンジン

基本エンジン 注: これは基本エンジンにも関わらず、 最新のWin32ウイルスジェ ネレータ(Win32 Virus Generator)(VCL32)で作成された 全てのウイルスを発見的に検知した

基本エンジン パックされたファイルの解析: PE protect、 PEShield など …

基本エンジン

基本エンジン

基本エンジン

ディスアセンブリの実演

実演 新種のウイルス及びパックされたPE によって感染した新種のワーム 実在のウイルスのディスアセンブリの実演 このウイルスはごく最近出現したものであり、本講演資料が作成された 時点で、このウィルスを検出したアンチウイルス ベンダはほとんど いない

結論

Nicolas BRULEZ / Digital River ご質問 Nicolas BRULEZ / Digital River PACSEC '04