異種スマート ホームネットワークにおける軽量の IoT クリプトジャッキング検出メカニズム

ネットワークおよび分散システム セキュリティ (NDSS) シンポジウム 2022、2022 年 4 月 24 ~ 28 日

概要

最近、クリプトジャッキング マルウェアは、多数の被害者から利益を得る簡単な方法となっています。以前に研究されたクリプトジャッキング検出システムは、(ブラウザ内)および(ホストベース)ホストベースのクリプトジャッキング マルウェアに焦点を当てていました。

ただし、これらの以前の研究では、この文脈でのさまざまな攻撃構成やネットワーク設定を調査したものはありませんたとえば、積極的な収益化戦略を持つ攻撃者は、短期間でより多くの利益を得るためにコンピューティング リソースを最大限に活用する可能性がありますが、ステルス攻撃者は、攻撃を行わずに被害者のデバイスに長期間留まりたいと考える可能性があります。見つけられる。

検出メカニズムの精度は、積極的な攻撃者とステルス攻撃者の間で異なる場合があります。収益化戦略、クリプトジャッキング マルウェアの種類、被害者のデバイス、ネットワーク設定はすべて、検出メカニズムのパフォーマンス評価において重要な役割を果たします。

さらに、複数の IoT デバイスを備えたスマート ホーム ネットワークは、攻撃者によるマイニングのために簡単に悪用される可能性があります。しかし、IoT デバイスや侵害されたスマート ホーム ネットワークに対する暗号化マルウェアの影響を調査したこれまでの研究はありません。

  • この論文では、まず、(ブラウザ内) と (ホストベース) の両方のクリプトジャッキングを検出できる、ネットワーク トラフィックの特性に基づいた正確かつ効率的な IoT クリプトジャッキング検出メカニズムを提案します
  • 次に、IoT などの新しいデバイス カテゴリでのクリプトジャッキングの実装に焦点を当て、攻撃者の現在の攻撃面をカバーする検出メカニズムを評価するためのいくつかの新しい実験シナリオを設計します。特に、さまざまな攻撃構成とネットワーク設定でメカニズムをテストします。このために、640 万のネットワーク パケットで構成されるネットワーク トレース データセットを使用します。

結果は、私たちの検出アルゴリズムがわずか 1 時間のトレーニング データで最大 99% の精度を達成できることを示しています。私たちの知る限り、この研究は IoT におけるクリプトジャッキングに焦点を当てた最初の研究であり、クリプトジャッキング検出の分野でさまざまな攻撃動作とネットワーク設定を分析した最初の研究です。

1. はじめに

バックグラウンド

ブロックチェーン技術は中央権威を排除し、コンピューティング能力に基づくコンセンサスモデルを通じてチェーン上のトランザクションの不変性を保証します。このコンセンサス モデルは PoW プルーフ オブ ワークと呼ばれ、ビットコイン、イーサリアム、モネロなどのブロックチェーン ネットワークで使用されます。PoW コンセンサス アルゴリズムはハードウェアの計算能力に依存しており、ハッシュ ベースの問題を解決するには多量のエネルギーが必要であり、このエネルギー コストはマイニング作業の主な出費の 1 つです。

このエコシステムでは、クリプトジャッキングは、被害者の知識や同意なしに被害者の処理能力を使用する行為です。攻撃者が被害者のコンピューティング能力をクリプトジャッキングに悪用する主な方法は 2 つあります。

  • Web サイトにスクリプトを挿入します。
  • マイニング プログラムをホストに渡します。

クリプトジャッキング攻撃の人気と、より大規模な攻撃ドメインを標的にする能力により、IoT デバイスはますます攻撃者の標的になりつつあります。ただし、IoT デバイスは通常、リソースに制約があります。つまり、攻撃者は通常、個々のデバイスから利益を得ることはありませんが、ボットネット攻撃などの手法を使用して IoT デバイスを大規模に制御し、攻撃やマイニングを実行できるようにします。

  • Mirai は 2017 年に大規模な分散型サービス拒否攻撃 (DDoS) を実行し、攻撃者はネットワークを利用してビットコインを偽造し、ボットネットを仮想通貨マイニング プールに変えました。
  • 最近、Mirai からインスピレーションを得た別のボットネットである LIQUOR IoT も、IoT デバイス上で Monero のマイニングを開始しました。

IoT 業界と IoT デバイスの機能が進化し続ける一方で、攻撃者が攻撃対象領域を拡大する余地も増えています。

IoT ネットワークが非 IoT ネットワーク (通常のコンピューター、サーバー) よりもメリットがある理由は次のとおりです。

  1. ベンダー、通信プロトコル、ハードウェアが多様であるため、標準/統合防御ソリューションの開発が困難になっています。
  2. 機能とリソースが限られているため、IoT デバイスの構成は簡単ではありません。IoT デバイスは、リアルタイムおよびリモート アクセス機能のためにクラウドと常に通信しており、攻撃者がボットネットを拡散および維持するための別の攻撃面を提供します。
  3. IoT デバイスには、急速に成長する市場とセキュリティ意識の欠如により、セキュリティ上の欠陥 (例: デフォルトのパスワード、認証なし) があり、クリプトジャッキング マルウェア攻撃者にとって理想的な標的となっています。

