説明:ドメイン生成アルゴリズム

    Pieter ArntzPieter Arntz
    4年前

ドメイン生成アルゴリズム(Dga)は、マルウェアに新しいドメインをオンデマンドまたはオンザフライで提供するプログラムまたはサブルーチンです。

歴史

Krakenは、我々が見つけることができたDGA(2008年)を使用した最初のマルウェアファミリでした。 その年の後半、ConfickerはDGAをより有名にしました。

固定ドメインまたはIPアドレスに依存するマルウェアが迅速にブロックされ、操作が妨げられるため、DGA技術が使用されています。 したがって、マルウェアの新しいバージョンを持ち出したり、新しいサーバーですべてを再度設定したりするのではなく、マルウェアは定期的に新しいドメ

実際のDGAの例は、ボットネットとランサムウェア用のC&Cサーバーです。 これらをブロックしたり、それらをダウンさせることができれば、被害者と脅威の俳優の間のリンクを切断します。 ボットは新しい命令を取得できなくなり、ランサムウェアに感染したマシンは暗号化キーを要求してユーザーデータを送信できなくなります。

C&cサーバーのドメインを一定に変更することは、”Domain Fluxing”または”Fast Fluxing”とも呼ばれ、実際にはDNS負荷分散システムの悪用に基づく古い技術への参照です。

それがどのように動作するかについての詳細

これらのアルゴリズムがどのように動作するかをよりよく理解するために、彼らが満たさなければならない要件を見てみましょう:

  • ルーチンは、通信チェーンの両側に予測可能なドメインを生成する必要があります。
  • ルーチンは、セキュリティ研究者にとって可能な限り予測不可能でなければなりません。
  • 使用されるドメインの膨大な量を考えると、ドメイン登録料は低くなければなりません。
  • スピードの必要性は膨大なものになる可能性があります。
  • 登録プロセスは匿名であるか、少なくとも追跡不可能である必要があります。

予測可能性を達成するために、まだ研究が困難なままであるため、DGAルーチンはいくつかのビルディングブロックを使用します:

  • シード、基本要素
  • 時間とともに変化する要素
  • トップレベルドメイン(Tld)

imagedga

画像提供:Cisco Blog

シードはフレーズまたは数字にすることができます。 実際には、脅威アクターが自由に変更できるもの(例えば、新しいバージョンに切り替えるとき)、およびアルゴリズムで使用できるもの。 シードと時間ベースの要素は、ドメイン名を作成するためのアルゴリズムで結合され、この”本文”は利用可能なTldのいずれかと結合されます。

時間ベースの要素は、日付と時刻のようなものである必要はないことに注意してください。 それは、例えば、接続の瞬間に特定の国のTwitter上のトレンドトピックのように、時間とともに変化する何か他のものにすることができます。 これは、研究者が事前に特定のドメインを登録し、トラフィックを傍受したり、買収を行うことを困難にするため、実際には、予測が困難なものが好ま

対策を捨てるもう一つのトリックは、アルゴリズムが生成するすべてのドメインを使用するのではなく、特定のドメインのみを使用することです。 これにより、トラフィックを傍受する予定の場合、研究者が登録するために必要なドメインの数が大幅に増加します。

Tldに関しては、。xyz、.トップ、および。入札は、現時点では非常に人気があります。 これは、前述の理由によるものです:低コストと迅速な可用性、レジストラは、自動化された匿名ドメイン登録を可能にするためです。

概要

ドメイン生成アルゴリズムは、サーバーがブラックリストに登録されたりダウンされたりするのを防ぐためにサイバー犯罪者によって使用されています。 このアルゴリズムは、ランダムに見えるドメイン名を生成します。 アイデアは、同じアルゴリズムを使用している二つのマシンが与えられた時間に同じドメインに連絡するので、彼らは情報を交換したり、命令をフェッチすることができるようになりますということです。

リンク

技術的な詳細については、ドメイン生成アルゴリズムの分析

と例:脅威スポットライト:Dyre/Dyreza:DGAを発見するための分析

Pieter Arntz

You might also like

コメントを残す

メールアドレスが公開されることはありません。