web-dev-qa-db-ja.com

ランサムウェアに対する簡単なヒューリスティック保護がないのはなぜですか?

WannaCryランサムウェアの最近の拡散-この種類の攻撃が重大なサービスに重大な損傷と危険な混乱を引き起こす可能性があることをもう一度証明した後-ヒューリスティックなアプローチを使用してこの種のマルウェアに対する簡単な保護がないのかと私は自問しました。

私の推論は次のとおりです:ランサムウェアの攻撃ベクトルは、不注意なユーザーアクションからゼロデイエクスプロイトまで、さまざまな種類がありますが、アクションは常にほぼ同じ:多くのファイルが開かれ、暗号化されてから、暗号化されたファイルが元のファイルの代わりに保存されます。

私はアンチウイルス保護の動作原理について深い知識はありませんが、このようなアクションは比較的簡単に検出できるはずだと信じていますヒューリスティックなアプローチ。たとえば、大量の読み取りおよび書き込み操作を実行するプロセスを監視できます。出力ファイルは通常、入力ファイルよりもはるかに高いエントロピーを持っています。また、CPUに命令を送信するために現在実行中のプロセスを監視することもできます。これには、暗号化ステップが含まれているようです。後者はおそらく達成するのが難しいですが、広く普及している暗号化アルゴリズムの数が少なければ、実現可能であると思います。

疑いなく、これはランサムウェアに対する完全な保護を提供しないでしょう。ランサムウェアが暗号化を開始した後、アンチウイルスが実行され、すでにいくつかのファイルが失われている可能性があるまで、しばらく時間がかかります。ただし、もちろん、すべてのファイルを失うのではなく、いくつかのファイルを失う方がよいでしょう。また、かなりの数の誤検知が発生し、ユーザーにとって煩わしいものになる可能性があります。次に、一部のウイルス対策スイートは、接続されたキーボードを要求します。それが実際にキーボードであり、操作されたUSBデバイスではないかどうかを尋ねます。これも同様に迷惑だと思います。

オンラインで検索するときに、私が見つけることができた唯一の同様のアプローチは、ソフトウェア CryptoMonitor です。これは、明らかに Malware Bytes によって取得されています。しかし、それについて収集できた小さな情報から判断すると、それはマスマーケットにヒットしていないようです。また、既知のウイルス対策ソフトウェアベンダーからの同様のアプローチについては知らないか、少なくとも見つけられませんでした。

これは、ランサムウェアに対する保護の私のアイデアが機能していないという結論に私を導きます。しかし、この場合、ヒューリスティックなアプローチが機能しないのはなぜですか?

6
ranguwud

あまりにも多くの誤警報を生成するので、私はうまくいくとは思いません。

監視される動作は、多くの正当なアプリケーションの動作です。

  1. 圧縮/アーカイブツール
  2. キャッシュされた大量のデータをローカルに保存するWebブラウザー(通常、圧縮)
  3. データをキャッシュするソフトウェア
  4. バッチ操作を実行できるソフトウェア(例:画像/サウンドの変更)
  5. データベースソフトウェア(io集中型操作)
  6. 多くのファイルを含むフォルダを手動で移動しても、アラームが発生する可能性があります

さらに、効果的なランサムウェアはファイル全体を暗号化する必要がなく、ファイルの先頭にある数百または数千バイトのみを暗号化することで十分です

3
valentin

有る。 Cyber​​eason Ransomfree のようなプログラムは、まさにそれを行うと主張しています。彼らのFAQから:

Cyber​​eason RansomFreeは、アプリケーションがファイルと対話する方法を監視し、ランサムウェアの動作を検出すると、ファイルが暗号化される直前にそれを停止します。 Cyber​​eason RansomFreeは純粋な行動検出技術を使用し、マルウェアの署名に依存しません。

Cyber​​eason RansomFreeは、ランサムウェアがしばしば暗号化を開始する場所に戦略的に配置された餌ファイルを展開します。このソリューションは、アプリケーションがファイルと対話する方法を監視し、ランサムウェアの動作を検出すると、ファイルが暗号化される直前にそれを停止します。 Cyber​​eason RansomFreeは純粋な行動検出技術を使用し、マルウェアの署名に依存しません。

自分のマシンにインストールしました。 ファイルのある隠しディレクトリ を作成し、デスクトップとすべてのパーティションで監視します。

私はまだその有効性をテストしていません(たとえば、これらのディレクトリの1つにあるすべてのファイルをすばやく変更するなど)。

この種類の保護は、ランサムウェアがファイルを処理する順序を制御できないため、ランサムウェアのすべての影響に対する保証ではない場合があることに注意してください(一部のファイルはすでに暗号化されています)攻撃が検出される前)。また、防止がファイル変更のレートに基づいている場合、マルウェアは自身の実行を調整するときに抜け落ちる可能性があります(一部の亜種はそうすることが知られています)。

3
user13695

このテクノロジーは数十年前から存在しています。これはファイル整合性監視と呼ばれ、通常、一部のHIDS/HIPS製品の一部です。

実装はさまざまですが、大まかに言えば、指定したファイルへの変更を監視するデーモンをバックグラウンドで実行し、ファイルのハッシュが以前に記録されたものと異なる場合にアラートを生成します。

ランサムウェアの場合、貴重なデータの中に「カナリア」ファイル(「readme.txt」など)を作成し、それらの変更を監視します。ユーザーの改ざんやランサムウェアの一括処理など、何らかの形で変更があった場合、プロセスの早い段階で(できれば)警告が表示され、介入してさらなる被害を軽減できる可能性があります。ファイル全体を暗号化するか、ヘッダーのみを暗号化するかは関係ありません。ファイルはどちらの方法でも変更されたため、ハッシュが変更され、警告に値します。

しかし、私がこれまで悩んできた雇用者はほとんどいません。多分それは最近の出来事に照らしてカムバックを作るでしょう。

1
Ivan

あなたのアプローチ、特に次の部分はうまくいくと思います:

出力ファイルは通常、入力ファイルよりもはるかに高いエントロピーを持っています

これはすべてのランサムウェアに当てはまります。

大量のファイルを開いたり、大量のIO帯域幅を消費したりする)プロセスを調べるなど、他のアイデアはランサムウェアに依存します。巧妙なランサムウェアがフルスロットルで動作するかどうかは疑問です-それはは、恐喝を機能させるために、システム上のファイルの大部分を暗号化するまで自分自身を非表示にしたいと考えています。そのため、ファイルの暗号化をできるだけ早く開始することはできません。これにより、システムが著しく遅くなります。したがって、時間がかかる場合があり、大量のデータを読み書きする他のプロセスと著しく異なる動作をしない場合があります。

暗号化ステップのCPU命令を監視することはおそらく不可能です。これの最も重大な問題は、システムが実行するすべての操作がかなり遅くなることです(わずかではありません-おそらく100倍以上と思います)。また、実行中のCPU命令に基づいて暗号化アルゴリズムを特定することは難しい問題である可能性が高く、それが機能する場合は、データの暗号化と復号化が許可されているプロセスに対して何らかの方法で例外を作成する必要があります。

しかし、ランサムウェア検出器を作成したい場合、おそらくあなたが想像するのと同じように、ヒューリスティックなアプローチを使用します。もっと単純です。監視するファイルのセットを定義し、定期的にそれらのエントロピーを測定します。それらのいくつかが突然エントロピーを増加させた場合(たとえば、基本的にランダムなデータに変わった場合)、私はすぐにユーザーに警告し、可能であればシステムをシャットダウンします。

0
Out of Band