このペーパーでは、IoT デバイスに焦点を当て、ブラウザおよびホストベースの IoT クリプトジャッキング マルウェアを検出できる検出システムを設計することを目標とします

ほとんどの IoT デバイスはハードウェア レベルの機能やブラウザ固有の機能を収集するようにプログラムすることが許可されていないため、IoT クリプトジャッキングの検出は困難です。ただし、ネットワーク トラフィックに基づく機能はルーター上の統一インターフェイスに収集できます。つまり、デバイスを変更するためのプログラミングはまったく必要ありません。そこで、この論文では、ネットワークベースのシグネチャを使用して IoT クリプトジャッキング マルウェアを検出し、2 種類のクリプトジャッキング攻撃を検出できる、正確で軽量かつ実装が簡単なクリプトジャッキング検出システムを提案します。

私たちは、最適な IoT クリプトジャッキング検出メカニズムを設計および評価するために一連の実験を実施します。

  • まず、実験を行って、最高ランクの特徴、最も正確な分類器、最適なトレーニング サイズを見つけます。
  • 次に、さまざまな攻撃者の行動とネットワーク設定を評価するために設計された 12 の実験を通じて、IoT クリプトジャッキング検出メカニズムの有効性を評価します。

この目的を達成するために、私たちはクリプトジャッキング マルウェアを IoT デバイス、ラップトップ、サーバーに安全に実装します。

助ける

  • 私たちは、IoT ネットワーク向けの正確かつ効果的なクリプトジャッキング検出アルゴリズムを提案します。当社はネットワーク トラフィック ベースの機能を使用しているため、当社のアルゴリズムはクラウドやデバイスに依存せずにブラウザーおよびホストベースのクリプトジャッキング マルウェアを検出できます。
  • アルゴリズムを評価するために、いくつかの新しい実験シナリオを設計します。さまざまな攻撃構成 (クリプトジャッキングの種類、収益化戦略、デバイス、スロットリング値など) とネットワーク設定 (完全または部分的に侵害されたものなど) を評価しました。この論文は、暗号化攻撃検出の分野におけるさまざまな攻撃戦略とネットワーク設定を分析した最初の論文です。
  • クリプトジャッキング マルウェアを IoT デバイスに実装する際のいくつかの実際的な問題を克服するために、今後の他の研究で改良できる新しい技術を使用します。
  • この分野の研究を加速するために、データセットとコードをリリースします。

https://github.com/cslfiu/IoTCryptojacking2

研究結果の概要

軽量で高精度の IoT 検出メカニズムに加えて、さまざまな攻撃者の行動とネットワーク設定を評価するために広範な実験を実施しました。その結果、注目に値するいくつかの興味深い結果が得られました。

  • 悪意のあるパケットの最高生成率は、表 III に示されている良性データセットの最低パケット生成率より 72% 低いことがわかりますこれは、暗号化されたマルウェアが日常の Web 閲覧やアプリケーション データほど多くのパケットを生成しないことを示唆しています。
  • ブラウザ内マルウェアはCPU のスロットルやネットワーク トラフィックの最小化などの回避手法を使用しますが、ホストベースのマルウェアは最大のコンピューティング能力でデバイスを操作しようとすることがわかりました。
  • 暗号化攻撃者は、他のデバイス タイプ (ラップトップや IoT など) よりもサーバー タイプのデバイスに対する攻撃中に検出される可能性が高いことがわかりました。
  • ステルス戦略 (つまり 10% のスロットル) を使用した悪意のあるシナリオは、堅牢な (つまり 50% のスロットル) および積極的な (つまり 100% のスロットル) 攻撃シナリオよりも精度が低いことがわかりました。これは、攻撃者の難読化手法が検出フェーズ中に依然として影響を与える可能性があることを意味します。

スロットリング: 単位時間あたりの過剰な流量を回避するために、バルブのように水流を制御します。

2. 背景

A. 暗号通貨マイニング

新しい暗号通貨が流通するプロセスである暗号通貨マイニングは、分散型ブロックチェーン台帳の維持と継続性における重要な要素です。ブロックチェーン ネットワークの不変性は、コンセンサス メカニズム、つまり暗号通貨マイニングによって提供されます。

暗号通貨のマイニングは手間がかかり、費用がかかるプロセスであり、マイナーの報酬は運の要素に左右されます。作業ベースのコンセンサス メカニズムは、ハッシュ アルゴリズムの拡散特性の恩恵を受け、マイナーが非対称パターンでハッシュ値を予測することを防ぎます。

B. クリプトジャッキングの種類

