親クラス: VirWare
ウイルスおよびワームは、コンピュータ上またはコンピュータネットワーク上で自己複製する悪意のあるプログラムであり、ユーザーは認識しません。そのような悪意のあるプログラムの後続のコピーも自己複製することができます。 「所有者」(例:Backdoors)または自己複製が不可能な複数のコピーを作成するプログラムによって、ネットワーク経由で感染したり、リモートマシンに感染したりする悪質なプログラムは、ウイルスおよびワームのサブクラスには含まれません。プログラムがViruses and Wormsサブクラス内の別個の動作として分類されるかどうかを判断するために使用される主要な特性は、プログラムがどのように伝搬するか(すなわち、悪意のあるプログラムがローカルまたはネットワークリソースを介してどのように自身のコピーを広げるか)電子メール添付ファイルとして送信されたファイルとして、WebまたはFTPリソースへのリンク経由で、ICQまたはIRCメッセージで送信されたリンク経由で、P2Pファイル共有ネットワークなどを介して送信されます。これらは直接コンピュータのメモリに侵入し、ワームコードが有効になります。ワームは、リモートコンピュータに侵入して自身のコピーを開始するために、ソーシャルエンジニアリング(例えば、ユーザーが添付ファイルを開くことを示唆する電子メールメッセージ)、ネットワーク構成エラー(完全にアクセス可能なディスクへのコピーなど)を利用し、オペレーティングシステムとアプリケーションのセキュリティの抜け穴ウイルスは、コンピュータを感染させる方法に従って分割することができます。ファイルウイルス - ブートセクタウイルス - マクロウイルススクリプトウイルス - このサブクラス内のプログラムは、追加のトロイの木馬機能を持つことができます。また、ネットワークを介してコピーを広めるために、多くのワームが複数の方法を使用していることにも注意してください。これらのタイプのワームを分類するには、検出されたオブジェクトを複数の機能で分類するためのルールを使用する必要があります。クラス: Virus
ウィルスは、ローカルマシンのリソース上で複製します。ワームとは異なり、ウイルスはネットワークサービスを使用して他のコンピュータに伝播したり侵入したりしません。感染したオブジェクトが何らかの理由でウイルス機能に関係なく他のコンピュータで有効になっている場合にのみ、ウイルスのコピーがリモートコンピュータに届きます。たとえば、アクセス可能なディスクに感染すると、ウイルスはネットワークリソースにあるファイルに侵入し、ウイルスは自身をリムーバブルストレージデバイスにコピーしたり、リムーバブルデバイス上のファイルに感染させたりします。ユーザーは感染した添付ファイル付きの電子メールを送信します。プラットフォーム: Win32
Win32は、32ビットアプリケーションの実行をサポートするWindows NTベースのオペレーティングシステム(Windows XP、Windows 7など)上のAPIです。世界で最も広く普及しているプログラミングプラットフォームの1つです。説明
技術的な詳細
このテキストは、GeCAD SoftwareのAdrian Marinescuの助けを借りて書かれました。
これは約20Kの長さの非常に危険な記憶型寄生虫多型Win32ウイルスです。 KERNEL32.DLLファイルとPE EXEファイルに感染します。コードの最後にコードを書き込み、PEヘッダーの必要なフィールドを変更して、感染ファイルの実行時に制御を取得します。ウイルスはまた、さまざまなタイプのアーカイブ(ACE、RAR、ZIP、CAB、ARJ)といくつかのタイプの自己解凍型パッケージ(SFX ACEおよびRARファイル)にその「droppers」を追加します。
このウイルスはPE EXEファイルとアーカイブにのみ感染し、KERNEL32.DLLファイルには暗号化されていないウイルスイメージを残します。
このウイルスはアンチ・デバッグ・トリックを使用し、ウイルス対策オンアクセス・スキャナ(Avast、AVP、AVG、Amon)を無効にし、アンチウイルス・データ・ファイル(AVP.CRC、IVP.NTZ、ANTI-VIR.DAT、CHKLIST.MS 、CHKLIST.CPS、SMARTCHK.MS、SMARTCHK.CPS、AGUARD.DAT、AVGQT.DAT)、LGUARD.VPSファイル(アンチウイルスデータベース?)をパッチし、多くのウイルス対策プログラムの感染を防ぎます:TB、F- DSA、IBM、INOC、ANTI、SCN、VSAF、VSWP、PANDA、DRWEB、FSAV、SPIDER、ADINF、SONIQUE、SQSTARTのような、
最も重要なウイルス機能の1つは、ロードされたときに「オンザフライ」Windowsライブラリ(DLLファイル)を暗号化/復号化するという事実です。ライブラリをロードするとウイルスはそれを解読し、アンロード時にウイルスを暗号化しますファイル本体。 DLLファイルを暗号化するために、このウイルスは強力な暗号化アルゴリズム(Windowsに含まれるCrypt APIによって提供される)を使用します。その結果、感染したシステムは、ウイルスコードがメモリに存在する場合にのみ動作し、この暗号化/復号化を実現します。システムが駆除された場合、DLLライブラリは暗号化されたままであり、システムはそれらをロードできません。このような技術を使用する最初のウイルスは、1990年代後半に「よく知られていたOnehalf multipartite」ウイルスでした。
このウイルスは、Win95およびWin98標準エディションなど、いくつかのWin32バージョンと互換性がありません。これらの条件下では、ウイルスはシステムにインストールされません(KERNEL32.DLLに感染しません)。また、PE EXE感染ファイルもありません。
システムへのインストール
感染したファイルがクリーンシステムで初めて実行されると、多形の暗号解読ループは制御を取得し、元のファイルコードをクリーンな形式で復元し、そこで制御を渡します。インストールルーチンは制御を取得し、いくつかのアンチデバッグおよびアンチウィルス対策手順を実行した後、ウィルスコピーをシステムにインストールします。
インストール中、ウイルスはKERNEL32.DLLファイルに感染し、次回の起動時にWindowsはKERNEL32ライブラリの一部としてウイルスコードを読み込みます。感染中、KERNEL32.DLL(CreateFile、OpenFile、__lopen、CopyFile、MoveFile、MoveFileEx、LoadLibrary、LoadLibraryEx、FreeLibrary)からエクスポートされたいくつかのファイルアクセス関数を、次の読み込み時に傍受してフィルタリングするように、 - ANSIとUNICODEの両方の形式で)。
KERNEL32.DLLを感染させるには(このライブラリはウイルスが実行されるとメモリに読み込まれ、Windowsによって書き込みが保護されます)、KERNEL32.DLLファイルがWindowsフォルダにコピーされ、このコピーが感染してWindowsが強制的に次の起動時に古いファイルと感染したファイルを切り替えます。その結果、次回の再起動時にWindowsに感染したKERNEL32.DLLがロードされます。ウイルスはファイルアクセスイベントをフィルタ処理し、PE EXEおよびアーカイブ感染ルーチンを実行します。
KERNEL32.DLLに感染した後、ウイルスはそのコードをメモリから消去し、制御をホストプログラムに戻します。
ウイルス拡散
Windowsに感染したKERNEL32.DLLがロードされると、ウイルスはKERNEL32.DLLのコンポーネントとしてメモリに残り、KERNEL32のエクスポートされた複数の関数をフックします。これらの機能を最初に呼び出すと、バックグラウンドで犠牲者ファイル(PE EXE)を検索し感染させる感染ルーチンを起動します。ウイルスは、CからZまでのすべてのドライブのファイルを検索します。
スキャンプロセスをあまり目立たないようにするために、ウイルスは最初に各ドライブスキャンの前に3秒待機します。
ファイルに感染すると、ウイルスは最後のファイルセクションを拡大し、そのコードのためのスペースを予約し、そこに多形の解読器と共に暗号化されたコードを書き込み、解読ルーチンにプログラムエントリポイントを設定する。
アーカイブの感染
このウイルスは、ZIP、CAB、ARJだけでなく、ACEおよびRAR(SFX自己解凍ファイルを含む)のアーカイブにドロッパーを追加することができます。アーカイブ内のウイルス駆除ツールは、亜種からランダムに選択された名前を取得します。
インストール、セットアップ、実行、サウンド、設定、ヘルプ、グラビティ、クラック、アップデート、README
「!」で始まりまたは/および終わりになります。 char。ファイル名の拡張子は.EXEです。
そのドロッパーをアーカイブに追加するために、ウイルスはディスクファイルとしてドロッパーを作成し、それぞれのアーカイブタイプを処理するために必要な外部プログラムを実行します。この方法を使用すると、ウイルスは、アーカイバプログラムに応じて、ランダムに選択された方法で圧縮されたドロッパーを追加することができます。
ライブラリの暗号化
ウイルスは、WindowsのCrypt APIを使用してウイルスのインストール部分に暗号化キーを作成します。キーが正常に作成された場合、ウイルスはアプリケーションによって使用されるDLLファイルのコードを暗号化することができます(必要に応じてWindowsによってロードされます)。これを実行するために、ウイルスはLoadLibraryとFreeLibraryフックを使用し、ライブラリの読み込みをインターセプトし、それらを即座に暗号化/復号化します。
SFC、MPR、OLE32、NTDLL、GDI32、RPCRT4、USER32、RSASIG、SHELL32、CRYPT32、RSABASE、PSTOREC、KERNEL32、ADVAPI32、RUNDLL32、SFCFILESのいずれかで始まる名前のDLLは除外されます。また、次の一覧に記載されているDLLは暗号化されていません。
SystemCurrentControlSetControlSessionManagerKnownDLLs SystemCurrentControlSetControlSessionManagerKnown16DLLs
最も重要な側面は、暗号化キーと暗号化アルゴリズムが感染したシステムごとに一意であることです。 WinCryptはカスタム暗号化アルゴリズムをサポートしているため、Windows以外のシステムからの駆除は不可能です。 DLLの暗号化は多くの時間/ CPUリソースを消費します - ウイルスはレジストリから必要なキーを毎回読み込みます。
Windowsに含まれるCrypt APIを使用できるようにするには、コンテナ名を「Prizzy / 29A」に設定して、新しいキーを作成する必要があります。最初に、ウイルスはその存在をチェックし、キーが存在しない場合は、新しいAPIを作成するために専用のAPIが呼び出されます。その後、ウイルスは生成された鍵を保存する必要があります。そのためには、ウイルスはシステムレジストリを使用します。この時点で、このウイルスには制限があります.CryptAquireContext APIコールの後にキーSOFTWAREMicrosoftCryptographyUserKeysPrizzy / 29Aが作成されると想定します。ウイルスは新しく生成されたキーに 'Kiss Of Death'という値を設定します。
も参照してください
お住まいの地域に広がる脆弱性の統計をご覧ください statistics.securelist.com