アカウント名:
パスワード:
不謹慎承知でいうなら「いいアイデア」だと思った。
最初Delphi狙いのウイルスというと「メソッドポインタ用のコード書き換え部分を攻撃されたか?」とか思ったんだが、もっと素朴というか単純かつ的確で効果的な攻め方だった。
Delphiは殆どのEdition(大雑把にいえば無料版以外かな)にライブラリ「のソース」が添付している。そいつのひとつ…できるだけ根っこの部分の…を何らかの攻撃でもって書き換えてしまえば、今回のようなことが出来てしまうわけだね。
でさ。これって別にDelphiに限ったことではないよね。VisualStudioだろうがgccだろうが、同じ手法は原理的に成り立つし、Delphiなら
今回の問題は、・感染する各PCにライブラリソースが入っていることではなく、・ウィルス作成者がライブラリソースにアクセス可能なため、比較的容易に「トロイ入りのライブラリ」を作成できたという点でしょう。
感染方法として、・インストール済のソースを改変してからライブラリをビルド・上書きするという点については、> 記攻撃手法にちょっと一手間くわえて「書き換えコードをLIBにコンパイルするときのオプションをランダム化」してみろというところまでやってしまえば、凄い大きな意味がありますが、現状では、ライブラリのバイナリに直接感染(差し替え)するプログラムでも、結果は同じです。
・コンパイラのバージョンごとに差し替え用ライブラリバイナリを用意しなくてもいい
という、ウィルス本体のコンパクト化に貢献しているぐらいじゃないでしょうか。
でも、ライブラリのソースがあると、デバッグ時にライブラリの中にまでトレースできるし、ライブラリの挙動については、下手なドキュメントを読むよりソースを見る方がわかりやすいことが多いし、ライブラリソースがあるというのは、凄い便利なんですけどね。
たまにライブラリのバグに対処するのに、自前でパッチ当ててライブラリを作りなおしたりするし。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
やられた>手法的に (スコア:0)
不謹慎承知でいうなら「いいアイデア」だと思った。
最初Delphi狙いのウイルスというと
「メソッドポインタ用のコード書き換え部分を攻撃されたか?」
とか思ったんだが、
もっと素朴というか単純かつ的確で効果的な攻め方だった。
Delphiは殆どのEdition(大雑把にいえば無料版以外かな)にライブラリ「のソース」が添付している。
そいつのひとつ…できるだけ根っこの部分の…を何らかの攻撃でもって書き換えてしまえば、今回のようなことが出来てしまうわけだね。
でさ。これって別にDelphiに限ったことではないよね。
VisualStudioだろうがgccだろうが、同じ手法は原理的に成り立つし、
Delphiなら
Re:やられた>手法的に (スコア:2, すばらしい洞察)
今回の問題は、
・感染する各PCにライブラリソースが入っていること
ではなく、
・ウィルス作成者がライブラリソースにアクセス可能なため、比較的容易に「トロイ入りのライブラリ」を作成できた
という点でしょう。
感染方法として、
・インストール済のソースを改変してからライブラリをビルド・上書きする
という点については、
> 記攻撃手法にちょっと一手間くわえて「書き換えコードをLIBにコンパイルするときのオプションをランダム化」してみろ
というところまでやってしまえば、凄い大きな意味がありますが、
現状では、ライブラリのバイナリに直接感染(差し替え)するプログラムでも、結果は同じです。
・コンパイラのバージョンごとに差し替え用ライブラリバイナリを用意しなくてもいい
という、ウィルス本体のコンパクト化に貢献しているぐらいじゃないでしょうか。
でも、ライブラリのソースがあると、デバッグ時にライブラリの中にまでトレースできるし、
ライブラリの挙動については、下手なドキュメントを読むよりソースを見る方がわかりやすいことが多いし、
ライブラリソースがあるというのは、凄い便利なんですけどね。
たまにライブラリのバグに対処するのに、自前でパッチ当ててライブラリを作りなおしたりするし。