このセクションでは、さまざまな種類のクリプトジャッキング マルウェアの詳細とその類似点と相違点について説明します。

  • ブラウザ内クリプトジャッキング: 攻撃者は、JS ライブラリや Wasm などのテクノロジーを利用して、ブラウザ内クリプトジャッキング マルウェアを実装します。
  • ホストベースのクリプトジャッキング: 攻撃者は被害者のホストのコンピューター システムに身を隠し、暗号通貨をマイニングします。

C. 機械学習ツール

  1. 特徴抽出および選択ツール: 特徴抽出は、データセットをより管理しやすく、処理に使用可能な形式に縮小するデータセット サイズ縮小操作です。dtsfreshを使用した特徴抽出計算の後、重要度レベル (P 値) がランク付けされ、重要度の低い特徴を削除して分類プロセスを改善するために相関テーブルが構築されます。
  2. 機械学習分類子: 分類は、1 つ以上の独立変数に基づいて従属変数のカテゴリを決定する手法です。このペーパーでは、いくつかの異なる分類モデル (Logreg、KNN、SVM、RF など) を使用してモデルをトレーニングし、正確な結果を得ました。

3. 敵対者のモデルと攻撃シナリオ

この論文で提案したクリプトジャッキング検出メカニズムをテストするために、7 つの攻撃ケースを評価し、12 の個別の実験を実施しました。このセクションでは、IoT デバイスがどのようにマルウェアの標的になる可能性があるか、また実験でこれらの攻撃者を追跡する方法について説明します。

A. サービスプロバイダーによるクリプトジャッキング

攻撃者は通常、Web ページや Web アプリケーションのコード インジェクションの脆弱性を悪用して、サービス プロバイダーが提供するマイニング スクリプトをインジェクトします。過去 1 年間で、モノのインターネット フレームワークは急速に発展しました。攻撃者は、これらのフレームワーク機能を既知の脆弱性と結合し、これらの脆弱性を悪用して、これらのデバイスでマルウェアを実行します。

私たちは、LG の WebOS 開発フレームワーク [40] を使用して WebOS IoT クリプトジャッキング マルウェアを実装し、ユーザーがアプリケーションの実行を開始したときにクリプトジャッキング スクリプトを呼び出す基本的な WebOS アプリケーションを開発しました。

安定した制御されたクリプトジャッキング環境を作成できるようにするために、制御されたサーバーの下に Web サイトを準備し、いくつかの異なるクリプトジャッキング スクリプトをホストしました。私たちは主要なサービスプロバイダーとして Webmine [41] を選択しました。さまざまなレベルのコンピューティング ハードウェアを組み合わせてスクリプトを実行し、これらのスクリプトの特徴的な結果を観察しました。

B. コマンド&コントロール(C&C)サーバーを使用したクリプトジャッキング

C&C とは、敵がコンピュータを使用してデバイスに命令を送信することを指します。ID セキュリティ上の理由から、攻撃者は通常、これらのサーバーをクラウドベースのプラットフォームでホストします。

図 1 は、マイニング プールに接続された C&C サービスの基本構成を示しています。クリプトジャッキング ドメインでは、C&C サーバーはマイニング プールのサブセットとして機能し、マイニング プールからタスクを受信し、タスクを IoT デバイスに配布します。

画像の説明を追加してください

このペーパーでは、攻撃されたデバイスと C&C サーバー間の通信パイプラインに焦点を当てます。この設定でのプロセスとデータ通信をデモンストレーションするために、異なる期間の間にマイニング タスクを送信する C&C サーバーを作成しました。この時間頻度は、ブロックチェーンネットワークのブロック頻度に応じて変更できます。私たちは、LG WebOS [40] スマート TV とテスト プラットフォームを使用してこのシナリオを実装することに成功しました。

4. ネットワークトラフィックを介したIoTクリプトジャッキングの検出

ネットワーク トラフィックの分類および識別テクノロジは、ここ数年で広く使用されるようになり、サーバ側とローカル ネットワーク側でのユーザまたはデバイスのプロファイルの作成はよく知られたテクノロジです。

