TOPに戻る
▼Virus
Code REDウィルスとは?
┣ マイクロソフトの説明
┃ とIIS機能
┣ アプリケーションソフ
┃ トは機能の寄集め
┣ 呼出・復帰時に行わ
┃ れる事
┣ 復帰の場所を変え
┃ てみると・・
┣ 感染したCode R
┃ EDは何を行うか
┣ 異常データをサーバ
┃ ーのバッファに格納
┣ プロセッサの保護機
┃ 能
┣ ウィルスの場所を特
┃ 定する
┣ウィルスコードを実
┃ 行する
┣ CodeREDの正体1
┗ CodeREDの正体2
Copyright(C) 2001-2002.ugpop. All rights reserved.
■ Code REDの正体 Part2 ■
今回はCode REDの正体を明かす講座の第2回目です。
前回のウィルスコードを逆アセンブルにかけたものを紹介しま
す。
実はこのIIS機能のセキュリティホールは、eEye Digital
Security(サードアイデジタルセキュリティ)という会社により
発見されたものです。
この会社はセキュリティ関連のソフトを販売しているようです
が、ホームページ上で各種セキュリティホールの紹介も行って
います。
このホームページ上でCode REDの情報も入手出来、逆アセンブ
ルにかけた結果もダウンロード出来るようになっています。
(逆アセンブル結果は現在ダウンロードできないようです。)
(また、ウィルスが動作開始するまでの経緯は書かれていませ
ん。主にウィルスが動作開始した後の詳細情報が書かれてあり
ます。)
以下がeEye Digital Securityのホームページアドレスと各種
ダウンロードページのアドレスです。(全て英語)
eEye Digital Securityホーム
>>> http://www.eeye.com/
各種セキュリティホール紹介ページ
>>> http://www.eeye.com/html/Research/Advisories/index.html
Code RED解説ページ
>>> http://www.eeye.com/html/Research/Advisories/AL20010717.html
Code RED II解説ページ
>>> http://www.eeye.com/html/Research/Advisories/AL20010804.html
このメルマガは「初心者に分かり易く」というコンセプトが
ある為、アセンブリコードの解説は行いません。
アセンブリコードが多少でも分かる方は、初心者ではなく、
寧ろ高度な技術を持った方です。そういう方は自分でどんど
ん解析していって下さい。
高度な技術を持った方はこのメルマガでは見捨てます。^^;)
あくまで初心者の為の講座です。
と、偉そうな事を言っておいて、実は自分が分からないだけ
だったりして・・・。^^;)
Code REDウィルスに関する講座は今回で最後となりました。
この講座を通して一番言いたかった事があります。
実は前回の質問コーナーにあった事がすごく大切な事だった
のです。
特にプログラマーの方。
あるバッファの情報を別のバッファにコピーする時、そのバ
ッファがユーザーが入力するものだったり、インターネット
から送られてくるデータを格納する物である場合、必ず「長
さチェック」を行って下さい。
具体的に書くと分かりにくくなる&悪用する人が出てくる為、
今まで具体的に書く事は避けてきましたが、ここだけは具体
的に書かせてもらいます。
悪い例)
char a[10];
char b[20];
strcpy(a, b);
bという20個のバッファをaという10個しか入らないバ
ッファにコピーしています。
これだけでバッファオーバーフローが発生してしまいます。
このプログラムを実行するとプロセッサの保護機能が動作し、
強制終了されます。
この悪い例は次のように書き直すべきです。
良い例)
char a[10];
char b[20];
if (strlen(a) >= strlen(b)){
strcpy(a, b);
}
コピーを行う前に長さチェックを行っています。
たったこれだけでバッファオーバーフローは発生しなくなる
のです。ひいては、ウィルスに感染する可能性も非常に低く
なるのです。
さらに言うと、strcpy自体を使うべきではありません。
コピー処理を行う関数にはstrncpyという文字数を指定してコ
ピーしてくれる関数もあります。
こちらを使うように習慣付けるようにしましょう。
WINDOWSでプログラムを組む方は比較的初心者の方が多い為、
たったこれだけの事でも抜かしてしまう事が多いのです。
ユーザーが入力する、またはインターネットから送られてく
るデータの長さチェックを行うようにプログラムを作ってい
ない方。後でそのプログラムがウィルスに感染してしまった
ら、ウィルスの作成者と同じ位攻められるのは、他でもない
プログラムの作成者、あなたなのですよ。
参考文献:ハッカープログラミング大全
http://www.eeye.com/
←前へ戻る ▲このページの上へ