コンピュータベースのシステムに電力指紋付けシステムを使用して保全性評価を強化するシステム、方法、及び装置

著者らは特許

G06F - 電気的デジタルデータ処理(特定の計算モデルに基づくコンピュータ・システムG06N)
G06F21/55 - ローカルへの侵入を検知または対抗策を実行するもの

の所有者の特許 JP2016517597:

パワー フィンガープリンティング インコーポレイテッド

 

電力指紋付けシステムは、コンピュータベースのターゲットシステムの保全性を評価するように構成される。一実装形態では、電力指紋付けシステムは、第1のモジュールにおいて、システムの第1のターゲット構成要素のサイドチャネル情報を受信することであって、第1のモジュールは第1のターゲット構成要素と同じ場所に配置される、受信することと、第1のターゲット構成要素のサイドチャネル情報に基づいて、第1のターゲット構成要素の電力指紋を取得することであって、第1のターゲット構成要素の電力指紋は、第1のターゲット構成要素の複数の実行ステータスを表す、取得することと、第2のモジュールにおいて、システムの第2のターゲット構成要素のサイドチャネル情報を受信することであって、第2のモジュールは第2のターゲット構成要素と同じ場所に配置される、、受信することと、第2のターゲット構成要素のサイドチャネル情報に基づいて、第2のターゲット構成要素の電力指紋を取得することであって、第2のターゲット構成要素の電力指紋は、第2のターゲット構成要素の複数の実行ステータスを表す、取得することとを行い得る。

 

 

関連出願の相互参照
本願は、2013年3月15日に出願された「コンピュータベースのシステムに電力指紋付けシステムを使用して保全性評価を強化するシステム、方法、及び装置(Systems, Methods, And Apparatus To Enhance The Integrity Assessment When Using Power Fingerprinting Systems For Computer-Based Systems)」という名称の米国仮特許出願第61/792,313号の非仮出願であり、米国特許法第119条の下でその優先権を主張するものである。
本願は、2011年3月11日に出願された「電力指紋付け(PFP)を使用した保全性の監視及びコンピュータのセキュリティの強化(Using Power Fingerprinting (PFP) To Monitor The Integrity And Enhance Security Of Computer)」という名称の特許協力条約に基づく国際出願PCT/米国特許出願第11/59244号に関連する。
上記出願は全て、参照により本願に明示的に援用される。
背景
プロセッサベースのデバイス又はシステムは、回路ユニットでのデータの交換、記憶、及び計算に電力を使用する。例えば、相補型金属酸化膜半導体(CMOS)デジタル回路では、ビット遷移毎に、遷移電流ドレインが、ゲートでの短い短絡と、回路の出力における寄生容量の充電及び放電とから生じる。したがって、特定のクロックサイクルで消費される総電力は、そのサイクルで行われるビット遷移の総数によって決まる。ビット遷移の数は、実行される特定の命令シーケンスと、そのアドレス及びパラメータとによって決まる。特定の命令シーケンスの実行の乱れが生じた場合、そのような乱れは、デジタル回路レベルでの遷移電流、ひいては電力の消費に反映される。
概要
幾つかの実施形態では、電力指紋付け(PFP)システムは、プロセッサのサイドチャネル(例えば、消費電力)の細かい測定を行い、それらを電力シグネチャ又は指紋(例えば、実行中の特定のビット遷移シーケンスから生じるパターン)等の信頼できるベースライン参照と比較して、異常を検出することに基づいて、重要なサイバーシステムに保全性評価及び侵入検出解決策を提供する。一実装形態では、PFPシステムは、信頼できるソフトウェアの実行を特徴付け、その電力シグネチャを抽出し、同じコードが実行されているか否かを判断するためにテストトレースと比較する参照として使用し得る。このようにして、PFPシステムは、ターゲットデバイスの実行ステータスに対する情報を取得し得、ターゲットデバイスの任意の異常を検出し得る。
幾つかの実施形態では、PFPシステムは、方法であって、第1のモジュールにおいて、システムの第1のターゲット構成要素のサイドチャネル情報を受信することであって、第1のモジュールは第1のターゲット構成要素と同じ場所に配置され、第1のターゲット構成要素のサイドチャネル情報には、第1のターゲット構成要素の複数の認可実行ステータスと、第1のターゲット構成要素の実行ステータスとが関連付けられる、受信することと、第1のターゲット構成要素のサイドチャネル情報に基づいて、第1のターゲット構成要素の電力指紋を取得することであって、第1のターゲット構成要素の電力指紋は、第1のターゲット構成要素の複数の認可実行ステータスを表す、取得することと、第2のモジュールにおいて、システムの第2のターゲット構成要素のサイドチャネル情報を受信することであって、第2のモジュールは第2のターゲット構成要素と同じ場所に配置され、第2のターゲット構成要素のサイドチャネル情報には、第2のターゲット構成要素の複数の認可実行ステータスと、第2のターゲット構成要素の実行ステータスとが関連付けられる、受信することと、第2のターゲット構成要素のサイドチャネル情報に基づいて、第2のターゲット構成要素の電力指紋を取得することであって、第2のターゲット構成要素の電力指紋は、第2のターゲット構成要素の複数の実行ステータスを表す、取得することと、プロセッサモジュールから、(1)第1のターゲット構成要素の電力指紋及び第1のターゲット構成要素の実行ステータス又は(2)第2のターゲット構成要素の電力指紋及び第2のターゲット構成要素の実行ステータスのうちの少なくとも1つに基づいて報告信号を送信することであって、報告信号には、第1のターゲット構成要素の実行ステータス又は第2のターゲット構成要素の実行ステータスのうちの少なくとも一方が関連付けられる、送信することと、を含む方法を実行し得る。
幾つかの実施形態では、PFPシステムは、方法であって、非信頼電子デバイスに予め定義される入力を送信することであって、予め定義される入力は、非信頼電子デバイスの機能に基づいて定義される、送信することと、予め定義される入力に応答して、非信頼電子デバイスのサイドチャネル情報を受信することと、サイドチャネル情報に基づいて、非信頼電子デバイスの電力指紋を取得することと、電力指紋に基づいて、非信頼電子デバイスの保全性を評価することと、を含む方法を実行し得る。
幾つかの実施形態では、PFPシステムは、デバイスの不正アクセスを表す信号を受信するように構成される電力指紋モニタモジュールと、電力指紋モニタモジュールに動作可能に結合される応答分析モジュールと、を含み得、応答分析モジュールは、不正アクセスの検出に応答して、複数の応答モジュールから応答モジュールを選択するように構成され、複数の応答モジュールからの第1の応答モジュールは、不正アクセス中、デバイスに関連付けられる情報を収集するように構成され、複数の応答モジュールからの第2の応答モジュールは、不正アクセスに応答して、デバイスへのアクセスを阻止するように構成され、複数の応答モジュールからの第3の応答モジュールは、不正アクセスを受けたデバイスの少なくとも部分をディセーブルするように構成される。
電力指紋付けの全体ブロック図である。 PFPモニタの理想的なセンサ位置を示す図である。 マルチプロセッサボードの理想的なセンサ位置を示す図である。 物理信号を用いるトリガーの一例を示す図である。 同期及びトリガーのPFP戦略的命令挿入を示す概略図である。 Linux(登録商標)デバイスドライバパラダイムでの物理リソースへの間接的アクセスを示す概略図である。 信頼コア特徴付けプロセスを示すフローチャートである。 電力スペクトル密度を計算することによるトレースの前処理の一例を示すグラフである。 時間領域でのトレースのサンプル前処理を示すグラフである。 記憶されたシグネチャと突き合わせたテストトレースの実行からのPSD差を示すグラフである。 検出器設計のプロセスを示すフローチャートである。 検出器設計及び閾値選択に使用される信頼コード実行からのサンプル確率分布を示すグラフである。 PFP保全性評価動作プロセスを示すフローチャートである。 Androidプラットフォームでのサンプル実施形態セットアップを示す概略図である。 元の非改竄ルーチンの実行から生じるサンプル分布のグラフ表現である。 改竄ルーチンの実行から生じるサンプル分布のグラフ表現である。 異なるレベルの差別的情報を含むトレースの異なるセクションを示すサンプルトレース詳細のグラフである。 最も情報量が多い視点からの線形投影を使用したプラットフォーム特徴付けの概略表現である。 PFPを使用するプラットフォーム消費電力特徴付け及び監視の参照測定セットアップを示す概略図である。 最小消費電力変化を検出する能力を評価するためのベースラインコード実行からのサンプルトレースを示すグラフである。 各点がn次元ユークリッド空間上の投影を表す、ベースラインコード実行からの平均シグネチャのグラフ表現である。 ベースラインコードの実行から抽出される平均シグネチャからのユークリッド距離のサンプル分布を示すグラフである。 PCAを使用して得られる変換空間でのベースラインシグネチャからのユークリッド距離のサンプル分布を示すグラフである。 LDAのプロファイリング命令からのトレースのセントロイドを示すグラフである。 LDAを使用して得られる変換空間でのベースラインシグネチャからのユークリッド距離のサンプル分布を示すグラフである。 認可ソフトウェア実行からのずれを検出するターゲットプラットフォームの一例の概略ブロック図である。 サイバーセキュリティへの深層防御手法での異なるレイヤを示す概略図である。 階層化深層防御セキュリティ解決策内のPFP監視範囲を示す概略図である。 監視及び機密情報収集のPFPハニーポットノードを示す概略図である。 PFPハニーポットネットワークを示す概略図である。 PFPを使用するサプライチェイントラスト分析の流れ図である。 PFPを使用するサプライチェイントラスト分析の潜在的な参照シグネチャソースを示す概略図である。 PFPモニタに同期及び識別シグナリングを提供する10レジスタの使用を示す図である。 電力トレースへのPFP同期及び識別シグナリングの埋め込みを示す図である。 PFP保全性評価のための複数の信号を結合するサンプルセットアップを示す図である。 PFPのデバイス故障を除く特徴を抽出するプロセスのフローチャートである。 自動特徴付け及び特徴抽出のために対話する異なるシステム要素間の関係を示す概略図である。 サイドチャネル攻撃が埋め込みPFPモニタを利用することを阻止する構造の図である。 サイドチャネル攻撃が外部PFPモニタを利用することを阻止する構造の図である。 一実施形態により、ターゲットデバイスの電力指紋を推定するサイクルアキュレート消費電力シミュレータの態様を示す論理流れ図の一例を提供する。 異なる基本分布を有する外れ値又は異常値を示すサンプル電力指紋分布例を示すデータプロットを提供する。 異なる基本分布を有する外れ値又は異常値を示すサンプル電力指紋分布例を示すデータプロットを提供する。 一実施形態による、ハードウェアから指紋を確認するリバースエンジニアリングの態様を示す論理流れ図例を提供する。 一実施形態による、ハードウェアから指紋を確認するリバースエンジニアリングの態様を示す論理流れ図例を提供する。 一実施形態による、保全性違反への応答強化の態様を示す論理流れ図例を提供する。 一実施形態による、保全性違反への応答強化の態様を示す論理流れ図例を提供する。 一実施形態による、保全性違反への応答強化の態様を示す論理流れ図例を提供する。 一実施形態による、保全性違反事象を処理する態様を示す論理流れ図の一例を提供する。 一実施形態による、異常を検出した場合にターゲットデバイスを一時的にディセーブルする態様を示す図の一例を提供する。 一実施形態による、異常を検出した場合にターゲットデバイスを永久的にディセーブルする態様を示す図の一例を提供する。 一実施形態による、外部動作実行の前にゲートキーパーとしてPFP保全性評価を使用する態様を示す論理流れ図例を提供する。 一実施形態による、監視制御及びデータ収集(SCADA)システムの態様を示す論理流れ図例を提供する。 一実施形態による、監視制御及びデータ収集(SCADA)システムの態様を示す論理流れ図例を提供する。 一実施形態による、監視制御及びデータ収集(SCADA)システムの態様を示す論理流れ図例を提供する。 一実施形態による、PFPモニタとインタフェースする埋め込みボードの態様を示す図の一例を提供する。 一実施形態による、デバイスチャージャ又はスリーブにPFPを統合する態様を示すブロック図の一例を提供する。
詳細な説明
本明細書で開示されるシステム、方法、及び装置は、クリティカル埋め込みシステム、コプロセッサ、及びフィールドプログラマブルゲートアレイ(FPGA)を含め、デジタル回路及びコンピュータベースシステムでの悪意のある侵入、不正変更、及び改竄を検出することができる保全性評価及び侵入検出手法に関する。物理的サイドチャネル(例えば、消費電力)を使用して、外部モニタを使用してプロセッサ又はデジタル回路での実行ステータスを観測し、かなりの正確性で、不正実行がデジタルシステムの通常動作を妨害したときを検出することができる。本明細書では、これは電力指紋(PFP)と呼ばれ、PFPを実施する方法及び装置は、PFPシステムと呼ぶことができ、これは、幾つかの様々な方法及び形態で実施することができる。プロセッサ外部から測定することができ、プロセッサの実行ステータスに関連する情報を含むことができる、消費電力等のプロセッサの物理的特性は、本明細書では、サイドチャネルと呼ばれる。
PFP保全性評価では、独立したモニタが、物理的センサを使用して、動作中にターゲットシステムの消費電力等のサイドチャネルを観測することができる。捕捉されたトレースを処理して、固有の細かいパターン又は特徴(指紋)を抽出し、記憶されている信頼できるベースライン参照と比較することができ、ベースライン参照は、信号検出及びパターン認識技法を適用することによって異常検出を実行するために使用される。実際の監視は外部デバイスによって実行されるため、ターゲットシステムでのメモリ及び処理オーバーヘッドは大幅に低減される。
本開示は、PFPシステムの回路展開例(例えば、図2〜図6参照)、PFPパターンの統計学的比較(例えば、図7〜図13参照)、及び様々なPFPプラットフォーム統合及び性能分析例(例えば、図14〜図39参照)を含むPFP監視システムの実施形態を考察する。本開示は、サイクルアキュレート消費電力シミュレータを使用しての推定電力指紋の生成(例えば、図40及び図41参照)、強化型PFPシステムの様々な回路展開及びターゲットデバイスでの異常を検出する作業フロー及び検出された異常を処理する是正措置(例えば、図42〜図45参照)、SCADAシステムとのシステム統合例(例えば、図46A〜図46D参照)、並びにハンドヘルドデバイスとのPFPモニタ統合の装置例(例えば、図47参照)を含むPFPを使用する強化型保全性評価の実施形態を更に考察する。
PFPセンサ、検証、応答分析、応答実行、統計学的パターン分析等の様々なPFPモジュール及び/又は構成要素、及び/又は他のモジュールが利用可能である。本明細書で使用される場合、モジュール及び/又は構成要素は、例えば、特定の機能の実行に関連付けられた任意の組立体及び/又は動作可能に結合された電子構成要素のセットとすることができ、例えば、メモリ、プロセッサ、電気トレース、光学コネクタ、ソフトウェア(メモリに記憶され、且つ/又はハードウェアで実行される)等を含むことができる。
電力指紋監視
幾つかの実施形態は、PFPを包括的な深層防御セキュリティの検出フェーズに統合することにより、PFP対応ノードのネットワークを展開することにより、特定の状態シーケンス及び特定のソフトウェア実行を強いる予め定義される入力を用いて、非信頼デバイスを実行することにより、モジュール識別情報を同期シグナリングに埋め込むことにより、異なるボード要素からの信号を結合することにより、マルウェアシグネチャを使用して、PFP性能を強化することにより、自動特徴付け及びシグネチャ抽出により、セキュアシグネチャ更新を提供することにより、サイドチャネル攻撃から保護することにより、動的消費電力を監視し、それを信頼コードからのシグネチャと比較することによって埋め込みプラットフォームにおいてリアルタイム保全性評価を実行することにより、プラットフォームの消費電力を事前に特徴付け、内部実行ステータスについて最も多くの情報を伝えるトレースセクションに集中することにより、市販の埋め込みプラットフォームでの認可実行からのずれを検出するPFPの能力を改善することにより、電力指紋付け(PFP)によって判断されるターゲットシステム実行保全性評価を評価する手順を提供する。
方法は、コンピュータ処理プラットフォームでのルーチン実行のリアルタイム保全性評価を実行する。これは、ルーチンの実行を監視することにより、プロセッサの消費電力をトレースすることにより、ルーチンの実行中にプロセッサをサンプリングすることにより、達成される。プラットフォーム特徴付け技法が利用され、この技法は、トレースのセクション、すなわち、プロセッサでの状態遷移への最大の依存性を示すセクションを検出する。これらのセクションを使用して、最も多くの情報を伝える特徴を選択する。このプラットフォーム特徴付けは、プラットフォームに適用され、プラットフォームで実行される全てのルーチンに使用することができる。次のステップは、プラットフォーム特徴付けにおいて識別されるセクションに含まれるような、ルーチンの選択された特徴の特徴付けから、ルーチンの信頼できる1組の電力指紋を取得することである。次に、信頼できる指紋で構成されるシグネチャからの距離の確率分布に基づいて、特定の誤検出率の閾値が確立される。次に、信頼できる指紋のライブラリが、非信頼コードの実行からのトレースから抽出される特徴と比較され、次に、ライブラリ内の指紋と、非信頼コードの実行から抽出される特徴との距離が特定される。距離が閾値を超える場合、例外が報告される。
電力指紋付け(PFP)に基づく保全性評価及び侵入検出システムの動作、有効性、使用可能性、及び性能を改善する様々な手順について説明する。様々な手順は、モジュール識別情報を同期シグナリング内に埋め込むこと、異なるボード要素からの信号を結合することによるPFP監視の改善、マルウェアシグネチャを使用してPFP性能を強化すること、既存の電池監視技術での一般化、自動特徴付け及びシグネチャ抽出、セキュアシグネチャ更新、保全性違反及び階層セキュリティへの応答、サイドチャネル攻撃からの保護を含む。
分散PFPモニタネットワークがマルウェアダイナミクス及び挙動の監視、サプライチェイン信頼分析へのPFPの適用、デジタル権利管理及び実行制限リース、PFPに基づく故障予測の方法及び装置も記載される。
電力指紋付け(PFP)は、外部モニタがサイバーシステムの実行保全性を評価できるようにする技法である。PFPは、プロセッサの動的消費電力によって伝えられる実行ステータス情報に依存する。信頼参照からの事前特徴付けられたシグネチャと共にこの情報を使用して、PFPは、ターゲットシステムでの実行保全性を特定することが可能である。PFPを実際に適用するためには、特定の装置を実施し、特定の手順に従って、効果的な監視解決策を提供する必要がある。本明細書において、PFP監視解決策の動作、有効性、使用可能性、及び性能を改善する様々な手順について記載する。
PFPを適用したスマートフォン及び他の埋め込みデバイスでのソフトウェア変更の検出
サイバーセキュリティは、国家安全保障にとって極めて重要な要素になった。マイクロプロセッサは、近代の正確の略あらゆる側面に遍在する。情報技術分野での技術開発は、保護に必要なセキュリティ解決策よりも速いペースで前進している。サイバー攻撃の脅威は、極めて重要なインフラ及び国家完全保障にとって潜在的に破滅的な結果を絶えず有し続けている。サイバーインフラは、あまりに重要になったため、現在、サイバー空間は、新しい戦場として、且つ全ての脅威地から保護する必要がある国家セキュリティにとって極めて重要な要素であると見なされている。
一実施形態では、リアルタイム保全性評価を実行する技法が、動的消費電力を監視し、それを信頼コードからのシグネチャと比較することにより、スマートフォン及び他の埋め込みプラットフォームに提供される。記載される方法及び技術は、電力指紋付けの一般概念から構築され、複雑な市販デバイス上の一般アプリケーションに強化を提供する。参照及び例として使用される一般技法の好ましい実施形態の例を提示する。しかし、本技法は汎用的であり、任意のサイバープラットフォームに適応することができる。
本手法の一環として、特定のプラットフォーム及びプロセッサが電力を消費する方法を事前に特徴付け、プロセッサの内部実行ステータスについて最も多くの情報を伝えるトレースのセクションに分類作業を集中させることにより、手法の性能を改善し、性能を損なうおそれがある冗長特徴又はノイズが極めて多い特徴を無視する方法論も記載する。
目標は、スマートフォン、埋め込みシステム、及び一般情報システムでの不正ソフトウェア変更を検出する確実な技法を定義するように、汎用電力指紋付け(PFP)手法を強化することである。一般的な従来技術による手法を図1に示す。
一般的なPFP方法は、信頼コードの実行中、消費電力から細かい測定値を収集することによって開始される。センサ110は、プロセッサの動的消費電力又は瞬間電流ドレインの直接的又は間接的尺度表現を収集する必要がある。センサ110は、市販の電流プローブ、ホール効果センサ、圧電/磁歪複合磁場センサ、ロゴスキーコイル、広帯域幅電流ミラー、又は簡易低抵抗精密分流抵抗器によって実施することができる。センサが、選択される特定の特徴抽出技法によって設定される要件を満たす必要があることに留意する。
センサの物理的位置は、この手法の成功にとって極めて重要な要素である。理想的な位置210は、図2において、プロセッサ205のVDD信号に示されている。この位置が実現可能ではない場合、又は過度の電源雑音を生じさせる場合、第2の最良位置220も示されている。センサ220が第2の位置に配置される場合、減結合キャパシタ215と共に寄生容量及びインダクタンスを有する銅トレースが、電流トレースに影響するローパス(LP)RLCフィルタを生み出す。PFPの場合、市販のネットワーク分析器又は別のシステム識別技法を使用して、LPフィルタの伝達関数Hを識別することにより、このハードウェア効果を事前に特徴付けることが有利である。固有のLPフィルタの効果は、逆伝達関数Hinvを有する別のフィルタにトレースを通すことによって最小化することができる。逆フィルタをデジタル的に実施することが推奨される。Hの直接の逆行列は、不安定なHフィルタをもたらすおそれがあるため、Hinvの最も近い安定した近似を選択する必要がある。
図2では、VDD_core225は、様々なソースによって提供することができる。単純なプロセッサの場合、電圧調整器から直接来る。より高度なプラットフォームの場合、電力及び周辺機器管理システムから来ることができ、このシステムは、必要とされる異なる電圧レベルの送達、リセット及び割り込み処理、並びに他の周辺機器管理を含む広範囲のサービスを提供する複雑な回路である。電力マネージャは、様々な信号を併合し、PFP視点から干渉を追加し、電力シグネチャを隠す傾向を有する複雑なシステムである。電力管理回路を有するシステムの場合、電力管理システム後に電流センサを配置して、過度の干渉を回避し、シグネチャ抽出を促進するように、必要なプロビジョンを有するシステムボードを設計することが推奨される。最良事例シナリオでは、電力センサは、提供される別のサービスとして電力管理システム内に含められ、PFPの統合を促進する。
ボードに複数のプロセッサがある場合、図3に示されるように、同じ原理を各プロセッサに繰り返すことができ、n番目のプロセッサ206は、好ましくは、211において、又は減結合キャパシタ216後の2番目の最良位置221において監視される。この場合、検出器は、両センサからのトレースを結合し、考慮するように設計されなければならない。同じパッケージ内のマルチコアプロセッサの場合、マルチプロセッサ例と同じ原理が当てはまるが、位置及び実現可能性は、プロセッサのアーキテクチャ、各レールによって給電されるコアの数、及び減結合要件に依存する。
センサが所定値に配置されると、次のステップは信頼コードを特徴付けることである。このプロセスは、被制御環境(ターゲットソフトウェアの分離、実行中に使用される設定入力、及びトレースの同期に役立つ特定のマーカの挿入を含む)においてターゲット信頼コードを繰り返し実行することによって達成される。マーカは、異なる性質のものであることができ、トリガー及び同期に役立つ。潜在的なマーカは、物理的信号(ピンの電圧レベルを変更するような)又は既知の消費電力シーケンスを生成する特定の命令シーケンスである。物理的トリガー信号410の一例を図4に示す。トリガーのための命令挿入の概念を図5に示す。この場合、トレースに既知のパターン510、通常、短時間期間にわたる電流トレインでの大きな変動をもたらし、特定のコード510が実行されるときを示すのに役立つ追加のアセンブリ命令515が選ばれる。
図6に示されるように、ターゲットアプリケーション610が、Linuxデバイスドライバパラダイムを実施するプラットフォーム又は物理的信号に間接的にアクセスする任意の他のオペレーティングシステムでのユーザ空間で実行中である場合、間接的アクセスによって生じる実行及びタイミングの固有の不確実性を説明する必要がある。この場合、物理メモリ640に直接アクセスを有さず、カーネル空間620に配置されるデバイスドライバ631によってのみ物理的信号650を生成するために必要なレジスタ632にしかアクセスすることができないトリガー命令515が、ユーザ空間610において実行される。ファイルアクセスは、カーネル620が他のプロセスの実行をスケジュールする、適切な同期シグナリングにわたってプロセスが待つ(実行ブロック)必要があるため、実行及びタイミングでの不確実性が存在する。
マーカ630は最終コードに残る必要はないが、所定位置に残る場合、実行時評価プロセスが促進される。マーカが展開されたバージョンに残る場合、マーカに使用される設備又はサービスが展開されたプラットフォームになお残ることを保証する必要がある(例えば、マーカがLED640をオンにすることになっている場合、そのLED640は展開されたプラットフォームに存在しなければならない)。
特徴付け中、展開される厳密なコードを使用する必要があることに留意することが重要である。これは、厳密に同じツールを使用して同レベルの最適化を有するソフトウェアを構築することなどを含む。
よりよい性能のために、特徴付けは、ソースコード構造が各マーカと共に共同開発されて、様々な実行インスタンスにわたって最小のばらつきを有する最強シグネチャが生成される反復的相互依存プロセスであるべきである。
平均化して、任意の物理的システムに固有のランダムノイズの影響を低減するために、信頼コードの実行からの幾つかのトレースを収集する必要があり得る。特徴付けプロセスを図7に示す。マーカをコードに挿入した(710)後、信頼ソフトウェアが実行され、結果として生成される電力トレースが捕捉される(720)。これは、必要な場合、予め定義される入力735を使用して全ての重要な実行パス730に対して行われる。ランダムパラメータに起因する変動は、PCA(主成分分析)740を使用して除去される。差別的特徴(discriminatory feature)が抽出され(750)、統計学的分析、平均化、及びクラスタリング760が行われて、1組の認可シグネチャ770が生成される。
シグネチャは、異なる信号領域から抽出することができ、多次元であることができる。更に、複数のシグネチャを使用して、単一のコードを識別することができる。
トレース処理及び特徴抽出
記憶されたシグネチャと比較されるテストトレースを準備するプロセスは、前処理及び特徴抽出として知られている。トレース前処理は、選択された弁別子特徴を抽出するようにトレースを調整する、例えば、トレースを適切な領域に変換するか、又は参照内のトレースを特定のマーカに位置合わせする一般的なタスクを含む。トレース前処理の一例を図8に示し、図8では、OMAP3プロセッサを用いるBeagleBoardでのテスト、ソフトウェアの実行からの時間領域トレースはまず、電力スペクトル密度を計算することによって周波数領域に変換される。
基本前処理の別の例は、相関検出器に渡される前に、図9でのベースエグゼキューション及び代替(−1ビット遷移)トレースのアラインメントによって示されるように、時間領域トレースを位置合わせすることである。この例では、N個のサンプルの各トレースは、多次元ユークリッド空間内の点として見なされる。
特徴抽出は、検出器に渡され、保全性の特定に使用される最終的なテスト、統計を計算する(新しいトレースから)プロセスである。このプロセスは、選択される各特徴に固有である。例えば、基本時間領域相関分析では、前処理は、粗い同期と、特定のプラットフォーム消費電力パターンの補償とを含むことができ、一方、特徴抽出は、相関係数又はユークリッド距離を計算することにより、記憶されたシグネチャと突き合わせた比較を含む。特徴抽出の一例を図10に示し、図10は、図8のPSD例に続くBeagleBoardのOMAP3プロセッサでの信頼コード及び改竄コードの実行に対応するテストトレースのdB単位でのPSD誤差を示す。この差分ベクトルを使用して、検出器に渡される最終的なテスト統計又は差別的特徴を、平均二乗誤差又は任意の他の距離若しくは誤差尺度によって表すことができる。
検出器設計
シグネチャが抽出され、弁別子特徴が選択されると、PFPプロセスでの次のステップは、最終的な保全性評価(integrity assessment)の実行に最適な検出器を設計することである。これらの検出器は、監視動作中、テストトレースを侵入と見なすべきか否かの最終的な判断を下す。検出器設計及び通常監視動作のプロセスは、非常に似ている。検出器設計では、信頼ソフトウェアの実行からのテストトレースが捕捉され、処理されて、選択された差別的特徴を抽出し、記憶されたシグネチャと比較される。幾つかのトレースが収集されて処理され、それぞれの統計学的サンプル分布を使用して、期待される性能ターゲットをもたらす閾値を識別する。検出器設計のプロセスは図11に示される。ランダム又は予め定義される入力1110が、信頼ソフトウェア1120に提供され、新しいテストトレースがその実行から捕捉される。結果は、位置合わせされ同期され(1130)、トレースは前処理され、調整される(1140)。認可シグネチャ770を比較に使用して、選択された差別的特徴が抽出され、距離尺度が生成される(1150)。次に、結果として生成される尺度に対して、統計学的分析及び分布近似が行われる(1160)。最後に、ネイマン−ピアソン基準が適用されて(1170)、期待される性能ターゲットを満たす閾値を決定する。
最適な検出器を生成する一般的な手法は、ネイマン−ピアソン基準を適用して、所与の誤検出確率で検出確率を最大化することを含む。基本的な仮説テスト理論から生じるこの基準の手短なリマインダーとして、ターゲット誤検出確率は、最終的な判断でミスを犯すことの許容差及び推定コストに基づいて設定される。信頼コードからの差別的特徴の確率分布の推定を使用して、正確な検出の確率を最大化しながら、期待される誤検出確率をもたらす距離閾値が計算される。このプロセスの一例を図12に示し、図12では、距離閾値1220は、期待される誤検出確率1230をもたらす確率分布1210に関して計算されている。
しかし、選択された差別的特徴の性質に応じて改善された結果をもたらすことができる様々な技法があることに留意することが重要である。検出器設計及びマシントレーニングの他の技法としては、ニューラルネットワーク、サポートベクターマシン、及び隠れマルコフモデルが挙げられる。
監視動作
シグネチャが、信頼コードの実行から抽出され、差別的特徴が選択され、最適な検出器が設計されると、PFPモニタは、テストソフトウェアの保全性を評価する準備ができる。上述したように、通常の保全性評価プロセスは、検出器設計プロセスによく似ている。通常動作中、モニタも、必要な前処理後に電力トレースから選択された差別的特徴を抽出するが、検出器設計の場合に行われたような幾つかのトレースから統計を収集する代わりに、それらは、適切な検出器を通して、各閾値と比較され、テストコード実行の保全性ステータスを特定する。検出器は、テストトレースを全て既知のシグネチャと比較し、1つのテスト統計が、認可コードが実行されたと判断するには十分ではない場合、侵入が報告される。このプロセスは、図13に示される図に示されている。ターゲットソフトウェアは、通常動作中、又は予め定義される入力を使用して実行され(1310)、テストトレースが捕捉され(1320)、次に、テストトレースは位置合わせされ同期され(1330)、次に、前処理されて調整される(1340)。次に、検出器は、抽出された特徴を既知のシグネチャと比較し(1370)、距離を特定し、予め定義される閾値1220を使用して保全性評価判断を下す(1360)。
サンプル結果
スマートフォン及び他の埋め込みプラットフォームでのPFPプロセスを例示するために、Androidプラットフォームを実行するARMプロセッサ(720MHzのOMAP3)を用いるBeagleBoard改訂C4を使用してこの技法の参照実施を説明する。BeagleBoard1410は、コア電力レールに電力を提供する主トレース1420を切断して、電流プローブ1430に接続することによってわずかに変更されている。捕捉システムは、市販のリアルタイムオシロスコープ1440と、電流プローブ1430とを使用して実施される。オシロスコープは、2.5GSPのサンプリングレートに構成され、トリガー1450によって開始されるトレース毎に、合計で30,000個のサンプルが収集される。セットアップは図14において説明される。
プロセスを実証し、実現可能性を示すために、基本テストアプリケーションを開発した。この基本アプリケーションは、増大する整数をデバイス画面に表示する単純なカウンタからなる。このアプリケーションの動作は、リスト1において説明され、テキストボックスを示すように画面を準備し、カウンタとして使用される整数変数を設定する初期化ルーチンを有する典型的なAndroid Java(登録商標)アプリケーション構造からなる。カウンタの値をインクリメントし、画面に表示することを担うDisplayCounterと呼ばれるルーチンもある。このルーチンは、毎秒毎に呼び出される反復タスクとして構成される。