この記事では、インターネットに接続できるようにするために、多くの IoT デバイスと非 IoT デバイスがルーターに接続されているスマート ホーム ネットワークのセットアップについて考えます。各デバイスは MAC アドレスによって識別できます。したがって、ネットワーク内のデバイスを、ネットワーク内の特定のデバイスの(MAC 0 , MAC 1 , … , MAC n ) (MAC_0, MAC_1, …, MAC_n)として定義します。(マック_ _0マック_ _1マック_ _

私たちは、このネットワーク内の 1 つ以上のデバイスが、攻撃者に代わって暗号通貨マイニングを実行するために攻撃者によって侵害されたと仮説を立てました。私たちの目的は、一定期間にわたってネットワーク トラフィックを監視することで、そのような行為を行っているデバイスを検出することでし

このために、悪性データと良性データで事前にトレーニングされた機械学習アルゴリズムを使用します。デバイスは、データ形式に変換する必要があるネットワーク トラフィックを継続的に生成します。機械学習アルゴリズムは、デバイスが機能するかどうかを予測できます。

正しい形式に変換する前に、次のフィルターで各パケットをフィルターします。

( MAC src = = MAC i ) OR ( MAC dst = = MAC i ) (MAC_{src}==MAC_i)\;OR\;(MAC_{dst}==MAC_i)(マック_ _src _ _==マック_ _私は)または_(マック_ _ディーエスティー_==マック_ _私は)

次に、各パケットから次のメタデータを抽出します。

P kti = [MAC i , タイムスタンプ , パケット長 ] Pkt_i= [MAC_i,\, タイムスタンプ,\, パケット\,\, 長さ]PK _ _私は=[マック_ _私はタイムスタンプ_ _ _ _ _ _ _パケット_ _ _ _ _] _ _ _ _

プロセスの最後に、各デバイスの特定の時間に到着するパケット長の範囲が得られます。最後に、10 個のデータ パッケージを使用して特徴を計算し、これらの特徴を使用して機械学習アルゴリズムをトレーニング/テストします。

5. データセットの収集

この記事で注目するデータは、IoT デバイスとクリプトジャッキング サービス プロバイダー間のネットワーク通信データです。このセクションでは、IoT 環境で使用するトポロジ、ツール、方法論、その他の実装の詳細に焦点を当てて、主なデータセットの収集と作成のプロセスについて説明します。

A. トポルプギー

ネットワーク内の制御されたデバイスの不正なマイニング動作を検出します。

画像の説明を追加してください

  1. すべてのデバイスが単一のインターネット ルーターを経由する、通常のスマート ホーム ネットワーク。
  2. このネットワークには、ポート ミラーリングと ARP 再ルーティングを使用してすべてのインターネット トラフィックを収集する専用のコンピューターがあります。
  3. ネットワーク内の侵害されたデバイスは、クリプトジャッキング サービス プロバイダーまたはマルウェア C&C サーバーに接続して、タスクを受け入れ、計算結果を返します。

B. デバイス

ここに画像の説明を挿入

私たちは、異なるコンピューティング機能を表す 4 つの異なるデバイスで実験を実施しました。Raspberry Pi と LG Smart TV は現実世界のネットワークにおける IoT デバイスを表し、ラップトップは通常のデバイスを表し、タワー サーバーは強力なコンピューティング デバイスを表します。表 1 に、実験で使用したデバイスとその仕様を示します。

さらに、図 2 の特定のトポロジでは次のようになります。

  • ルーターとして TP-link Archer C7 V5 を使用します。
  • Ettercap を使用して ARP プロトコルを操作し、ネットワーク トラフィックをデータ収集コンピュータの IP アドレスに転送します。

このネットワーク構成では、Wireshark パケット コレクターとアナライザーを使用してすべてのネットワーク データを収集できました。

C. 実装方法

ブラウザ内とホストベースのクリプトジャッキングの実装は、いくつかの点で異なります。次のサブセクションでは、その実装の詳細について説明します。

ブラウザ内クリプトジャッキングの実装

安全な環境でブラウザのクリプトジャッキングを実行できるようにするために、いくつかの異なるマルウェアを含む基本的な WordPress [49] Web ページを立ち上げました。テスト Web サイトのさまざまなページのソース コードに、さまざまな HTML ベースのマルウェア サンプルを配置しました。セクション III で説明されているように、これらのページをテスト デバイスに接続し、ユース ケース シナリオごとに少なくとも 12 時間のネットワーク トラフィック データを収集します。ブラウザ内暗号通貨マイニングには、Webmine.io および WebminePool [50] サービス プロバイダーによって配布されたスクリプトを使用しました。

ホストベースのクリプトジャッキングの実装

Raspberry Pi、ラップトップ、タワーサーバーにホストベースのクリプトジャッキングを実装するのは簡単です。暗号通貨マイニング バイナリ MinerGate V1.7 をダウンロードし、実行させました。

ただし、LG スマート TV でこれを行うには、デバイスがバイナリ MinerGate ファイルを実行できる必要があるため、さらに困難になります。そこで、LG WebOS フレームワークを使用してベース アプリケーションを開発しました。このフレームワークは、プログラムの実行中に常にクリプトジャッキング マルウェアを実行します。1 GB RAM、1 コア CPU、および UbuntuServer 18.4 で構成されたクラウド サーバーを使用します。WebOS 対応のスマート TV および C&C サーバーで実行される悪意のあるプログラムを作成した後、実際のマイニング プロセスに次の 2 つの異なるモデルを実装しました。

  1. 切断されたマイニング プール: RandomX PoW アルゴリズム [3]、[52] を使用して最初の実装を作成しました。アプリケーションがアクティブ化されると、接続リクエストが C&C サーバーに送信され、その後 C&C サーバーはマイニング タスクを悪意のあるアプリケーションに送信します。マイニング タスクには、ハッシュレート、ノンス値の範囲、および目標難易度の 3 つの変数が含まれます。実装は、C&C サーバーが新しいコマンドを発行するか、目標難易度を満たすハッシュとノンスを見つけるまでマイニングを続けます。
  2. API 経由でマイニング プールに接続する: この実装と前の実装の違いは、C&C サーバーがマイニング タスク自体を作成するのではなく、API フレームワークを通じてマイニング プールからこれらのタスクを受け取り、悪意のあるアプリケーションに送信することです。

これら 2 つの方法の唯一の違いは、マイニング タスクを作成するエンティティ (C&C サーバーとマイニング プール) です。データセットには、Ant マイニング プール [53] を使用し、スマート アプリケーションと C&C サーバー間のデータ フローを収集しました。

D. ラベル表示

Wireshark がすべてのネットワーク データを収集する場合、セクション III で示したすべての攻撃シナリオを使用してネットワーク データを収集します。マイニングを実行しているデバイスによって生成されたネットワーク トラフィックは悪意があるとマークされましたが、暗号化を実行していないデバイスまたは現在マイニングを行っているデバイスによって収集されたデータ セットは良性としてマークされました。

E. 初期データ分析

私たちは、制御された環境セットアップを使用して悪意のあるデータを収集するためのさまざまなシナリオを考案し、攻撃者が使用する可能性のあるさまざまな構成と、実際のスマート ホーム環境で考えられるネットワーク セットアップを評価しました。構成と結果の詳細については、セクション VI を参照してください。

一方、最初の実験セットでは、パブリック リポジトリ [54] から無害なデータセットをダウンロードし、2 番目の実験セットでは、悪意のある攻撃に使用したのと同じデバイスのセットに対して独自の無害なデータセットを収集しました。データ収集。データセットの完全な詳細を表 II、表 III、および表 XI に示します。

画像の説明を追加してください

良性と悪性

このペーパーの主な目的は、悪性の Web データと良性の Web データを区別できるようにすることです。この目的を達成するために、クリプトジャッキング ネットワーク データに対していくつかの予備データ分析を実行し、その結果を次のようにリストしました。

  • 1 秒あたりのパケット数 (PPS) レート: 悪意のあるデータと良性のデータを区別するための重要な統計です。表 II からわかるように、使用した最も強力なデバイスがバイナリ クリプトジャッキング マルウェアを実行した場合、最も高い PPS レートが生成されました。ただし、悪意のある PPS の最高率は、表 3 に示す良性のデータセットの最低 PPS 率よりも 72% 低いです。これは、クリプトジャッキング マルウェアが日常の Web 閲覧やアプリケーション データほど多くのパケットを生成しないことを示唆しています。これは、データ収集段階と分析段階の両方において重要な課題です。この課題についてはセクション VII で詳しく説明します。
  • 平均パケット サイズ (APS) レート: すべての受信および送信ネットワーク パケットの平均サイズです。最高の悪意のある PPS レートは、webmine.io を使用してブラウザ内マイニングを行ったときに Raspberry Pi によって作成されましたが、悪意のあるデータの最高 APS レートは、良性データの最低 APS レートよりも 35% 低かったです。

ホストベースのクリプトジャッキングとブラウザベースのクリプトジャッキング

さまざまな攻撃シナリオでさまざまなデバイスによって生成されるさまざまなパターンを確認できるようにするために、このホワイト ペーパーで使用したすべてのデバイスでブラウザおよびバイナリ クリプトジャッキングを実行し、その結果を表 2 にまとめました。私たちの観察を次のように要約できます。

  • ブラウザ内マイニング: 通常、非常に少量の PPS レートと APS レートが生成されます。
  • ブラウザ内マイニングのさまざまなサービス プロバイダーの場合: Wembine.io と WebminePool の間に大きな違いはありません。
  • バイナリ マイニング モード: ブラウザ内マイニング アプリケーションでは使用されないと思われる機能。
  • ブラウザ内マイニング モードとバイナリ マイニング モードの場合: ブラウザ内マイニングでは常に少量のネットワーク トラフィックが生成されることがわかります。ハードウェア電力、PPS レート、および APS レートの間には有意な相関関係はありません。ただし、バイナリ マイニングでは、APS および PPS レートがデバイスの電力 (ラズベリー パイ対サーバー) に直接関係している、まったく異なるパターンが明らかになります。

Raspberry Pi 対ラップトップ対サーバー

最後に、デバイス固有の分析を実行しました。

  • すべてのデバイスは、ブラウザ内アプリケーションに対してほぼ同一の PPS および APS 結果を提供します。
  • バイナリ マイニング (ホスト ベース) を実行するすべてのデバイスについて、バイナリ クリプトジャッキング マルウェアが被害ホスト システムの能力と相関しており、PPS および APS レートも被害ホスト システムの能力に直接影響されることが観察されました。

要約すると、ネットワーク トラフィックの観点から見ると、ブラウザ内マルウェアはステルス性を維持し、データ集約型の通信を削減しようとしましたが、ホストベースのソフトウェアは大量のネットワーク トラフィックを生成したことがわかりましたこれは、ホストベースのクリプトジャッキング マルウェアが他の計算負荷の高いアプリケーションと連携して実行されることが多いためです。

6. 評価

このセクションでは、正確かつ効率的で、さまざまな構成やネットワーク設定に適用できる IoT クリプトジャッキング検出メカニズムを設計および評価するための 4 つの実験セットを設計します。

  • まず、一連の実験を実施して、高精度の予測率と最小限のトレーニング サイズと時間を備えた最適な IoT 検出メカニズムを設計します。
  • 次に、さまざまなデバイスなどのさまざまな構成に対して、最初のセクションで考案した検出メカニズムを評価するための実験を実行します。
  • 第三に、さまざまなスマート ホーム ネットワーク設定で提案されたメカニズムを評価するための一連の実験を実行します。
  • 4 番目に、提案された分類器の感度を評価するために一連の実験を実行します。

A. IoT クリプトジャッキング検出メカニズムの設計

データセットの収集とラベル付けプロセスの後、同じ数のパケットを持つ悪性データセットと良性データセットで構成される完全なデータセットを作成しました。表 IV は、データセットのサイズと、データセット全体の特徴抽出と分類の合計時間を示しています。

このサブセクションの目標は、ネットワーク トラフィックの特性に基づいて IoT 検出メカニズムを設計し、分類に機械学習 (ML) 分類器を使用することです。

これを行うために、次の手順を実行しました。

  • 特徴抽出を使用して、元のデータセットから特徴ベクトルを作成します。
  • 特徴選択アルゴリズムを通じて最適な特徴を選択し、無関係な特徴を削除します。
  • いくつかの ML 分類器をトレーニングおよびテストし、どの分類器が最もパフォーマンスが高いかを決定します。
  • さまざまなトレーニング サイズで最適なアルゴリズムをテストしてトレーニング データと時間を最適化し、予測時間を計算して実際のアプリケーションでのアルゴリズムの実現可能性を評価します。

1. 特徴抽出

tsfresh [37] を使用してデータセットから特徴を抽出します。tsfresh ライブラリは、時系列データから統計的特徴を自動的に計算する Python パッケージです。私たちのケースでは、各特徴ベクトルに 10 個のパケットを使用し、タイムスタンプやパケット長など、788 の異なる統計的特徴を計算しました。

2. 機能の選択

特徴の選択は、モデルに関連する特徴のサブセットを選択するプロセスです。データセット内のすべての特徴が同じ相関スコアを持つわけではありません。抽出された特徴を絞り込み、最も関連性の高い特徴のみを使用できるようにするために、P 値を計算しました。P 値は、帰無仮説が真である場合に得られるサンプル観測値よりも極端な結果の確率です。P 値が小さい場合、帰無仮説が発生する確率は非常に小さいことを意味し、帰無仮説が発生した場合、確率が小さいという原則に従って、帰無仮説を棄却する理由があります。 、帰無仮説を棄却する理由が大きくなります。290 のデータセット全体で統計的に重要な特徴を見つけ、これらの特徴を使用してモデルをトレーニングします。残りの実験でも同じプロセスを繰り返しました。

3. 分類子の選択

前のサブセクションで説明した特徴の精度をテストするために、4 つの機械学習分類器を実装しました。これらの分類器の実装中、データの 75% をトレーニングに使用し、25% を分類子のテストに使用しました。最初の 3 セットの実験では、scikit-learn のデフォルト パラメーター [57] を使用しましたが、セクション VI-D3 では、デフォルト以外のパラメーターをテストしました。

分類器の有効性を評価するために 5 分割相互検証 (CV) を使用し、すべての実験の指標として精度、精度、再現率、F1 スコア、ROC を使用しました。
ここに画像の説明を挿入
SVM は、優れた設計の教師あり機械学習分類器であり、明確な分離境界がある場合に非常にうまく機能しますまた、SVM 分類子は非常に安定しており、データセットの小さな変更は結果に重大な変化をもたらしません。したがって、このペーパーの残りの部分では、さらなる分析と他のユースケース シナリオの実装のために SVM 分類器を使用することにしました。

4. トレーニングの規模と時間

このセクションでは、さまざまなトレーニング サイズで実験を行います。この実験を通じて、データセットの収集時間が分類精度と全体的な分類時間に及ぼす影響を分析します。

参照結果を取得するには、まず元のデータセットのサイズを縮小して代表的なデータセットの時間を 12 時間に適合させ、次にそれを 12 時間、6 時間、3 時間、最後に 1 時間に適合させてから、分類を繰り返します。各トレーニングサイズでの精度と時間ベースの値を測定します。図 3 は、このセクションで取り上げた 4 つの異なる結果をまとめたものです。
画像の説明を追加してください

  • 精度: データセットを減らしてモデルを 1 時間フィッティングした後でも、精度は 94% を下回ることはありませんでした。私たちのモデルはデータセットのサイズに極端に依存せず、データ収集時間が長くなった場合でも正確な結果が得られることが示されています。
  • 特徴ベクトルごとの予測時間: 各特徴ベクトルがカテゴリを予測するのに必要な時間。実験によれば、特徴ベクトルのトレーニングに必要な時間はデータセットのサイズに関係しています。データセットが大きい場合、それぞれの評価にさらに時間がかかります。ただし、特徴抽出後は、各ベクトルの時間が 100 ~ 150 ミリ秒短縮され、最適化されます。
  • 特徴抽出および分類時間: 特徴抽出および分類時間は、各データセットが特徴を計算してそれらの特徴を分類するのに必要な時間を表します。c と d に示すように、この時間はデータセットのサイズに直接関係します。しかし、非常に短期間でほぼ完璧な結果が得られました。

次のように結論付けることができます。

  • デバイスやネットワーク内に大きなオーバーヘッドを発生させることなく、成功した検出システムを実装します。
  • わずかに小さいデータセットを使用して、データセットの精度と信頼性を犠牲にすることなくモデルをトレーニングできます。

B. さまざまな敵対的行動による評価

このサブセクションの目標は、セクション VIA で設計した IoT クリプトジャッキング検出メカニズムを、さまざまな攻撃構成を使用して評価することです。

攻撃者は、被害者のデバイスごとに異なる利益戦略を選択したり、ブラウザベースまたはホストベースの暗号化ハイジャックの種類を選択したりできます。これら 3 つの構成をテストする一連の包括的な実験を実行することにより、メカニズムを評価します。

すべてのシナリオと実験は、セクション VI-A で説明したのと同じ特徴抽出および選択プロセスを使用して実装されます。この実装アプローチにより、さまざまなユースケース シナリオに対して機能セットを効果的に使用する方法の結果を観察することができます。

不均衡なデータセットの問題の影響を最小限に抑えるために、3 つのシナリオに対して均衡のとれたデータセットを作成しました表 VII は、3 つのシナリオを実装するために使用したデータセットのサイズとソースを示しています。モデルのトレーニング プロセスには SVM 分類器を使用します。
ここに画像の説明を挿入
ここに画像の説明を挿入

  • シナリオ 1 (さまざまなタイプのデバイス設定のテスト) では、3 つの実験すべてでほぼ完璧なスコアを達成することができました。ただし、サーバーは最も高い精度を示しました。つまり、サーバータイプのデバイスに対する攻撃では、クリプトジャッキング攻撃者が検出される可能性が高くなりました。
  • シナリオ 2 (収益性の高いさまざまな戦略のテスト) では、秘密戦略 (つまり 10% のスロットル) と堅牢な戦略 (つまり 50% のスロットル) を使用した悪意のあるシナリオは、どちらも積極的な (つまり 100% のスロットル) シナリオよりも精度が低かったです。87% または 91% という精度値は依然として非常に高いと考えられていますが、攻撃者の難読化手法が依然として検出段階で違いを生む可能性があることも意味します。
  • シナリオ 3 (マルウェアの種類のテスト) では、ブラウザ内のマルウェアの結果は、ホストベースのクリプトジャッキングの場合よりもわずかに悪かっただけでした。クリプトジャッキング マルウェアはさまざまなデバイスを侵害する能力を持っていますが、私たちが提案するマルウェア検出システムは、デバイスに依存せずに進行中のクリプトジャッキング プロセスを検出できる必要があります。

3 つのシナリオと 8 つの個別の実験の結果から、抽出された特徴はデバイスに依存せずにほぼ完璧なスコアを達成できることがわかります。

C. スマート ホーム ネットワークにおける侵害されたデバイス番号の敵対的モデル

このセクションでは、スマート ホーム環境シミュレーション ネットワークで簡略化されたさまざまな敵対的モデルを調査します。

4 つの異なるシナリオを実装し、その結果をこのセクションの残りの部分で示します。
ここに画像の説明を挿入

  1. シナリオ 4 (デバイスの完全な侵害): このシナリオでは、ウイルス攻撃者はスマート ホーム環境内のすべてのデバイスを悪用して攻撃します。このシナリオは、いくつかのネットワークベースの攻撃に適用される可能性があります。この実験では、データセット全体を使用しました。
  2. シナリオ 5 (部分的なデバイス侵害): 攻撃者が異なるカテゴリの 2 つの異なるデバイス (ここでは IoT とラップトップ) を使用して、異なるクリプトジャッキング攻撃を実行することを示しています。IoT デバイスはホストベースのクリプトジャッキング攻撃やバイナリ マイニング操作の実行によって侵害されますが、ラップトップ デバイスはブラウザ内クリプトジャッキング攻撃の危険にさらされています。この場合、異なる悪意のあるエンティティによって実行される 2 つの個別の攻撃を考慮する必要がある可能性があります。ただし、この場合、両方のデバイスはインターネット通信に同じゲートウェイ (ルーター、ADSL モデム、イーサネット ポートなど) を使用します。
  3. シナリオ 6 (単一のデバイスが侵害される): 攻撃者が特定の脆弱性を使用してマルウェアを注入すると、1 つまたはごく少数のデバイスのみが特定の脆弱性によって悪用される可能性があります。ネットワーク内の 1 つのデバイスだけが攻撃者によって侵害された場合、不正なデバイスを検出することは困難です。このシナリオの目標は、1 つの IoT デバイスだけが侵害されていることをテストすることです。
  4. シナリオ 7 (侵害された IoT): このシナリオでは、異なるドメインの 2 つの IoT デバイスが 2 つの異なるタイプのクリプトジャッキング マルウェアによって悪用される状況について説明します。この環境をシミュレートできるようにするために、ホストベースの悪意のあるアプリケーションをホストするために悪用された LG WebOS スマート TV と、ブラウザでマイニングするために悪意のある Web ページによって悪用された Raspberry Pi を使用しました。

ここに画像の説明を挿入

最後の 2 つのシナリオの結果は、Mirai [13] および他の既知の IoT ボットネット [58] 攻撃シナリオのほとんどを反映しているため、重要です。私たちの結果は、デバイスが完全に侵害されているシナリオが検出メカニズムによって検出される可能性が最も高い一方、IoT デバイスのみが侵害されている場合でも比較的高い精度 (>92%) が達成できることを示しています。これは、実装された検出モデルと機能セットがさまざまな家庭環境攻撃シナリオを正常に検出できることを意味します。全体として、私たちが選択した分類子と機能セットの組み合わせにより、クリプトジャッキング マルウェアを高精度で検出できます。

D. 分類子の感度評価

このセクションでは、分類器の感度をテストするためにさらに実験を行います。

前のセクションの結果を独自のデータセットで検証するために、同じシナリオ (シナリオ 1 ~ 7) を繰り返しました。データセットのサイズと結果は、付録の表 XVI および XVII に示されています。

さらに、分類器の感度をテストするために、 1) 不均衡なデータセット、2) 転送可能性、および 3) デフォルト以外のパラメーターの実験という 3 つの追加実験を設計しました。このセクションの残りの部分では、これらの実験の詳細について説明します。

  1. シナリオ 8: 不均衡なデータセット。不均衡なデータセット シナリオをテストするために、次のデータセットを作成しました
    ここに画像の説明を挿入

