web-dev-qa-db-ja.com

通常のファイルはどのようにしてウイルスを隠すことができますか?

Windowsオペレーティングシステムでサポートされている通常のファイルはどのようにしてウイルスを隠すことができますか?

。txt。jpg、または。docxファイルを開くと、ウイルスが実行されることがあります。これはどのようにして可能ですか?

29
user52577

これは、OLE( Object Linking and Embedding ))テクニックのおかげで可能になります。MicrosoftWindowsオペレーティングシステムで実行されるアプリケーション間で情報を共有することを目的としています。主に、ドキュメントにオブジェクトを埋め込む。

公式のMicrosoftドキュメントで [〜#〜] ole [〜#〜] の利点について説明しています。しかし、他の概念と同様に、それは悪意のある意図に使用される可能性があります。

これを説明する最も簡単な方法は、下の図のようになるでしょう。開いているワードパッドファイルにメモ帳の実行可能アイコンをドラッグアンドドロップして保存すると、ワードパッドファイルをダブルクリックすると、メモ帳アプリケーションが開きます。以下の図は、このアイデアをよりよく説明しています。

enter image description here
ドキュメントを。txt形式で保存できます。通常の無害なファイルのように見えます。ただし、そのプロパティを確認すると、実際の拡張子は [〜#〜] shs [〜#〜] であることがわかります。いくつかのディスクパーティションのフォーマットなど、コマンドをファイルに追加することを想像できます。

19
user45139

.txt、.jpg、または.docxファイルを開くと、ウイルスが実行されることがあります。なぜこれが可能になるのですか?

同様の質問への回答 に追加するには(Tcholasを見つけてくれてありがとう!):

あなたは、ウイルス自体は無害であると考えるのは正しいです。ファイルのどこかにウイルスが潜んでいることは、コンピュータに直接的な脅威ではありません。しかし、ウイルスを含むファイルを開くと、実際にはそのファイルを開くプログラムが実行されます。

オペレーティングシステム(Windowsなど)にファイルを開くように依頼すると、基本的に次のことが行われます。

  1. ファイルの種類を確認してください。これは、拡張子(.txt、.doc)を読み取るか、データの一部を読み取る(Zipファイルの最初のバイトに「PK」が含まれる)場合があります。

  2. ファイルの種類を知っていると、それはそれを開くための「デフォルトプログラム」を見つけます。これは、コンピューターのどこかにあるデータベースに保存されます。

  3. プログラムを実行し、データファイルをロードします。

したがって、「mynotes.txt」をダブルクリックすると、Windowsはデフォルトのプログラムで.txtファイルを検索し、おそらく「notepad.exe」を探し、次に「notepad.exe」を実行して「mynotes.txt」をロードします。 JPEG画像をダブルクリックすると、画像ビューアが読み込まれます。 USBペンドライブをラップトップに差し込むだけの簡単なものでも、コードが実行されます。

悪魔は、この読み込みプログラムが持つ可能性のあるバグ/エラーにあります。ウイルスはこれらの「穴」を使用して、オペレーティングシステムをだましてさまざまなコードを実行させ、コンピュータの一部を変更/破壊します。ソフトウェアのメンテナが脆弱性について聞いたら、(うまくいけば)修正してセキュリティ更新を発行します。

これは、ウイルスが特定のプログラムを標的にする傾向があることも意味します。 MS Wordで動作するものは、おそらくOpenOfficeでは動作しません。 Acrobat ReaderとEvince、ChromeとInternet Explorer、ThunderbirdとOutlookなどと同じです。

tl; dr-ファイルを開くと、実際にはプログラムを開いて、そのファイルを開きます。そのプログラムの脆弱性がウイルスの攻撃を許します。

16
JvR

1つの可能性は、オーバーフローの脆弱性を悪用することです。イメージを開くと、ソフトウェア障害により、ウイルスがシステムによって実行される可能性のある無許可のメモリセクションに「投げ込まれます」。

ここ この意味でInternet Explorerを悪用した脆弱性についてシマンテックから説明があります。

また、この質問は Stack Overflow で回答されています。

6
Matheus Portela

1つの可能性は nicode shenanigansです。

Unicodeは、左から右に書かれた言語、右から左に書かれた言語など、多くの言語の表示をサポートしています。これを行う1つの方法は、 [U + 202E] (左から右へのオーバーライド(LRO))などの特殊文字を使用することです。

Windowsは、ファイル名を含むUnicodeをサポートしています。

デスクトップにファイルevilexe.txtが表示されます。テキストファイルのように見えますが、そうではありません。実際にはevil [U + 202E] txt.exeという名前です。

アイコンを設定して、テキストファイルまたは [〜#〜] jpeg [〜#〜] ファイルのように見せることができますが、実際にはEXEファイルです。

4
Murphy

たくさんの方法があります!

悪用可能な最も一般的な種類のソフトウェアの欠陥は何ですか?

バッファオーバーフロー。

バッファオーバーフローとは、プログラムがメモリのサイズを要求するが、その場所にあるより多くのデータをその隣のメモリに書き込む(オーバーフロー)場合です。

例:OpenOffice Writer(MS-Wordのようなワードプロセッサ)などのプログラム(ちなみにこれは純粋なフィクションです)には、段落のサイズに制限があります。たとえば、65535文字だとします。悪意のあるハッカーが65555文字の段落を含むドキュメントを作成します。プログラムには、段落の大きさを確認するチェック機能はありません。単にメモリに読み込まれるだけです。 65536番目の文字では、ハッカーは実際の文字の代わりに、ハッカーのドキュメント内のどこか、またはハッカーが知っていて制御している場所へのジャンプ命令のバイトコードを入力します。プログラムが誤ってジャンプ命令を読み取ると、悪意のあるドキュメントがアプリケーションの処理フローを制御するようになります。それはウイルスであり、感染したばかりです。

コンピューターにはオーバーフロー可能なコンポーネントにはさまざまな種類があるので、注意してください。

これが Heartbleedエクスプロイト に似ているように聞こえる場合は、そうです。

XKCD Heartbleed Explaination

続けましょう

オフィス

MicrosoftのOfficeプラットフォームは非常に拡張可能です。コンパイルされたコードと解釈されたコードの両方をプログラムとドキュメントに追加できます。解釈されたコードであるマクロは、生産性の目的で多くの能力を持っていますが、約10年前までは、悪意のあるコードを伝播するためにも頻繁に使用されていました 。それほど多くはありませんが、それでもポップアップします。悪意のあるドキュメントには、ハードドライブにファイルを書き込み、ドキュメントを開いたときにそれを実行するコードが含まれていることがよくあります。もちろん、これらの人のほとんどは、かわいい猫の写真などを含むPowerPointプレゼンテーションにパッケージ化されていたので、pwned

大きなソフトウェアパッケージの多くは一般に拡張可能であり、同様のエクスプロイトの影響を受ける可能性もあります。

ウェブ

多くの場合、ハッカーはファイルを作成し、そうでない場合は画像またはプレーンテキストとしてそのファイルを提示します。ウェブサイトの作成者の責任は、インターネットから受信する可能性のあるデータをエスケープ、カプセル化、サンドボックス化することです。大変な仕事です。

したがって、ハッカーは「NotA.phpfile.jpg」というファイルをPHP Webサイトのフォームに入れ、image/jpegファイルですが、実際にはapplication/phpファイル。これで、画像がアップロードされた [〜#〜] url [〜#〜] をロードすると、Webサイトを制御できるようになります。

同様に、ウェブサイトはテキストをエスケープする必要があります。そうしないと SQLインジェクション になり、データが盗まれる可能性があります。

Best Mom Ever -- drop tables

その他の注目すべきこと

  • 最近のほとんどのウイルスは、自己複製する暗号化タイプのアルゴリズムを使用して、コンピューター上での存在を、主にアンチウイルスや研究者から隠そうとします。

いくつかのテクノロジーを見てみましょう:

  • 代替データストリーム (ADS)。
    • [〜#〜] ntfs [〜#〜] ファイルシステムでは、ADSはファイルに添付された隠しドキュメントのようなものです。このデータはエンドユーザーには簡単には表示されませんが、プログラムやOSからアクセスできます。コマンドプロンプトに入力して Notepad でADSを開くことができる古いトリックがあります。 ADSの主な用途の1つは、ファイルがどこから来たのかを追跡することです。以前にインターネットから来たファイルを開くことについて、すべてのプロンプトが表示されたと思います。
  • [〜#〜] ole [〜#〜] (代替回答で説明)、および ActiveX[〜#〜] com [〜#〜]COM + 、および [〜#〜] dcom [〜#〜]
  • レジストリ。
    • 少数のデータ型を格納できる非常にシンプルなデータベースですが、広く使用されています。デスクトップアイコンをダブルクリックしたとき、またはプログラムを実行したときに何が起こるかについての設定を保存するようなものです。
2

短いOPは、.txtをクリックするとウイルスが実行される理由を尋ねています。ウイルスが拡張子に関連するプログラムを変更する場合、.txtファイルをクリックすると、コンピューターはnotepad.exeではなくmad_notepad_that_also_runs_a_virus.exeを起動します。

ただし、非常に単純な動作であっても、i_love_you.txt.extension_like_that_will_obviously_make_this_computer_explode.exeをクリックすると、発生する可能性があります。

0
Léon Pelletier