クリティカルインクリメント値ルーチンは、ネイティブCコードで実装され、従来のJava実装の代わりに、AndroidのNDKツールセットによって外部ライブラリとして包含された。クリティカルセクション前に、物理的トリガー1450が、電力トレースの収集開始を捕捉システムに通知する(1460)ように設定される。
リスト2に示されるクリティカルインクリメント/値ルーチンのみを特徴付け、監視する。

シグネチャ抽出は、単に、信頼コード実行からの幾つかのトレースのPSDを平均することによって周波数領域で実行される。トレースの位相情報は無視される。200個のトレースのPSDが一緒に平均されて、シグネチャをもたらす。
差別的特徴も同様に、シグネチャとテストトレースのPSDとの平均二乗誤差(dB単位)によって周波数領域で抽出される。最新の3つのテストトレースのPSDが一緒に平均されてから、MSEを計算する。PSDの最初の200MHzのみがMSE計算に使用される。
シグネチャ抽出のこのプロセスは、単次元差別的特徴を生成する。
検出器設計は、1%のターゲット誤検出確率PF4を使用して、上述したネイマン−ピアソン基準を使用して実行された。トレースのサンプル統計は、信頼コードの実行からの200個のトレースサンプルから抽出される。
サンプル分布は、トレーニングサンプル分布の平均及び分散に等しい平均及び分散を有するレイリー分布に近似した。この分布を使用して、逆確率分布が計算され、ターゲットである1%のPFAをもたらす閾値を見つける。
信頼コードからの実行ずれを検出する能力をテストするために、アプリケーションをわずかに改竄したものを使用して、前に設計されたモニタをテストした。リスト3に示される改竄アプリケーションは、特定の条件が満たされるまで、侵入を非活性化させたままである密かな攻撃をエミュレートするように設計される。侵入は、カウンタの値が特定の値に達する場合(条件)のみファイルが書かれる非常に単純な変更からなる。

改竄で行われるファイルの書き込みが、実行中に1回のみ(すなわち、カウンタが1である場合に)行われることに留意することが重要である。残りの時間では、ルーチンが呼び出されるとき、条件は満たされず、追加のファイルは書かれない。したがって、ルーチンが呼び出される大半の時間、論理的な視点からの変更は、所与の条件の追加の評価のみである。
動作結果
ルーチンの元の改竄されていないバージョンが実行されているときにモニタを実行することからの結果を図15に示す。
テストの持続時間中、閾値1510を超えたインスタンスは少数のみであり、これが設計された誤検出確率に矛盾しないことを見て取ることができる。
アプリケーションを改竄したバージョンを用いてモニタを実行することからの結果を図16に示す。認可実行として誤って分類されたインスタンスがなく、改竄されたアプリケーションのありとあらゆる実行が、閾値1610を超える侵入としてフラグ付けられたことに留意する。改竄の条件付き実行に起因して、実行中に1回のみ、これらの結果に使用されたインスタンスが、実際に書かれたファイルであることに留意することも重要である。残りの時間では、条件のみがチェックされ、条件が満たされていない場合、通常の実行が再開された。
最小感度のプラットフォーム特徴付け及び評価
消費電力の細かい測定は、差別的な情報を殆ど追加しないが、大きなノイズ及び不確実性をシグネチャに追加するおそれがある情報を生成させることがある。時間領域では、これは図17のように見える。この場合、2つの実行間で分散を殆ど示さないセクション、例えば、1720とは対照的に、2つの実行間に最大の分散1710を有するトレースのセクション(次元)に注目されたい。他方、ランダムパラメータをとる特定のソフトウェアルーチンを特徴付ける場合、これらのランダムパラメータの影響は、ノイズをシグネチャにもたらすことであり、性能の低減及び誤検出確率の増大に繋がる。この場合、ターゲットソフトウェアの実行中、ノイズを追加する次元を無視しながら、一定のままである次元(例えば、1720)に注目されたい。この場合、大きな分散を示す次元(例えば、1750)は無視されたい。
PFPの性能を改善するために、最も多くの情報を伝える特徴のみに集中することにより、分析される特徴数を低減することが必要である。これは、トレーニングの一環として、所与のプラットフォームで最も多くの情報を伝える特徴を事前特徴付けを行い、次に、トレースを検出器に渡す前に、前処理中に冗長情報をなくすことによって達成される。
技術的背景
従来のパターン認識システムでは、特定の基準を最大化する特徴のサブセットを選択するプロセス(PFPの場合、弁別子情報PFPを最大化しようとする)は、最適特徴選択として知られている。クラスタリングシステムでは、これは通常、線形変換により、トレースxを、最も有用なもの(又は情報の視点から)からの少数の次元を有する変換空間に投影することによって達成される。
この変換は、
y=Wx
として記述され、式中、Wは、テストトレースに適用される場合、特定の基準を最大化するより少数の次元を有する変換トレースをもたらす、入念に設計された線形変換行列である。最適な変換を識別する異なる基準がある。差別的情報に関して特徴選択を最適化しようとしているため、情報理論手法に従うことが自然である。この最適化は、従来実行されており、パターン認識文献での幾つかのソースに見出すことができ、例えば、J. T. Ton及びR. C. Gonzalez, “Pattern Recognition Principles,” Addison-Wesley Publishing Company, 1974を参照されたい。この文献は参照により本明細書に援用される。
主成分分析
トレースでのエントロピー(又は情報)を最大化する適切なWを決定する周知の手法は、主成分分析(PCA)である。異なるクラスの共分散尺度Cが正規分布し、同一であるC=Cと仮定する。したがって、固有ベクトルは、考慮中のトレースの情報ベアラとして見なすことができる。これらのベクトルの幾つかは、大きな性能ペナルティなしで安全になくすことができる他のベクトルよりも分類の意味でより差別的な情報を伝える。最適な特徴ベクトルがこれらの固有ベクトルに結び付けられ、対応する固有値に従って降順に固有ベクトルを集めることにより、変換行列Wを生成するために使用されることは、驚くべきことではない。PFPでは、クロックサイクル毎に単一点のみが必要であるため、変換行列Wは、最大固有値に関連付けられた共分散行列の固有ベクトルによって与えられる。
線形変換は、最も情報的という視点からより低い次元の変換空間へのテストトレースの投影として解釈することができる。PCAは、特定の目的に応じて様々な方法で適用することができる。クラスタリングの視点から、最小の固有値に関連付けられた固有ベクトルを使用して、Wを構築することが好ましく、その理由は、最小の固有値に関連付けられた固有ベクトルが、変換空間でより密なクラスタを生成するためである。他方、異なる実行からのトレースが使用される場合、最大の固有値に関連付けられた固有ベクトルを使用することも可能である。このようにして適用される場合、PCAは、クラス間で最大の分散を呈する特徴を選択する。共分散行列が同一であると仮定すると、これらの固有ベクトルは、PCAに使用される特定のトレース間で最大の差別的情報を含む特徴を表す。
線形判別分析(LDA)
PCAは、分散の点で昇順又は降順で特徴サブセットを選択して、トレースエントロピーを最大化する。しかし、PCAは、分布間の距離を最大化する最適な特徴セットを選択するために、クラス間の特定の差を考慮しない。線形判別分析(LDA)は、分布間の相違を最大化し、相違は、確率分布間の距離の測定値である。相違は、情報理論での相対エントロピーの概念に密に関連する。
異なるクラス及び相違からの特定の情報を最適化基準として使用して、LDAは、最大分離をもたらす固有の視点からトレースを投影する最適な変換行列を識別する。これは、変換ベクトルWが両分布間の最適な弁別超平面に直交するためである。
トレースが正規分布するという仮定に従い、著しい相違をもたらす変換行列が、非ゼロ固有値に関連付けられたC−1σσの固有ベクトルのみによって与えられることを見て取ることができ、
=C−1(μ1−μ0)
式中、Wは、両クラスを分離する最適な投影を提供し、一方、μ及びμは、2つのトレーニングクラスの各セントロイドである。LDAは、M個の弁別クラスに拡張することができる。この場合、非ゼロ固有値に関連付けられたM−1個の固有ベクトルが存在することになる。
プラットフォーム消費電力特徴付け
上述したように、テストトレース内の全てのサンプルが、実行のずれが生じたか否かを判断するために等しく重要であるわけではない。大きなオーバーサンプリング率及び電力トレースの性質により、他よりも多くの差別的情報を伝えるトレースの特定のセクションがある。PFPの場合、目標は、最も多くの情報を伝える次元を強調しながら、冗長性を除去することにより、トレースの次元を低減する線形変換を識別することである。
概念は、最適変換行列を使用してトレースの線形投影を使用することにより、差別的な特徴を変換して、次元を低減することである。時間領域では、フルクロックサイクル1810に対応するトレースセクションは、図18に示されるように、変換空間での単一点1820に低減される。分類器は、変換空間で動作し、通常の監視動作中に考慮する必要がある次元数を低減するようにも設計される必要がある。
特徴付けは、研究室内の被制御条件下で実行され、プラットフォーム毎に1回のみ必要とされる。前のセクションで説明したように、最適変換行列を識別する2つの一般的な手法PCA及びLDAがある。
PCAを使用したプラットフォーム特徴付け
PCAを使用して変換行列を生成するには、ランダムクロックサイクル中、プロセッサの消費電力を観測する必要がある。トレースは、あらゆるクロックサイクルで位置合わせされ、プロセッサ実行の動的挙動によって最も影響を受けるトレースのセクションを明確に示す。トレースが位置合わせされると、PCAを使用して、トレースでの最も大きな分散を説明する変換ベクトルを識別する。
PCAを使用してプラットフォーム特徴付けを実行することは、実施が比較的容易であり、パイプライン内のコンテンツの制御が難しすぎることになる複雑なプラットフォームによく適する。
LDAを使用したプラットフォーム特徴付け
LDAを使用してプラットフォーム消費電力特徴付けを実行するには、2つの入念に仕立てられたルーチンを開発する必要がある。これらのルーチンは、特定のアドレス及びパラメータを有する特定の命令を正しい順序で実行して、特定のクロックサイクル中、所定の差を示す2組のトレースを生成しなければならない。両ルーチンの実行からのトレーイングトレースは、LDAが最適な超平面を見つける2つのクラスを提供し、最適な超平面は最適な変換ベクトルになる。
特別な特徴付けルーチンの目的は、入念に仕立てられた命令シーケンスを実行して、特定のクロックサイクルで、各実行ステージ(フェッチ、ラッチ、実行等)中に既知の変更があるように、パイプラインに適宜投入することである。変更は、好ましくは各レジスタでの少数の変更ビットに起因して、比較的小さなものであるべきである。特徴付けルーチンは一意ではなく、特徴付けられているプラットフォームのアーキテクチャ、命令セット等に依存するため、プラットフォーム固有である。異なるプロセッサには異なるシーケンスが必要になる可能性が高い。
両シーケンスの実行からのトレースが捕捉され同期されると、LDAを使用して、最適変換ベクトルWを見つける。LDAを使用したプラットフォーム特徴付けが、2つの既知のクラスの利用可能性を所与として、最良の性能を提供することが予期されるが、その実施はPCAよりも複雑である。
プラットフォーム消費電力特徴付け参照実施結果
IEEE802.15.4での評価及び開発プラットフォームとして意図されるPICDEMZデモンストレーションキットで使用されるものと同様のMicrochip Technology Inc.,からのPIC1 8LF4620 8ビットマイクロコントローラを有するマザーボードを使用する。これは、メモリ管理ユニットがない人気のある埋め込みマイクロコントローラである。
プロセッサマザーボードは、消費電力特徴を強化するためにわずかに変更される。ボードから、合計で6個の減結合キャパシタが除去され、合計で累積6マイクロFが除去される。これらのキャパシタの機能は、デジタルプロセッサによって生じる強い電流ピークによって電源に課されるストレスを軽減することである。電流センサがプロセッサ電力ピンのより近くに配置される場合、又は結果として生じるLP場の影響が信号処理を用いて相殺される場合、減結合キャパシタの除去が必要ないことに留意することが重要である。
トレース収集は、Tektronix TDS649Cリアルタイムオシロスコープ1910と、Tektronix TC-6電流プローブ1920とを使用して実行される。プローブは、マザーボード上の電圧調整器を過ぎた直後に接続される。オシロスコープは、500MS/s及び10mVに構成される。トリガーは、LED1 1930によって駆動され、立ち下がりエッジ、40mVに構成され、トリガー前のサンプルは保持されない。合計でL=30,000個のサンプルが、あらゆるトリガー事象後に収集される。測定セットアップを図19に示す。トレースは捕捉され、事後分析のためにGPIBを使用してホストコンピュータに転送される。
サンプルルーチンが、1)プラットフォーム特徴付けを実行するためのトレーニングルーチンの提供及び2)手法の性能を測定するための参照変更の提供という2つの目的で、この実験のために開発される。ルーチンの評価使用を説明することによって開始し、比較のためのベースライン性能を提供する。テストルーチンは、リスト4に示され、無限ループで実行される。このルーチンでは、レジスタWの内容は、異なる命令を使用して00からOfにトグルされる。ルーチン内の実際の論理が電力指紋付けの性能に影響しないことに留意する。このルーチンは、生じるビット遷移の数を制御することが容易であるため、選ばれた。しかし、結果は、実行される特定のソフトウェアに依存しない。したがって、このルーチンは代表的な例を提供する。

