パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Winnyネットワークに蔓延する拡張子偽装手法: RLO」記事へのコメント

  • 発展系が恐いな (スコア:2, すばらしい洞察)

    by Anonymous Coward
    視認で安全性を確認するという方法論そのものに問題があるのではないかと思う。RLO以外の手段とかもありえる気がするし、この件でもファイル共有に限らないだろうしね。

    後、この手のよく知られてない例外的な物ってセキュリティホールの温床になりそうな点も嫌だな。
    • Re:発展系が恐いな (スコア:3, すばらしい洞察)

      問題は視認でなくて、
      実行形式ファイルを、
      OS側が、実行形式であると、問答無用で明示的に主張しないのことじゃないかな。

      例えば、初めて開く実行形式ファイルは、OS側が必ず「実行するか」と問うようにするとかすれば、ちょっとよくなる。

      それでも、スクリプトの類はどうしようもないけど、ライブラリに「実行者が意図しない動作を実行する可能性がある動作をさせる場合、警告を出す」機能を組み込み、アプリ制作者に積極的に使わせるようにすれば、結構大丈夫かも。

      Such like...
      「このファイルは、初めて実行されようとしています。あなたの予期しない動作を実行する可能性があります。実行しますか?」
      「このファイルは、以前実行された後、内容が変更されています、あなたの予期しない動作を実行する可能性があります。実行しますか?」
      • by Anonymous Coward
        Unix系システムのほとんどでは「umask 000」でも新規作成ファイルのパーミッションは666になりますが、Windowsだとそういう対策は難しいでしょうから、ダイアログを出すのというのは落としどころとして妥当でしょうね。

        というか、Unix系では実行スクリプトと普通の専用バイナリをどう分けてるのだろう?アプリごとに「これは実行ファイルを読むアプリ」とフラグを立ててるのかな?線引き(マクロつきのMSOfficeファイルなんて「ほとんど実行ファイル」だけど、OSではそこまで面倒を見ずにファイルを受け取ったアプリの側で警告を出させる手もあるし、実際そうなってる)も難しそう。
        • たぶん実行可能フラグが立っているファイルのうち、インタプリタで処理されるファイルとexec()に渡されるファイル(いわゆるexe形式に相当するの?)がある、という話をしているのだと思いますが、先頭2バイトを読んで '#!' ではじまったらインタプリタで処理する、というふうになっている筈です(man shより)。

          # あー、でもひょっとしてGNOMEとかKDEとかであいこんをだぶるくりっくしたりする話なのかな。おじさんそういうのはむつかしくてよくわかんないなぁ(^^; 多分、/etc/mime.types を使って MIME Type を決めて、そこからアプリを起動する方法を指定するのだろうけれども。
          • 今時のUNIXでは#!を処理するのは execシステムコールの中ですよ。execに失敗したらshが中身を見て#!の処理をする(冗長に感じますがなぜ?)ようですが。 なお、ファイルの実行ビットが立っていないとそれ以前の段階でシェルが実行を拒否します。

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

処理中...