Oliverによる
2004年07月31日 4時16分の掲載
いかなる入力も信用できない部門より。
いかなる入力も信用できない部門より。
coco-natade 曰く、 "今日は午前様の私、就寝前にちょっとWebを覗いてみて驚いた。「窓の杜」の記事。多くの解凍ソフトに、指定外の場所へファイルが解凍される脆弱性(というより「危険性」か?)の存在を、窓の杜編集部が確認。具体的には、特殊な方法で作成された書庫ファイルを解凍すると、ユーザー指定のフォルダのあるドライブの別フォルダにファイルが展開されてしまうとい。 使い方によっては、スタートアップフォルダにウイルスやスパイウェアを送り込んでおくことも可能。現在の対処法は、この脆弱性を修正した「Lhasa(v0.18)」などで解凍するか、次善の策として重要度の低いドライブの任意フォルダを解凍先に指定すること。"
この議論は賞味期限が過ぎたので、保存されている。
新たにコメントを書くことはできない。
関連記事 (スコア:2, 参考になる)
また、各種アプリの対応状況は圧縮ファイル解凍の脆弱性 [matcha139.org]よりどうぞ。
distinguish full Path names (スコア:1, 興味深い)
解凍する時に中身なんて確認せずに解凍して、
普通の相対パス指定のファイル群の中に1ファイルだけスタートアップへの絶対指定を紛れ込ませておいても気づかないんじゃないでしょうか?
逆にpオプションがセキュリティホールにならないなら、
相対指定でおかしなパスが指定されていても、解凍時にちゃんと
中身の一覧を確認してる人なら気づくので、今回の件も
セキュリティホールにはならないと思うのですが。
悪意のある人がそんなことするか? (スコア:1)
>圧縮ファイルを解凍すると
悪意のある人ならそんな面倒なことしないで、
実行ファイルに仕掛けを施すと思うのですが。
つまるところ (スコア:1)
IDENTIFICATION DIVISION.
AUTHOR YUKI-KUN.
再現せず、というのはどういう意味? (スコア:1)
//窓の杜のリストの中ではWinRARとLhasaしか使ったことないや。
相対パスや絶対パスを実際に使ってる人が困る (スコア:1, 興味深い)
ファイルを解凍できなくなったり、絶対パスでの解凍が出来なくなったりしたら元々そういった機能を便利に使っていた人が困るんじゃないかな。
一番最初に脆弱性とか煽って無理に対策させた人の顔が見てみたいな。
同じ使用者の意図しない方法でも… (スコア:1)
これあげると適当な動画とかソフトとかをセットにパッチ当てプログラムを仕込んでみるとかどでしょ?
再起動したらパッチが当たって、
パッチと起動バッチを終了時に消すようにすればOK
でも、パッチ当てるウイルスもだめだからなぁ…
天琉陳(Teruching)
Re:お手軽物に集中? (スコア:2, 興味深い)
ですので、ARJやRARな書庫を扱わないとしても、解凍しようと考えた時には結局のところ解凍ソフトを拾ってくるので、使わない解凍機能を削除しておいても結果は同じでしょう。
まぁ、削除しておかないことによって、穴が残っているバージョンを使ってしまう可能性が高くなることを考えると、削除しておいたほうがいいかもね…とは言えますが…。
それ以外の点では一緒じゃないかと。
親コメント
10月発売のハッカージャパンでも、 (スコア:1)
#さすがに8月売りの号には、もう間に合わないと思うが。
/* Kachou Utumi
I'm Not Rich... */
親コメント
Re:窓の杜の情報元は (スコア:5, 参考になる)
何もかも脆弱性の一言で片付けてしまうと、本当の危険が隠れてしまいそうな気がするので、こういう情報を流す人は、危険度のランク付けをして、出来れば言葉も変えてほしいなぁと思いますね。
そもそも問題とされていることは、かなり以前から directory traversal問題として議論されたことですね。なんで今更、と言う感がぬぐえないです。
特に窓の杜の記事は、まるで自分たちが「発見」したみたいな書き方で非常に不愉快ですね。
厳密な言い方をするなら、脆弱性ではなく、仕様範囲内であっても使用者の意図と異なることが起こりうることをどう捉えるか、と言う問題ですね。
絶対パスや ..\ なパスが格納されていた場合に、解凍者が指定したパスとは異なる場所に解凍されたとしても、それは本来、書庫作成者が意図したことであり、ソフトも意図どおりに解凍してるわけです。
いわゆる脆弱性は、バグによる意図しない動作が、たまたま危険な動作を起こしうると言う点にあるとすれば、directory traversal問題はバグとは全く関係ないわけで、同じ脆弱性と言う言葉で片付けるのは違和感ありますね。
それより、そこまで言うなら、世のインストーラや自己解凍書庫はどうなんだって言いたい人も多いはず。
だからと言って全く問題ないと言うのではありません。
directory traversal問題はあちこちで議論され、一応結論は出てると思うんですね。
解凍者が意図したフォルダ以外(直下を除く)に解凍される場合にどうするか。警告を出すとか、禁止するとか、設定で選択出来るようにするとか、対応はそれぞれですが、いずれは対策が出揃うと思います。緊急性はそれほどないと思われるので、個々のソフト(やライブラリ)により進捗状況はさまざまですが。
ただ、解凍出来なくした(?)ソフトを推奨すると言うもの何か違和感あるのですが・・・最近存在感が落ちてきた Lhasa への援護射撃?なんてのは冗談ですが、特定ソフトを「推奨する」という言い方は気になります(爆
親コメント
Re:窓の杜の情報元は (スコア:2, すばらしい洞察)
親コメント
Re:窓の杜の情報元は (スコア:2, 興味深い)
私も、これを脆弱性と呼ぶのは違和感がありました。ただ、
#598858でも書かれているように、仕様自体が脆弱性を内包していることもあり得ます。ですから、仕様通りの動作だから脆弱性ではない、ということはないかと思います。
どちらかと言えば私が気にしているのは、本当にこれは「ユーザーの意図せず行われる操作」なのか?ということです。
Explzhなどの一覧表示式アーカイバで件の書庫を開けば、相対パスでファイルが格納されていることは明らかに分かります。ユーザーはそれを確認した上で、解凍操作を行ないます。(ここで、書庫内の相対、絶対パス指定を無視するオプションは確かに欲しいですけどね……ありましたっけ?)
一方、問題になりそうなのは、「アイコンにドラッグだけで一発解凍」系ですが、これはあくまで、「書庫内を確認して解凍操作をする」という手順を省略しているに過ぎません。ユーザーはこのタイプのアーカイバを選択することで、自分の意志により内容確認の権利(というのは大げさかもしれませんが)を放棄していると言えます。この状態で意図しないディレクトリにファイルが解凍されても「確認しないのが悪いじゃん」としか言いようがない気がするのですが……。
実際に『脆弱性』を利用した書庫があり、それを内容を確認せずにダウンロードして解凍し、攻撃を受けたとして、それは「ウイルスに感染したEXEファイルをダウンロードし、ウイルスチェックをかけず、実行して攻撃を受ける」のと何が違うのだろうか、と思います。後者はWindowsのEXE実行機能の脆弱性なのでしょうか?
ついでに瑣末事ではありますが、
窓の杜の記事には、とありますね。情報元ページには悪用可能で未対処な脆弱性がたくさん載っていたわけですから、大手メディアとしては妥当な判断ではあると思います。批判を受けてこっそり追記、などではなく最初からあったはずです。メール版にも載っていますし。
まあ、今更であることは変わり在りませんが。また、一つのウェブサイトに書いてあったことを鵜呑みにしていきなり記事にしてしまうのもどうかと……。それこそ、shoda T.さんのような「専門家」に相談して裏を取ってからのほうがよかったのでは、と思いますね。
以下オフトピ御免……。
きっとshoda T.さんが黙っちゃいないだろう、と思っていました。次回の某ニュースのネタはこれかな(笑)。
-May the sakura-cards be with you.-
親コメント
Re:窓の杜の情報元は (スコア:2, すばらしい洞察)
親コメント
Re:窓の杜の情報元は (スコア:2)
親コメント
Re:許容範囲だと思うのだが (スコア:2, 参考になる)
Attn: Windows 98/98SE/Me/XP Only
親コメント
Re:tar (スコア:1)
#フリー(OpenSource)ソフトが信用できないと言うくせに、
#その一方で、それより遥かにヘボ(藁)な自社ソフトは平気で動かす、ってのが解せないのでG7
親コメント
Re:「解凍」って表現 (スコア:1)
//窓の杜の昔の事件を憶えている人いる?
親コメント
Re:「解凍」って表現 (スコア:2, 参考になる)
ところで,昔の事件というとどれのことでしょうか。
親コメント
Re:tarアーカイブ (スコア:1)
フルパスはヤバイけど、相対パスは(上位に遡るパスでない限り)今回言うような意味でのヤバさは無い、のではないかと。
ま、下方向の相対であっても、その位置に「上書きされることをユーザが意図してない」ファイルが有ったら、同じことなんだけどね(^^;
また、一般ユーザであっても、「上書きされることをユーザが意図してない」ファイルは幾らでも有り得るわけなんだけど。
そういや先日 tar cfv hoge.tar ~/hogehogeとか書いて、ハマりました(^^;
~がフルパスに(shellにて)解釈されちゃうんですよね。
一般ユーザで良かったです。「良かった」といっても比較的ですけどね。
親コメント
Re:tarアーカイブ (スコア:2, 興味深い)
今回問題になっているのはまさに「上位に遡る相対パス指定で格納されたファイル」を展開させることで、悪意ある攻撃が可能になる、ということなのですが…
で、本題。 GNU tar であれば、
作成時・展開時のどちらの場合でも、
・ファイル名が / で始まる場合
・ファイル名に .. が含まれる場合
はエラーになります。
--absolute-names オプションで強制的に作成/展開も可能ですが…
というわけで、今時だと普通は問題にはならないんじゃないでしょうか。
#GNU tar じゃない tar が入っているシステムだったらヤバイとは思いますが…
親コメント
Re:「解凍」って表現 (スコア:2, 興味深い)
問題なっしんぐ。
ほかの圧縮形式に使うのは確かにヘンだけどね。
親コメント
Re:tarアーカイブ (スコア:1)
との事で、「荒らし」となっているが、
そんな感じの事をやらかした同僚がいた。
「アホンダラ!」
と言われただけで済んだ。(復旧作業は済まないが・・・)
マジに怒らせると、言葉はシンプルになりますね。
親コメント
Re:「解凍」って表現 (スコア:1)
CD-Rにデータを書くときも「焼く」って言いますし・・・
「焼く」 => "Burn"って言葉を使いますよね。
親コメント
Re:「解凍」って表現 (スコア:1)
親コメント
Re:tarアーカイブ (スコア:2, すばらしい洞察)
つ chroot
親コメント
Re:「解凍」って表現 (スコア:1)
親コメント
Re:tar (スコア:2, 参考になる)
親コメント
Re:「解凍」って表現 (スコア:1)
「チンする」も重要です。
親コメント