Upload
rashida-turan
View
62
Download
0
Embed Size (px)
DESCRIPTION
バッファオーバーフローアタックの実際と対策 ~ Firewall を通り越える攻撃ツール実演デモ~. Nissho Techno System Corporation 徳植 寛 [email protected]. コンピュータウィルス. マクロウィルス ワーム トロイの木馬. 実行しなければただのデータ! 悪さをするプログラムをどうやってターゲットの コンピュータに実行させるかが肝. プログラムのメモリ配置. 0 x00000000. char gbuf1[] = {0x0, 0x1}; char gbuf2[2]; - PowerPoint PPT Presentation
Citation preview
バッファオーバーフローアバッファオーバーフローアタックの実際と対策タックの実際と対策
~~ FirewallFirewall を通り越える攻撃ツール実演デモ~を通り越える攻撃ツール実演デモ~
Nissho Techno System Corporation
コンピュータウィルスコンピュータウィルス
マクロウィルス ワーム トロイの木馬
実行しなければただのデータ!悪さをするプログラムをどうやってターゲットのコンピュータに実行させるかが肝
プログラムのメモリ配置プログラムのメモリ配置char gbuf1[] = {0x0, 0x1};char gbuf2[2];
void func(int a, int b, int c){ char lbuf1[] = {0x2, 0x3}; char lbuf2[10];
lbuf1[0] = 'a'; lbuf2[0] = 'b';}
void main(){ func(1, 2, 3);}
テキスト領域マシンコード、読取専用
データ領域初期化済みデータ領域
BSS 領域未初期化のデータ領域
heap 領域malloc 等で確保する領域
スタック領域auto 変数、関数の引数、 ret アドレス等
0x00000000
0xffffffff
スタックの中身スタックの中身func(1, 2, 3);
↓main:push $0x3push $0x2push $0x1call 0x8048398 <func>
func:push %ebpmov %esp,%ebpsubl $0x18,%esp~~~leaveret
lbuf2
lbuf1
sfp (0xbffffd28)
ret (0x080483c6)
1
2
3
main() の Stack Frame
0xbffffd04
0xbffffd10
0xbffffd14
0xbffffd18
0xbffffd1c
0xbffffd20
0xbffffd24
0xbffffd28
←esp
←ebp
スタック破壊サンプルスタック破壊サンプル
リターンアドレスを auto 変数の所に書き換えられたら ?
auto 変数に /bin/sh を実行するマシンコードがコピーされてたら ?
super user 権限で実行するプログラムだったら ?
でも、 telnet 出来ないマシンにそんな事出来るの !?
クラッキング実演クラッキング実演
クラックするにはアセンブラの知識も必要だけど
ウィルスといっしょで誰でもクラック出来るツールが出回るし
FireWall が有っても防げないなんてどうすれば良いの ?
バッファオーバーフロー対策バッファオーバーフロー対策
パッチの適用当てたら当てたで色々有るけど
不要なサービスの禁止メモリの節約にもなるし
Firewall の設置入ってくるのだけじゃなく出るのもね
IDS の導入取り敢えず snort とか
参考参考 クラシック : 趣味と実益のスタック破壊
http://linux.ascii24.com/linux/linuxcom/2000/06/13/465216-000.html
アセンブラ入門講座http://paran0ia.virtualave.net/documents/asm.html
gdb-4.18 日本語 texinfo from gnujdochttp://www.swlab.csce.kyushu-u.ac.jp/man/gdb-4.18/gdb-ja_toc.html
Snort の導入http://jem.serveftp.com/
最後に最後に
クラッキングはいけないと思います !By まほろ