ルーチンは、リスト4に示されるように、基本実行を表す。トレースコードに先行して、LEDをボードで使用してトリガーを生成する。トリガーは、トレースの捕捉をオシロスコープと同期させるために使用される。トリガーとターゲットコードとの間の「NOP」命令は、トリガーからの任意の残留効果からターゲットトレースを分離するためのバッファとして包含される。主ループ内になると、レジスタWは00から0fにトグルされて、命令毎にそのレジスタで4ビット遷移を生成する。代替又は変更されたコードは、1つ少ないビット遷移を有する。15行目では、変数jの内容をOfから07に変更する。このようにして、ターゲットコードが実行中である場合、35行目において、パラメータkはレジスタWに投入され、レジスタWは00から07になり、その命令でのレジスタでのビット遷移は3つのみである。この変更コードと、レジスタWにOfを投入し、命令、パラメータ、及びアドレスを含め、実行での他の全ては同じままである基本実行との間には1ビット差しかないことに留意する。この1ビット変更が実際には、その命令に入る遷移数が1つ少なく、その命令から出る遷移が1つ少ないため、2つのクロックサイクルに影響することに留意する。ターゲットコードの末尾には、ループが繰り返される前に「NOP」命令文字列がある。
典型的なトレースの詳細を図20に示す。この図において、ターゲットコードの1つの完全実行サイクルを捕捉する。電力トレースへのトリガーの影響は、2つの方形段2010及び2020として明確に見える。個々の命令サイクルも認識可能である。命令サイクルは、125サンプル毎に繰り返される4つのスパイク群として識別することができる。プロセッサのドキュメンテーションからのタイミング情報を使用して、ターゲットコードの実行に対応するトレースのセクションを特定することができる。図20では、このセクションは、10の命令サイクルに広がる実線2030として強調表示される。これは、実際のコードに一致し、実際のコードは、それぞれが実行に1バスサイクルがかかるアセンブリ命令からなる。
幾つかのトレースは、基本実行及び代替実行のそれぞれから捕捉され、各実行からのトレースは一緒に平均されて、1つ少ないビット遷移の全体への影響を示す両実行の明確な像を提供する。平均トレースは図21に示される。この図では、基本コードの実行に対応する10のクロックサイクルが示され、各実行からのトレースが位置合わせされることが示される。しかし、サンプル指数650前後に、2つのトレースの小さな相違を見ることができる。相違(2110における)は、より近くで見た図を提供する図21の上部でより顕著である。両シナリオからのセントロイドの近接性と共に、オーバーサンプリングに起因して、トレースが大方相関するとともに、トレースの特定のセクションのみが有用な差別的情報を伝えることも明らかである。
比較を目的として、プラットフォーム事前特徴付けなしでのネイティブ分類手法の結果を時間領域において提供する。基本最小距離分類器を使用する。この手法では、長さL=1250(ターゲットコードの長さ)の各捕捉トレースが、L次元ユークリッド空間での点を表す。ユークリッド距離は、基本実行セントロイドから各入力テストトレースまで測定される。分類を目的として、基本セントロイド及びテストトレースは、1250次元を有する多次元ユークリッド空間での単一の点又はベクトルを表す。テストトレースは、基本セントロイドの取得に使用されるトレーニングトレースと異なる。これは、異なるシナリオを正確に区別するために、最小距離分類器の評価でのバイアスを回避するためである。
両ルーチンの実行からのテストトレースは、図22に示されるユークリッド距離分布を有する。このネイティブ例では、電力指紋付けの性能は促進されず、その理由は、分布間に差が殆どなく、分布が略重複するためである。基本シナリオと代替シナリオとの消費電力差が小さいことを考慮して、この不良な性能は予期される。
プラットフォーム特徴付けの最初の結果は、PCAの適用から得られる。このプロセスでは、リスト4に示されるルーチンでのターゲットコードの実行に対応する全てのクロックサイクルを使用する。トレースの完全実行に対応するトレースは、単一のクロックサイクル実行に対応する異なるセクションに分割される。次に、サブセクションは位置合わせされ、PCAを使用して、大半の分散を説明する固有ベクトルに対応する変換ベクトルWを見つける。この場合、上述したように、1クロックサイクルにわたるオーバーサンプリングトレースをとり、それを単一点に低減する。
PCAを使用してプラットフォーム特徴付けを実行した後、評価ルーチンからのテストトレースは再び処理されて、プラットフォーム事前特徴付けの性能改善を示す。新しいPCA変換空間での変換テストトレースからシグネチャまでの最小距離分布を図23に示す。
明確な分離が分布の大部分間に見られ、これは、図22に示される内ティブ分類性能に関する明らかな改善を表す。LDAを使用したプラットフォーム特徴付けに関する結果。
LDAの適用に必要なトレーニングトレースを取得するために、基本ルーチン及びわずかに変更されたバージョンを実行する。ここでもリスト4でのコードである基本実行及びリスト5に示される基本実行をわずかに変更したものからの2組のトレースを比較することにより、特別なプラットフォーム特徴付けトレースを取得する。実行での変更は、基本実行と比較して、各実行段で1つ少ないビット遷移が生じるように入念に選択される。この変更バージョンでは、36行目の命令は、命令コード0001 10daを有するxorwfから、命令コード0001 00da(任意選択的な引数d及びaは、宛先及びRAMアクセスビットをそれぞれ制御し、両事例で同じ値を有する状態を保つ)を有するiorwfに変更される。実行中、命令コードでの相違は、命令ワードをラッチする際に1つ少ないビット遷移を生じさせる。命令内のパラメータは、アドレス0x01に配置されるjから、アクセスRAM内のアドレス0x00に配置されるiに変更された。ここでも、変更は、実行時に1つ少ないビット遷移を生じさせる。更に、j及びiの内容も1ビット異なることに留意する。これはまた、パラメータをパーズする際、命令を実行する際、及び結果を書き込む際に、1つ少ないビット遷移に変換される。

プラットフォーム特徴付けの場合、リスト5の36行目の実行に対応するトレースのみを使用する。これらのトレースの平均(実行毎に、基本実行及び−1ビット遷移)を図24に示す。
これらのトレースを使用して、LDAを実行し、最適な弁別超平面と、トレースを最も情報的な視点から投影する線形変換とを識別する。評価ルーチンからのテストトレースは再び処理されて、プラットフォーム事前特徴付けの性能改善を実証する。変換テストトレースから新しいLDA変換空間でのシグネチャへの最小距離分布を図25に示す。
他の埋め込みシステムの中でのソフトウェア制御される無線プラットフォームでの認可ソフトウェア実行からのずれ検出
プロセッサの動的消費電力を監視して、期待される実行に対応するか、又はずれが生じたか否かを判断することができる。
プラットフォーム説明
電力指紋付け(PFP)のこの使用を示す例示的なターゲットプラットフォームは、ソフトウェア制御無線であり、無線挙動の特定の構成は、ソフトウェアによって制御される。意図されるプラットフォームの全体ブロック図を図26に示す。
このプラットフォームでは、RF送受信器2610の挙動及び構成は、プロセッサ2620によって制御される。アプリケーション2626は、最高レイヤを表し、プロセッサに意図される機能を実施する。RF送受信器2610と効率的に相互作用するために、主アプリケーションへのハードウェアとの相互作用の複雑性を抽象化する1組のアプリケーションプログラムインタフェース(API)2624がある。これらのAPIは、要求されるドライバ及びプロトコルスタック実装2622と共に、ボードサポートパッケージを特定の送受信器に提供する。プロトコルスタック2622は、送信すべきデータを事前に決められたフォーマットにし、要求されるヘッダを追加し、ペイロードを準備し、それにより、意図される受信器は情報を抽出することができる。リモートデバイスから受信される情報を抽出し、それをアプリケーションレイヤ2626に提示することも担当する。暗号化モジュール2612は、RF送受信器又はプロトコルスタックの一環としてソフトウェアにおいて実施することができる。図26は、暗号化モジュールを送受信器の一部として示す。暗号化モジュール2652のロケーションは、手法において実際の相違を示さない。RF送受信器2610のMACレイヤ2614及びPHYレイヤ2616は、情報の媒体アクセス及び物理的送受信を担当する。
記載される手法は、アプリケーションソフトウェア2626の実行、特に、暗号化モジュール2612の挙動に影響するAPI呼び出し2624の実行を特徴付ける。この手法では、API呼び出しの結果として実行される特定のコードは、暗号化が使用されたか否か、及び使用された暗号化のタイプを特定するために使用される。例えば、アプリケーションが特定の種類の暗号化伝送を必要とする場合、この手法は、暗号化を呼び出すコードの実行をアサートする。悪意があるか、又は偶発的な改竄の場合、この手法は、変更の確実なインジケータを提供する。
シグネチャ抽出
認可コードaのi番目の実行中に捕捉される長さLのトレースは、

によって表される。
他のボード構成要素からの潜在的な低周波干渉を回避するために、基本的な乗算器なしハイパスフィルタが、トレースサンプル間の相違を計算することによって導入される。

認可コードの実行からの幾つかの捕捉トレースを使用して、ターゲット指紋であるシグネチャを生成する。N個のトレースを平均して、ターゲットシグネチャを形成し、個々のトレースでのランダムノイズの影響を低減する。

特徴抽出
差別的特徴を抽出するプロセスは、ターゲットシグネチャと突き合わせた単純な時間領域相関からなる。しかし、相関は、シグネチャ及びトレースのj>0部分セクションに対して実行され、各セクションは長さw=フロア{L}を有する。この部分相関は、フルトレース相関にわたる電力トレースでの潜在的な相違の拡散を回避するために実行される。
トレースのセクションjの異なるサンプルラグ0<k<wの相互相関は、

によって与えられ、式中、

及びσは、sでの対応するセクションのサンプル平均及び標準偏差であり、

及びσは、

での対応するセクションのサンプル平均及び標準偏差である。
任意のクロックドリフトを補償するために、異なるラグに最大相関値を保持する。この動作は、トレースの次元をあらゆるトレースのj個のピーク相関値のシーケンスのみに低減する。

理想的な条件下で、b=aの場合、あらゆるセクションjで

である。消費電力特徴からの任意のずれは、低減される相関係数によって反映される。
トレースを評価するこの作業で使用される実際の差別的特徴又はテスト統計は、その特定のトレースの最小ピーク相関値である。

