パッチからの攻撃プログラム自動生成に成功 32
ストーリー by nabeshin
RFC 3751 全知プロトコルはいかが? 部門より
RFC 3751 全知プロトコルはいかが? 部門より
Yoh2 曰く、
セキュリティ組織サンズ・インスティチュートは、米国の研究者らが修正パッチから攻撃プログラムを自動的に生成する手法を発表したと報じた(サンズ・インスティチュートの記事、ITproの記事)この手法はバークレー大学、ピッツバーグ大学、カーネギーメロン大学の研究者らの共同研究の成果であり、マイクロソフトが過去に公開した5種類のパッチから、わずか数分で攻撃プログラムを作成することに成功したという。修正パッチを解析して、そのパッチが修正する脆弱性を攻撃するプログラムを作成するのは攻撃者の常套手段だが、今回の発表によって、パッチ発表から攻撃プログラム出現までの期間が短縮される可能性が示唆された形となる。
ところで、研究者らは、攻撃者がパッチを入手しにくいように「安全に配布」することを解決策として提案しているが、攻撃者も正規ユーザーとしてパッチを入手できる以上無意味であるという突っ込みが入っている。元記事では、解決策はそれほど多くはなく、脅威に対してできるだけ素早く対応することが必須であるとまとめられている。当たり前の対策ではあるが、セキュリティに対する情報を積極的に収集することの重要さを再認識させられる。
そろそろ (スコア:2, おもしろおかしい)
やめて (スコア:2, おもしろおかしい)
Re:やめて (スコア:1, すばらしい洞察)
この方法は当然Macにも有効なんだし、そんな杜撰な感覚を良しとするユーザーが一定数いると宣伝している訳だから。
Re:やめて (スコア:2, おもしろおかしい)
the.ACount
Re: (スコア:0)
Windowsより先に陥落しているのが興味深いというか予想通りというか。
感染しないと声高らかに謳って狙われない筈はないですから順当でしょう。
乗っ取れるならどんなスクリプトでも送り込めますよね・・・
ワームのように数珠繋ぎになれば騒ぎになりますが、感染する絶対数が違いますので。
#いろいろとアレなのでAC
Re: (スコア:0)
2分じゃどう考えても無理。
その準備に費やした時間がわからないから、その記事から得られるものは少ない
Re: (スコア:0)
君が得られるかどうかは問題じゃないし、話の趣旨はそこじゃないでしょ。
無視すべきでないのは狙われている事実。それが得られれば十分。
Re: (スコア:0)
> 400名に及ぶ参加者のうち何人かは、Linux OSのバグを発見したが、
> コンテストに勝つために攻撃コードを書くのは、彼らの大半が嫌だと考えたそうだ。
「嫌だと考えた」理由が気になる...。
賞金の他にターゲットのノートパソコンもプレゼントされるということだったらしいので、
Mac環境の脆弱さはまったく否定しないけど、このコンテストをもって強弱をはかるのはどうかという気がする。
Re: (スコア:0)
どうやって? (スコア:1, すばらしい洞察)
前後のロードモジュールをディスアセンブルして、その違いを認識するのであれば大したものだと思う。
Re: (スコア:0)
であれば、それをやっているんでしょうね。
となれば対策は、バイナリを暗号化して修正内容を判らん様にするしか無いんじゃないかな。
システムからすれば無意味な負荷だけど、安全の為には仕方ないのかも。ってセキュリティ関連の話はほとんどそうか。
いいこと思いついた (スコア:1)
インストール毎にアプリケーションをランダムに改変して、
実行ファイルのバイナリイメージやファイル名を変えればよいんだよ。
全てのコンピュータでスタック上の変数の位置や実行番地が異なるから、
一つの感染コードで感染できるのは、手元にあるコンピュータだけ。
他のコンピュータに対する攻撃には使えなくなるんじゃない?
Re:いいこと思いついた (スコア:1)
Re:いいこと思いついた (スコア:1)
ファイルの種類とひもづいているアプリケーションを探せば良い。
> 全てのコンピュータでスタック上の変数の位置や実行番地が異なる
relocatable なプログラムにしておけば良い。
ていうか relocatable にしなくても多めにスタック破壊して
「これくらいいけばこの辺のnop実行してるだろ」っていうところの
最後辺りにプログラム置いてるんじゃなかったっけ?
脆弱性チェック (スコア:0)
リリース前の脆弱性チェックに利用出来るね、このツール。
Re: (スコア:0)
#生兵法は怪我のもとでっせ
Re: (スコア:0)
未知ウィルス作成。
この速さならいえる (スコア:0)
オープンソースはダメ? (スコア:0)
パッチ投入してからアップデート正式版リリースまで、けっこう時間かかってるよね。
この時間を無理に短縮しようとするなら、今でもエンバグ [impress.co.jp] とかあるのにどうなることやら。
マイクロソフトとかのリリース体制を知らずに書いているので、RC版の配布時期、配布範囲次第では 似たり寄ったりな状況なのかもしれませんが。
パッチ配布をやめればいい (スコア:0)
冗談のようだが既にそうしてるベンダーはあるぞ、VMwareとか。
Microsoftの市場シェアとP2P技術が組み合わされば、それくらいできないものか。
Re: (スコア:0, オフトピック)
適当に選んだ [microsoft.com]けど、どのパッチも置き換えるファイルを明記してるし、それはアーカイブ内のどのディレクトリかも説明してるし。
Re: (スコア:0)
あんたが言うのはオブジェクトファイル。わたしが言うのは分割したシステム。
人の事をとやかく言う前に調べてポストしてくれ。
てかもう黙れ。
Re:パッチ配布をやめればいい (スコア:1)
更新のなかったファイルがパッチに含まれていようがいなかろうが、diff見れば直ぐわかるから議論する意味ないよ。
少しは考えてポストしてくれ。
てかもう黙れ。
Re: (スコア:0)
それとも関連する付近全てをまったく別のものにしろと仰る?
# それはあまりにお馬鹿な対応だろう。
Re: (スコア:0)
「システム モジュール分割」でぐぐっといで。
かみ砕いて言うと、モジュール分割技法でシステムを分割するだろ。そしたら、分割したシステムをそれぞれモジュールと呼ぶんだ。
ついでに、OSはオペレーチング・システムの頭文字だからな。
OSのモジュール化はスラドでも話題になったくらいポピュラーな話題だから。
もう議論以前の問題だな。
分かったら一人で納得してろ。
Re:パッチ配布をやめればいい (スコア:1)
「一日たつのにまだ見つけられないのか。」パッケージシステムって言葉が出せないところがおめでたいね。
ファイル単位でバージョン管理できるWindowsと違って、Linux/ESXなどはファイルにバージョン情報が含まれないからパッケージバージョンで代用せざるを得ない事情を理解していないのか。
ともかく、#1338748 [slashdot.jp]は差分のないファイルを含めることによってACさんを篩い落とせるって主張ですね。画期的な提案ですね。これでMicrosoftも安泰だ。おめでとう。
Re:パッチ配布をやめればいい (スコア:1)
モジュールについて。
「(A) を (B) したものが (C)」の語順を「(C) は (B) した (A)」と換えただけ。
(A) = システム
(B) = (モジュール)分割
(C) = モジュール
だから、そちらの主張が何を否定しているのかよくわからない。
パッチの「難読化」「暗号化」「強力な保護」が適切かどうかについて。
難読化については、コード比較のツールが対応しないと予想されるため、今回のアプローチには有効だろう。問題は、入力範囲チェックに狙いを絞ったコード比較ツールを誰かが作成した時点で無力化されること。作成を防ぐことはおそらく難しい。よって条件付きで適切。
暗号化については、Windowsに暗号化したバイナリをロードする機能が現状ないので、ディスクに配置する時点で平文化しなければならない。よって不適切。
強力な保護については、詰まりOSのルートキット機能なので、実現しても受け入れられないだろう。よって不適切。
IDとACについて。
IDがあっても当然ACで書込み出来るし、使い分けを公言している人もいる。公衆端末からログインせずにACで書込むことだってありふれているだろう。当然知っている筈だ。
ACが匿名性で守られている以上、いくらIDで主張しても第三者から検証できないため、主張を信じるかは個人が判断するしかない。
今回の場合、仮にIDだけで書き込んでいるなら、発言を見る限り肝心の意見を自分の言葉で語っていないということになる。相手が自分に都合のいいAC発言だけを自分の意見にすり替えていると考えるよりは、ACで意見を水増ししていると考える方が蓋然性が高いと判断している。
VMwareについて。
Windows用VMware製品のアップデータでソフトウェア全体を配布している。
Linuxのパッケージシステムなんて方向性の間違った話をする必要はなかった。
Re: (スコア:0)
という事にしたいのですね?
>「システム モジュール分割」でぐぐっといで。
>モジュール分割技法でシステムを分割するだろ。そしたら、分割したシステムをそれぞれモジュールと呼ぶんだ。
いいや、システムをモジュール分割技法で分割したモジュールは飽くまで「あるシステムのモジュール」。
モジュール分割はその分割されたモジュールがシステムになるかどうかとは直交した概念だ。
それらを片っ端からシステムと呼ぶ事にしたら、Tsannの持ち出したオブジェクトファイルだって立派な「システム」になっちまうしな。
まあそもそも、あんたが「オブジェクトファイル」と「分割したシステム」の区別をちゃんと付けられるのか、どう区別しているのかも全くもって不明だが。
Re: (スコア:0)
>かみ砕いて言うと、モジュール分割技法でシステムを分割するだろ。そしたら、分割したシステムをそれぞれモジュールと呼ぶんだ。
Windowsは既にそうですよね。
で?
はっきり言えばモジュール化とかそんな上のレイヤーの話は関係ないんですよ。
修正前と修正後の2つのモジュールが手に入ればどこに差があるかは解る訳です。
で、その差を詳しく見れば対処されたコードやアルゴリズムが変わった事が解る訳です。
その情報を元に修正前の部分を見ながら攻略コードを考えればよいわけで。
要は攻略するヒントになるのを防ごうと思ったらその比較を防がない
では (スコア:0)
だから (スコア:0)
先見性の明あったんだなぁ。