IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラックベリー リミテッドの特許一覧

特開2023-165633機械学習ベースのマルウェア検出のためのシステムおよび方法
<>
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図1
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図2
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図3A
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図3B
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図4A
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図4B
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図5
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図6
  • 特開-機械学習ベースのマルウェア検出のためのシステムおよび方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023165633
(43)【公開日】2023-11-16
(54)【発明の名称】機械学習ベースのマルウェア検出のためのシステムおよび方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20231109BHJP
【FI】
G06F21/55 320
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023071247
(22)【出願日】2023-04-25
(31)【優先権主張番号】17/737,446
(32)【優先日】2022-05-05
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】500043574
【氏名又は名称】ブラックベリー リミテッド
【氏名又は名称原語表記】BlackBerry Limited
【住所又は居所原語表記】2200 University Avenue East, Waterloo ON N2K 0A7, Canada
(74)【代理人】
【識別番号】100107489
【弁理士】
【氏名又は名称】大塩 竹志
(72)【発明者】
【氏名】ローラ マイカ グレイブス
(72)【発明者】
【氏名】アナンダディップ マンダル
(57)【要約】
【課題】機械学習ベースのマルウェア検出のためのシステムおよび方法を提供すること。
【解決手段】方法は、無害ネットワークデータと、マルウェアネットワークデータとを含む、ネットワークデータの訓練セットを取得することと、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別することとを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
前記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
前記2個1組のセットを使用して、機械学習エンジンを訓練し、前記無害ネットワークデータと前記マルウェアネットワークデータとを区別することと
を含む、方法。
【請求項2】
少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、
前記少なくとも1つの新しいイベントと関連付けられる前記少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、前記特徴抽出エンジンを従事させることと、
前記少なくとも1つの新しいイベントと関連付けられる前記少なくとも1つの送信元-送信先対に関する前記2個1組のセットを、分類のために、前記機械学習エンジンに送信することと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記機械学習エンジンから、前記少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信することをさらに含む、
請求項2に記載の方法。
【請求項4】
前記機械学習エンジンから、前記少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、
前記送信元または前記送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することと
をさらに含む、請求項2に記載の方法。
【請求項5】
訓練マルウェアサーバを使用して、前記マルウェアネットワークデータが、前記訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、前記マルウェアネットワークデータを生成することをさらに含む、
請求項1に記載の方法。
【請求項6】
前記マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される、請求項5に記載の方法。
【請求項7】
前記送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む、請求項1に記載の方法。
【請求項8】
前記マルウェアネットワークデータは、前記無害ネットワークデータよりも一貫した通信間隔歪度を含む、請求項1に記載の方法。
【請求項9】
前記マルウェアネットワークデータは、前記無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度を含む、請求項1に記載の方法。
【請求項10】
前記2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む、請求項1に記載の方法。
【請求項11】
システムであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合され、命令を記憶しているメモリであって、前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
前記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
前記2個1組のセットを使用して、機械学習エンジンを訓練し、前記無害ネットワークデータと前記マルウェアネットワークデータとを区別することと
を行うように、前記少なくとも1つのプロセッサを構成する、メモリと
を備える、システム。
【請求項12】
前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、
前記少なくとも1つの新しいイベントと関連付けられる前記少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、前記特徴抽出エンジンを従事させることと、
前記少なくとも1つの新しいイベントと関連付けられる前記少なくとも1つの送信元-送信先対に関する2個1組のセットを、分類のために、前記機械学習エンジンに送信することと
を行うように、前記少なくとも1つのプロセッサをさらに構成する、請求項11に記載のシステム。
【請求項13】
前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
前記機械学習エンジンから、前記少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信するように、前記少なくとも1つのプロセッサをさらに構成する、請求項12に記載のシステム。
【請求項14】
前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
前記機械学習エンジンから、前記少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、
前記送信元または前記送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することと
を行うように、前記少なくとも1つのプロセッサをさらに構成する、請求項13に記載のシステム。
【請求項15】
前記命令は、前記少なくとも1つのプロセッサによって実行されるとき、
訓練マルウェアサーバを使用して、前記マルウェアネットワークデータが、前記訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、前記マルウェアネットワークデータを生成するように、前記少なくとも1つのプロセッサをさらに構成する、請求項12に記載のシステム。
【請求項16】
前記マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される、請求項15に記載のシステム。
【請求項17】
前記送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む、請求項12に記載のシステム。
【請求項18】
前記マルウェアネットワークデータは、前記無害ネットワークデータよりも一貫した通信間隔歪度、または前記無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度のうちの少なくとも1つを含む、請求項12に記載のシステム。
【請求項19】
前記2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、前記送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む、請求項12に記載のシステム。
【請求項20】
非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、その上に記憶されるプロセッサ実行可能命令を有しており、前記プロセッサ実行可能命令は、前記プロセッサによって実行されるとき、前記プロセッサに、
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
前記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
前記2個1組のセットを使用して、機械学習エンジンを訓練し、前記無害ネットワークデータと前記マルウェアネットワークデータとを区別することと、
を行わせる、非一過性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習に関し、特に、機械学習ベースのマルウェア検出のためのシステムおよび方法に関する。
【背景技術】
【0002】
コマンドアンドコントロールは、攻撃者が、持続性を維持し、感染したホストと通信し、データを盗み出し、コマンドを発行することを可能にする、エクスプロイト後の戦術である。いったんホストが、感染すると、マルウェアは、攻撃者に対するコマンドアンドコントロールチャネルを確立する。検出を回避するために、エージェントは、多くの場合、長期にわたって、休止状態になり、さらなる命令のために、周期的にサーバと通信する。これらの断続的な通信は、マルウェアビーコンと称される。
【0003】
ネットワークデータ内のマルウェアビーコンの存在を検出することは、いくつかの理由のために困難である。例えば、埋め込まれたエージェントに関するチェックイン間隔は、変動し、殆どのコマンドアンドコントロールシステムは、例えば、コールバック時間にランダムジッタを追加することによって等、検出を回避するための内蔵された技法を有する。別の実施例として、マルウェアビーコンは、多くの場合、DNSまたはHTTPリクエスト等の通常の通信を真似ることによって、ネットワークデータとして偽装される。
【発明の概要】
【課題を解決するための手段】
【0004】
本発明は、例えば、以下の項目を提供する。
(項目1)
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
上記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
上記2個1組のセットを使用して、機械学習エンジンを訓練し、上記無害ネットワークデータと上記マルウェアネットワークデータとを区別することと
を含む、方法。
(項目2)
少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、
上記少なくとも1つの新しいイベントと関連付けられる上記少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、上記特徴抽出エンジンを従事させることと、
上記少なくとも1つの新しいイベントと関連付けられる上記少なくとも1つの送信元-送信先対に関する上記2個1組のセットを、分類のために、上記機械学習エンジンに送信することと
をさらに含む、上記項目に記載の方法。
(項目3)
上記機械学習エンジンから、上記少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信することをさらに含む、
上記項目のいずれか1項に記載の方法。
(項目4)
上記機械学習エンジンから、上記少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、
上記送信元または上記送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することと
をさらに含む、上記項目のいずれか1項に記載の方法。
(項目5)
訓練マルウェアサーバを使用して、上記マルウェアネットワークデータが、上記訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、上記マルウェアネットワークデータを生成することをさらに含む、
上記項目のいずれか1項に記載の方法。
(項目6)
上記マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される、上記項目のいずれか1項に記載の方法。
(項目7)
上記送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む、上記項目のいずれか1項に記載の方法。
(項目8)
上記マルウェアネットワークデータは、上記無害ネットワークデータよりも一貫した通信間隔歪度を含む、上記項目のいずれか1項に記載の方法。
(項目9)
上記マルウェアネットワークデータは、上記無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度を含む、上記項目のいずれか1項に記載の方法。
(項目10)
上記2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む、上記項目のいずれか1項に記載の方法。
(項目11)
システムであって、
少なくとも1つのプロセッサと、
上記少なくとも1つのプロセッサに結合され、命令を記憶しているメモリであって、上記命令は、上記少なくとも1つのプロセッサによって実行されるとき、
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
上記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
上記2個1組のセットを使用して、機械学習エンジンを訓練し、上記無害ネットワークデータと上記マルウェアネットワークデータとを区別することと
を行うように、上記少なくとも1つのプロセッサを構成する、メモリと
を備える、システム。
(項目12)
上記命令は、上記少なくとも1つのプロセッサによって実行されるとき、
少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、
上記少なくとも1つの新しいイベントと関連付けられる上記少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、上記特徴抽出エンジンを従事させることと、
上記少なくとも1つの新しいイベントと関連付けられる上記少なくとも1つの送信元-送信先対に関する2個1組のセットを、分類のために、上記機械学習エンジンに送信することと
を行うように、上記少なくとも1つのプロセッサをさらに構成する、上記項目のいずれか1項に記載のシステム。
(項目13)
上記命令は、上記少なくとも1つのプロセッサによって実行されるとき、
上記機械学習エンジンから、上記少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信するように、上記少なくとも1つのプロセッサをさらに構成する、上記項目のいずれか1項に記載のシステム。
(項目14)
上記命令は、上記少なくとも1つのプロセッサによって実行されるとき、
上記機械学習エンジンから、上記少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、
上記送信元または上記送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することと
を行うように、上記少なくとも1つのプロセッサをさらに構成する、上記項目のいずれか1項に記載のシステム。
(項目15)
上記命令は、上記少なくとも1つのプロセッサによって実行されるとき、
訓練マルウェアサーバを使用して、上記マルウェアネットワークデータが、上記訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、上記マルウェアネットワークデータを生成するように、上記少なくとも1つのプロセッサをさらに構成する、上記項目のいずれか1項に記載のシステム。
(項目16)
上記マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される、上記項目のいずれか1項に記載のシステム。
(項目17)
上記送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む、上記項目のいずれか1項に記載のシステム。
(項目18)
上記マルウェアネットワークデータは、上記無害ネットワークデータよりも一貫した通信間隔歪度、または上記無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度のうちの少なくとも1つを含む、上記項目のいずれか1項に記載のシステム。
(項目19)
上記2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、上記送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む、上記項目のいずれか1項に記載のシステム。
(項目20)
非一過性コンピュータ可読媒体であって、上記非一過性コンピュータ可読媒体は、その上に記憶されるプロセッサ実行可能命令を有しており、上記プロセッサ実行可能命令は、上記プロセッサによって実行されるとき、上記プロセッサに、
無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、
上記ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、
上記2個1組のセットを使用して、機械学習エンジンを訓練し、上記無害ネットワークデータと上記マルウェアネットワークデータとを区別することと、
を行わせる、非一過性コンピュータ可読媒体。
(摘要)
方法は、無害ネットワークデータと、マルウェアネットワークデータとを含む、ネットワークデータの訓練セットを取得することと、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別することとを含む。
【図面の簡単な説明】
【0005】
ここで、実施例として、本願の例示的実施形態を示す付随の図面に対して、参照が行われるであろう。
【0006】
図1図1は、ある実施形態による、機械学習ベースのマルウェア検出のためのシステムの高レベルブロック図を示す。
【0007】
図2図2は、ある実施形態による、マルウェア検出のための機械学習エンジンを訓練するための方法を図示する、フローチャートを提供する。
【0008】
図3A図3Aは、図2の方法による、機械学習エンジンを訓練するために使用される、マルウェアネットワークデータ内のデータ伝送を示す、グラフである。
【0009】
図3B図3Bは、図2の方法による、機械学習エンジンを訓練するために使用される、無害ネットワークデータ内のデータ伝送を示す、グラフである。
【0010】
図4A図4Aは、図2の方法による、機械学習エンジンを訓練するために使用される、マルウェアネットワークデータ内の通信間隔を示す、グラフである。
【0011】
図4B図4Bは、図2の方法による、機械学習エンジンを訓練するために使用される、無害ネットワークデータ内の通信間隔を示す、グラフである。
【0012】
図5図5は、機械学習ベースのマルウェア検出のための方法を図示する、フローチャートを提供する。
【0013】
図6図6は、インターネットプロトコルアドレスをブラックリストに追加するための方法を図示する、フローチャートを提供する。
【0014】
図7図7は、ある実施形態による、例示的コンピューティングデバイスの高レベルブロック図を示す。
【0015】
同様の参照数字が、同様の要素および特徴を指すために、図面内で使用される。
【発明を実施するための形態】
【0016】
例示的実施形態の詳細な説明
故に、ある側面では、方法が提供され、該方法は、無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別することとを含む。
【0017】
1つまたはそれを上回る実施形態では、本方法はさらに、少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、少なくとも1つの新しいイベントと関連付けられる少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、少なくとも1つの新しいイベントと関連付けられる少なくとも1つの送信元-送信先対に関する2個1組のセットを、分類のために、機械学習エンジンに送信することとを含む。
【0018】
1つまたはそれを上回る実施形態では、本方法はさらに、機械学習エンジンから、少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信することを含む。
【0019】
1つまたはそれを上回る実施形態では、本方法はさらに、機械学習エンジンから、少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、送信元または送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することとを含む。
【0020】
1つまたはそれを上回る実施形態では、本方法はさらに、訓練マルウェアサーバを使用して、マルウェアネットワークデータが、訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、マルウェアネットワークデータを生成することを含む。
【0021】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される。
【0022】
1つまたはそれを上回る実施形態では、送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む。
【0023】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、無害ネットワークデータよりも一貫した通信間隔歪度を含む。
【0024】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度を含む。
【0025】
1つまたはそれを上回る実施形態では、2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む。
【0026】
別の側面によると、システムが提供され、該システムは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに結合され、命令を記憶しているメモリであって、該命令は、少なくとも1つのプロセッサによって実行されるとき、無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別することとを行うように、少なくとも1つのプロセッサを構成する、メモリとを備える。
【0027】
1つまたはそれを上回る実施形態では、命令はさらに、少なくとも1つのプロセッサによって実行されるとき、少なくとも1つの送信元-送信先対に関する少なくとも1つの新しいイベントを識別するネットワークデータを取得することと、少なくとも1つの新しいイベントと関連付けられる少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、少なくとも1つの新しいイベントと関連付けられる少なくとも1つの送信元-送信先対に関する2個1組のセットを、分類のために、機械学習エンジンに送信することとを行うように、少なくとも1つのプロセッサを構成する。
【0028】
1つまたはそれを上回る実施形態では、命令はさらに、少なくとも1つのプロセッサによって実行されるとき、機械学習エンジンから、少なくとも1つの送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信するように、少なくとも1つのプロセッサを構成する。
【0029】
1つまたはそれを上回る実施形態では、命令はさらに、少なくとも1つのプロセッサによって実行されるとき、機械学習エンジンから、少なくとも1つの送信元-送信先対をマルウェアとして分類するデータを受信することと、送信元または送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加することとを行うように、少なくとも1つのプロセッサを構成する。
【0030】
1つまたはそれを上回る実施形態では、命令はさらに、少なくとも1つのプロセッサによって実行されるとき、訓練マルウェアサーバを使用して、マルウェアネットワークデータが、訓練マルウェアサーバと関連付けられることが既知であるインターネットプロトコルアドレスを含むように、マルウェアネットワークデータを生成するように、少なくとも1つのプロセッサを構成する。
【0031】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、通信間隔、ジッタ量、またはデータチャネルのうちの少なくとも1つを変動させることによって、マルウェアビーコンを模倣するように生成される。
【0032】
1つまたはそれを上回る実施形態では、送信元-送信先対毎の2個1組のセットは、通信間隔歪度と、通信間隔尖度とを含む。
【0033】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、無害ネットワークデータよりも一貫した通信間隔歪度、または無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度のうちの少なくとも1つを含む。
【0034】
1つまたはそれを上回る実施形態では、2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続されたローカルエンドポイントの数と、ローカルエンドポイントが接続されるリモートエンドポイントの数とを含む。
【0035】
別の側面によると、非一過性コンピュータ可読媒体が提供され、該非一過性コンピュータ可読媒体は、その上に記憶されるプロセッサ実行可能命令を有しており、該プロセッサ実行可能命令は、プロセッサによって実行されるとき、プロセッサに、無害ネットワークデータと、マルウェアネットワークデータとを含むネットワークデータの訓練セットを取得することと、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させることと、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別することとを行わせる。
【0036】
本開示の他の例示的実施形態は、図面と併せて、以下の詳細な説明の精査から、当業者に明白であろう。
【0037】
本願では、用語「および/または」は、列挙される要素の全ての可能性として考えられる組み合わせおよび副次的な組み合わせを網羅することを意図し、列挙される要素のうちのいずれか1つのみ、任意の副次的な組み合わせ、または要素の全てを含み、必ずしも付加的な要素を除外しない。
【0038】
本願では、語句「~または~のうちの少なくとも1つ」は、列挙される要素のうちの任意の1つまたはそれを上回るものを網羅することを意図し、列挙される要素のうちのいずれか1つのみ、任意の副次的な組み合わせ、または要素の全てを含み、必ずしも任意の付加的な要素を除外せず、必ずしも要素の全てを要求しない。
【0039】
図1は、ある実施形態による、機械学習ベースのマルウェア検出のためのシステム100の高レベルブロック図である。システム100は、サーバコンピュータシステム110と、データストア120とを含む。
【0040】
データストア120は、種々のデータ記録を含んでもよい。データ記録のうちの少なくともいくつかは、ネットワークデータを含んでもよい。ネットワークデータは、無害ネットワークデータと、マルウェアネットワークデータとを含む、ネットワークデータの訓練セットを含んでもよい。説明されるであろうように、無害ネットワークデータは、無害であることが既知である、すなわち、マルウェアを含まないことが既知である、ネットワークデータを含み得る。マルウェアネットワークデータは、マルウェアであることが既知である、ネットワークデータを含み得る。各ネットワークログは、フローイベントと称され得る。
【0041】
1つまたはそれを上回る実施形態では、データストア120内に記憶される、ネットワークデータは、各ネットワークログが、具体的な送信先と具体的なリモートエンドポイントとの間のフローイベントである、ネットワークログを含んでもよい。各ネットワークログは、タイムスタンプ、送信元インターネットプロトコル(IP)アドレス、送信先IPアドレス、送信元ポート、送信先ポート等を含んでもよい。ネットワークログは、加えて、例えば、パケットサイズ、バイトアップ/ダウン等のデータ伝送情報を含んでもよい。
【0042】
データストア120は、加えて、信頼されることが既知である、IPアドレスを含む、1つまたはそれを上回るホワイトリストを維持し得、マルウェアであることが既知である、IPアドレスを含む、1つまたはそれを上回るブラックリストを維持し得る。説明されるであろうように、1つまたはそれを上回るホワイトリストは、閲覧されてもよく、したがって、ホワイトリストに登録されるIPアドレスと関連付けられる、任意のフローイベントは、分類を受けなくてもよい。同様に、1つまたはそれを上回るブラックリストも、閲覧されてもよく、したがって、ブラックリストに登録されるIPアドレスと関連付けられる、任意のフローイベントは、遮断される、またはアラートを発報させられ得る。
【0043】
データストア120は、閾値期間内に生じた、ネットワークデータのみを記憶してもよい。例えば、データストア120は、過去7日間にわたってのみ、ネットワークデータを記憶してもよく、したがって、7日を超える古いネットワークデータを放棄、消去、または別様に削除してもよい。
【0044】
1つまたはそれを上回る実施形態では、システム100は、マルウェアエンジン130と、特徴抽出エンジン140と、機械学習エンジン150とを含む。マルウェアエンジン130および特徴抽出エンジン140は、サーバコンピュータシステム110と通信する。マルウェアエンジン130は、ネットワークデータをローカルでログ記録し得、ログ記録されたネットワークデータを、サーバコンピュータシステム110を介して、データストア120にエクスポートし得る。機械学習エンジン150は、特徴抽出エンジン140と、サーバコンピュータシステム110と通信する。マルウェアエンジン130、特徴抽出エンジン140、および機械学習エンジン150は、異なる環境内の別々のコンピューティングデバイスであってもよい。
【0045】
マルウェアエンジン130は、機械学習エンジン150を訓練するために使用され得る、マルウェアネットワークデータを生成するように構成されてもよい。マルウェアネットワークデータは、送信元-送信先対間で通信される、マルウェアビーコンを含んでもよい。1つまたはそれを上回る実施形態では、マルウェアエンジンは、訓練マルウェアサーバ等の仮想サーバと、1つまたはそれを上回る仮想コンピューティングデバイスとを含んでもよく、仮想サーバと1つまたはそれを上回る仮想コンピューティングデバイスとの間の通信は、マルウェアネットワークデータとしてログ記録されてもよい。
【0046】
マルウェアエンジン130は、例えば、ビーコン間隔、ジッタ量、データチャネル等を変動させることによって、マルウェアネットワークデータを生成するように構成されてもよく、本様式では、広範なビーコンの難読化が、取得される。マルウェアネットワークデータは、訓練マルウェアサーバのIPアドレスを含んでもよく、これは、機械学習エンジン150を訓練するために使用されてもよい。例えば、訓練マルウェアサーバのIPアドレスを含む、任意のネットワークログは、マルウェアネットワークデータとして識別されてもよい。
【0047】
説明されるであろうように、マルウェアエンジン130によって生成される、マルウェアネットワークデータは、データストア120内に記憶され、機械学習エンジン150を訓練するために使用されてもよい。
【0048】
特徴抽出エンジン140は、データストア120から受信される、ネットワークデータを分析し、ネットワークデータ内の送信元-送信先対毎に、2個1組のセットを生成するように構成される。ネットワークデータ内の送信元-送信先対毎に、2個1組のセットを生成するために、特徴抽出エンジン140は、ネットワークデータを分析し、送信元-送信先対別に、ネットワークデータを分類し得る。送信元-送信先対毎に、2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続された、ローカルエンドポイントの数と、ローカルエンドポイントが接続される、リモートエンドポイントの数とを含んでもよい。
【0049】
フローイベントの数は、送信元-送信先対に関するネットワークデータ内で生じる、フローイベントの計数を含んでもよい。各ネットワークログが、フローイベントであるため、特徴抽出エンジン140は、ネットワークデータ内の送信元-送信先対に関するネットワークログの数を計数してもよく、これは、送信元-送信先対あたりのフローイベントの数を決定し得る。
【0050】
送信元-送信先対毎のバイトダウン平均は、送信元-送信先対に関するネットワークデータ内の全てのフローイベントに関して、送信元-送信先対に関するバイトダウンの平均サイズを計算することによって、生成されてもよい。
【0051】
送信元-送信先対毎のバイトダウン標準偏差は、送信元-送信先対に関するネットワークデータ内の全てのフローイベントに関して、送信元-送信先対に関するバイトダウン標準偏差を計算することによって、生成されてもよい。
【0052】
送信元-送信先対毎のバイトアップ平均は、送信元-送信先対に関するネットワークデータ内の全てのフローイベントに関して、送信元-送信先対に関するバイトアップの平均サイズを計算することによって、生成されてもよい。
【0053】
送信元-送信先対毎のバイトアップ標準偏差は、送信元-送信先対に関するネットワークデータ内の全てのフローイベントに関して、送信元-送信先対に関するバイトアップ標準偏差を計算することによって、生成されてもよい。
【0054】
通信間隔平均は、フローイベント間の秒数の平均を含んでもよく、フローイベント間の秒数の平均値を計算することによって生成されてもよい。フローイベント間の秒数は、隣接するフローイベント間の時間量であり得ることが理解されるであろう。
【0055】
通信間隔標準偏差は、フローイベント間の秒数の標準偏差を含んでもよく、フローイベント間の秒数の標準偏差を計算することによって、生成されてもよい。
【0056】
通信間隔歪度は、分布が、一端に向かって歪曲する程度を示す、メトリックを含んでもよい。
【0057】
通信間隔尖度は、確率分布の漸減性を示す、メトリックを含んでもよい。通信間隔尖度は、分布の中心に対する、分布の尾部の組み合わせられた加重の測定値を決定することによって、生成されてもよい。
【0058】
送信先に接続されたローカルエンドポイントの数は、ネットワークデータ内で、送信先を伴うフローイベントを有した、ローカルエンドポイントの計数を含んでもよい。
【0059】
ローカルエンドポイントが接続される、リモートエンドポイントの数は、ネットワークデータ内で、送信元を伴う1つまたはそれを上回るフローイベントを有した、リモートエンドポイントの計数を含んでもよい。
【0060】
機械学習エンジン150は、1つまたはそれを上回る機械学習モデルを含む、または利用してもよい。例えば、機械学習エンジン150は、ネットワークデータを、マルウェアネットワークデータまたは無害ネットワークデータのうちの1つとして分類するように訓練され得る、例えば、ランダムフォレスト分類子等の分類子であってもよい。使用され得る他の機械学習方法は、サポートベクタマシンと、例えば、AdaBoost(TM)およびXGBoost(TM)等の決定木ベースのブースト化方法とを含む。
【0061】
1つまたはそれを上回る実施形態では、訓練ネットワークデータを使用する、特徴抽出エンジンによって生成される、2個1組のセットは、マルウェア検出のために、機械学習エンジン150を訓練するために使用されてもよい。
【0062】
図2は、ある実施形態による、マルウェア検出のための機械学習エンジンを訓練するために、サーバコンピュータシステム110によって実施される動作を示す、フローチャートである。本動作は、サーバコンピュータシステム110によって実施され得る、方法200内に含まれてもよい。例えば、サーバコンピュータシステム110のメモリ内に記憶されるコンピュータ実行可能命令は、サーバコンピュータシステムのプロセッサによって実行されるとき、サーバコンピュータシステム110を、方法200またはその一部を実施するように構成し得る。サーバコンピュータシステム110が、動作のうちの少なくともいくつかを、マルウェアエンジン130、特徴抽出エンジン140、および/または機械学習エンジン150にオフロードし得ることが理解されるであろう。
【0063】
方法200は、無害ネットワークデータと、マルウェアネットワークデータとを含む、ネットワークデータの訓練セットを取得すること(ステップ210)を含む。
【0064】
1つまたはそれを上回る実施形態では、サーバコンピュータシステム110は、データストア120からネットワークデータの訓練セットを取得してもよい。述べられたように、マルウェアネットワークデータは、マルウェアエンジン130によって生成されてもよい。無害ネットワークデータは、無害であることが既知である、ネットワークデータを含み、マルウェアネットワークデータは、マルウェアであることが既知である、ネットワークデータを含む。
【0065】
図3Aは、機械学習エンジンを訓練するために使用される、マルウェアネットワークデータ内のデータ伝送を示す、グラフである。
【0066】
図3Bは、機械学習エンジンを訓練するために使用される、無害ネットワークデータ内のデータ伝送を示す、グラフである。
【0067】
図3A図3Bとを比較すると、マルウェアネットワークデータが、非常に一貫したパケットサイズを含み、無害ネットワークデータが、一貫性のないデータパターンおよびパケットサイズを有することが分かり得る。
【0068】
図4Aは、機械学習エンジンを訓練するために使用される、マルウェアネットワークデータ内の通信間隔を示す、グラフである。
【0069】
図4Bは、機械学習エンジンを訓練するために使用される、無害ネットワークデータ内の通信間隔を示す、グラフである。
【0070】
図4A図Bとを比較すると、マルウェアネットワークデータが、一貫したかつ規則的な通信間隔を含み、無害ネットワークデータが、長期の非活動を含む通信間隔を含み、ゼロ近傍に多数の通信間隔を有することが分かり得る。
【0071】
1つまたはそれを上回る実施形態では、マルウェアネットワークデータは、無害ネットワークデータよりも一貫した通信間隔歪度を含んでもよく、および/または無害ネットワークデータよりも均一にクラスタ化された通信間隔尖度を含んでもよい。
【0072】
方法200は、ネットワークデータの訓練セット内の送信元-送信先対毎に、2個1組のセットを生成するように、特徴抽出エンジンを従事させること(ステップ220)を含む。
【0073】
述べられたように、ネットワークデータ内の送信元-送信先対毎に、2個1組のセットを生成するために、特徴抽出エンジン140は、ネットワークデータを分析し、送信元-送信先対別に、ネットワークデータを分類し得る。送信元-送信先対毎に、2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続された、ローカルエンドポイントの数と、ローカルエンドポイントが接続される、リモートエンドポイントの数とを含んでもよい。
【0074】
方法200は、2個1組のセットを使用して、機械学習エンジンを訓練し、無害ネットワークデータとマルウェアネットワークデータとを区別すること(ステップ230)を含む。
【0075】
2個1組のセットは、機械学習エンジンにフィードされ、機械学習エンジンを訓練し、ネットワークデータを無害ネットワークデータまたはマルウェアネットワークデータとして分類するために使用される。いったん訓練されると、機械学習エンジンは、ネットワークデータを無害ネットワークデータまたはマルウェアネットワークデータのうちの1つとして分類し得る。
【0076】
機械学習エンジン150がランダムフォレスト分類子を含む、実施形態では、2個1組のセットは、無害ネットワークデータを示す、ゼロ(0)を用いて標識化され得る、またはマルウェアネットワークデータを示す、1を用いて標識化され得る。さらに、パッケージ関数が、モデルをデータに適合させるために使用されてもよい。例えば、適合方法が、ランダムフォレスト分類子と関連付けられる、決定木毎に使用されてもよく、本適合方法は、ネットワークデータが、特徴に基づいて分割されるときのように、特徴および数値を選択することを含んでもよい。本様式では、各分割データチャンクの純度が、最大限にされる。これは、決定木毎に複数回繰り返され得、したがって、分類子は、予測タスクのために訓練される。
【0077】
図5は、ある実施形態による、機械学習ベースのマルウェア検出のために実施される、動作を示す、フローチャートである。本動作は、サーバコンピュータシステム110によって実施され得る、方法500内に含まれてもよい。例えば、サーバコンピュータシステム110のメモリ内に記憶されるコンピュータ実行可能命令は、サーバコンピュータシステムのプロセッサによって実行されるとき、サーバコンピュータシステム110を、方法500またはその一部を実施するように構成し得る。
【0078】
方法500は、少なくとも1つの送信元-送信先対に関する、少なくとも1つの新しいイベントを識別する、ネットワークデータを取得すること(ステップ510)を含む。
【0079】
1つまたはそれを上回る実施形態では、データストア120は、ネットワークデータの形態で、新しいフローイベントを受信してもよく、これは、例えば、1分毎、5分毎、30分毎、1時間毎、24時間毎等、周期的に行われてもよい。具体的には、サーバコンピュータシステム110は、新しいフローイベントに関するリクエストを、それに接続される1つまたはそれを上回る送信元または送信先コンピュータシステムに送信してもよく、新しいフローイベントは、ネットワークデータの形態で受信されてもよい。サーバコンピュータシステム110は、記憶のために、受信されたネットワークデータをデータストア120に送信してもよい。
【0080】
サーバコンピュータシステム110は、少なくとも1つの新しいイベントを分析し、少なくとも1つの新しいイベントが、信頼されることが既知である、送信元-送信先対と関連付けられるかどうかを決定し得る。例えば、サーバコンピュータシステム110は、信頼されることが既知である、IPアドレスのリストを含む、データストア120内に記憶される、ホワイトリストを閲覧し、少なくとも1つの新しいイベントが、信頼されることが既知である、送信元-送信先対と関連付けられることを決定し得る。少なくとも1つの新しいイベントが、信頼されることが既知である、送信元-送信先対と関連付けられることを決定することに応答して、サーバコンピュータシステム110は、少なくとも1つの新しいイベントを放棄し、さらなるアクションをとらなくてもよい。
【0081】
少なくとも1つの新しいイベントが、信頼されることが既知である、送信元-送信先対と関連付けられないことを決定することに応答して、サーバコンピュータシステム110は、少なくとも1つの送信元-送信先対に関する利用可能な全てのネットワークデータに関するリクエストをデータストア120に送信し得る。換言すると、サーバコンピュータシステム110は、少なくとも1つの新しいイベントと関連付けられる、ネットワークデータを要求するだけではなく、むしろ、サーバコンピュータシステム110は、少なくとも1つの新しいイベントと関連付けられる、少なくとも1つの送信元-送信先対に関する全ての利用可能なネットワークデータを要求する。
【0082】
方法500は、少なくとも1つの新しいイベントと関連付けられる少なくとも1つの送信元-送信先対に関する2個1組のセットを生成するように、特徴抽出エンジンを従事させること(ステップ520)を含む。
【0083】
サーバコンピュータシステム110によって取得されたネットワークデータは、特徴抽出エンジンに送信され、少なくとも1つの新しいイベントと関連付けられる、少なくとも1つの送信元-送信先対に関する2個1組のセットを生成する。述べられたように、2個1組のセットは、フローイベントの数と、バイトダウン平均と、バイトダウン標準偏差と、バイトアップ平均と、バイトアップ標準偏差と、通信間隔平均と、通信間隔標準偏差と、通信間隔歪度と、通信間隔尖度と、送信先に接続された、ローカルエンドポイントの数と、ローカルエンドポイントが接続される、リモートエンドポイントの数とを含んでもよい。
【0084】
方法500は、2個1組のセットを、分類のために、機械学習エンジンに送信すること(ステップ530)を含む。
【0085】
2個1組のセットは、分類のために、機械学習エンジンに送信される。
【0086】
方法500は、機械学習エンジンから、送信元-送信先対を無害またはマルウェアのうちの1つとして分類するデータを受信すること(ステップ540)を含む。
【0087】
述べられたように、機械学習エンジンは、ネットワークデータを無害ネットワークデータまたはマルウェアネットワークデータのうちの1つとして分類するように訓練される。具体的には、機械学習エンジンは、2個1組のセットを分析し、ネットワークデータを無害ネットワークデータまたはマルウェアネットワークデータとして分類する。
【0088】
機械学習エンジンは、送信元-送信先対を、無害またはマルウェアのうちの1つとして分類してもよく、これは、ネットワークデータを、無害ネットワークデータまたはマルウェアネットワークデータとして分類することに基づいてもよい。例えば、ネットワークデータがマルウェアネットワークデータとして分類される実施形態では、少なくとも1つの送信元-送信先対が、マルウェアとして分類されてもよい。
【0089】
少なくとも1つの送信元-送信先対が無害として分類される実施形態では、サーバコンピュータシステム110は、さらなるアクションが、要求されないことを決定し得る。
【0090】
少なくとも1つの送信元-送信先対がマルウェアとして分類される実施形態では、サーバコンピュータシステム110は、1つまたはそれを上回る是正アクションを実施し得る。例えば、サーバコンピュータシステム110は、送信元-送信先対が、マルウェアであることを示す、フラグまたはアラームを発報し得る。
【0091】
別の実施例では、サーバコンピュータシステム110は、送信元-送信先対の送信元または送信先のうちの少なくとも1つをブラックリストに追加してもよい。図6は、ある実施形態による、インターネットプロトコルアドレスをブラックリストに追加するために実施される動作を示す、フローチャートである。本動作は、サーバコンピュータシステム110によって実施され得る、方法600内に含まれてもよい。例えば、サーバコンピュータシステム110のメモリ内に記憶されるコンピュータ実行可能命令は、サーバコンピュータシステムのプロセッサによって実行されるとき、サーバコンピュータシステム110を、方法600またはその一部を実施するように構成し得る。
【0092】
方法600は、機械学習エンジンから、送信元-送信先対をマルウェアとして分類するデータを受信すること(ステップ610)を含む。
【0093】
機械学習エンジンは、方法500を参照して本明細書に説明されるものと同様の動作を実施し得、送信元-送信先対をマルウェアとして分類し得る。それに応答して、サーバコンピュータシステム110は、機械学習エンジンから、送信元-送信先対をマルウェアとして分類するデータを受信し得る。
【0094】
方法600は、送信元または送信先のうちの少なくとも1つのインターネットプロトコルアドレスをブラックリストに追加すること(ステップ620)を含む。
【0095】
サーバコンピュータシステム110は、それと関連付けられるネットワークデータを分析することによって、送信元または送信先のうちの少なくとも1つのIPアドレスを決定し得る。サーバコンピュータシステム110は、信号をデータストア120に送信し、IPアドレスを、それによって維持されるブラックリストに追加し得る。
【0096】
送信先のIPアドレスをマルウェアとして識別することに加えて、またはその代替として、1つまたはそれを上回る実施形態では、完全修飾ドメイン名(FQDM)が、マルウェアとして識別され得ることが理解されるであろう。
【0097】
述べられたように、サーバコンピュータシステム110は、コンピューティングデバイスである。図7は、例示的コンピューティングデバイス700の高レベルブロック図を示す。図示されるように、例示的コンピューティングデバイス700は、プロセッサ710と、メモリ720と、I/Oインターフェース730とを含む。例示的コンピューティングデバイス700の前述のモジュールは、バス740によって相互を経由して通信し、通信可能に結合される。
【0098】
プロセッサ710は、ハードウェアプロセッサを含み、例えば、ARM、x86、MIPS、またはPowerPC(TM)命令セットを使用する、1つまたはそれを上回るプロセッサを含んでもよい。例えば、プロセッサ710は、Intel(TM)Core(TM)プロセッサ、Qualcomm(TM)Snapdragon(TM)プロセッサ、または同等物を含んでもよい。
【0099】
メモリ720は、物理メモリを備える。メモリ720は、ランダムアクセスメモリ、読取専用メモリ、例えば、フラッシュメモリ等の永続記憶装置、ソリッドステートドライブ、または同等物を含んでもよい。読取専用メモリおよび永続記憶装置は、コンピュータ可読媒体であり、より詳細には、それぞれ、非一過性コンピュータ可読記憶媒体と見なされ得る。コンピュータ可読媒体は、例示的コンピューティングデバイス700の全体的な動作を支配するソフトウェアによって、管理され得るようなファイルシステムを使用して、編成されてもよい。
【0100】
I/Oインターフェース730は、入/出力インターフェースである。I/Oインターフェース730は、例示的コンピューティングデバイス700が、入力を受信し、出力を提供することを可能にする。例えば、I/Oインターフェース730は、例示的コンピューティングデバイス700が、ユーザから入力を受信する、またはユーザに出力を提供することを可能にし得る。別の実施例では、I/Oインターフェース730は、例示的コンピューティングデバイス700が、コンピュータネットワークと通信することを可能にし得る。I/Oインターフェース730は、例示的コンピューティングデバイス700を、例えば、キーボード、ディスプレイ画面、マウスまたはトラックボールのようなポインティングデバイス、指紋読取機、通信モジュール、ハードウェアセキュリティモジュール(HSM)(例えば、トラステッドプラットフォームモジュール(TPM))、または同等物等の1つまたはそれを上回るI/Oデバイスと相互接続する役割を果たし得る。I/Oインターフェース730および/またはI/Oインターフェース730を介してアクセスされるデバイスの仮想対応物は、例えば、ホストオペレーティングシステム等によって提供されてもよい。
【0101】
命令を備えるソフトウェアは、コンピュータ可読媒体から、プロセッサ710によって実行される。例えば、ホストオペレーティングシステムに対応するソフトウェアは、メモリ720の永続記憶装置またはフラッシュメモリから、ランダムアクセスメモリの中にロードされてもよい。加えて、または代替として、ソフトウェアは、メモリ720の読取専用メモリから直接、プロセッサ710によって実行されてもよい。別の実施例では、ソフトウェアは、I/Oインターフェース730を介して、アクセスされてもよい。
【0102】
マルウェアエンジン130、特徴抽出エンジン140、および機械学習エンジン150もまた、本明細書に説明されるものと同様のコンピューティングデバイスであり得ることが理解されるであろう。
【0103】
種々の上記に説明される例示的方法の上記に説明される動作の一部または全部が、図示されるもの以外の順序で実施され得る、および/またはそれらの方法の全体的な動作を変動させることなく、並行して実施され得ることが理解されるであろう。
【0104】
上記に提示される種々の実施形態は、単に実施例であり、本願の範囲を限定することは決して意味されない。本明細書に説明されるイノベーションの変形例は、当業者に明白であり、そのような変形例は、本願の意図される範囲内にあるであろう。特に、上記に説明される例示的実施形態のうちの1つまたはそれを上回るものからの特徴が、上記に明示的に説明され得ない特徴の副次的な組み合わせを含む、代替の例示的実施形態を作成するために選択されてもよい。加えて、上記に説明される例示的実施形態のうちの1つまたはそれを上回るものからの特徴が、上記に明示的に説明され得ない特徴の組み合わせを含む、代替の例示的実施形態を作成するために、選択され、組み合わせられてもよい。そのような組み合わせおよび副次的な組み合わせにとって好適な特徴は、全体として、本願の精査に応じて、当業者に容易に明白であろう。本明細書および列挙される請求項内に説明される主題は、技術における全ての好適な変更を網羅および包含することを意図する。
図1
図2
図3A
図3B
図4A
図4B
図5
図6
図7
【外国語明細書】