確率変数x(i)は、コードbのインスタンスiのシグネチャからの最大ずれを示す。Xを使用して、システムから事前に収集することができる統計学的情報に応じて、異なる基準を使用して適切な検出器を設計することができる。
保全性違反への応答及び階層セキュリティ
PFPは、サイバーシステムでの実行ずれを検出する非常に効果的な手法である。しかし、完全な解決策を有するためには、PFPモニタが、期待される実行からのずれを検出する場合、構造化ポリシーによって保全性違反を処理する必要がある。
コンピュータセキュリティには、3つの明確に定義されるフェーズがある:
阻止:攻撃者が攻撃を継続して、システムを妨害し、情報を開示などすることを阻止し、防止し、回避する能動的なメカニズムを含む。
検出:完全で絶対的な回避は実現不可能であるため、システムの保全性の常時監視を実行する必要がある。
応答:攻撃の成功に対して反応するポリシーセットが定められる。
PFPを包括的な深層防御セキュリティ手法に統合するためのアーキテクチャについて、これより説明する。この手法では、PFPは、幾つかの異なる技法を補足して、潜在的な攻撃を回避し阻止するロバストな解決策を、「検出」フェーズに提供する。様々な攻撃成功への適切な反応は、「応答」フェーズにおいて定義され、後述するセキュリティポリシーに従って記述される。
システムセキュリティの達成には、分離されたメカニズム又は技術だけではなく、プロセスを必要とするが、PFPが従来のセキュリティメカニズムを補足して、保全性評価及び侵入検出に連続又は断続的監視を提供することができるエリアの説明に集中することにする。PFPの役割を説明する前に、セキュリティプロセスが幾つかのステップを含むことを述べておくことが重要である。
設計。正しい設計手法に従い、セキュリティ施行の促進、脆弱性の低減、アクセス制御の施行等を行うようにシステムを設計する。典型的な例は、セキュリティ機能が残りの機能から分離され、そこでアクセス制御特徴が本質的に施行されるようにシステムを設計することである。
開発。最良の開発実施に従い、脆弱性が低減された保守可能な製品を生成する。
展開。認可モジュールのみが展開されることを確実にする。これは、強力な認証及び否認防止手法を必要とする。
動作。強力なアクセス制御及び他のセキュリティポリシーを施行することにより、セキュアな環境を維持する。
監視。システムの保全性を常時評価する。PFP、アンチウィルス、及びネットワーク侵入検出システム。
応答。攻撃が成功した場合に従うべきポリシー及び手順を定義する。ポリシーは、システムの重大性を考慮して作成されるべきであり、厳密に施行されるべきである。
このセクションでは、あるレイヤの脆弱性が次のレイヤによってカバーされる補足的なセキュリティメカニズムを含む包括的セキュリティ解決策にPFPモニタを統合するアーキテクチャを記載する。異なるレイヤに含まれる手法及び技術は、保存データの暗号化、強力な認証、アクセス制御、耐改竄性、ファイアウォール、サンドボックス、仮想化、及び物理的保護を含む。アーキテクチャは、セキュリティポリシーを定義して施行し、PFPによって検出される保全性違反に反応するメカニズムも提供する。
アーキテクチャは、PFPモニタが、侵入者が全ての他の防御メカニズムをすり抜けたときを検出することにより、最後の防御ラインを提供する階層セキュリティ解決策を定義する。図27は、深層防御手法での様々なレイヤ2700を示す。様々なレイヤは、敵を遅くさせ、気付かれずに防御レイヤを突破することを漸次的により難しくすることが意図される。外部レイヤには、インターネットファイアウォール、機器の物理的保護、並びにパスワード及びセキュリティポリシー(すなわち、ソーシャルエンジニアリング攻撃を阻止する)等の外部ディフェンスメカニズムがある。内部レイヤは、ホスト2750内に存在する異なるディフェンスに対応する。アクセス制御2740及び保存データの暗号化で開始される。アプリケーション2760及びオペレーティングシステム2770の保護が意図される異なるセキュリティメカニズムに続く。コア2780には、最も基本的なカーネル及びセーフティ動作の制御部がある。
PFPは、異なるレイヤの保全性を効率的に監視することができる。コアレベル2780において、PFPは、カーネルと、他の全てのメカニズムが依存するセーフティ動作の保全性を評価することができる。これは、オペレーティングシステム2770でのコアアプリケーションの保全性と、クリティカルユーザレベルアプリケーション2760の保全性との監視に拡張することもできる。図28に示されるように、PFPが、アンチウィルスモジュール及び暗号化モジュールを含め、プロセッサ範囲内に存在する全てのモジュールの保全性を監視可能なことに留意する。
PFPをサイバーセキュリティの深層防御に統合することにより、潜在的なインシデントを、それらのインシデントが目標を達成し、破損の発生を許す前に、より高速に処理することができる。暗号化及びアンチウィルス等の他のセキュリティモジュールの実行からの電力シグネチャは、実行時に抽出され、評価される。PFPの視点から、カーネルモジュール及びアンチウィルスプログラムからのシグネチャは、同じようにして、同じ技法を使用して抽出される。
PFPを任意の他のデバイスに拡張して、その実行保全性を監視可能なことに留意することが重要である。これは、ファイアウォール、デジタルセキュリティロック等の異なるセキュリティレイヤの実施に使用することができるデバイスを含む。
PFPを用いたサイバーディフェンスの最後の段階は、動作の監視及び評価によって検出される異なる異常の処理に適切なポリシーを定義することである。成功した侵入への適切な反応は、各プラットフォーム及びアプリケーションに固有の幾つかの要因に依存するため、PFPモニタによって検出される異なる侵入に対する応答を一般化することはできない。したがって、基本動作原理及び構造を維持し、再使用しながら、異なるシステムに向けて調整可能な異なるセキュリティポリシー定義を受け入れ、施行するアーキテクチャに従う必要がある。
マルウェアのダイナミクス及び挙動を監視する分散PFPモニタネットワーク
このセクションでは、異なる地理的又は論理的領域にわたって展開されて、マルウェアの拡散を監視し、ターゲット攻撃を検出し、悪意のある敵の潜在的な目的を発見するPFP機能を有するノードの広域ネットワークの動作について説明する。この手法は、特定の論理的又は地理的エリアでの密かなリモート攻撃の発見に適用可能である。
この用途にPFPを使用することの主な利点の1つは、そのステルス性であり、これは、敵が監視活動自体を検出できないようにし、見せ掛けの内密性の(敵が検出されていないと信じる)感覚を敵に与え、敵が活動を継続するように欺き、目的及び能力を開示させる。PFPのこの適用は、機密情報収集の強力なツールである。
動作
ステルス監視は、PFPの低フットプリントによって達成され、ターゲットシステムへのメモリ及び待ち時間に関する影響は殆どない。PFPノードの分散ネットワークは、以下のステップを使用して実施される。
PFPを有する代表的なノードをイネーブルする(PFPモニタに合わせ、ターゲット構成要素から信頼シグネチャを抽出する)。ターゲットノードはハニーポットとしてのみ動作するため、モニタはラック搭載し、リソース豊富であることができる。
PFPのネットワークの展開により、地理的又は論理的なターゲット関心領域上のノードがイネーブルされる。
図29に示されるように、保全性違反及び侵入に関して、各ノードを個々に監視する。
保全性結果を中央ロケーションに定期的に提出し、ログし、分析する。
保全性違反の場合、リポートは、
違反した電力トレースのコピー、
違反前に実行された非改竄モジュール実行の順序付シーケンス、
違反後の実行されたモジュールの順序付きシーケンス
を含むべきである。
PFPのこの適用を図30に示す。この図は、異なる地理的ネットワークでのPFPハニーポットを示す。しかし、ネットワーク分離が、同じネットワークの異なるセクション内などのように論理的であってもよく、又は異なる政府機関若しくは企業部門のネットワーク内などのように社会/政治的であってもよいことに留意することが重要である。
図30において点線で示される、ハニーポットと中央分析ロケーションとの間のリンクは、別個のネットワーク(例えば、専用無線リンク)として実施することもでき、又は公衆交換電話網(PSTN)若しくはインターネット等の利用可能な広域ネットワークを使用して行い得る。何れの場合でも、トレースの発端及び保全性の証明(高信頼性認証)の提供を担当する強力な否認防止メカニズムを配置して、システム全体の信頼性を維持しなければならない。
サプライチェイントラスト分析へのPFPの適用
デバイスの製造及び生産を外部の信頼できない工場及び製造業者へのアウトソーシングは、潜在的なセキュリティ違反及び改竄の可能性をもたらす。信頼できるプロバイダであってさえも、外部の人間又は不満を持った人間が、クリティカルシステムの動作及び機能を妨害しようとする危険性がある。
PFPは、システムの寿命全体を通してのサプライチェインでの信頼できないリンクによって導入されるソフトウェア、ファームウェア、及びハードウェアでの不正変更及び他の改竄を検出するメカニズムを提供する。PFPを使用した新しい出荷物及び信頼できないデバイスの保全性評価は、図31に示されるステップを必要とする。入力ベクトル生成器3110を使用して、電力トレースが収集される(3130)、被制御環境3120下でのターゲットデバイスの実行に必要な入力を提供する。消費電力の個々の特徴のパラメータが補償され(3140)、それから特徴抽出3150が実行される。結果として生成される特徴は、記憶された参照シグネチャ3170と比較され(3160)、この比較から、最終的な評価結果が得られる。
PFPを使用してデジタルデバイスの保全性を検出することは、破壊的なプロセスではなく、評価中のデバイスからの最小の連携のみを必要とする。更に、消費電力の細かい測定値は、大きな可視性をデバイスの内部実行ステータスに提供し、変更を気付かれずに行うことを極めて難しくする。例えば、PFPは、条件チェック中の追加の機能又は実行フローの部分活性化に起因して、特定の条件(論理爆弾及び時間爆弾としても知られる)下のみで活性化する改竄を検出することができる。追加又は欠落した機能を検出するPFPの能力は、挿入自体の目的又は意図に依存しない。
PFPの別の利点は、PFPを用いて検証された特定の実行パスが、悪意のある活動がトリガーされない場合であっても信頼できることである。換言すれば、PFPがシグネチャからの有意なずれを検出しない場合、その特定の実行パスで改竄又は追加の機能が発生しなかったことを意味する。
PFPを用いてサプライチェイントラスト分析の実行での鍵となる要素は、被制御環境3120下で非信頼デバイスを実行することである。この被制御環境は、特定の状態シーケンスを強いる予め定義される入力3110と、プログラマブルデバイスの場合、実行すべき特定のソフトウェアとを含む。システムによっては、特定の構成要素の実行を制御し分離するサポートスキャフォールディングを開発することが必要であり得る。特定の入力ベクトルは、デバイス又はソフトウェアモジュールの機能に依存し、デバイスの動作のクリティカル実行パスを行使することが予期される。
シグネチャの抽出に使用されるものと同じ入力ベクトルを、非信頼デバイスの保全性評価に使用する必要がある。
製造中のわずかなプロセスのばらつきにより、異なるデバイスは異なる消費電力特徴を示す。消費電力のこれらのばらつきは、誤った評価を回避するために、特徴抽出3150前に補償する(3140)必要がある。この補償は、タップが消費電力トレースの特定の特徴に合うように動的に変更される適応フィルタによって実行される。この適応フィルタにより、PFPモニタは、実行中、デバイスレジスタでのビット遷移から生じる消費電力に集中し、製造のばらつきに起因するトレースの差をなくすことができる。
PFPを使用した効果的なサプライチェイントラスト分析の最も重要な側面は、参照シグネチャ3170の利用可能性である。図32に示されるように、そのようなシグネチャの異なる潜在的なソースがある。最良の参照は、同一の信頼実施(判断基準)3230によって提供される。しかし、多くの場合、そのような信頼実施は利用可能ではない。これらの場合、参照シグネチャは、様々な程度の誤差及び信頼性を有する代替の方法を使用して抽出することができる。例えば、2つの比較的単純な代替の参照ソースは、デバイス(時間テストされたもの)3250の前の実施又は異なる供給業者3260からの代替の実施を含む。これらの場合、シグネチャは、代替の実施の実行から抽出され、異なるプロバイダによる2つの同一の変更の可能性を低減する。前者の手法からのシグネチャは、前のバージョンに存在する識別されない変更を見逃すことがある。後者の手法では、攻撃者は、異なる供給業者からの両バージョンに同一の変更を生成して、検出を回避することができる。
CADモデル3240を使用して、シグネチャを得ることは、より多くの作業を要するが、外部工場に依存せずにインハウスで行うことができる。CADモデルを使用してシグネチャを抽出するためには、決定論的入力ベクトル(deterministic input vector)を使用してデバイスの実行をシミュレートする必要がある。シミュレータは、レジスタ転送レベルへの消費電力に関して正確である必要がある。
デジタル権利管理及び実行制限リース
PFFの別の新規の用途は、実行回数に基づくライセンシングを可能にするデジタル権利の強化及び実行インスタンス制限リースの生成である。
この手法は、保護されたソフトウェアの実行からシグネチャを抽出することによって実施され、電力指紋を実行時に監視して、認可モジュールの単独実行を強制する。例えば、ソフトウェアシステムは、1組の基本モジュールのみを包含するようにライセンスすることができ、モジュールのサブセットはより高いライセンス階層に確保される。全てのモジュールからの指紋が、リリース前に抽出される。実行時、PFPモニタは、異なるモジュールの実行を認可ライセンスと照合する。パスワードが盗まれるか、又は保護突破の結果として、ライセンスされていないモジュールが実行される場合、PFPモニタは、違反について発行側エージェンシーに通知することができる。
更に、保護されたソフトウェアで、信頼できる実行インスタンス制限リース手法をイネーブルすることが可能である。この場合、PFPモニタは、ライセンスされたソフトウェアが実行された回数のカウントを維持し、リースが切れたときを発行側エージェンシーに通知する。
同様の手法は、ライセンスされるメディアコンテンツに対して行うこともできる。PFPモニタを使用して、PFPを使用して既知のメディアプレーヤ上の特定のファイルの再生を検出することが可能である。この場合、保護されたメディアデータは、PFP特徴付け中、所定の入力に取って代わる。同じメディアが特定のプレーヤで再生される場合、電力シグネチャは一致する。したがって、PFPを使用して、不正ライセンスメディアの再生を検出することができる。
PFPに基づく故障予測
ハードウェア構成要素は、経年劣化が不可避のプロセスを受け、経年劣化は、過酷な環境での動作により、又はシステムが連続環境ストレス下で動作する場合に加速する。この経年劣化は、プラットフォームの消費電力特徴に反映される。PFPを使用して、ソフトウェアの正確な実行のみならず、ハードウェアプラットフォームの保全性も監視することができる。PFPモニタは、ハードウェアの消費電力特徴を常時追跡し、故障が実際に生じる前に故障を予測し、特定のシステム又は要素を交換しなければならないときを示すことができる。
PFPでの消費電力特徴の追跡は、適応フィルタを使用して実施される。Stは、シグネチャが抽出されるときからの消費電力の相違を補償するために、又は環境条件に起因して必要である。同じ追跡メカニズムを使用して、ハードウェアのステータスを監視し、デバイスの研究所テストで捕捉された所定のパターンと消費電力特徴を比較することができる。故障特徴を識別するプロセスを図36に示す。このプロセスでは、経年劣化の加速3610が、ターゲットデバイスを急激な温度変化に曝すことによって達成可能である。特徴付けプロセスは、ある間隔で行われ、テストルーチンの実行中、1ラウンドの経年劣化の加速後に、トレースの捕捉が続く(3620)。トレースは、事後分析用に収集され、プロセスは、デバイスが故障するまで繰り返される。デバイスが故障すると、1組のトレースが調べられて、故障前に示された特定の特徴を特定する(3630)。特徴は、他の同様のデバイスからも抽出されて、統計学的多様性を提供し、一般特徴を分離する(3640)。
同期シグナリングへのモジュール識別情報の埋め込み
PFPは、正確な評価を提供するために、実行中のソフトウェアと適宜同期する必要がある。PFPには2レベルの同期がある:クロックサイクルレベル及びルーチンレベル。前者は、クロックサイクルレートで生じる消費電力での別個のサイクルを追跡することにより、又は単純なプラットフォームでは、クロック信号自体を探査することにより、容易に達成することができる。後者の同期は、達成がより難しく、プロセスは、PFPモニタに特定のルーチンの実行を通知するトリガー又は識別子をルーチン自体に埋め込むことによって促進される。
このセクションでは、実行中のノードの識別情報をトリガー及びシグナリングメカニズム内に埋め込むメカニズムが提示される。このメカニズムは、より正確な異常検出及び挙動シグネチャ抽出のために、PFPモニタにどの特定のルーチンが実行間近であるかを通知することに役立つのみならず、ロバストな同期シグナリングも提供する。
最終的な目標は、PFPの同期及びトリガーアーチファクトに挿入される、特徴付けられている異なるモジュールの識別コードを提供することである。PFPに同期及び識別シグナリングを提供する2つの主な手法がある:1)図33に示されるような、隣接物理的信号の生成、及び2)図34に示されるような消費電力自体への信号の埋め込み。前者の場合、バイナリ識別コードが物理的な10レジスタ3324に書き込まれてから、ルーチン3322が実行される。次に、レジスタはPFPモニタ3340に送信され(3335)、PFPモニタ3340は、並列又は直列様式でセンサ3130から電力トレース3315を捕捉する。コード及びレジスタの長さは、監視する必要があるルーチン数に依存する。最も単純な意味では、LED等の1ビットレジスタを使用して、ターゲットルーチンの実行を通知することができる。別個の物理的シグナリングの場合、トリガーは、図33に示されるように、シグナリングレジスタで二進数として符号化される。
第2の手法では、独特の消費電力パターンを生成する入念に生成された命令シーケンス3422を挿入することにより、同期シグナリングを消費電力自体内に埋め込む必要がある。この手法を図34に示す。同期ルーチン上の命令は、コードワード、アドレス、及びパラメータでのビット遷移が、最終的に電力消費を駆動し、センサから来る正確な組のトレース3415を捕捉するために、特定のシーケンスが実行間近であることをPFPモニタ3340に通知する特定数のビット遷移を生成するように選ばれる。ビット遷移が多いほど、消費される電流は大きくなる。シーケンスを生成する際、パイプラインの長さ及び特徴を考慮に入れる必要がある。前の手法と同様に、命令(コード)シーケンスの長さは、識別する必要があるクリティカルルーチンの数に依存する。異なる独特の電力消費パターンを生成することにより、シーケンス自体は、異なるモジュールの識別に使用される異なるシグネチャコードをもたらすように選ばれる。
同期シグナリングにより、評価作業を、最も重要な、選択されたコードに集中することが可能なため、同期シグナリングが効果的なPFPに必要な要素であることに留意することが重要である。識別コードをシグナリングに埋め込むことにより、評価プロセスが促進されるが、これは必須の要件ではない。これは、単一のトリガーを利用することにより、PFPモニタが正確な組のトレースを捕捉することができ、信号分類技法を使用して、どの特定のルーチンが実行されたか、又は信頼できる照合を確立することができないか(異常であるか)どうかを判断することができるためである。
異なるボード要素からの信号を結合することによるPFP監視の改善
システムの異なる要素からの信号は、PFPモニタによって使用することができ、結合されて、性能及び信頼性の改善を提供することができる。複数の信号のソースは、複数のプロセッサ、コプロセッサ、又はPFP強化を唯一の目的として導入される他の専用要素(例えば、トリガーに使用される10レジスタ)を含む。
PFPにおいて異なるソースからの信号を結合する様々な方法がある。主な手法の1つは、異なるプロセッサ又は他のデジタル回路から電力トレースを捕捉し、マルチプロセッサ及びマルチコアボードに対して保全性評価を実行することを含む。別の手法は、システムの他の要素(消費電力又は他のサイドチャネル及び直接チャネル)を監視して、保全性評価で使用される追加のコンテキスト情報を収集することである。追加のコンテキスト情報を使用して、同期を改善し、挙動特徴付けを促進することができる。コンテキスト情報は、通常のシステム動作の結果として生成することもでき、又は設計時に意図的に導入することができる(例えば、トリガーに使用されるIOレジスタ)。複数の信号を結合するPFPモニタのサンプルセットアップを図35に示す。
追加の信号を直接サポート10レジスタから、異なる要素の消費電力から、又は電磁放射線等の他のサイドチャネルから捕捉することができる。異なるソースからの信号を結合するには、異なる特徴をサポートすることができる特に設計された検出器が必要とされる。特定の結合メカニズムは、システムの機能及びサポートプラットフォームに依存する。例えば、マルチコアプロセッサでは、各コアからの電力トレースを走査して、ターゲットルーチンに対応するトレースを見つけることができる。ソフトウェア定義無線での別の例では、消費電力を監視することにより、電力増幅器(PA)の活性化は、検出することができ、無線伝送が行われる際に発生する。PAの活性化は、送信に向けてデータを準備する際に関わるルーチンのトリガーメカニズムとして使用することができる(この場合、ルーチンが、トリガー発生前に実行されることに留意する)。
マルウェアシグネチャを使用したPFP性能の強化
PFPの主要用途は異常検出であるが、既知のマルウェアから利用可能な情報を使用して、評価性能を改善するという重要な利点がある。マルウェアの新しいトレンドが識別される場合、そのPFPシグネチャを抽出して、既知のシグネチャのライブラリに追加することが可能である。これらのマルウェアシグネチャを使用して、従来のアンチウィルスソフトウェアと同様に、インストールされたマルウェアの従来のシグネチャベースの検出を提供することで、PFP保全性評価の性能を改善することができる。モニタは、不正確な評価を回避するために、各シグネチャの個々の性質(ホワイトリスト及びブラックリスト)を認識している必要がある。マルウェアシグネチャは、実行での挙動パターンから抽出することもできる。例えば、消耗攻撃等の特定のマルウェアタイプは、PFPを使用して容易に識別することができる非常に独特の実行パターンを有する。
マルウェアからシグネチャを抽出するプロセスは、信頼ソフトウェアからシグネチャを抽出するプロセスと同様であり、ターゲットモジュールは、被制御環境内で繰り返し実行され、異なる信号処理技法が、結果として生成される電力トレースに適用されて、最良の弁別性を有する特徴を選択する。マルウェアが被制御環境内で識別され、分離され、実行されると、マルウェア特徴付けが促進されることに留意することが重要である。
自動特徴付け及びシグネチャ抽出
新しいソフトウェアシステム又は既存のシステムの新しいバージョンを効率的に特徴付けるために、信頼参照を自動的に特徴付け、その特定のソフトウェアの実行を一意に識別するPFPシグネチャを抽出するツールを有する必要がある。このプロセスは、被制御条件下での特定のモジュールの実行を必要とするため、ある意味、このプロセスは自動テストに類似する。しかし、自動テストと異なり、PFP特徴付けは、異なるモジュールの幾つかの実行インスタンスの「観測」のみに関わり、いかなる要件又は属性も評価しようとしない。
このセクションの目的は、複雑なシステム及びソフトウェアアーキテクチャの特徴付けを促進し、実際の複雑さのサイバーシステムの現実の実施からのシグネチャの抽出を実現可能にする手法について説明する。この自動手法なしでは、電力指紋付けで使用される複雑なシステム(すなわち、商用システム)から一意のシグネチャを特徴付け抽出するのに長すぎる時間がかかる。
主な目的は、ソフトウェアテストで通常使用されるものと同様のスキャフォールディングを使用するとともに、様々な統計学的分析及び信号処理を使用して、指紋を形成する最良の差別的特徴を識別することにより、異なるモジュールの特徴付けプロセスを自動化することである。このプロセスは、新しいソフトウェアスタックを特徴付ける必要があるときに開始される。このプロセスに必要なツールは、クリティカルモジュール記述子、特徴抽出用の信号処理ツール、検出器設計ツール、モジュール実行用のスキャフォールディング(テストスキャフォールディングと同様)、入力ベクトル生成器、リポート生成、及びシグネチャパッケージングを含む。手法の理解を促進するために、異なるサブシステムの詳細及びそれらの相互関係を記述するプロセスの高レベル図を提供する。この関係を図37に示す。
記述子は、一意の識別子、従属性、入力分析(異なる入力クラスの分類)、実行モード(動的にリンクされる優先度、カーネルモジュール等)を含み、クリティカルモジュールについての必要情報を含む。記述子からの情報を使用して、スキャフォールドを実施して、ターゲットモジュールの分離された実行を制御する。スキャフォールドにより、システムは、モジュールの実行を制御するための入力として、決定論的値を入力することができる。
機能及び異なる入力、タイプについての記述子内の情報が、適する入力ベクトルセットの決定に使用される。
カバレッジ分析を実行して、行使された実行パスを識別し、システムの保護レベルの尺度をもたらす。
システムがロードされると、オペレータ(自動システムであることができる)は、スキャフォールドからのサポートを用い、適切な入力ベクトルを提供して、異なるモジュールを実行する。モジュールが実行されている間、PFPモニタは、省電力の測定値を捕捉する。
次に、モニタによって捕捉される電力トレースは、異なる信号処理技法を使用して、差別的特徴を抽出して処理される。異なる領域内の各構成要素で、異なる技法を使用して抽出すべき予め定義される特徴セットがある。
幾つかのトレースが捕捉され、各特徴が分析された後、統計学的分析が実行されて、用途の特定の要件に基づいて、異常から通常活動を区別するような最適な検出器の設計を実行する。
次に、シグネチャ及び検出器を一緒にパッケージして、ターゲットシステムの保全性を評価しているモニタと共に展開する。
以下のセクションは、上述した手法を首尾良く実施するために必要なより詳細な説明を含む。
記述子
記述子は、特徴付ける特定のモジュールについてのメタ情報を含む。個々のモジュールの実行を分離し、異なる実行パスを行使する被制御環境を提供するスキャフォールドアーチファクトを開発する。
記述子は、拡張可能マークアップ言語(XML)等の人間及び機械によって容易に読まれるマークアップ言語で提供されることが予期されるが、内容、言語、及び構造は、特徴付けプロセスの自動化に使用される特定のツールに依存し、プロプライエタリであることができる。
PFP特徴付けのためにモジュール記述子に含まれる必要がある最小必要情報は、以下を含む。
各モジュールを記述する一意の識別子。一意の識別子は、人間可読であるべきであり、対象のモジュールを一意に位置特定するために必要な情報を提供すべきである。人間可読部分内の要素は、企業、製品、クラス、モジュール、及びバージョンを含む。
従属性。モジュールの必要とされるソフトウェア及びハードウェア従属性。
状態従属性。モジュールの挙動に影響し、一貫した決定論的な実行を提供するために制御する必要がある内部状態の要素。
インタフェース分析。異なる実行パスを行使するために、異なる入力クラス及び必要入力クラスの分解を提供する。
実行モード。展開時、モジュールがどのモードで実行されるか、すなわち、静的にリンクされたモジュールの場合には静的、動的にリンクされたモジュールの場合には動的、モジュールを実行する際、プロセッサが採用する動作モードについてのカーネル又は保護モード、及び優先レベルを記述する。
入力ベクトル生成器
入力ベクトル生成器の機能は、ソフトウェアテストでの相手方と同様であり、異なる実行パスを含む特定の状態シーケンスになるように構成要素に強いる適切な入力を提供することである。しかし、テストとは異なり、PFP入力ベクトルの目標は、実施エラーを見つけることではなく、単に異なる実行パスを行使することである。
ターゲットシステムの性質に応じて、入力ベクトルを記憶し、評価(すなわち、保全性監査)中に利用するために、シグネチャと共に配信することが必要なことがある。入力ベクトルを保持すべきか否かの判断は、選択される特徴の性質及びランダム入力に起因するトレースを除去可能であるか否かに依存する。
入力ベクトルは、検索ベース(ランダム検索、山登り法、遺伝子アルゴリズム等)、部分スキャン、線形プログラミング、並びにランダム及び疑似ランダム手法を含め、異なる技法を使用して生成することができる。
しかし、有効テストベクトルの実際の識別は大方、ターゲットモジュールの特定の機能及びその入力領域並びにモジュールの構造についての利用可能な情報に依存するヒューリスティック手法のままである。モジュールの実行構造の特定の知識(どの実行パスが存在するか、及びそれらの実行に必要な状態シーケンス)が、妥当な時間内に有意味な入力ベクトルを見つけるために必要な幾つかの場合がある。更に、有意味で効果的なテストベクトルを識別し生成するための指針を自動ツールに提供するために、人間である専門家による分析の直接入力が必要なこともある。
PFPのテストベクトル生成の1つの主要要素は、目的が、エラーの発見ではなく、デバイスが展開されてから生じると予期される様々なパスを実行することである。
特徴付けられておらず、したがって、異常とフラグ付けられることがある有効実行状態に達する可能性があるため、これは比較的、リスクのある手法である。利点は、検索空間を少数のみの状態に低減することである。最もクリティカルなシステムは、実行空間が比較的小さく、予期される実行状態がサブセットである。
カバレッジリポート
入力ベクトル生成器からの情報を使用することで、特定の入力ベクトルによってトラバースされる実行パスに基づいてカバレッジリポートを生成することが可能である。ターゲットモジュールからの構造的情報を使用して、モジュール内の既存のパスと、生成された入力ベクトルを使用してトラバースされるパスとの割合として、PFPカバレッジ尺度を計算することが可能である。このリポートは単に、PFPの予期カバレッジの指標である。リポートは、許容可能なPFPシグネチャを実際に生成した実行パス数を識別することで完了させる必要がある。
終わりに、リポートは提供され、PFPを使用して監視することができる特定のモジュールについての情報をユーザに提供する。
スキャフォールディング
記述子及びソフトウェアスタックを用いて、クリティカルモジュール及びその様々な部分の実行を分離するスキャフォールディングのプロセスが実行される。これは、自動テストのスキャフォールディングのプロセスと同様である。スキャフォールディングの目的は、実行中に電力トレースを収集するために、システム全体が展開されたときに見出される被制御環境と同様の被制御環境内でターゲットモジュールを実行することである。モジュールは、入力に依存する異なる実行パスを有すると予期されるため、スキャフォールドは、異なる入力の使用を促進する必要がある。
物理的な入力が必要な場合、スキャフォールドは、必要な入力の提供に適切な物理的インタフェースを提供する必要がある。
これは、部分的に手動のプロセスであり、ターゲットモジュールの特徴に依存する。好都合なことに、スキャフォールドに必要な要素の大半は、自動テスト(例えば、ユニット、統合、システムテスト)の従来のスキャフォールドと機能的に重なるため、追加される作業のわずかなビットが追加される。
非ソフトウェア実施の場合、スキャフォールディングが同様の要件を有するが、最終的な実施が異なることに留意することが重要である。これらの場合、モジュールは、独立して実行することができるシナリオによって制限される。高度に統合されたシステムでは、これは問題を呈することがある。
信号処理及び特徴抽出
電力/瞬間電流センサを使用して捕捉される異なるモジュールの実行に対応する電力トレース及び個々の実行パスを用いて、ターゲットモジュールの実行を一意に識別する差別的特徴を抽出する必要がある。実際のシグネチャの識別に必要な厳密な技法及び信号分析の組は、ターゲットモジュールの特定の特徴に依存する。
ターゲットモジュールを特徴付けるために必要な全体時間を短縮するために、幾つかの異なる特徴抽出及び信号処理技法の並列実行の枠組みについて、ここまで述べた。
所与の問題に最適な差別的特徴を決定する既知の効果的な手順はない。しかし、評価することができ、最良の差別的特徴を選択することができる幾つかの技法がある。抽出される1組の差別的特徴は、ヒューリスティック手法と実験との組み合わせを用いて決定される。これらの特徴には、特に、時間領域相関、ユークリッド距離、周期定常解析、周波数分析等が含まれる。最良の差別的特徴を選択するプロセスは、組内の全ての異なる特徴を並列して計算し、クラス内分散に基づいてランク付けることを含む。マハラノビス距離が、特徴のそのような評価のサンプル尺度である。
後述する特徴選択及び検出器設計のプロセスは、特徴抽出結果の統計学資産により、最適な検出閾値の決定に必要な分析が決まるため、密に関連する。
統計学的分析及び検出器設計
統計学的分析は、ターゲットモジュールの独立した実行インスタンス中に捕捉される電力トレースから得られる異なる特徴に対して実行される。統計学的分析の目標は、最良の差別性を有する特徴を選択すること、及び観測された特徴セットがターゲットモジュール(検出器)によって生成されるものとして見なされる閾値レベル又はエリアを決定することである。
異常検出手法であるPFPでは、誤検出(PFA)の確率は、システムの性能を特定する重要な動作尺度である。PFAは、ターゲットモジュールの通常実行インスタンスが、許容エリア外になり、異常として分類される確率として定義される。PFP検出器は、ターゲットモジュールを正確に識別する確率を最大化しながら、PFAを最小化するように設計する必要がある。これは、古典仮説検定問題であり、ネイマン−ピアソン基準を適用して、閾値を検出することができる。しかし、適用可能な幾つかの他の手法もある。
十分なサンプルを所与として、任意のPFAをPFPにおいて達成することができる。しかし、実際のシステムでは、これは実現可能ではなく、有限の実際的なPFAレベルを決定しなければならない。許容可能なPFAは、特定のモジュールと、特定のモジュールが動作することが予期される用途とに依存する。
理想的には、同じ実行からの異なるインスタンスからのシグネチャは、プラットフォーム特徴付け中に計算される最小感度距離内にある必要がある。この所望の特徴を達成することができない場合、PFPに正確な評価を届けさせる幾つかの方法がある。1つの単純な手法は、幾つかのトレースを平均して、幾らかのノイズをなくすことである。
シグネチャパッケージング及び暗号化
ターゲットモジュールが特徴付けられると、結果として生成されたシグネチャは、特徴抽出技法、及び閾値は、デバイスと共に展開されるようにパッケージされる。パッケージング及び配送メカニズムは、デバイスの特徴と、用途とに依存する。選択された特徴を使用して抽出される完全なシグネチャは、記憶し、モニタに渡す必要がある。例えば、単純な時間領域相関の場合、完全なベクトルを記憶する必要がある。
保存されたシグネチャ又は移送中のシグネチャを保護するために、シグネチャを暗号化して、潜在的な攻撃者に、モニタが探しているシグネチャの厳密な参照を与えないようにする。この暗号化は、秘密又は公開鍵暗号化の様々なメカニズムを使用して実行することができる。しかし、潜在的な攻撃者シグネチャを取得する場合であってもなお、悪意のある挙動を続けながら、シグネチャを完全に一致させることが非常に難しいことに留意することが重要である。
セキュアシグネチャ更新
PFPを使用して監視されている、展開されたシステムが更新される場合、有効な保全性評価を維持するために、確実でセキュアな方法でPFPシグネチャを更新する必要もある。評価の信頼性が適切なシグネチャ管理に依存するため、これは極めて重要なステップである。この更新プロセスをセキュアにするには、シグネチャの保全性及び真正性を検証する必要がある。このセクションにおいて、セキュアなPFPシグネチャ更新を提供するために必要なメカニズムについて述べる。
広く展開されたPFPモニタの場合、シグネチャは、他のソフトウェア更新と共に配信されるべきである。中央化されたPFPモニタの場合、更新は、ソフトウェア更新とは別個に配信することができる。PFPシグネチャ更新での主な問題は、認証(すなわち、送信者が認可エンティティであること、及びシグネチャ自体が正確であり、決して改善又は変更されていないことを確実にすること)である。この問題は、中央化PFPモニタの場合ではそれほど難しくはなく、中央化PFPモニタでは、シグネチャは、物理的媒体又は信頼できるネットワークを使用して配信することができ、準備は、機密シグネチャの転送を見越して行うことができる。
物理的手段又は代替の信頼できるネットワークを使用してシグネチャ交換を行うことができない、広く分散したPFPモニタの場合、シグネチャ更新は、実際のソフトウェア更新と共に実行する必要がある。この場合、PFPシステムの十分な知識を有する攻撃者によって悪用されるおそれがある幾つかの脆弱点がある。例えば、適宜認証されない場合、更新プロセスは、介入者攻撃によって妨害されるおそれがある。
セキュアシグネチャ更新プロセス及び動作
ソフトウェア更新の無線でのプログラミング及び配信に一般に使用されるセキュアコンテンツ配信の既知の手法は、PFPシグネチャ更新に適応することができる。セキュアシグネチャ更新は、2つの異なる視点から見ることができる:真正シグネチャ発信元及びPFPモニタ。シグネチャ生成側から、シグネチャと共に有効認証情報を提供し、循環鍵方式を用いてシグネチャを暗号化する必要がある。
ソースシグネチャ更新を可能にするために適用することができる他の技法は、
サンプルバッファ及びシグネチャ要素の両方をスクランブルすること、
公開又は対称鍵暗号化、
シグネチャ更新後にインデックスを更新する既知のシーケンス(PNシーケンス)に従って、シグネチャ及びトレースのスクランブル解除に使用される暗号鍵を変更すること
を含む。
サイドチャネル攻撃からの保護
PFPは、悪意のあるサイドチャネル攻撃に悪用されるものと同じ原理を保全性評価に使用する。したがって、潜在的な敵がPFPインフラを悪用して、サイドチャネル攻撃を実行することを阻止するために、アクセスを制限することにより、センサによって提供されるトレースを保護する必要がある。電力トレースが無線接続を使用して送信される場合に特に、これは重要である。このセクションでは、サイドチャネル攻撃で悪用されるおそれがある電力トレースへの不正アクセスを保護するメカニズムについて述べる。
動作
トレースアクセスの保護は、PFPセンサとPFPモニタとの間で共有鍵を使用してトレースを暗号化又はスクランブル処理することによって達成される。この視点から、PFPの2つの基本動作モードがある:埋め込みモニタ(センサ及びデジタイザ)並びに外部モニタ。
埋め込み動作では、トレースは、強力な秘密鍵(対称鍵暗号化)を用いて暗号化又はスクランブル処理される。この暗号化ステップを実行することは、電力トレースが、外部処理のために無線送信される場合に特に重要である。暗号化プロセスを図38において説明する。プロセッサ3810のアナログ出力は、センサ3820によって監視され、アナログ/デジタル変換器3830によって変換され、暗号器3850に供給される。暗号器3850は、ビットサンプルのブロック暗号化又はスクランブル処理(事実上、鍵が置換である転置暗号化)を含め、幾つかの方法でサイドチャネル攻撃者から適切な情報を隠すことができる。
外部モニタの場合、トレースへのアクセスを与える物理的接続は、パスワードを必要とするデジタルスイッチによって可能になる。この場合、外部モニタの接点は、プラットフォーム上の電力管理チップによって提供される。電力管理チップは、電圧調整器のように単純であることができるが、近代のスマートフォンに使用される大半の市販のプロセッサでは、電力管理チップははるかに複雑である。適切なモニタが接続される場合、PFP対応電力マネージャは、接続されると外部モニタからパスワードを読み出し、次に、外部センサを通るように電力供給電流をルート変更し、外部センサは、外部モニタが瞬間電流ドレイン又は消費電力を捕捉できるようにする。図39は、このプロセスのグラフ表現を示す。
本明細書に記載される解決策が、本発明のターゲットシステムに対する攻撃者によるサイドチャネル攻撃の継続の阻止を意図していないことに留意することが重要である。代わりに、解決策は、サイドチャネル攻撃へのPFP監視施設の悪用を阻止することが意図される。これらの対策が実行された状態で、潜在的な攻撃者は、PFP監視がないボードと同じハードウェア変更を、PFPを有するボードに対して行う。
本発明について、好ましい実施形態に関して説明したが、添付の特許請求の範囲の趣旨及び範囲内の変更を用いて本発明が実施可能なことを当業者は認識しよう。
PFPシステムの更なる実装形態は、コンピュータ処理プラットフォーム内のルーチンの実行のリアルタイム保全性評価を実行する方法を含み、この方法は、ルーチンの実行中、サンプリングによってプロセッサの消費電力をトレースすることにより、ルーチンの実行を監視することと、プラットフォーム特徴付け技法を使用することであって、プロセッサでの状態遷移への最大依存性を示すトレースのセクションを検出することを更に含む、使用することと、上記セクションを使用して、最も多くの情報を伝える特徴を選択することと、上記セクションに含まれるルーチンの選択された特徴の特徴付けから、ルーチンの1組の信頼電力指紋を取得することと、上記信頼指紋から構成されるシグネチャからの距離の確率分布に基づいて、特定の誤検出率の閾値を確立することと、上記信頼指紋のライブラリを、非信頼コードの実行からのトレースから抽出される特徴と比較して、上記指紋と抽出指紋との距離を特定することと、距離が閾値を超える例外を報告することとを含む。一方法実装形態では、モジュール識別情報をルーチンに埋め込むことにより、上記トレースすることをルーチンの実行と同期させることを更に含む。一実装形態では、方法実施形態は、モジュール識別情報が、ルーチン実行前にレジスタに書かれるバイナリ識別コードであることを更に含む。一実装形態では、モジュール識別情報は、独特の消費電力パターンを生成する命令シーケンスである。一実装形態では、消費電力のトレースは、複数のプロセッサ回路からの信号を結合する。一実装形態では、PFPシステムは、既知のマルウェアの上記ライブラリ指紋シグネチャに追加することにより、上記例外報告の品質を更に強化する。
PFPシステムの更なる実装形態は、コンピュータ処理プラットフォームにおいてルーチン実行のリアルタイム保全性評価を実行するシステムを含み得、このシステムは、ルーチンの実行中、サンプリングすることによってプロセッサの消費電力をトレースすることにより、ルーチンの実行を監視する手段と、プロセッサでの状態遷移への最大の依存性を示すトレースのセクションを検出する手段を更に含む、プラットフォーム特徴付け技法を使用する手段と、上記セクションを使用して、最も多くの情報を伝える特徴を選択する手段と、上記セクションに含まれる選択された特徴の特徴から、ルーチンの信頼できる1組の電力指紋を取得する手段と、上記信頼できる指紋から構成されるシグネチャからの距離の確率分布に基づいて、特定の誤検出率の閾値を確立する手段と、上記信頼指紋のライブラリを、非信頼コード手段の実行からのトレースから抽出される特徴と比較して、上記指紋と抽出特徴との距離を特定する手段と、距離が閾値を超える場合、例外を報告する手段とを含む。
一実装形態では、PFPシステムは、ルーチンに埋め込まれるモジュール識別情報を更に含み得、モジュール識別情報は、ルーチンの実行前に10レジスタ内に書かれるバイナリ識別コードである。一実装形態では、モジュール識別情報は、独特の消費電力パターンを生成する命令シーケンスである。一実装形態では、消費電力をトレースする手段は、複数のプロセッサ回路からの信号を結合する。一実装形態では、PFPシステムは、既知のマルウェアの上記ライブラリ指紋シグネチャを追加することにより、上記例外報告の品質を強化する手段を更に含み得る。
PFPシステムの更なる実装形態は、デジタルプロセッサ内のソフトウェアの認可実行からのずれを検出する方法を含み得、この方法は、既知の設定でのソフトウェアの少なくとも1つのルーチンの実行中、プロセッサの消費電力を観測することと、上記少なくとも1つのルーチンの消費電力を特徴付けるビット遷移シーケンスを特定することと、消費電力特徴を、ソフトウェアの観測された実行と比較するための指紋として使用して、ずれを特定することとを含む。
PFPを使用した保全性評価の強化
一実施形態では、PFPを利用して、ターゲットデバイス/システム、例えば、産業制御システム、通信システム、サイバーディフェンスシステム、サイバーサプライチェインネットワーク等の保全性評価を強化し得る。一実装形態では、PFPは、ターゲットシステムの消費電力レベルでの異常を検出し、統計学的分析を利用して、ターゲットシステムのソフトウェア及び/又はハードウェアに影響したサイバー攻撃を識別し得る。例えば、ターゲットエンティティ、例えば、ターゲット政府機関、金融機関、軍事コマンド通信ネットワーク等が攻撃されている場合、マルウェアは、ターゲットシステム内で悪意のあるコマンドシーケンスを実行することがあり、これは、ターゲットシステムのデジタル回路レベルで、異常電流パターンとして反映され得る。PFPは、ターゲットシステムでの電流パターンを検出し、統計学的方法を適用して、パターンを分析し、攻撃を識別し得る。実装形態内で、PFPは、攻撃が識別された場合、ターゲットシステム又はその部分の幾つかをディセーブルするメカニズムを使用して、ターゲットシステムのセキュリティを改善し得る。
一実施形態では、PFPで使用されるベースライン参照を抽出する特徴付けプロセスは、被制御環境で実行されるテストプラットフォームの判断基準から測定をとることによって実行し得る。ターゲットのより有効な特徴付けを可能にするか、又は困難若しくは難しい状況での特徴付けを可能にするPFP特徴付け並びに指紋参照抽出及び検証タスクを実行する様々な手法について、図40において説明する。
一実施形態では、ターゲットプラットフォームのコンピュータモデルを使用して、ターゲットデバイスの動作をシミュレートし、結果として生成されるサイドチャネル情報を推定することができる。例えば、サイクルアキュレート消費電力シミュレータ又はSPICEシミュレーションを使用するシミュレーションが、ターゲットデバイスの指紋の推定に使用可能であり、コンピュータシミュレーションから指紋を抽出するプロセスを図40に示し得る。一実装形態では、サイクルアキュレート消費電力シミュレータ、例えば4002は、ターゲットデバイスモデル4001の特徴及び入力テストベクトル4003(例えば、アプリケーションの使用、異常等をシミュレートするテストコマンド例)を受信し、推定電力指紋、例えば4005を生成するように構成し得る。一実装形態では、生成された推定電力指紋4005は、製造のばらつき4006の統計学的モデル(例えば、同じターゲットデバイスモデルの電力指紋の標準偏差等)と共に、検出器設計4007に利用し得る。
図41(A及びB)は、異なる基本分布を有する外れ値又は異常値を示すサンプル電力指紋分布の例を示すデータプロットを提供する。一実装形態では、統計学的分析を使用して、推定電力指紋分布の外れ値を識別し得る(例えば、図40の4005から)。確実な信頼判断基準がない場合、電力指紋(又はPFPのベースライン参照)は、外れ値検出の統計学的分析を使用して抽出することができる。この手法は、図41A及び図41Bに示されるように、改竄がサンプルのうちの比較的小さなサブセットのみに存在することが予期される、比較的多数のテストユニットを有する場合に役立ち得る。例えば、図41Aは、一次元4105において差別的特徴分布(正当な分布4101及び外れ値分布4102)を示し、図41Bは、多次元、例えば、第2の次元4104と第1の次元4103との関係において分布特徴(例えば、正当な分布4106及び外れ値分布4107)を示す。グラブス法、K近傍法、局所外れ値ファクタ、チョーベネット基準等を含むが、これらに限定されない、外れ値を検出する様々な統計学的手法がある。
図42Aは、PFP特徴付けにおいて外れ値検出を実行するプロセスを示す論理流れ図の一例を提供する。一実装形態では、プロセスは、テストデバイスの完全な母集団から、又はテストデバイスの母集団の代表的なサンプルから、サイドチャネルトレースを収集すること(例えば、4201において)、収集された全てのトレースに対してPFP特徴抽出を実行すること(例えば、4202において)、統計学的分析を実行して(例えば、4203において)、必要であればトレースを更に処理すること、外れ値検出(異常検出)分析を実行することを含む。結果は、捕捉されたトレースが、ベースライン参照の生成に使用可能であるか、それとも外れ値の発端の特定に更なる分析が必要であるかを示し得る。
図42Bは、PFP特徴付けにリバースエンジニアリングを使用するプロセスの態様を示す論理流れ図を提供する。一実装形態では、リバースエンジニアリングを利用して、一実施形態により、ハードウェアからの指紋を検証し得る。全てのサンプルが改竄を含むことが疑われるか、又は外れ値検出が決定的な証拠の提供に失敗した特定のクリティカルシステムでは、テストターゲットサンプルを収集して(例えば、4205において)、PFP参照及び指紋等の特徴を抽出し(例えば、4206において)、抽出されたPFP参照及び指紋はデータベースに記憶し得る(例えば、4211において)。一実装形態では、ターゲットデバイスのリバースエンジニアリングを実行し得(例えば、4207において)、これは、例えば4208において、任意の侵入を見つけることができるか否かを判断する破壊試験である。改竄が見つからない場合、PFP指紋は、4210において、「ホワイトリスト」として記憶されることによって信頼することができ、その他の場合、PFP指紋は、4209において、「ブラックリスト」として記憶される。
図43は、一実施形態による、保全性への応答強化の態様を示す論理流れ図の例を提供する。一実施形態では、PFPモニタにより、実行違反、侵入、又は異常が検出したと判断される場合、PFPモニタは、応答を開始又は実行することができる。保全性違反又は侵入の場合にPFPモニタが応答することができる様々なメカニズムについてここに述べる。応答メカニズムは、ターゲットシステムへのダメージを最小に抑えるために、実行の障害又は悪意のある侵入の阻止、停止、制限、又は露出を行うことが意図される。悪意のある侵入の場合、目標は、攻撃者が悪意のある目的を達成することを、又は攻撃の能力、意図、身元等についての機密情報を収集することを阻止することである。適切な応答は、アプリケーション依存であり、異なるデバイスで異なり得、更には異なるアプリケーションで使用される同様のデバイスで異なり得る。
一実施形態では、所与の侵入事象に対して予期される応答の記述は、ポリシーと呼ばれる。PFP応答ポリシーは、幾つかの方法で記述することができ、静的(ハードワイヤード)であってもよく、更新可能であってもよく、又は動的であってさえもよい。ポリシーは、一階論理、真理値表、オントロジー言語等を含め、事象応答関係を記述可能な任意の言語(正式若しくは非正式)又は機械可読記述メカニズムを使用して記述し得る。図43Aに示されるように、PFPモニタ4303は、入力モニタデータをセンサ4301から受信し得、検出データ4304は、応答分析構成要素4305に中継し得る。例えば、PFPモニタ4303により、異常が発生したと判断される場合、応答ポリシーは応答分析構成要素4305によって分析されて、適切な行動指針が決定され、次に、適切な行動が実行され(例えば、応答実行モジュール4306において)、行動及び前後関係並びに潜在的に結果が、例えば、記録及びログモジュール4307に記録されログされる。
一実施形態では、応答分析モジュール4305は、PFPモニタ4303によって検出される違反のタイプを解釈し、利用可能なポリシーに基づいて、適切な応答を決定し、利用可能なモジュールプールから応答モジュールを選択し、4306において、応答行動を開始する。
一実施形態では、応答のタイプ及び範囲は、ターゲットシステムへの所与の応答の展開が、ターゲットシステムの用途又は任務に大きな影響を有し得るため、用途自体に依存し得る。異なる応答は必ずしも相互に排他的である必要はなく、矛盾がない場合、組み合わせることができる。PFPによって検出される保全性違反の様々な応答メカニズムは、警告、ログ、及びリポートを含め、応答実行モジュールの一環として実施することができる。
例えば、警告及びログは、PFPによって検出される保全性違反への基本応答であり得る。図43Bは、異常事象リポートを生成するプロセスの一例を示す。一実装形態では、PFPモニタが所与のトレースを異常又は違反として見なし、対応する事象をトリガーする(例えば、4311において)と、応答メカニズム又はモジュールは、違法トレース、結果として生じる差別的特徴、信頼度、前後関係情報、及び利用可能な場合には潜在的に妨害されるモジュール等を含め、利用可能な全ての情報をPFPモニタから収集する(例えば、4312において)。
応答モジュールは、モデル及びバージョン番号、日時、PFP情報、及び環境的背景等の他の有用情報を含め、利用可能なシステムステータス情報も収集し記録し(例えば、4313において)、例えば、4314において、事象リポートを構築する。4315において、事象リポートがシステムにログされると、対応するポリシーにおいて指定されるように、適切な通知が送信される(4316において)。電子メールメッセージ、視/聴覚アラーム指示、音声通信(例えば、携帯電話呼)、SMSメッセージ、ページング等を含め、様々な通知メカニズムを使用することができる。
図43Cは、一実施形態により、クリティカルリソース及び周辺機器へのアクセスを阻止するシステムの一例を示す図を提供する。実行ステータスの保全性を検証又は認証することができない場合、この応答は、特定のクリティカルリソースへのアクセスを阻止して、ターゲットシステムが破損、悪用されないようにするか、又は情報漏洩を阻止し得る。
一実装形態では、この応答によって制御することができるクリティカルリソースは、通信周辺機器4322(ネットワークカード、IOポート、Bluetooth(登録商標)ポート、近距離通信、USB等)、物理的制御装置、メモリセクション、ハードドライブ、入出力デバイス、拡張カード、グラフィックスカード、プリンタ、イメージスキャナ、テープドライブ、マイクロホン、ラウドスピーカ、ウェブカム、デジタルカメラ等を含むが、これらに限定されない。例えば、周辺機器4322は、モニタデータをプロセッサ/ターゲットデバイス4321から受信し得る。
周辺機器4322へのアクセスを制御することは、例えば、機密情報を盗もうとして、セキュリティ対策を破り、デバイスに侵入した攻撃者へのネットワークインタフェースへのアクセスを阻止することにより、又はターゲットデバイス4321による制御下の物理的プロセスの攻撃者による操作を阻止することにより、ダメージ及び情報漏洩を阻止することができる。
例えば、4324において、保全性違反事象がPFPで検出される場合、異なる周辺機器4322へのアクセスを制御するために、PFP応答モジュール4323は、特に、「イネーブル」信号をなくすことによるデバイスの一時的なディセーブル、周辺機器のリセット、スイッチ4325を介する電源遮断による周辺機器のシャットダウン、又はデータ転送の遮断又はバッファリングによるデータ通信の阻止を含む異なる選択肢を有する。
図44は、一実施形態による、保全性違反事象を処理する態様を示す論理流れ図の例を提供する。一実施形態では、機密情報及び科学捜査情報を攻撃又は攻撃者から収集し得る。4401において、PFPから保全性違反事象が検出される場合、PFPモニタは、実行ステータス、電力トレース、アクセス可能なレジスタ、メモリ内容、周辺機器のステータス、物理的エンティティ、及び/又はプロセッサ、システム、周辺機器、及び環境のステータスに関連する任意の他の記録可能な情報を含め、事象中及び事象後に、事象に繋がったクリティカル構成要素のステータスを記録し得る(4402において)。
一実装形態では、PFPモニタは、より多くのリソースを問題が生じているデバイスに割り振り(4403において)、PFP機能(より多くの処理リソース、拡張電力指紋、追加のサイドチャネル測定等を含む)を強化し得る。
図44Bは、一実施形態による、セキュリティ強化のために影響を受けるデバイスを一時的にディセーブルするシステムを示す図を提供する。例えば、影響を受けるデバイスは、シャットダウンにより、又は動作/計算のリセット若しくは阻止によって一時的にディセーブルし得る。
4406において、PFPから保全性違反事象が検出される場合、PFP応答モジュール4405は、シャットダウン(例えば、スイッチ4407を介する電源の遮断)、コールドリセットの強制、又はクロックの停止によってデバイスを即座にディセーブルして、攻撃者又は予期されない実行による、ターゲットシステム、例えば、プロセッサ又はターゲットデバイス4404にダメージを及ぼすおそれがある動作の実行を阻止し得る。
攻撃者がシステムを破る場合、この応答は、不正実行の最初の兆候時にデバイスによる更なる動作を阻止し、攻撃者によるバックドア等の常駐のインストールを阻止し得る。
図45Aは、一実施形態による、外部動作実行前にゲートキーパーとしてPFP保全性評価を使用するシステム例を提供する。一実施形態では、PFP応答モジュール4508は、PFPから保全性違反事象4509を受信すると、例えば、デバイス4501を物理的に破損するか、若しくは破壊することにより、例えば、スイッチを消すか、クリティカル若しくは機密メモリ内容を消去することにより、又はブートアップしないようにすることにより、影響を受けたデバイスを永久的にディセーブルし得る。例えば、PFP応答モジュール4508は、スイッチ4504を介して、容量電荷ポンプ4503若しくは電力スパイク(そのまま又は逆バイアス)を送ることが可能な別の回路又は回路の物理的な破損若しくはディセーブルが可能な電磁気パルスを使用し得る。応答モジュール4508は異なる回路を使用することもでき、異なる回路も電荷ポンプ4503に基づいて、クリアティカル又は機密情報を含む不揮発性メモリ(例えば、EEPROM/フラッシュメモリ4506)を制御することができる(4507において)。
デバイス4501を一時的にディセーブルするために、利用可能な手法の1つは、ブートメモリ構成要素を消去し、次に、デバイスをリセットすることであり、デバイスは開始することができない。物理的は破損なしで、ブートアップメモリは、デバイスを動作するように再びリプログラミングすることができる。
図45Bは、一実施形態による、セキュリティ強化のためにバッファリングしアクセス制御するシステムを示すブロック図を提供する。一実施形態では、通信要求に先行するコード実行の正当性及び保全性を検証するデバイスを実施し得る。不正、悪意のある、又は非認可の実行/動作は、ターゲットシステム(例えば、プロセッサ4511)についての情報抽出、及び(ネットワークカード、入/出力(IO)ポート、Bluetoothポート、近距離通信、USB等)等の通信周辺機器4519を使用しての外部世界への情報の通信や、周辺機器を使用して物理的プロセスに影響を及ぼすことを阻止することができる。同じ原理は、外部世界と対話する非通信周辺機器にも該当し得る。
例えば、プロセッサ4511によって送信される、通信周辺機器4519にアクセスする要求4512は、ゲートキーパー4515におけるバッファ4516に中継し、且つ/又は一時的に記憶し得る。動作中、周辺機器へのそのような要求は、インターセプトしてバッファリングし得、要求を受信したPFP正当実行検証モジュール4518に報告し得、これは、PFP正当実行検証モジュール4518に送信して、検証することができる。PFPセンサ4517は、ターゲットデバイス、例えば、プロセッサ4511のステータス情報を検出し、プロセッサ4511が「クリア」なステータスであるか否かを示すステータス指示をPFP正当実行検証モジュール4518に送信し得る。通信周辺機器4519は、要求に応える前に、PFPモジュールからの「クリア」信号を待ち、発信ルーチンが正当であるか、又はホワイトリストに載っていることを検証することができる。
したがって、このようにして、要求がターゲットデバイス(例えば、プロセッサ4511)によって生成される場合、PFPモニタは、要求に繋がった実行が正当なものであることを検証する。先行する実行の正当性がPFPシステムによって正しく検証される場合のみ、要求は周辺機器4519に渡される。その他の場合、要求は遮断され、更なる動作を行うことはできない。バッファリング及びアクセス制御(例えば、4515)は、要求側デバイス(例えば、4512)と周辺機器(例えば、4519)との間の別個の中間デバイスとして実施されてもよく、又は周辺機器若しくはデバイス自体に統合してもよい。
一実施形態では、PFPシステムは、データ分析を用いてPFPを強化することにより、保全性評価を改善し得る。例えば、データ分析技法を適用し、利用可能な有用情報を利用することにより、PFP保全性評価を強化し、検出性能を改善し、動作結論を示唆することができる。この実装形態では、参照電力指紋を識別するトレーニングフェーズは、電力トレースに加えて追加の情報及び測定を含むように強化される。データ分析は、有用な情報を強調し、ターゲットシステムの内部動作の重要な手掛かりを提供する関係を見つけるのに役立ち得る。
一実施形態では、データ分析を使用して、予備解析を実行し、PFP電力トレース並びに他の測定値及び事象を含むPFPでの最良差別的特徴を識別し選択し得る。また、データ分析を監視中に使用して、異常検出、保全性評価、及び実行ステータス検証のサポートとして確認データ分析を実行することができる。
一実施形態では、特徴付け中、様々なPFPセンサからの入力は、他の物理的センサからの入力、ターゲットシステムの他の部分の測定値、信号、事象、及び観測と共に、予備データ解析技法を用いて解析されて、最良の差別品質をもたらし、ターゲットシステムでの正当又は信頼モジュールの固有の実行をよりよく識別する差別的特徴を見つける。データ分析を使用して、最適に特徴を選択し、ターゲットデバイスの内部実行ステータスと、ターゲットシステムの動作に影響するか、又はターゲットシステムによる影響を受ける、若しくは制御される外部環境との間の根本的な関係を識別する。
一実施形態では、データ分析を利用して、実行違反の潜在的な結果を評価し、所与の違反に応答して最良の行動指針を決定し調整することを促進することもできる。
一実施形態では、PFPシステムは、代替の外部信号及び他の事象を分析に統合することにより、強化された性能を得ることができる。デバイスの物理的状態、動作環境、制御されるプロセス、又はターゲットデバイスの実行ステータスに対して直接的又は間接的な関係を有する他の事象に直接又は間接的に関連する、直接又はセンサを通して収集される他の物理的又は論理的信号をPFP分析に含めて、保全性評価、実行有効性、及び侵入検出の性能を改善することができる。
一実施形態では、デバイスの物理的状態(例えば、可動部の位置、アクチュエータステータス、通信プロトコルステータス等)を使用して、電力指紋及び電力トレースと相関付け、評価を改善させる追加の有用情報を提供することができる。情報を使用して、タイミング属性及び順序関係を確立することができ、又はターゲットシステムの実行並びにシステム及び環境の他の要素との対話において、データ融合についての追加の差別的情報として使用することができる。
一実施形態では、追加の情報は、データ分析と連携して使用することができる。侵入又は異常を正確に検出する確率を増大させるとともに、改竄又は実行違反として正当な動作を不正確にフラグ付ける確率を低減することにより、PFPモニタの性能改善を助けるために使用することもできる。
一実施形態では、PFPシステムは、出力及び用途として科学捜査及び関連付けられたプロセスを含み得る。PFPシステムは、科学捜査プロセスの一環として、侵入されているか、若しくは攻撃されている疑いがあるデジタルシステム又は誤作動するシステムに適用される場合、有価値な科学捜査情報出力を提供することができる。PFPプロセスの一環として抽出されるか、又はPFPプロセス自体から生じる特定の情報は、有用な科学捜査情報を提供することができる。例えば、ターゲットシステムへのサイバー攻撃中、攻撃者は、機密情報にアクセスし、それを攻撃者に送信し、検出を回避し、所有者が是正措置をとり、セキュリティ侵害を修正することを回避するために、攻撃の証拠を隠すことができるように、ターゲットシステム内のクリティカルモジュールを変更することがある。科学捜査プロセスで有用であることができるはるかに多くの情報がPFPから得られる。
一実施形態では、PFPシステムは、デジタル攻撃又はセキュリティ侵害により改善され、置換され、変更され、又は任意の方法で影響を受けるモジュールの特定に役立ち得る。PFPシステムは、悪意のある攻撃又は不正変更の一環としてターゲットシステムに導入された高度持続性脅威を含むステルス性の隠れたアーチファクトの存在の識別に役立ち得る。PFPシステムは、実行違反時にトリガーし得る。換言すれば、PFPシステムは、犯罪が実行されるまで待つが、略即座に犯罪をキャッチして明らかにし(攻撃者によるステルス動作を阻止する)、過度の破損が行われ得る前に応答する機会を増やす。
適切に同期される場合、PFPシステムは、特定のクリティカルモジュールに的を絞り、科学捜査分析で分析する必要がある情報量を低減し得る。科学捜査及び監視では、PFPシステムが導入するオーバーヘッドは極わずかであり、攻撃者及び展開される悪意のあるアーチファクトが、攻撃者の努力を無駄にするPFP監視動作に気付かないようにする。したがって、PFPシステムにより、科学捜査者は、攻撃者の自由な挙動を見て、攻撃者の全能力を観察することができる。
一実施形態では、ターゲットシステム上でのPFPシステムのカバレッジは、処理リソースを追加し、追加又は強化された電力指紋を届けるように特徴付けの作業を増やすことにより、拡張することができる。PFPシステムは、他の認証、異常検出、又は侵入検出技法とのデータ融合を含むことにより、評価性能を改善し得る。PFPモニタの侵入検出能力は、他の認証、異常検出、又は侵入検出技法の実行からの結果として、又は実行中に得られる情報を統合するデータ融合技法を使用してPFP分析が補足される場合、強化することができる。データ融合を使用してPFPを強化する代替の認証、異常検出、又は侵入検出技法としては、ネットワークトラフィック分析、タイピングスタイル、ユーザプロファイリング、及びシステム活動の他の監視が挙げられる。
一実施形態では、PFPシステムは、教師あり学習手法に基づく侵入検出を可能にし、攻撃者が、悪意のある行動、トラフィックパケット、又は他の行動を許容するように、展開後に侵入検出システム(IDS)をトレーニングすることを阻止し得る。教師あり学習では、異常存在時を特定するためにベースライン参照(電力指紋)として使用される特定の特徴及びパターンは、事前特徴付け段階中に決定され、システムが更新されるまで変更されない。これは、教師なし学習とは対照的であり、教師なし学習は、学習メカニズムを含み、使用又は環境での変化を補償するために参照又はベースラインを動的に更新する選択肢を有する。教師なし学習は、検知回避の企てに対してより脆弱であり、攻撃者が、攻撃自体が通常動作の一環であるとPFP検出器を再トレーニングする危険性を生み出す。しかし、PFPでの教師あり手法は、特徴付け中により厳しい検査を必要とする。
PFPシステムでは、電力指紋は、信頼システムの実行から抽出され、IDSが展開された後、攻撃者がPFP検出器を再トレーニングする機会を残さない。
PFPシステムは、侵入検出をユーザモデリングから独立させることができ、代わりに、侵入検出は、変更すべきではない、ソフトウェア実行等のターゲットシステムの実際の動作又は計算に依存する。PFPシステムは、ユーザプロファイル又は通常トラフィックプロファイルの必要性をなくす。
一実施形態では、PFPシステムは、瞬間電流ドレインに関連する任意の物理的信号を送信することにより、PFPを一般化し得る。本明細書に記載されるものを含め、PFPのプロセス及び技法は、サイドチャネル情報を捕捉するセンサ使用のタイプから独立して実施することができる。PFPに入力を提供する物理的センサのスペクトルは、ターゲットデバイスの実行ステータスに直接又は間接的に関連する観測可能な物理的属性を収集する異なるタイプ及びクラスを包含するように増大することができる。電流プローブ等のデジタルデバイスによって消費される瞬間電流を直接又は間接的に測定するセンサに加えて、PFPモニタに統合することができる他のセンサとしては、電磁干渉(EMI)センサ、近接場センサ、温度計等が挙げられる。
PFPシステムは、デジタルシステムの消費電力を観測し、細かいパターンを特徴付けることができる。パターンはまず、デジタルシステムの内部実行ステータスによる影響を直接又は間接的に受ける環境又はシステム内の任意の観測可能な特徴について、センサによって捕捉される。そのような観測可能な要素は、サイドチャネルとしても知られ、電磁放射線、温度、時間遅延等を含む。PFPシステムは、システム内の任意のサイドチャネルを観測し分析することにより、デジタル回路に適用して、保全性を評価し、デジタル回路を検証し、又はデジタル回路を認証することができる。
一実施形態では、センサは、PFPモニタによって使用し得、音響及び振動、温度、電磁、電流、磁束、電磁放射線、近接場放射線、位置、距離、角度、速度、加速度、光及び光学、環境、水分、湿度等、圧力、力、高度等を含むが、これらに限定されない。これらのセンサ及びそれらの信号は、PFPにおいて個々に使用することもでき、又はデータ融合若しくは関連する技法を使用して結合することもできる。
一実施形態では、PFPシステムは、同様の実行インスタンスからの複数の電力トレースと、他の読み取り値及び測定値と統合して、多様性を上げることにより、PFP性能を強化し得る。ターゲットデバイスの複数の電力トレース又は読み取り値は、特定のモジュール又は動作を実行するとき、統合することができ、結合して、誤検出の確率の値減等の性能尺度を改善することができる。特定のデバイス及び実装形態では、複数のトレースの収集は、同じ入力を使用してシステム動作を単に繰り返し観測する必要があるだけであるため、簡単である。そのようなデバイスの例としては、産業制御システムで一般に使用されるハードウェア実装(ASIC)及び基本埋め込みシステムが挙げられる。より複雑なシステムでは、システム実行の複数のトレースを収集するプロセスは、入念に作られた入力ベクトル(ターゲットシステムを適切な状態にするように)と、同期メカニズムとを含み得る。
一実施形態では、PFPシステムは異常検出を使用するため、その検出有効性は、偽陽性又は誤検出を最小に抑える能力の関数でもある。しかし、PFPシステムは、信号検出の視点から侵入検出にアプローチするため、クリティカルモジュールの異なる実行インスタンスからの多数のトレースを結合し、推定の分散を徐々に低減することも可能である。換言すれば、PFPモニタは、十分な実行インスタンスが捕捉される限り、任意の誤検出確率(PFA)を達成することができる。繰り返しの決定論的実行を実施しないシステムでこのレベルの性能を達成するために、クリティカルモジュールの実行からのトレースのみが一緒に平均されることを保証するメカニズムを提供することができる。そのようなメカニズムは、サイドチャネル情報の本質的な特徴を使用して、又は特定のモジュール実行の検出及び識別の促進を目的として、ターゲット実行に導入される意図的なマーカを使用して、特定の実行を同期し識別することを含むことができる。ターゲットシステムへの入力がPFPモニタ自体によって収集されて、ターゲットデバイスの実行ステータスの更なる制御を提供する場合、同期及び実行識別での更なる改善をPFPによって達成することができる。
一実施形態では、マーカ及び同期アーチファクトをターゲットモジュールの構造に導入することにより、モニタを実行ステータスと同期させることができるとともに、トレースの適宜位置合わせが可能である。これらのわずかな変更は、モジュール自体の機能又は論理に影響せずに導入される。PFPマーカを導入する2つの基本的な方法がある。第1に、利用可能な周辺機器を使用する物理的信号を使用することができる。第2に、クリティカルモジュール前に、入念に作られた命令シーケンスを実行することができる。これらの埋め込みルーチンは、既知の消費電力パターンを生成する。
一実施形態では、マーカ及び同期アーチファクトは、特定のモジュールの識別番号を符号化するためにも使用されるため、二重の目的を果たし、それにより、同じモジュールからの前の実行インスタンスからのトレースと適宜結合することが可能になる。識別コードをマーカ内に埋め込むことは、物理的シグナリング手法及びプリアンブルシグナリング手法の両方を用いて達成することができる。
推定の分散、ひいては分類誤差を生じさせる確率を低減する一手法例は、観測の時間帯域幅積を増大することである。時間帯域幅積を増大させることにより、より長い時間にわたって意図される信号を観測することができ、推定値の正確性が低減する。PFPシステムの場合、性能の改善は、選択されたモジュールの複数の実行インスタンスからの電力トレースを平均することから生じる。PFPシステムでは、シグナリングアーチファクト内に埋め込まれる符号化識別データにより、ターゲットモジュールが改竄されたか否かの判断を下す前に、ターゲットモジュールの複数の実行からの位置合わせされたトレースを記憶し、次に、一緒に平均することができる。複数のトレースを一緒に平均することにより、ランダムノイズが平均され、土台をなすプロセス(ソフトウェア)の識別情報を強調する電力トレースのより明確なバージョンが、評価の実行に使用される。結合されるターゲットモジュールの実行からのトレースが多いほど、結果として生じる推定値の分散は小さく、ひいては、分類エラーを生じる確率が小さい。この手法を使用して、PFPモニタの感度は、特定の用途の性能要件に応じてより多数又はより少数のトレースを平均するように調整することができる。そのような性能を達成するためには、ターゲットモジュールからの十分なトレースを収集すべきである。ネイマン−ピアソン基準を使用して、誤検出の確率に関して任意の感度を達成する検出器を設計することができる。
一実施形態では、PFPシステムは、PFPをサプライチェイン検証、評価、及びリスク管理に適用し得る。PFPシステムを使用して、サプライチェインでの改竄を検出することができる。サプライチェイン全体にわたって導入する、ハードウェアからアプリケーションレベルまでの全てのレベルの実行スタックにわたる悪意のある侵入及び改竄を検出することができる。PFPを直接適用して、システムの寿命全体を通してサプライチェイン内の非信頼リンクによって導入されるソフトウェア、ファームウェア、及びハードウェアでの不正変更及び他の改竄を検出することができる。この手法は、分析する必要がある新しい出荷又は展開されたデバイスが潜在的な改竄について検査される、保全性研究所として設計されるロケーションで実施することができる。PFPモニタは、消費電力を検知し、展開されたデバイスのモジュールへの入力を制御するハードウェアへの好都合のアクセスを提供する専用ハーネス及びツールを用いて動作する。ハーネスを接続するには、電力レールを露出するか、又はテスト点にアクセスするように、展開された(非信頼)デバイスに小さな変更を行う必要があることがある。モジュールの設計がこれらのテスト点を含む場合、変更が必要ないことに留意する。これが当てはまらない場合であっても、PFPを使用する保全性分析は、電磁センサ又は近接場センサ等の外部センサを使用することによって実行することができる。
PFPを用いてサプライチェイン分析を実行することにおける一態様は、被制御環境下で非信頼デバイスを実行する。この被制御環境は、特定の状態シーケンス、プログラマブルデバイスの場合には特定のソフトウェアの実行を強制する予め定義される入力を含む。大半のシステムでは、特定の構成要素の実行を制御し分離するサポートスキャフォールディングが開発される。特定の入力ベクトルは、デバイス又はソフトウェアモジュールの機能に依存し、デバイスの動作にクリティカル実行パスを行使することが予期される。非信頼デバイスの保全性評価に、シグネチャの抽出に使用されるものと同じ入力ベクトルを使用する必要がある。入力及びハーネスを生成するプロセスが、ソフトウェア開発での自動ユニットテストに密に関連し、大半の部分を自動化可能なことに留意する。
一実施形態では、製造中のわずかなプロセスのばらつきにより、異なるデバイスが異なる消費電力特徴を示す。誤った評価を回避するために、消費電力でのこれらのばらつきは、特徴抽出前に補償されるべきである。この補償は、タップが、消費電力トレースの特定の特徴に合うように動的に変更される適応フィルタによって実行することができる。この適応フィルタにより、PFPモニタは、実行中のデバイスレジスタでのビット遷移から生じる消費電力に集中し、製造のばらつきに起因するトレースの差をなくすことができる。デバイスの消費電力特徴が、環境(例えば、温度)、より重要なことにはデバイスが受ける経年劣化にも依存することに留意する。この経年劣化への依存性は、偽造要素のインジケータとして使用することができる。
PFPを使用する有効サプライチェイントラスト分析の別の態様は、ベースライン参照の利用可能である。そのようなシグネチャ(ベースライン参照)の異なる潜在的なソースがある。最良の参照は、同一の信頼実施(判断基準)によって提供される。信頼実施が利用可能ではない場合、参照シグネチャは、様々な程度の作業及び信頼性を有する代替の方法を使用して抽出することができる。例えば、2つの比較的単純な代替の参照ソースは、デバイス(時間テストされたもの)の前の実施又は異なる供給業者からの代替の実施を含む。これらの場合、参照は、代替の実施の実行から抽出され、異なるプロバイダによる2つの同一の変更の可能性を低減する。前者の手法からの電力指紋は、前のバージョンに存在する、識別されていない変更を見逃すおそれがある。後者の手法では、攻撃者は、異なる供給業者からの両バージョンに同一の変更を行い、検出を回避することができる。
一実施形態では、コンピュータモデル又はコンピュータ支援設計(CAD)モデルを使用して、電力指紋を取得することも可能である。この手法は通常、より多くの作業を含むが、外部工場に依存せずにインハウスで行うことができる。CADモデルを使用して電力指紋を抽出するために、デバイスの実行は、決定論的入力ベクトルを使用してシミュレートすることができる。シミュレータは、レジスタ転送レベルへの消費電力に関して正確であるべきである。PFPシステムを使用して、サプライチェイン全体を通して、偽造構成要素の導入を検出することができる。実行異常及び改竄を検出する特徴付けと同じ原理に従い、デバイスが、経年劣化する間に電力を消費する様式を特徴付けることができ、デバイスがその使用可能な寿命の終わりに達しつつあるときを特定することができる。これを達成するために、温度変化を広げる他の手段の中でも特に、ターゲットデバイスを露出することによってターゲットデバイスの経年劣化プロセスを加速させることが可能である。この情報を用いて、PFPモニタは、特定の構成要素にストレスがかかっており、故障する可能性が高いことときを識別することができ、これは、偽造要素の強力な指示を提示する。
一実施形態では、PFPシステムは、PFPを使用してIDSを強化し得る。例えば、PFPシステムは、ローカルな改竄及び侵入を検出可能な代替の補足的侵入検出手法を提供することができる。PFPシステムは、ネットワークトラフィック解析に依存せず、代わりに、物理的サイドチャネルの監視に依存して、クリティカルモジュールの保全性評価を実行し、異常検出を使用して、悪意のある侵入をキャッチする侵入検出を可能にする。
一実施形態では、提案されるPFP侵入検出システム(PFP IDS)は、ネットワークトラフィックを効果的にマスキングするか、又はネットワーク活動を最小に抑えて、識別可能な外部挙動の表示を回避する精巧な持続的標的型攻撃(APT)を検出することが可能である。既知のシステムでは、ネットワーク侵入検出のみに依存する場合、APTの検出は極めて難しい。精巧なAPTは、感染したシステム内部に隠れたままであることがわかっており、シグネチャベースの検出を効果的に回避し、痕跡を消し、ネットワークトラフィックを制限する。例えば、いかなるネットワークトラフィックも生成せずに、実際の攻撃をトリガーする特定の入力又は事象をリッスンだけすることは、通常、侵入が長い時間期間にわたって存在した場合であっても、攻撃がトリガーされるまで、従来のネットワークIDSシステムによって検出されない。
本明細書に記載されるPFP IDSシステム下では、隠れたままであり、ネットワークトラフィックを生成せずにリッスンするそのようなステルス侵入は、入力をリッスンするシステムの実行に影響する。この場合、入力の監視による実行の変更は、実行保全性をチェックしているPFPモニタによって検出される。
一実施形態では、PFPシステムは、動作を妨害するか、又はカーネルルートキット又はハードウェアトロイ等の悪意のあるコンテンツの存在を隠すためにAPTによって一般に使用されるクリティカルモジュールの保全性を監視することができる。PFPモニタセンサ物体は、独立してそれ自体により、又はネットワーク化されて動作して、保全性ステータス更新を中央サーバに提供することができる。より重要なことには、PFPモニタは、ネットワークベースの手法及び他の従来のセキュリティメカニズムを含め、従来のIDSシステムに沿って使用することができる。
PFP IDSでは、ハードウェアトロイからカーネルルートキットまで、実行スタック中にわたる特定のモジュールの実行改竄の検出において、任意の誤検出確率を設定することができる。ゼロデイ攻撃の検出も可能であり、SMS、Bluetooth、又は他のサイドチャネル等の代替のネットワークを使用して、データをこっそりと抜き取るか、又はコマンド及び制御サーバに接触する脅威の検出が可能である。
一実施形態では、PFPシステムは、PFPを産業制御システム及び監視制御及びデータ収集(SCADA)システムに適用し得る。プログラマブル論理コントローラ(PLC)等の産業制御システム(ICS)は、製造プロセスから原子炉まで、産業プロセスを監視し制御するコンピュータ制御システムである。ICSは、大規模プロセスを制御する場合、SCADAシステムとしても知られる。ICS及びSCADAシステムは、水処理及び分配輸送システム、石油及びガスパイプライン、送電/配電、風力発電地帯、防衛システム、並びに大規模通信システムを含め、重要インフラに遍在する。
一実施形態では、PFPシステムをICS及びSCADAシステムに適用して、システムの個々の構成要素の保全性の評価、悪意のある侵入の検出、不正変更の検出、改竄の検出等を行うことができる。ICS及びSCADAシステムへのPFPの適用は、様々な構成で実行することができる。
図46Aは、一実施形態による、SCADA展開をスポットテストするPFP解決策の態様を示すためのシステム例を提供する。例えば、図46Aに示されるように、SCADAシステム4601aは、スポットテストのためにターゲットデバイスまで運ぶことができる独立型PFPモニタ(例えば、4602)を利用し得、スポットテストは、定期的又は不定期に実行することができる。
図46Bは、一実施形態による、ラウンドロビン監視を用いる分散SCADAシステムの態様を示すシステム例を提供する。中央ロケーション(例えば、4606)においてPFP処理を実行する構成の場合、分散SCADAシステム4601b〜dは複数のPFPセンサ4603a〜cを利用し得、PFPセンサ(4603a〜c)とPFP中央処理モジュール(4606)との間のインタフェースは、Ethernet(登録商標)等の有線ネットワーク及びWiFi等の無線を含め、様々な通信手法を使用して実施することができる。
PFPセンサ(4603a〜c)及びPFP前処理モジュール(4606)は、ターゲット埋め込みプラットフォームと同じ場所に配置される。この場合、PFP前処理モジュール4606は、信号をデジタル化し、前処理を実行して通信帯域幅の使用を低減し、ネットワークインタフェースを使用して、結果として生成されるデータをリモートPFPモニタに送信する特定の処理能力を含む。分散SCADAシステムの場合、PFP中央処理モジュール4606はラウンドロビン監視を行い得、例えば、各デバイスは1日に数回、評価されてもよく、又は十分な通信及び処理リソースが利用可能な場合には連続並列監視されてもよい。
図46Cは、一実施形態による、埋め込みPFPモニタを使用して24時間監視の態様を示す代替のシステム例を提供する。代替の分散処理手法は、ファイバトゥザアンテナ(FTTA)又はRFオーバファイバと呼ばれる携帯電話基地局で使用される技法を模倣する。この手法は、信号品質の低下なく、リモートアンテナ側で実行される信号処理を最小にして、アンテナ(センサ)によって捕捉された信号を中央処理基地局に転送する、光ファイバに結合された光学送受信器を含む。
一実施形態では、ファイバトゥザセンサ(FTTS)手法を使用することができる。FTTS手法は、カメラ埋め込みシステムの展開及び環境で非常に有用であることができる。産業制御システム及びSCADAシステムは、比較的近い空間近接性で分散するが、潜在的にノイズの多い環境にある複数の処理モジュールの監視に起因して、この手法に大きな用途を提供する。例えば、分散SCADAシステム4601e〜gは、埋め込みPFPモニタ4605a〜cをそれぞれ利用し、埋め込みPFPモニタを使用して24時間監視を実行し得る。更に、工場の作業場は多くの場合、配線され、中央処理ステーションを提供するように構成される。ここでは、光ファイバを使用して、この実施形態を説明するが、この手法が光ファイバに限定されず、代替の技術を使用して実施することも可能なことに留意することが重要である。
図46Dは、一実施形態による、埋め込みボード及びPFPモニタのインフラを示す図を提供する。例えば、PFPモニタ4615は、それぞれが埋め込みプロセッサ4612a及びbと、PFPセンサ4614a及びbと、PFP信号変調器4613a及びbとを含む1つ又は複数の分散埋め込みボード4611a及びbとインタフェースし得る。一実装形態では、PFPセンサ4614a及びbは、検出信号をPFP信号変調器4613a及びbに送信して、PFPモニタ4615と通信するために信号を変調し得る。展開される要素の予備部品を保持する重要インフラシステムの場合、それらの予備部品を異なる要素の特徴付けにオフラインで使用することができる。多くの場合、クリティカルIDS及びSCADAシステムは、同一の機器及び構成を有する、実際の動作システムをミラーリングするテストセットアップを有する。利用可能な場合、そのようなミラーセットアップもPFP特徴付けに使用すべきである。
図47は、一実施形態による、PFPをデバイスチャージャ又はスリーブに統合する態様を示すブロック図の一例を提供する。一実施形態では、PFPモニタ4702/4704をデバイスチャージャ4703又はスリーブ4701に統合して、例えば、PFP監視スリーブ又はチャージャの形態で保全性評価、侵入検出、又は不正変更検出を実行して、ポータブル埋め込みデバイスの保全性を評価し得る。ハンドヘルドデバイスのPFPアタッチメントにより、サイズが制約される実施を提示し、PFPモニタにわずかなスペースを提供するプラットフォームでのPFP監視が可能である。チャージャ4703におけるPFPモニタ4704の場合、PFP保全性評価は、デバイスが充電中に実行される。チャージャ選択肢又はスリーブ選択肢は両方とも、センサと、デジタイザと、PFP参照の記憶装置とを含む独立型PFPモニタを含む。スリーブ実装形態及びチャージャ実装形態は両方とも、受動的又は能動的にターゲットデバイスを監視する能力を有する。受動的な方法では、PFPモニタは単に、デバイスとの追加の対話なしで、ターゲットデバイスで通常通り実行されている実行の保全性を評価する。能動的なモードでは、PFPモニタはターゲットデバイスと対話して、特定のルーチン又はタスク固有動作を強制的に実行させて、特定の動作及びタスクの保全性を評価する。
一実施形態では、PFPモニタは、例えば、電磁(EM)センサ(近距離場または遠距離場)の使用を含め、有効検知に関して複数の選択肢を有する。EMセンサは、構成可能なロケーションを有し、それにより、最高且つ最もクリーンなサイドチャネル信号を生成する特定のセンサ配置を見つけるのに役立つ。
スリーブ4701及びチャージャ4703の両方は、ターゲットシステムの要件を満たすように、異なるフォームファクタで、異なる物理的仕様で作ることができる。スリーブ又はチャージャに統合されるPFPモジュールは、ローカルPFP評価の場合、センサと、デジタイザと、処理とを含む完全なPFP解決策を含むことができ、又は捕捉されたPFPトレースが、完全PFP処理のために、ネットワークを使用してそのまま又は何らかの処理及び調整の後、異なるロケーションに送信される分散PFPの場合、PFPサブセットを含むことができる。
スリーブ4701の場合、PFPモニタ4702は、ポータブルターゲットデバイスの電池寿命に影響せずに、独立動作用に独立電池を含むことができる。スリーブ及びチャージャは両方とも、信頼シグネチャ記憶用の別個のメモリを含む。
更なる実施形態では、PFPシステムは、既知のコードセットの実行又は一連のハードウェア構成要素の実行により行われる、所定の消費電力実行を含むPFP透かしを導入して、PFP評価性能を強化し得る。透かしは、コードのどのセグメントが実行されたか、実行中であるか、又はすぐに実行されることになるかを特定するための同期に、又は2つの消費電力指紋透かし間でのマルウェア又はトロイの木馬の挿入に起因して、追加の実行時間がデバイスに挿入されたか否かを判断するためのタイミングマーカとして使用し得る。
一実施形態では、PFP透かしは、ターゲットシステムにおいて特定の事象又は動作をトリガー、開始、又は要求することによって導入することもできる。そのような透かしは、本質的に、システムの通常動作の一環として現れることもできる。既知の消費電力特徴を有する所与の周辺機器をオンにすることにより、信頼できる透かしを提供することができる。例えば、EEPROMメモリの消去により、同期に使用することができる強力な透かしを導入し得、無線カードをオンにする場合も、同様の挙動を観測することができる。透かしが、プロセッサ外部からの事象及びタスクによって導入される場合、透かしは、PFPシステムでの測定要件を緩和することもできる。例えば、透かしは、電力調整回路上で早期のテスト点から、主電池に対して、又は電磁プローブを使用してさえも観測することができる。
更なる実施形態では、例えば、産業制御システム(ICS)又は監視制御及びデータ収集(SCADA)システムのうちの少なくとも一方であるシステムにおいて保全性を評価し、悪意のある侵入を検出し、不正変更を検出し、改竄を検出する方法は、個々の構成要素の消費電力を観測し、PFPを個々の構成要素に適用することにより、システムの個々の構成要素の実行を監視することを含む。
幾つかの実施形態では、ポータブルPFPモニタを使用して、システムの個々の構成要素に対してスポット評価を実行することができる。
幾つかの実施形態では、PFPモニタは、システムにわたって分散することができ、センサ及び前処理モジュールは、個々の構成要素と同じ場所に配置される。この方法は、ネットワークを使用して、部分的に処理されたトレースを中央ロケーションに送信して、PFP処理及び評価を完了することを含むことができる。
幾つかの実施形態では、PFPモニタはシステムにわたって分散することができ、センサは個々の要素と同じ場所に配置される。この方法は、光ファイバリンク又はネットワークを使用して、センサの出力を直接、変調後に中央ロケーションに送信して、PFP処理及び評価を行うことを含むことができる。
幾つかの実施形態では、PFPモニタは、個々の構成要素の連続監視を実行することができるように、システムの個々の構成要素に埋め込むことができる。
PFPシステムの更なる実装形態は、サプライチェインにおいて非信頼リンクによって導入されるソフトウェア、ファームウェア、及びハードウェアでの不正変更及び他の改竄を検出する方法が、来るデバイスの保全性研究所又は展開されたデバイスの現場でのPFP分析の適用を含むことができ、PFPモニタによって検出される悪意のある命令、侵入、改竄、又は不正変更に応答する方法が、事象の警告、ログ、及び報告、特定のクリティカルリースへのアクセスを阻止して、保護中のシステムが破損されず、悪用されず、若しくは情報漏洩しないようにすること、攻撃若しくは攻撃者から機密情報及び科学捜査情報を収集すること、シャットダウン、リセット、若しくは動作/計算の阻止により、影響を受けたデバイスを一時的にディセーブルすること、又はデバイスを物理的に破損するか、若しくは破壊することにより、影響を受けたデバイスを永久的にディセーブルすることのうちの少なくとも1つを含むことができることを含み得る。
PFPシステムの更なる実装形態は、より効率的な特徴付けを可能にするか、又は異なる若しくは難しい状況でのターゲットの特徴付けを可能にする、PFP特徴付け及び指紋参照抽出及び検証の方法が、シミュレーションを使用して、デバイスの消費電力を取得すること、統計学的分析を使用して、外れ値を識別すること、リバースエンジニアリングを使用して、ハードウェアからの指紋を検証することのうちの少なくとも1つを含むことができることを含み得る。
本明細書で記載されるシステム及び方法が、ソフトウェア(ハードウェアで実行される)、ハードウェア、又はそれらの組み合わせによって実行可能なことが意図される。ハードウェアモジュールは、例えば、汎用プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、及び/又は特定用途向け集積回路(ASIC)を含み得る。ソフトウェアモジュール(ハードウェアで実行される)は、C、C++、Java(商標)、Ruby、Visual Basic(商標)、並びに他のオブジェクト指向、手続き型、又は他のプログラミング言語及び開発ツールを含め、様々なソフトウェア言語(例えば、コンピュータコード)で表現することができる。コンピュータコードの例としては、マイクロコード又はマイクロ命令、コンパイラによって生成されるなどの機械命令、ウェブサービスの生成に使用されるコード、及びインタプリタを使用してコンピュータによって実行されるより高水準の命令を含むファイルが挙げられるが、これらに限定されない。コンピュータコードの更なる例としては、制御信号、暗号化コード、及び圧縮コードが挙げられるが、これらに限定されない。
本明細書に記載される幾つかの実施形態は、CPUによって実行される記憶プログラム構成要素によって実施し得る。一実施形態では、記憶プログラム構成要素は、先の図及び/又は本明細書において考察されるPFP監視及び保全性評価の態様の任意及び/又は全ての組み合わせを組み込む。したがって、記憶プログラム構成要素は、様々な通信ネットワークにわたる情報、サービス等のアクセス、取得、及び提供に作用し、ノード間での情報のアクセスを可能にし、Apache構成要素、アセンブリ、ActiveX、バイナリ実行可能ファイル(ANSI)(オブジェクト)C(++)、C#、及び/又は.NET、データベースアダプタ、CGIスクリプト、Javaスクリプト、マッピングツール、手続き型及びオブジェクト指向開発ツール、PERL、PHP、Python、シェルスクリプト、SQLコマンド、ウェブアプリケーションサーバ拡張、ウェブ開発環境及びライブラリ(例えば、MicrosoftのActiveX、Adobe AIR、FLEX & FLASH、AJAX、(D)HTML、Dojo、Java、Javaスクリプト、jQuery(UI)、MooTools、プロトタイプ、script.aculo.us、シンプルオブジェクトアクセスプロトコル(SOAP)、SWFObject、Yahoo!ユーザインタフェース等)、ウェブオブジェクト等であるが、これらに限定されない標準開発ツール及び言語を利用することによって作成し得る。
一実施形態では、PFPシステムは、暗号化サーバを利用して、通信の暗号化及び復号化を行い得る。PFPシステムは、それ自体を含む構成要素の集まり内の他の構成要素及び/又はそのような施設に通信し、且つ/又はそのような他の構成要素及び/又はそのような施設と通信し得る。最も頻繁には、PFPシステムは、データベース、オペレーティングシステム、他のプログラム構成要素等と通信する。PFPシステムは、プログラム構成要素、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答の包含、通信、生成、取得、及び/又は提供を行い得る。
本明細書に記載される幾つかの実施形態は、様々なコンピュータ実施動作を実行する命令又はコンピュータコードを有する非一時的コンピュータ可読媒体(非一時的プロセッサ可読媒体と呼ぶこともできる)を有するコンピュータ記憶製品に関する。コンピュータ可読媒体(又はプロセッサ可読媒体)は、一時的な伝搬信号(例えば、空間又はケーブル等の伝送媒体上で情報を搬送する伝搬電磁波)をそれ自体が含まないという意味で、非一時的である。媒体及びコンピュータコード(コードと呼ぶこともできる)は、1つ又は複数の特定の目的で設計及び構築されるものであり得る。非一時的コンピュータ可読媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、及び磁気テープ等の磁気記憶媒体、コンパクトディスク/デジタルビデオディスク(CD/DVD)、コンパクトディスク読み取り専用メモリ(CD−ROM)、及びホログラフィックデバイス等の光学記憶媒体、光ディスク等の磁気光学記憶媒体、搬送波信号処理モジュール、及び特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、読み取り専用メモリ(ROM)、及びランダムアクセスメモリ(RAM)デバイス等の、プログラムコードを記憶し実行するように特に構成されるハードウェアデバイスが挙げられるが、これらに限定されない。
様々な実施形態について上述したが、限定ではなく、単なる例として提示されたことを理解されたい。上述した方法及びステップが、特定の順序で生じる特定の事象を示す場合、特定のステップの順序は可変である。更に、特定のステップは、可能な場合、並列プロセスで同時に実行してもよく、また上述したように順次実行してもよい。様々な実施形態は、特定の特徴及び/又は構成要素の組み合わせを有するものとして説明されたが、本明細書に記載される任意の実施形態からの任意の特徴及び/又は構成要素の任意の組み合わせ又はサブ組み合わせを有する他の実施形態も可能である。



  1. 第1のモジュールにおいて、システムの第1のターゲット構成要素のサイドチャネル情報を受信することであって、前記第1のモジュールは前記第1のターゲット構成要素と同じ場所に配置され、前記第1のターゲット構成要素の前記サイドチャネル情報には、前記第1のターゲット構成要素の複数の認可実行ステータスと、前記第1のターゲット構成要素の実行ステータスとが関連付けられる、受信することと、
    前記第1のターゲット構成要素の前記サイドチャネル情報に基づいて、前記第1のターゲット構成要素の電力指紋を取得することであって、前記第1のターゲット構成要素の前記電力指紋は、前記第1のターゲット構成要素の複数の認可実行ステータスを表す、取得することと、
    第2のモジュールにおいて、前記システムの第2のターゲット構成要素のサイドチャネル情報を受信することであって、前記第2のモジュールは前記第2のターゲット構成要素と同じ場所に配置され、前記第2のターゲット構成要素の前記サイドチャネル情報には、前記第2のターゲット構成要素の複数の認可実行ステータスと、前記第2のターゲット構成要素の実行ステータスとが関連付けられる、受信することと、
    前記第2のターゲット構成要素の前記サイドチャネル情報に基づいて、前記第2のターゲット構成要素の電力指紋を取得することであって、前記第2のターゲット構成要素の前記電力指紋は、前記第2のターゲット構成要素の複数の実行ステータスを表す、取得することと、
    プロセッサモジュールから、(1)前記第1のターゲット構成要素の前記電力指紋及び前記第1のターゲット構成要素の実行ステータス、又は(2)前記第2のターゲット構成要素の前記電力指紋及び前記第2のターゲット構成要素の実行ステータスのうちの少なくとも1つに基づいて報告信号を送信することであって、前記報告信号には、前記第1のターゲット構成要素の前記実行ステータス又は前記第2のターゲット構成要素の前記実行ステータスのうちの少なくとも一方が関連付けられる、送信することと、
    を含む方法。

  2. 前記プロセッサモジュールは、前記第1のターゲット構成要素及び前記第2のターゲット構成要素とは物理的に別個である、請求項1に記載の方法。

  3. 前記第1のターゲット構成要素の前記電力指紋は、前記第1のモジュールによって取得され、
    前記第2のターゲット構成要素の前記電力指紋は、前記第2のモジュールによって取得され、
    前記方法は、
    前記プロセッサモジュールにおいて、前記第1のモジュールから、前記第1のターゲット構成要素の前記電力指紋を表す信号を受信することと、
    前記プロセッサモジュールにおいて、前記第2のモジュールから、前記第2のターゲット構成要素の前記電力指紋を表す信号を受信することと、
    を更に含む、請求項1に記載の方法。

  4. 前記プロセッサモジュールにおいて、前記第1のモジュールから、前記第1のターゲット構成要素の前記サイドチャネル情報を表す信号を受信することと、
    前記プロセッサモジュールにおいて、前記第2のモジュールから、前記第2のターゲット構成要素の前記サイドチャネル情報を表す信号を受信することと、
    を更に含み、
    前記第1のターゲット構成要素の前記電力指紋は、前記プロセッサモジュールによって取得され、
    前記第2のターゲット構成要素の前記電力指紋は、前記プロセッサモジュールによって取得される、請求項1に記載の方法。

  5. 前記報告信号は、前記第1のターゲット構成要素又は前記第2のターゲット構成要素のうちの少なくとも一方の保全性評価、悪意のある侵入検出、不正変更検出、又は改竄検出のうちの少なくとも1つを表す、請求項1に記載の方法。

  6. 前記第1のターゲット構成要素及び前記第2のターゲット構成要素は、(1)産業制御システム(ICS)、(2)監視制御及びデータ収集(SCADA)システム、又は(3)埋め込み計算プラットフォームのうちの少なくとも1つ内に含まれる、請求項1に記載の方法。

  7. 前記プロセッサモジュールは、少なくとも1つのネットワークを通して前記第1のモジュール及び前記第2のモジュールに動作可能に結合される、請求項1に記載の方法。

  8. 前記第1のターゲット構成要素の前記電力指紋を取得すること、前記第2のターゲット構成要素の前記電力指紋を取得すること、及び前記報告信号を送信することは、略連続して繰り返される、請求項1に記載の方法。

  9. 非信頼電子デバイスに予め定義される入力を送信することであって、前記予め定義される入力は、前記非信頼電子デバイスの機能に基づいて定義される、送信することと、
    前記予め定義される入力に応答して、前記非信頼電子デバイスのサイドチャネル情報を受信することと、
    前記サイドチャネル情報に基づいて、前記非信頼電子デバイスの電力指紋を取得することと、
    前記電力指紋に基づいて、前記非信頼電子デバイスの保全性を評価することと、
    を含む方法。

  10. 前記予め定義される入力を送信することは、前記予め定義される入力に応答して、前記非信頼電子デバイスが特定の状態シーケンスになるか、又は前記非信頼電子デバイスのソフトウェアが実行されるように、前記予め定義される入力を前記非信頼電子デバイスに送信することを含む、請求項9に記載の方法。

  11. 前記予め定義される入力を送信することは、前記予め定義される入力に応答して、前記非信頼電子デバイスの第1の実行パスが動作し、且つ前記予め定義される入力に応答して、前記非信頼電子デバイスの第2の実行パスが動作しないように、前記予め定義される入力を前記非信頼電子デバイスに送信することを含む、請求項9に記載の方法。

  12. 前記非信頼電子デバイスは第1の非信頼電子デバイスであり、前記方法は、
    複数の電子デバイスからの各非信頼電子デバイスに関して前記送信すること、前記受信すること、前記取得すること、及び前記評価することを繰り返すことを更に含む、請求項9に記載の方法。

  13. 前記非信頼電子デバイスは第1の非信頼電子デバイスであり、前記方法は、
    複数の電子デバイスからの各非信頼電子デバイスに関して前記送信すること、前記受信すること、前記取得すること、及び前記評価することを繰り返すことを更に含み、
    前記評価することは、前記複数の電子デバイスの少なくとも部分の統計学的分析に基づいて、前記非信頼電子デバイスの不正変更を識別することを含む、請求項9に記載の方法。

  14. 前記非信頼電子デバイスは第1の非信頼電子デバイスであり、前記方法は、
    複数の電子デバイスからの各非信頼電子デバイスについて、以下:
    予め定義される入力を前記非信頼電子デバイスに送信することと、
    前記予め定義される入力に応答して、前記非信頼電子デバイスのサイドチャネル情報を受信することと、
    製造のばらつきが、変更サイドチャネル情報を生成するために低減されるように、前記非信頼電子デバイスの前記サイドチャネル情報を動的に変更することと、
    前記変更サイドチャネル情報に基づいて、前記非信頼電子デバイスの電力指紋を取得することと、
    前記電力指紋に基づいて前記非信頼電子デバイスの保全性を評価することと、
    を実行することを更に含む、請求項9に記載の方法。

  15. 前記評価することは、前記非信頼電子デバイスが不正変更を受けた場合、前記非信頼電子デバイスの不正変更を識別することを含む、請求項9に記載の方法。

  16. デバイスの不正アクセスを表す信号を受信するように構成される電力指紋モニタモジュールと、
    前記電力指紋モニタモジュールに動作可能に結合される応答分析モジュールと、
    を含み、前記応答分析モジュールは、前記不正アクセスの検出に応答して、複数の応答モジュールから応答モジュールを選択するように構成され、前記複数の応答モジュールからの第1の応答モジュールは、前記不正アクセス中、前記デバイスに関連付けられる情報を収集するように構成され、前記複数の応答モジュールからの第2の応答モジュールは、前記不正アクセスに応答して、前記デバイスへのアクセスを阻止するように構成され、前記複数の応答モジュールからの第3の応答モジュールは、前記不正アクセスを受けた前記デバイスの少なくとも部分をディセーブルするように構成される、装置。

  17. 前記第1の応答モジュールは、前記不正アクセス中、前記デバイスに関連付けられた情報に基づいて、報告信号を送信するように構成される、請求項16に記載の装置。

  18. 前記複数の応答モジュールは、前記不正アクセス又は前記不正アクセスをトリガーしたデバイスのうちの少なくとも一方に関連付けられた情報を収集するように構成される第4のモジュールを含む、請求項16に記載の装置。

  19. 前記第3の応答モジュールは、前記デバイスのパワーダウン、前記デバイスのリセット、又は前記デバイスの前記部分の動作阻止のうちの少なくとも1つを含む、前記デバイスの前記部分を一時的にディセーブルすることを実行するように構成される、請求項16に記載の装置。

  20. 前記第3の応答モジュールは、(1)前記デバイスの前記部分の物理的破損、(2)前記デバイスの前記部分の破壊、(3)前記デバイスの前記部分を回復不可能な論理状態にすること、又は(4)前記デバイスのメモリの永久的な消去のうちの少なくとも1つを含む、前記デバイスの前記部分を永久的にディセーブルすることを実行するように構成される、請求項16に記載の装置。

 

 

