OSに依存しない、Intelチップの構造的欠陥を利用した攻撃 40
ストーリー by hylom
詳細不明 部門より
詳細不明 部門より
あるAnonymous Coward 曰く、
Intelチップの構造的欠陥を利用してローカル攻撃やリモート攻撃が可能であることを実演する講演が、今年10月にクアラルンプールで開催されるHITB(Hack In The Box)カンファレンスで行われるそうだ(Computer Worldの記事)。
JavaScriptやTCP/IPパケット攻撃、Javaなどを利用してこの脆弱性を突くことが可能で、講演ではJavaのよくある命令シーケンスを使ってJava Compilerを乗っ取るというデモも予定されている。この攻撃はOSにほとんど依存せず、デモはきちんとパッチがあてられたWindows XP、Vista、Windows Server 2003、Windows Server 2008、Linux及びBSDに対して行われるとのこと。なお、デモには含まれていないが、MacのIntelチップにも同様の脆弱性が存在する可能性があるとのこと(本家/.・講演概要)。
この講演を行うKris Kaspersky氏は、CPUの構造的欠陥をターゲットとしたマルウェアは既に開発されており、このようなエラッタがネットを通じた悪質な攻撃に利用されるのは時間の問題であるとしている。
脆弱性の内容はまだ公開されていないようだが、特定の命令シーケンスを実行させると想定外の挙動を示す、といったものなのだろうか?
本家の反応 (スコア:5, 興味深い)
仮想メモリの扱いに不備があればページ保護やセグメント保護が破られることはあだろうけど、侵入コードを書くとなったら難しいから、そこんとこを上手くやる工夫があるんじゃね [slashdot.org]とか、BIOSアップデートなんかでmicrocodeもアップデートできるよ [slashdot.org]とか、microcodeだけで解決しない問題もあるよ [slashdot.org]とか、CPUが仮想化されてる場合もあるから結局OS関係あるんじゃね [slashdot.org]とか、そんな感じの反響みたいです。
# そんだけなのでACで。
注意 (スコア:3, 参考になる)
Re:注意 (スコア:1, おもしろおかしい)
# 嘘
Re:注意 (スコア:2, おもしろおかしい)
# ごめん。
Re: (スコア:0)
# もうくだらないことはすべてACで
javascriptでローカル攻撃 (スコア:3, おもしろおかしい)
※悪用厳禁!!(w (スコア:1)
----
for(;;){
window.alert("m9(^Д^)やーい田舎モン!!");
}
----
Re: (スコア:0)
ローカル攻撃とは (スコア:1, すばらしい洞察)
# 「だれがうまいこと言えと」「いや、これが親コメの趣旨だから」
## 都市に住むにも田舎に住むにも、それぞれ同じくらいずつメリットやリスクがあるもんですよ。
Re: (スコア:0)
どんな本だか忘れたけど。
なので、田舎に住んでいることとイナカモンであることとは別の事みたいです。
Re:javascriptでローカル攻撃 (スコア:1, 参考になる)
# 「ローカル = 田舎」の誤解のもとは国鉄にあると思うので AC
Re: (スコア:0)
旧国鉄の「ローカル線」というのは、仰ってるような、地域に限局した路線という意味だったと思いますよ。
いわゆる大都市同士を結ぶ幹線とは違うっていうことで。
Re: (スコア:0)
バーチャルが「仮想」になったり
デフォルトが「基本」になったり
ダイエットが「減量」になったり
まあ要するによくある話です。
Re: (スコア:0)
Re: (スコア:0)
エラッタ多いですね…。 (スコア:2, 参考になる)
AMDのエラッタはどれくらいなんでしょう。TLBのエラッタは結構な大騒ぎになったみたいですけど。
Re:エラッタ多いですね…。 (スコア:1, 参考になる)
各CPUのリビジョンガイドをご覧下さい。
例えば、Phenom/Opteron(K10)だと、ここ。(敢えてリンクはしない)
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/41322.pdf
想像しかできませんが (スコア:1)
・チップセットで回避できないのか
・IA32、IA64に共通の問題か
・コア数に依存しないのか
・NetBurstやCoreとかのアーキテクチャに依存しないのか
詳しく知りたいのはこのくらい?
Re:想像しかできませんが (スコア:4, 参考になる)
・BIOSで回避できるか
Y(Pen2以降Microcode読み込みで回避可能です。BIOS以外にCPUドライバや仮想化等で対策可能。
ただしサポート終了等で最新のエラッタ回避のMicrocodeが入ってないと実質的には回避不能。)
・チップセットで回避できないのか
N(CPUエラッタなのでチップセットはあまり関係ない。特定の組み合わせで起きるなら別ですが。)
・IA32、IA64に共通の問題か
Y&N(IA64のみのエラッタならIA32なら無関係等その悪用したいエラッタ依存です。)
・コア数に依存しないのか
Y(コア数が違うとエラッタが消える場合は依存しますが。)
・NetBurstやCoreとかのアーキテクチャに依存しないのか
N(アーキテクチャどころかリビジョン依存で環境依存は高いです、ただし数も膨大ですが。)
詳しいわけじゃないので間違ってる部分もあるかもしれないですが、上記の通りかと。
現実的には結構難しいかもしれませんが、バイナリコードを直接動かせる一般ユーザーが権限からの昇格を狙うなら結構危険かも。
まずはバイナリコード、次にJITといった中間コード系統、最後にスクリプトでしょうか?
# そのうち、一般ユーザーではJITやVM経由でしかプログラムを実行できなくなるのであった。
# もしかして、UACの一歩先はこうなのかしら?.NET以外のアプリケーションを動かす前に警告が出るようにとか。
YとかNとか (スコア:1)
>・チップセットで回避できないのか
>N(CPUエラッタなのでチップセットはあまり関係ない。特定の組み合わせで起きるなら別ですが。)
この場合「回避できません」ということで正しく「No」なのですが、
>・コア数に依存しないのか
>Y(コア数が違うとエラッタが消える場合は依存しますが。)
こちらの場合は「(原則的に)依存しません」なので「No」ですよね?
>・NetBurstやCoreとかのアーキテクチャに依存しないのか
>N(アーキテクチャどころかリビジョン依存で環境依存は高いです、ただし数も膨大ですが。)
こちらも「依存します」なので「Yes」ですよね?
Re: (スコア:0)
Pentium Pro以降です。あと、対応できるのはマイクロコードで回避可能な固定回路で組まれていない部分の不具合と、それを呼び出すマイクロコードのパッチによって対応な問題のみです。全て、何でも対応できるわけではありません。よって、YともNとも言い切れないと思います。
Re: (スコア:0)
Re: (スコア:0)
CPUバグはいっぱいあるよ。
CPUバグがふさがってないとTCPパケットをたくさん送られるだけで危険だよ。
でもBIOSとかがきちんとバグをつぶしてくれてる保証はないし、Intelはバグがfixされてるかチェックするツールとか提供してない。
アタックのデモするよ。OSのパッチは最新だよ。BIOSは古いけど。
以前Theo君が警告してしましたが (スコア:0)
Re: (スコア:0)
#っていうか、そんなタイミングでマイクロコード書き換えが出来ると思ってなかったから、あのパッチには別の意味で驚いた記憶が
単なるJava JITコンパイラのバグの話では? (スコア:0, 興味深い)
Re:単なるJava JITコンパイラのバグの話では? (スコア:1, 参考になる)
最終的に動かしたいパターンのアセンブリコードが生成できるならなんでもOK(それこそJavaScriptやTCPスタックとかでも)なんです。
例えばPentiumのF00Fバグとか。
もしも対処が必要となった場合、その特定命令が実行されないようにするルーチン追加が必要になりますが、影響範囲が広いですし、速度低下やテスト工数が爆発する気がします。
# 速度低下の例で行くと同じくPentiumのFDIVバグとか
ただし、現在のCPUはマイクロコードによってBIOS/CPUドライバレベルで対処が可能ですし、
OSはマルチタスクが基本ですから、スイッチされたりして任意のパターンになる可能性が高いとはお世辞にも言えないかと。
ですが、注意はやはり必要だとは思いますす。
今後特定エラッタの脆弱性を突くようなバイトコードを各JIT向けに自動生成できる様になったら恐ろしいです。
# JITを使うのは最終的に多種多様なアセンブリコードが作成&結果が推測可能で、サンドボックス縛りがなければ同じバイトコードで多プラットフォーム対応できる点としても便利なのかなぁ?
Re: (スコア:0)
たまたま都合がよいバイナリなのでしょう.
いつも思うんですが (スコア:0)
#↑↑↓↓←→←→BA、みたいな
Re:いつも思うんですが (スコア:3, おもしろおかしい)
ということは、バージョンアップ後にバカの一つ覚えのように同じ脆弱性を突くと、
逆にこっちが自爆するような痛い目に会うということですね?
Re:いつもオフトピなんですが (スコア:1)
L/Rキーに左右の部分が割り当てられていて、古いコマンドだと成功したように見せ
かけて自爆するっていう、アレですね?(説明なげーよ)
#ゼビウスの9229とかテラナツカシス。
Re:いつも思うんですが (スコア:1)
もはや隠しコマンドの代表パターンw
Core死亡wwww (スコア:0)
あなたはどぉれ?(-5,やめなさいってば) (スコア:0)
Re:あなたはどぉれ?(-5,やめなさいってば) (スコア:1, おもしろおかしい)
intelにあるバグがきちんと再現できない互換CPUなんて
完全互換じゃないじゃないか!
っていう派。
# 昔聞いた覚えがあるなぁ
Re:あなたはどぉれ?(-5,やめなさいってば) (スコア:1)
Re: (スコア:0)
Re: (スコア:0)
「intelでこんなこともあろうかと」と空目して「意味が分からん」と思ってしまったorz
チップいわれても… (スコア:0)
プロセッサの事?
NICの事?