表 XIII は、不均衡なデータセットのさまざまなシナリオにおける検出システムのパフォーマンスを示しています。私たちのトレーニング済みモデルは、全体的な精度 98% ですべての不均衡を検出し、正しく分類することができました。

  1. シナリオ 9: 分類子の移転可能性。このシナリオは主に、モデルの転送可能性をテストし、検出システムが新しい攻撃対象領域に対してどの程度耐性があるかを確認することを目的としていますしたがって、さまざまなマルウェアを使用してトレーニングとテストを行います。
    ここに画像の説明を挿入

表 XV から、私たちが提案した検出システムは、プラットフォームやサービス プロバイダーに依存せずにクリプトジャッキング マルウェアを検出できることがわかります。これらの結果は、機械学習ベースの検出システムが効果的な保護を提供できることを検証します。
3. シナリオ 10: デフォルト以外のパラメータを試します。SVM 分類器をテストするために、カーネル、正則化パラメータ (C)、ガンマの 3 つのパラメータを調整しました。
- カーネルは、低次元データを高次元データに変換する主要な機能です。
- 正則化パラメータは、決定境界と分類誤差の間のペナルティ パラメータを調整するために使用されます。
- ガンマ パラメータが高い場合、近くのポイントの影響が大きくなります。
ここに画像の説明を挿入
私たちの結果は、変数が異なると SVM 分類器の結果が大きく変わる可能性があることを示しています。デフォルトのパラメーターを使用して、分類器は平均スコア 87% でモデルをトレーニングします。ただし、パラメーターを変更し、考えられる 15 の組み合わせをすべて計算した後、0.52 ~ 0.89 のさまざまなトレーニング スコアが得られました。また、一部のパラメーターはデータセット分類の過学習につながります。ただし、クリプトジャッキング検出メカニズム

7. ディスカッション

8. 関連作品

9. 結論

  • この論文では、ネットワークトラフィックから抽出された特徴に基づいて、正確かつ効果的なクリプトジャッキング検出メカニズムを提案します。

  • 私たちのメカニズムは、ブラウザ内とホストベースの両方のクリプトジャッキング マルウェアを検出できます。1 時間のネットワーク トラフィック データを使用して機械学習分類器をトレーニングし、99% の検出精度を達成しました。

  • また、攻撃構成やホーム ネットワーク設定におけるメカニズムをテストするための新しい攻撃シナリオも設計します。

  • さらに、検出メカニズムの効率を理解するために、いくつかの異なるプラットフォームでのクリプトジャッキング攻撃を分析しました。

  • 攻撃者が使用する可能性のあるさまざまな構成や、マイニングが実行されるさまざまなネットワーク設定が検出精度にどのように影響するかを示します。

  • さらに、この分野の研究を加速するために、収集したネットワーク トラフィックとコードをオープンに共有します。

おすすめ

転載: blog.csdn.net/Sky_QiaoBa_Sum/article/details/127529428