マルウェアの一般的な特性を調査していますが、マルウェアの作成者が行う設計の選択を理解するのに少し苦労しています。上記の選択肢の多くは、人間の分析者がマルウェアを分解するのを困難にする一方で、自動化システムがマルウェアを「おそらく悪意がある」と非常に簡単にフラグ付けできるようにすることを中心に展開しているようです。そのような設計の選択の背後にある理論的根拠が誰かに教えてもらえるかどうか知りたいです。
たとえば、いくつかのアンチリバースエンジニアリング戦術。はい、彼らはアナリストがマルウェアを元に戻すことをより困難にするかもしれませんが、特にマルウェアがほとんど決して署名されていないので、TLSコールバックのような戦術は疑わしいものとして簡単にフラグを立てられる可能性がありますが、反REの目的でそのような技術を使用するほとんどの正当なソフトウェアです。
別の例は、反VM戦術です。ほとんどのAVエミュレーターは、短時間後にタイムアウトします。エミュレータを検出する必要はありません。数秒間だけ何かを実行します(sleep()の呼び出しなど、明らかに遅延しているもの以外)。一連のVMWareおよびVirtualBoxレジストリキーを開きます。 VM=を長続きさせることができない唯一のケースは、人間がサンプルを分析している場合であり、十分にやる気のある人間がプログラムを分析している場合、それらはgoingそれを最終的に元に戻すことができるので、なぜそれでも面倒なのですか?
たぶん私はマルウェアを作成する分野で十分な知識がなく、これらすべての目的を理解できないかもしれませんが、マルウェアの作成者が回避しようとするシステムの種類は、ほとんど自動化されたシステムであるように思えます。たとえば、ウイルス対策エンジンまたは自動化されたサンドボックスは、AV企業が新しい、潜在的に悪意のあるサンプルを分析するために使用し、これらのサンプルを「完全に悪意のない、破棄」および「潜在的に悪意のある、人間によるレビューのために送信」パイルに分類します。マルウェアの作成者の主な目的は、自動化されたシステムがプログラムを疑わしいものとしてフラグを立てないようにし、マルウェアが人間の分析者の前で終了する可能性を減らし、最終的には人間の分析者を少し苛立たせないようにすることです。とにかくマルウェアを分析することができます。
一部のマルウェア作成者は単なるスクリプトキディであることは知っていますが、少なくともいくつかがソフトウェア開発の選択に力を注いでいると思います。彼らは生計のためにマルウェア開発をしているので、私は彼らが主題について私より多くを知っていると思います。しかし、私は彼らが行う設計上の決定のいくつかを理解できません。誰かがこれらの決定の背後にある理論的根拠を私に説明できますか?
*アンチリバースエンジニアリングの理解に関して、マルウェアの作者に多すぎるクレジットを与えていると思います(また、プロのソフトウェア開発者にも多すぎるクレジットを与えているかもしれません)。私の経験では、ほとんどのマルウェア作成者はそれぞれ小さなバリエーション(他の作成者または研究者からのコードに基づく多くの時間)で独自の「お気に入り」のテクニックを使用します。同じ方法で、webdevは、作成するたびにほとんど同じ入力サニタイズコードを使用します。基礎となるアプリケーションコードに関係なく、パスワードフィールド。
また、「なぜxの戦術を説明しないのか」と言うことに関しては、マルウェアは猫とマウスです。 「最高の」アンチリコードを作成した場合でも、十分に使用すると、最終的には検出シグネチャになります。
最後に、分析に影響されないマルウェアはないので、ゲームのDRMに似ています。それがクラックされる前に、できるだけ多くの感染を取得しようとします。とにかくマルウェアが壊れて数日でシグネチャに変わってしまうのを見るために、1つのマルウェアのファンシーなアンチリスキームを作成するのに何ヶ月も費やすことができるので、アンチリ防御の質よりもマルウェアの量を増やす方が良いでしょう。
これらの設計上の選択は、主に次の2つの理由のいずれかで行われます。
1)彼らまたはその上司は、特定のキャンペーン、運用、または目的のために設計および実装する方法についての知識を持っているため、彼らに指示されます。多分彼らはあなたが知らない何かを知っています。
2)彼らはお金を稼いでいるので、彼らはお金を稼ぎ続けたいと思っています。彼らは私たちよりも多くのお金を稼ぎ、彼らはそれを作り続けています。それは変わらないので、彼らの公式は機能しています。壊れていない場合は、なぜ修正するのですか?
Moker のように、フル機能でバグのないマルウェアはめったにありませんが、それは起こります。 Mokerはあなたの基準に対しておそらく珍しい異常値だと思いますが、それは1つです。それは間違いなくアンチREとAVバイパス機能の両方の基準を満たしています。
私はそれを言うでしょう:
A)アンチREに重点を置いてAVバイパスに重点を置いているというこのマルウェアの概念は、おそらく最初から破られているという結論です。マルウェア作成者は明らかに両方を望んでおり、これらの概念は相互に機能しないと私は言うでしょう。実際、それらは対数的に健全である、つまり、あらゆる方向に拡張可能であると言えます。あなたがあなたの考えに含まれていないと私が思うのは、マルウェアの機能と動作がわかったら、それらが見つけ出されたらそれを簡単に見つけることができるということです...そして、それは存在するすべてのAV(またはおそらく30のうちの20)に入りますVirusTotalで...ただし、少なくとも3つ以上)。ほとんどのマルウェアの有効期間は3か月を超えて持続せず、ほとんどのマルウェアファミリーは3年間経過しません。ただし、現在の第3世代(第4世代?)のGeodoでは、DridexにいくつかのVawtrakが表示されます。コードの再利用はありますが、多くの場合、見つけるのが難しく、明確ではありません。
B)マルウェアの作成者は、最近、ほとんどの状況でBeyond-The Dropperのアイデアを思い付く必要があります。それは、彼らが彼らの悪意のあるロジックを明白な視界に隠す必要があることを意味します。彼らの焦点は、実際にはAVバイパスまたはアンチRE技術ではなく、むしろ プロセスインジェクション技術 に焦点を当てています。それは彼らが彼らの最も多くの時間を過ごすことができるところです、賢明なバックのために。残りのコードは、比較するとかなりコピーパスになる可能性があります。壁にいくつかの異なるクリプターを投げ、何が付着するかを確認します。