- ベストアンサー
PCセキュリティに詳しい方に質問
http://okwave.jp/qa/q8252364.html この質問なんですが。 >>不正に改ざんされたサイトにバックグラウンドで攻撃サイトに誘導するようにスクリプトが設置されます その改ざんしたページに直接ウイルスを置かず、別のサイトに誘導する理由は何ですか? >>本来の処理手順にはないジャンプが起きシュルコードとよばれるものが発動 ジャンプとは何ですか?またシェルコードとは具体的に何で、それが発動する理由は何でしょうか? URLを見てもわかりません。初心者向けにわかりやすく解説してください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 様々な形でマルウェアと業務で日々おつきあいしている者です。 > その改ざんしたページに直接ウイルスを置かず、別のサイトに誘導する理由は何ですか? 攻撃を多段化することによって対策しにくくすることが主な目的です。 このような攻撃を防ごうとする場合、ウイルスが置かれているサイトへのアクセスをチェックし、それを止めるのが基本になりますが、間に改ざんしたサイトを置くことで、本当にウイルスが置かれているサイトへのアクセスを隠すことができます。また、改ざんしたサイトは後からいくらでも量産できますし、ウイルスが置かれているところが1箇所であれば、新しいウイルスに入れ替えるのも簡単です。 入念に調べれば本当にウイルスが置かれているサイトを判別し、そこへのアクセスを止めることも可能ですが、何段階かに渡る連続的な誘導の中の”どこで”本当の攻撃が行われたかを判断するのは、意外と難しいのです。 > ジャンプとは何ですか?またシェルコードとは具体的に何で、それが発動する理由は何でしょうか? PC上でプログラムは、よく使われる機能を部品として持っています。例えば、何かを画面に表示したい場合、一から画面に表示するプログラムを書くのではなく、あらかじめ用意された部品に必要最低限の情報(表示する文字とか)を渡すだけで、画面に表示できるようになっています。 この例の場合、画面を表示するパーツに必要な情報を渡してその機能を呼び出した後は、呼び出し元に戻って次の処理に進むことになりますが、必要な情報の代わりに不正な情報を呼び出し時に渡すことで、戻ってくる場所を本来とは異なる別の場所に書き換えることができてしまう場合があります(= 本来の処理手順にはないジャンプ)。 この時、攻撃者があらかじめ送り込んだ"シェルコード"という非常に短いプログラムを戻り先として指定すると、そのシェルコードが次に実行されることになります。シェルコードが実行されると、管理者の権限で任意の操作ができる状態になります。 ちなみに、シェルコード自身も"任意のコマンドを実行できる機能を持つパーツ"を呼び出すプログラムなので、サイズは数行~十数行程度と、非常にコンパクトになっています(こっそり送り込むにはサイズ上の制限があるため)。 かなり端折っていますが、イメージ的にはこんな感じです。
その他の回答 (2)
- nkbox
- ベストアンサー率45% (16/35)
>可能なら、でいいんですが、検索結果のコピーペーストでなくて初心者向けのわかりやすい言葉で解説してください。 はい、ですからプログラムには一連の処理命令が書かれているわけですが、「アドレス○○○に移動」と書かれていたらそのアドレスに移動してそのアドレスにある命令が実効されるというわけです。 で、プログラムでは条件分岐といったこともよくあります。特定の条件を満たした場合はアドレス×××に移動、そうでない場合はアドレス△△△に移動といった感じです。
- nkbox
- ベストアンサー率45% (16/35)
>その改ざんしたページに直接ウイルスを置かず、別のサイトに誘導する理由は何ですか? はい、分散処理を踏ませることによって攻撃者の足がつかないようにするためです。脆弱性を利用した攻撃を行うサーバーと最終的なマルウェアが置かれているサーバーも別になってることが多いです。 >ジャンプとは何ですか?またシェルコードとは具体的に何で、それが発動する理由は何でしょうか? ジャンプというのはプログラムの逐次処理におけるとび先アドレスへの移動です。 シェルコードとは↓ http://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89 発動理由はバッファオーバーフローが発生するからです。
お礼
>>ジャンプというのはプログラムの逐次処理におけるとび先アドレスへの移動です。 可能なら、でいいんですが、検索結果のコピーペーストでなくて初心者向けのわかりやすい言葉で解説してください。
お礼
ありがとうございます