web-dev-qa-db-ja.com

他のファイルよりも安全でないファイルはどれですか?

インターネットから取得した後、他のファイルよりも安全に処理できるファイルの種類があるという事実(常に実証済みの事実ではない場合は、意見)について、私は尋ねたいと思います。

  1. アップロード後にサーバー上で、またはダウンロード後にクライアントコンピューター上で処理する場合、どのファイルが他のファイルよりも安全ではありませんか?

  2. 具体的には、これらの特定の種類のファイルを他の種類のファイルよりも安全にしたり、より安全にしたりするものは何ですか?

強い理由なしに質問を絞り込まないために、OSの種類については触れません。それが答えにとって重要な要素であるなら、それを明記してください。

13
rem

通常、ファイルをダウンロードするだけでなく、ファイルにアクセスすると、ファイルの「不安」が生じます。ファイルを開いていない状態でダウンロードし、コンピューターを起動させるのは、ハリウッドとSFの話です(私の知る限り、これについての研究もあるかもしれません)。

したがって、問題を理解するための本当の問題は、ファイルの種類ではなく、それらのファイルへのアクセスに一般的に使用される一般的なプログラムについてです。

したがって、.txtファイルは単純なテキストリーダーによって未加工の形式でアクセスされ、コードとして認識されないため、比較的無害である必要があります。 (もちろん、たとえばWindowsのメモ帳で見つかった0dayの脆弱性はそれを変更する可能性があります...)

PDFとOfficeドキュメントは通常、それぞれAdobe ReaderとMS Officeプログラムによって開かれます-これらはすべて、さまざまな種類の動的コンテンツを認識します。 Officeマクロ。さらに、進行中のデータ処理、解析、変換、アクティブ化、およびレンダリングの多くがあり、それらのプログラムのそれぞれに、方法の各ステップで多くの異なる脆弱性が存在する可能性があります(そして存在しています)もちろん他)。

メディアファイルにも同じことが言えます-JPEGとGIFには隠しコード( [〜#〜] gifar [〜#〜] を参照)があり、ムービーファイルにはコーデックなどが埋め込まれています。

もちろん、実行可能ファイルとコード(コンパイルされているかどうかにかかわらず)は、非常に危険です。これらは自明に悪用可能です。コードは既に存在し、ユーザーは明示的に実行するように要求します。これには、 Windows exe、dll、com、bat、htm/html、js、vbs、jarなど.
もちろん、ソースコード(.Java、.cs、.vb、.c、.cppなど)も問題になる可能性があります。これらは通常、コンパイラに直接渡されるため、おそらく最も複雑な部分の1つです。一般的なソフトウェアの例-そして、後の出力は言うまでもなく実行指示を提供します...悪意のあるコードを難読化するのはそれほど複雑ではありません。

OSの選択は必ずしもここで最も重要な要素ではありませんが、もちろん、異なるファイルは各OSで異なるように実行されます-そして、各OSは安全でないファイルタイプの独自のシェアを持っています。
さらに重要なのは、悪意のあるファイルが実行された場合、または実行されたときにどのような被害が発生する可能性があるかということです。最小限のユーザー権限がデフォルトで設定されているOS(Win7とWinXPを比較)は、当然のことながらはるかに安全です。

10
AviD