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

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

  • by Anonymous Coward
    私は詳細表示にして「種類」列の表示を確認してます。
    ファイル名表記で確認するなんて、「○○.txt            .exe」で懲りてないのか、なんて思ったり。
    • by Anonymous Coward on 2007年04月22日 16時25分 (#1146533)
      つーか、.exeで実行権を付与してるOSの方がアウトでしょ。
      何10年経っても変わらないんだうけど。
      親コメント
      • by Anonymous Coward on 2007年04月22日 21時59分 (#1146613)
        どのOSのことかわかりませんが、
        Win2k以降のWinNT系列OSは、環境変数PATHEXTに拡張子が列挙されていて、ファイルシステムで
        実行可能ビットが立っているものが実行可能なファイルです。
        .EXEは特別扱いの拡張子ではなく、デフォルトでその条件を満たしているだけに過ぎません。
        CreateProcess()では元々どんなファイル名のファイルでも実行可能です。
        PATHEXTさえ適切に設定すれば、どんな拡張子のファイルでも、拡張子なしのファイルでもエクスプローラやcmd.exeから実行可能です。
        親コメント
        • >CreateProcess()では元々どんなファイル名のファイルでも実行可能です。
          >PATHEXTさえ適切に設定すれば、どんな拡張子のファイルでも、拡張子なしのファイルでもエクスプローラやcmd.exeから実行可能です。

          参考までに拡張子なしのファイルのPATHEXT(と実行可能ビット)の設定方法を教えてください
          これができればshellbang#!の特殊処理がエレガントになると思うんですが(cygwinとか、activeperlみたいにスクリプトをbatに変換しなくてすむ)
          親コメント
          • by Anonymous Coward on 2007年04月23日 5時26分 (#1146679)
            別ACだけどPATHEXTの話はともかく

            Windows Registry Editor Version 5.00

            [HKEY_CLASSES_ROOT\Unknown\shell]
            @="exec"

            [HKEY_CLASSES_ROOT\Unknown\shell\exec]
            @="\"c:\\unix like tools\\#!.exe\" \"%1\""

            こんなんでどう?
            先頭行に#!自身の呼び出し記述がなければ、HKEY_CLASSES_ROOT\Unknown\runasやopendlgを#1.exeが代わりに実行してやればエレガントになるよ。
            実行可能ビットはフォルダの中が覗ける場合には通常付いている。
            親コメント
        • それらをまとめて例えとして表現すると「.exeで実行権を付与してるOS」じゃないの?
      • by Anonymous Coward on 2007年04月22日 18時00分 (#1146562)
        とはいえ、そういうのが主流なわけですが。
        MacOSですら、Xになって、.appと名前が違うだけで“同レベルに堕ちた”し。
        親コメント
        • by Anonymous Cowboy (6205) on 2007年04月23日 9時51分 (#1146696)
          OSXのアプリケーションは.appとつく単一ファイルに見えますが
          実態はフォルダ構造であり、その内部にデータやら実行バイナリやらのファイルが
          含まれています。

          そんでバイナリが実行可能かどうかは通常のUNIXと同じくumaskによるものです。
          これには拡張子は影響しません。

          また.appフォルダ全体にも同様のumaskが設定されておりますので
          単に「拡張子がなんであるか」で実行されるかどうかが決まっているわけではありません。
          親コメント
        • さらにひどい事に,Apple社はPDFのカスタムアイコンを
          付けて拡張子を非表示にした状態のアプリケーションを
          一部のアプリケーション(Final Cut Proとか)のドキュメント
          配布形態として用いていたりします。

          どうも,複数の言語のドキュメントのなかから
          環境にあったものを表示させるのにこういう形態を
          取っているようですが…
      • by Anonymous Coward
        ではどういうのがお望みで?

        ここ以降 [srad.jp]にあるUNIX系のは非合理的の極みだし、旧Macのファイルタイプ&クリエイター方式は分かりやすいけど運用がめんどくさい。
        実際にはそれほどの手間じゃないけどクリエイターを一元管理するためにAppleに登録する必要があったしね。

        分かりやすさと合理性と運用面の落としどころで、今以上の構想があるなら特許でも取れば?
        • > ここ以降 [slashdot.jp]にあるUNIX系のは非合理的の極みだし、

          どこがどう非合理的なんだか。

          拡張子みてどうこうするより、はるかに合理的
          親コメント
          • パーミッションで実行権限を付与しても ACL で実行権限が落とされていると、普段のクセで ls -l して確認後に ./foo.sh とかやっても実行できなくて悩むとか、そういうオチでしょうか。

            管理の都合上 default deny に倒した後で、LDAP の登録情報に従ってグループで ACL を利用して読み込み権限を付与するようなやり方を行うと -r に失敗してくれたりするのですよね。当然話を -x にしても同じです。

            DAC (パーミッション)、MAC (SELinux)、ACL と既存機能の間で全く整合性が取れていないのです。こういう点は非合理的じゃないですか?

            なお、Windows で NTFS であれば、ダウンロード先フォルダやマイドキュメントなどから読み取りと実行の権限を外したり、実行の拒否を設定して子孫継承させておくだけで、結構簡単に安全にできるように思います。.exe は実行されないけれど、.doc ダブルクリックなどは通用しますので。

            親コメント
            • 単純に読み取りと実行を拒否にしようとすると読み取りまで拒否されるので、詳細設定の方から実行権限だけ拒否ですね。

              親コメント
              • 実行だけ拒否できますか?詳細設定だと「フォルダのスキャンと実行」を禁止する事しかできないようですが。c:\tempをこれにしたとします。この時、cd \tempをしても、「アクセスを拒否されました」と言われてしまいます。
              • 失礼。確かにフォルダだと実行だけではなく閲覧まで禁止されますね。まさにディレクトリの実行ビットを落とした扱いで……。 orz

                フォルダではなくファイルで確認していました。ファイルだと実行権限のみ落とせるのですが。

                で、別のやり方としては、ローカルセキュリティポリシーのソフトウェアの制限ポリシーに以下のような設定を入れるといけます。基本はデフォルトの規則のまま、通常通りアプリケーションが実行できる状態にしておきます。その上で、追加の規則で以下のような設定を入れます。

                • 新しいパスの規則 - %USERPROFILE% / 許可しない を追加
                • 新しいパスの規則 - *.lnk / 制限しない を追加 (これを入れないとメニューやクイック起動が使えません)

                これらに加えてデスクトップやダウンロードファイルの保存先などに制限しないポリシーを必要に応じて追加する形でしょうか。

                My Documents 単位で止めずにユーザプロファイルフォルダ単位で止めることで、「とりあえず実行してみる」パターンを抑えつつ、デスクトップ等を許容することで必要に応じて実行できるようにできます。

                家庭向け製品だと適用できませんが、ビジネス向けなら有効な手段だと思います。ビジネス向けの場合はグループポリシーの同じ項目から、でしょうか。

                親コメント
      • 禿同。しかし、この手の問題って選択できるようになってても意味がないのが難しいね。
        AthlonPCを買ったんで、DEPを有効にしたら動かないアプリの多いこと多いこと。
        デフォルトを前提に組まれちゃうと安全な設定で動かなくなるものが多すぎる。

        それにしてもWindowsのパーミッションの設定の分かり辛さは異常。メールフォルダとか
        Winnyのダウンロードフォルダとか危険な場所の実行を禁じるだけでもほとんどの危険は
        回避できるというのに。
      • 配布側が自由にアイコンを変えられるのも(ソーシャルな意味で)セキュリティを弱めてるね。そういう機能があるのは構わないけど、デフォルトではユーザーが指定したアイコンだけを表示するようにできないものか。
        # できないだろうなぁ

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...