それで、私とネットワーク管理者の友人はビットコインのマイニングについて話し合っていました。非常に多くのポータブルビットコインマイニングソフトウェアを使用して、ネットワークでそれらを検出するさまざまな方法を見つけたかったのです。
特定のホストがビットコインマイニングソフトウェアを実行しているかどうかをどのように検出できますか?私が試したさまざまな鉱山労働者はすべてポータブルです。 Program Files
、bin
フォルダーを除外して、パスとは関係なく保存して実行できます。
ビットコインマイニングをどのように検出するかに関する他のアイデアはありますか?
トラフィックパターンなどを探すことはできますが、ビットコインを採掘する群衆、Torの仕組みを知っている群衆、およびプライバシーを保護するために驚くほどの距離を費やす群集の間には大きなクロスオーバーがあります。つまり、ネットワーク上での検出はそれほど信頼できるものではありません。帯域幅全体を使用しないと、特に困難になります。
彼らが隠せない可能性が高いのは、CPUとGPUの使用です。 SNMP経由でマシンにアクセスできる場合は、リモートでCPUスパイクを監視するか、ネットワーク上のマシンに対して Get-Process PowerShellコマンドレットを使用して、CPU時間で実行されているものを探すことができます。 GPU時間の場合。なんらかの方法で消費電力を監視できない限り、実際に使用状況を特定することはできません。
残念ながら、ユーザーが任意のパスに必要なソフトウェアをインストールすることを許可しているため、信頼できる反復可能な方法を思い付くことができない可能性があります。探している人がマイナーを変更したり、パスを変更したりする可能性があります。署名を変更します。
パケット検査:getwork は、マイニングの主要な公式プロトコルです。 l7フィルター パターンを作成して、パケットをマークしてドロップすることができるかもしれません。 Sandvine のような大きな$の帯域幅管理デバイスがgetworkを検出できても、私は驚かないでしょう。
ただし、ほとんどのマイニングはプールされます。これが達成される方法はかなり多様であるようです。一部のプールには独自のカスタムクライアントさえあります。彼らはおそらく多種多様な異なるネットワークプロトコルを使用しています。
さらに、マイニングマルウェアは、SSHやTORなどを介してトンネルし、この種の戦略を迂回する可能性があります。
AV:私の経験では、AV製品は少なくとも異なるマイニングソフトウェアの署名を維持するように努力しています: 例
まあ、やや合理的な$$$の方法があります。各キュービクル/アウトレットにメーターを追加し、誰が使いすぎているかを確認して調査します。彼らは静的ツールを簡単に打ち負かすことができますが、このマシンが電力を消費し過ぎている理由を手動で調査することは困難です(何も見つからない場合は、当然、見続けることになります)。