web-dev-qa-db-ja.com

なぜこんなに多くのランサムウェアが壊れやすいのですか?

サイト: https://www.nomoreransom.org/ は、ランサムウェア用の多くの解読ツールを提供しています。

しかし、なぜですか

Windows Crypto API(例:google "create AES Key in Windows")を使用してAESキーを作成し、ローカルで生成されたパブリックRSAキーで暗号化し、対応するプライベートRSAキーをパブリックRSAで暗号化することはそれほど難しくありません。攻撃者が制御するキー。 (ワナクリ法)

犠牲者が身代金を支払う場合、彼らは暗号化されたプライベートRSAキーを攻撃者に送信し、うまくいけば、復号化されたプライベートRSAキーを取り戻す必要があります。

なぜこれらの人々は車輪を再発明しようとし、その過程で間違いを犯し、解読ツールの開発を可能にするのでしょうか?

67
kiara

開示:NoMoreRansomに参加しているベンダーの1人で働いています。

最近のほとんどのランサムウェアは、実際に適切な暗号化を実装しています。以前のバージョンでは、鍵の生成にRand()を使用し、ランダムジェネレーターにtime()のバリアントをシードしていました。これが、復号化を成功させるために、感染が正確にいつ発生したかを知ることが重要であった理由です。理想的には数分に。それらは、総当たりで解読される可能性があります。しかし、最新のランサムウェアのほとんどは、実際にはWindows Crypto APIまたはバンドルされた暗号ライブラリーを使用しています。

ただし、ランサムウェアがどれほど正しく実装されていても、常に弱点があります。復号化を容易にするには、キーをどこかに保存する必要があります。この場所は、警備会社と協力してそれを引き継ぐセキュリティ会社がたどることができます。サーバーへのアクセスにより、セキュリティ会社はランサムウェアの被害者のファイルを復号化することができます。これは、たとえばGangCrabランサムウェアの場合です。

100
George Y.

それは単なるコスト/ゲインの問題です。ランサムウェアの開発者は、通常、すべての関連するレビューを含むセキュリティツールを構築することを望んでいません。彼らは、コストよりも多くのお金を手に入れることができる、より安価なツールを望んでいるだけです。もちろん、それらはおそらく壊れやすいですが、誰が気にしますか?最初の犠牲者の何人かが彼らに尋ねられたものを支払ったとすれば、攻撃者は彼らが費やしたよりもはるかに多くのお金を得ます。さらに、1つを使用する時間が長いほど、政府のセキュリティ機関がなんとか関与した場合に捕捉されるリスクが高くなります。

多くの現実の泥棒が無作為の家になんとか入ることができるとき、それは多かれ少なかれそうです:最短の時間で最も貴重なものを取り、そして去ってください。

標的型攻撃の場合、現実とITの世界では状況が異なります。銀行や宝石店を攻撃したい場合、利益は多くの準備時間を費やすのに十分高いと予想されます。政府機関が戦略的標的を攻撃するときと同じように、彼らはより高品質のツールを使用します。ただし、ランダムなターゲットにはほとんど使用されません。

49
Serge Ballesta

明白な答えは、犯罪者が被害者と直接やり取りしたくないということです。

「暗号化された秘密RSAキーを攻撃者に送信する」

一貫した連絡先が必要です。

現在のモデルでは、すべての通信は一方向であり、交換可能です。

  • マルウェアは被害者にビットコインを預けるように指示する画面を表示します(直接の接触はありません)
  • 犯罪者は預金を監視し、キーを使用してメールを送信します(通信は自動化されており、使い捨ての仲介者からの一方向)

現在のモデルは非常にうまく機能しており、世界で最も脅威の1つです。システムを改善する方法は常にありますが、それが壊れていない場合、どのようなメリットがありますか?

21
schroeder

率直に言って、適切なファイルの暗号化と復号化を実現するのは、たとえあなたのために行うはずのライブラリであっても、かなりトリッキーです。私はもともと非常に基本的なビットシフト技術を使用したクリプター(ウイルスを難読化してウイルス対策プログラムからシグネチャを隠すため)を変更しようとしましたが、ほとんどのウイルス対策プログラムは文字通りバイナリをブルートフォースにしてそれを認識することができたため、うまくいきませんでした実際にはウイルスでした!ビットシフトの「暗号化」を、それを呼び出すことさえできれば、過去に文字列に使用して成功したC#ライブラリを介したAES暗号化に置き換えたかったのですが、機能させることはできませんでした。もう1つの問題は、暗号化アルゴリズムが複雑になるほど、ディスク全体をスイープし、支払いが完了したときに、最後に復号化するのに時間がかかることです。また、途中で失敗し、ジョブが不完全になる可能性も高くなります。

おばあちゃんのコンピューターで一度見たのは、ランサムウェアが実際に使用されて回復する前の頃、彼女のファイルを暗号化して約200ドルを解読したいと思っていたランサムウェアプログラムでした。実際に行われたことは、すべてのファイルの最後に拡張子「.crypted」を追加することだけだったので、ウィンドウはそれらのいずれかを開くために使用するプログラムを認識していませんでした!それがわかったら、タスクマネージャーを使用して元のランサムウェアファイルを見つけて削除し、システム上のすべてのファイルを再帰的にチェックして.crypted拡張子があるかどうかを確認し、存在する場合は削除するだけです。問題は1時間以内に解決され、ハッカーにお金は一切支払われません!しかし、彼らがAESを使用していた場合、この手法はまったく機能しなかったでしょう。また、ウイルスファイルを削除すると、軍事グレードの暗号を解読する可能性が失われる可能性があります。

違いは、ウィンドウがファイルを開けないようにファイル拡張子を変更する最初の手法を使用した男は、ミリタリーグレードの暗号化を使用する男がウイルスを駆除するまでに、おそらく何百もの感染症があり、5%の人が最初のものを修正するのに十分賢い人は、おそらく2番目のものに感染しないように十分賢いでしょう。身代金を支払う以外にウイルスを修正する方法を理解できなかった残りの95%の人は、おそらく最初にそれを(簡単に壊れやすいランサムウェアを持っている人に)支払ってから、すぐに完全バックアップソリューションをセットアップしましたそれが二度と起こらないようにするため。彼らが後で軍用グレードのランサムウェアに感染した場合、彼らはすでに自分の教訓を学び、バックアップから復元しただけです。うまくいけば、まだ感染していない人でもバックアップの設定を開始するため、身代金を一度支払う必要さえありません。

このシナリオから、簡単に壊れやすいランサムウェアを持っている人が最初にそれを解放できることを確認できます。それは、ウイルス対策プログラムが復号化前にウイルスを削除できたとしても、動作が速く、信頼性が高く、簡単に元に戻すことができます。そのため、彼は完全な防弾ランサムウェアウイルスをセットアップするために膨大な時間を費やす人よりも多くのお金を稼ぐでしょうが、人々が重要なファイルを賢明にバックアップし始めた後、市場に出てきます。

5