Patent trol of patentswamp
類似の特許
【解決手段】符号化したデジタルストリーミングデータの1つ以上のフレーム内に埋め込まれた悪意のあるデータによって、ソフトウェアセキュリティレイヤを使用してシステムをハードウェアエンコーダアクセラレータの利用することからシステムを保護することを含む。サーチャーまたはその他の読者が素早く技術的な開示の主題を確認することができるこの要約は、要約を要求する規則に則って提供されることを強調する。特許請求の範囲若しくは意味を解釈または制限するために使用されるものではないという理解を前提として提出する。
【選択図】図2
技術は、1つ以上の仮想マシンのそれぞれを、それぞれのセキュリティコンテナに従って動作させることであって、それぞれのセキュリティコンテナが、1つ以上の条件に基づいて、それぞれのセキュリティコンテナから隔離コンテナへの移動を特定するそれぞれのルールに関連付けられている、動作させることを含む。1つ以上のセキュリティサービスが1つ以上の仮想マシンにおいて動作して、仮想マシンの1つ以上に関連付けられた1つ以上のセキュリティ脅威を特定する。エンドポイントセキュリティサービスによって生成された1つ以上のタグが取得され、このときタグのそれぞれは特定されたセキュリティ脅威の1つと関連付けられた仮想マシンのためのものである。そして、1つ以上の取得されたタグと1つ以上の条件とに少なくとも基づいて、隔離コンテナへの移動を要求する仮想マシンの1つが特定される。
概ね、本開示は、クラウドベースのデータ同期化およびフィルタリングを含むセキュアなOS環境へのコンテキストベースのスイッチングのための複数のデバイス、システム、方法、およびコンピュータ可読媒体を提供する。デバイスは、最初にプロビジョニングされた状態で格納されたセキュアなOSへのアクセスを提供するストレージコントローラと、ウェブサイトへのアクセスをモニタリングし、デバイスとウェブサイトとの間のトランズアクションを分類し、ウェブサイトとセキュアなOSの動作と関連する複数のウェブサイトのリストとの間の一致、またはトランズアクションの分類とセキュアなOSの動作に関連する複数のトランズアクションの種類のリストとの間の一致を識別するコンテキスト判断モジュールと、識別された一致に応答して、主OSからセキュアなOSへとスイッチングするOSスイッチングモジュールとを含み得る。スイッチングは、セキュアなOSに関連する状態データを更新することを含み、状態データは、セキュアなクラウドベースのデータ同期化サーバから受信され得る。
セキュリティ攻撃へ応答するための欺きに基づく技術を説明する。この技術は、セキュリティ攻撃を、当該セキュリティ攻撃により影響を受けるコンピューティングデバイスに見せかける被監視コンピューティングデバイスに遷移させること、及び、当該被監視コンピューティングデバイスから、相手方が欺きの情報を取得することを可能にすることを含む。また、相手方は、ドキュメントをオープンするエンティティの識別し、それによって、前記攻撃に関連付けられる相手方を識別する情報を報告するように構成されたドキュメントを取得してもよい。さらに、この技術は、ドメインネーム要求で特定されるドメインが、悪質な活動に関連付けられると決定し、要求に、被監視コンピューティングデバイスのネットワークアドレスによって応答して、要求するプロセスが、相手方サーバの代わりに被監視コンピューティングデバイスと通信することを引き起こすことを含む。さらに、サービスは、悪質な活動に関連付けられる休止ドメインネームを監視し、変化への応答で、警告または構成更新によって応答することもできる。
ネットワークポリシーを実施する方法が記載される。本方法では、第1のコンテキスト内で実行中のアプリケーションからのネットワークソケットイベント要求は、その要求が第1のコンテキスト内のトランスポート層に到達する前に、エージェントによってインターセプトされる。コンテキストとは、仮想化ソフトウェア、物理的コンピュータ、又は仮想化ソフトウェア及び物理的コンピュータの組合せを指す。要求のインターセプトに応答して、エージェントは、ネットワークソケットイベント要求を、第1のコンテキストとは別個の第2のコンテキスト内で実行中のセキュリティサーバに通信することを許可するか拒絶するかについての判断を要求する。判断に対する要求は、アプリケーションの識別情報を含む。次に、エージェントは、セキュリティサーバからネットワークソケットイベント要求の許可又は拒絶の何れかを受信する。この許可又は拒絶は、アプリケーションの識別情報及びセキュリティポリシーに少なくとも部分的に基づく。エージェントは、拒絶がセキュリティサーバから受信される場合、ネットワークソケットイベントがトランスポート層に到達するのを阻止する。一実施形態では、本方法は、コンピュータによって実行可能なソフトウェア命令を実施する機械可読媒体を使用して実施される。
デバイスのロケーションを決定することと、デバイス上で実行している1つまたは複数のプロセスの行動の監視を、デバイスの決定されたロケーションに基づいて、監視される1つまたは複数の実行しているプロセスから潜在的な1つまたは複数のセキュリティリスクのあるプロセスを識別するために制御することとを含む方法を含む、システム、装置、デバイス、方法、コンピュータプログラム製品、および他の実装形態が開示される。いくつかの実施形態では、1つまたは複数のプロセスの行動の監視を制御することは、たとえば、1つまたは複数のプロセスの監視の頻度を、デバイスの決定されたロケーションに基づいて調整すること、1つまたは複数のプロセスの監視される行動について取得される詳細のレベルを、デバイスの決定されたロケーションに基づいて調整すること、および/あるいは監視される1つまたは複数のプロセスについて観察されている特徴を、デバイスの決定されたロケーションに基づいて調整することのうちの1つあるいは複数を含み得る。
クライアントクラウド通信システムにおいてデータモデルを生成するための方法、システムおよびデバイスは、挙動ベクトルのクラウドコーパスを記述するクラシファイアモデルの第1のファミリーを生成するために、機械学習技法を適用することを含み得る。そのようなベクトルは、モバイルデバイス挙動が悪意のあるものであるか無害であるかをモバイルデバイスがよりよく判断することを可能にする最高の確率を有する、クラシファイアモデルの第1のファミリー中の要因を特定するために分析され得る。この分析に基づいて、モバイルデバイス挙動が悪意のあるものであるか無害であるかを、判断された要因に基づいて、モバイルデバイスがよりよく判断することを可能にするために関連があるものとして、著しくより少数の要因およびデータポイントを特定する、クラシファイアモデルの第2のファミリーが生成され得る。クラシファイアモデルの第2のファミリーに基づくモバイルデバイスのクラシファイアモジュールが生成され得、挙動ベクトルに寄与するデバイスを含めて、モバイルデバイスによるダウンロードのために利用可能にされ得る。
開示されるシステムおよび方法はコンピュータシステムをウイルスおよびルートキットなどのマルウェアから保護することを可能にする。いくつかの実施形態において、ハイパーバイザはオペレーティングシステム(OS)の集合をホストするハードウェア仮想化プラットフォームを構成する。ハイパーバイザのプロセッサ特権レベルで実行するメモリイントロスペクションエンジンは各OSを動的に識別し、保護準備モジュールを使用して、それぞれのOSにネイティブのメモリ割り当て関数による対象ソフトウェアオブジェクトへのメモリの割り当て方を変更する。いくつかの実施形態において、変更はマルウェア保護を必要とする対象オブジェクトのみに影響し、また対象オブジェクトのデータを含むメモリページがそれぞれのオブジェクトのために排他的に予約されるように実施することを含む。メモリイントロスペクションエンジンは次いでそれぞれのメモリページを書き込み保護する。
ラベル付けされていないサンプルは、クラスタ化を用いて分類される。ラベル付けされたサンプル及びラベル付けされていないサンプルを含むサンプルのセットが確立される。特徴の値がデータセットに含まれるサンプルから収集され、特徴のサブセットが選択される。クラスタのセットを生成するために、選択された特徴のサブセットの収集された値の類似性に基づいて、ラベル付けされたサンプル及びラベル付けされていないサンプルが一緒にクラスタ化され、各クラスタは、サンプルのセットからのサンプルのサブセットを有する。少なくとも1つの停止条件に達するまで、クラスタのセット内の各クラスタ内のサンプルのサブセットにおいて選択する工程及びクラスタ化する工程が再帰的に反復される。反復は、ラベル付けされたサンプル及びラベル付けされていないサンプルを有するクラスタを生成する。ラベル付けされていないサンプルを分類するために、クラスタ内のラベル付けされたサンプルからクラスタ内のラベル付けされていないサンプルにラベルが伝播される。
下記の工程を含む方法についてのマルウェア上の進化のプロセスを達成するための方法、製品、およびコンピュータプログラム製品であって、該方法は、:
マルウェア検体を受け取る工程;
マルウェア検体の変種を生成する工程;
変種を評価し、各変種に適合性スコアを与える工程;
少なくともあらかじめ定義した適合性スコアをもつ変種を選択する工程;及び
変種の新しい世代を生成する工程において、マルウェア検体として選択される変種を使用する工程
を含む方法。
【選択図】図3
To top