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

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

▶ フレックソン ピーティーイー エルティーディーの特許一覧

特表2023-500426マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム
<>
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図1
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図2
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図3
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図4
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図5A
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図5B
  • 特表-マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-01-06
(54)【発明の名称】マルウェアに感染した記憶装置の異常動作をAIコプロセッサーを使用する検知する方法とシステム
(51)【国際特許分類】
   G06F 21/56 20130101AFI20221226BHJP
【FI】
G06F21/56 360
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022512288
(86)(22)【出願日】2020-08-21
(85)【翻訳文提出日】2022-02-21
(86)【国際出願番号】 SG2020050489
(87)【国際公開番号】W WO2021040618
(87)【国際公開日】2021-03-04
(31)【優先権主張番号】10201907989W
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】SG
(31)【優先権主張番号】62/893,207
(32)【優先日】2019-08-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】10202004811X
(32)【優先日】2020-05-22
(33)【優先権主張国・地域又は機関】SG
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
2.VISUAL BASIC
(71)【出願人】
【識別番号】521354226
【氏名又は名称】フレックソン ピーティーイー エルティーディー
【氏名又は名称原語表記】FLEXXON PTE. LTD.
(74)【代理人】
【識別番号】100226861
【弁理士】
【氏名又は名称】池上 廣
(72)【発明者】
【氏名】チャン・メイ・リン
(72)【発明者】
【氏名】ニザル・ブゲーラ
(57)【要約】
【要約】
記憶装置、人工知能コプロセッサー(AIコプロセッサー)チップセット、前記記憶装置が生成する電磁力の範囲内にある起電力からのデータ収集のため前記記憶装置の表面近くに配置された薄型コイルインダクター、アナログ・デジタル変換器、収集データをアナログ・デジタル変換器と通信するための少なくとも1つのプローブを含む、前記記憶装置の起電力分析を実行するためのコンピュータ実装システムと方法。データは薄型コイルインダクターによって収集され、少なくとも1つのプローブを介してアナログ・デジタル変換器に通信され、前記アナログ・デジタル変換器は前記収集データの電圧レベルをデジタル化し、デジタル化と増幅の結果を前記AIコプロセッサーに送信する。前記AIコプロセッサーチップセットはデータを分析し、前記記憶装置の動作の異常を検出し、それらの結果を出力して更に処理する。実施形態には、NVMエクスプレスプロトコルかAHCIコントローラーエンジンが含まれ、サイドチャネル攻撃、パワーグリッチやその他のハードウェアの変更などの、ハードウェアへの脅威や攻撃のリアルタイム検知を行う。実施形態は異常な活動が引き起こす起電力エネルギーを測定することで、ランサムウェア、ウイルスやマルウェアなどの悪質な活動、または悪意のない活動を検知することができる。

【選択図】 図1
【特許請求の範囲】
【請求項1】
記憶装置;
AIコプロセッサーのチップセット;
記憶装置により生成される電磁力の範囲内にある起電力のデータ収集のため、前記記憶装置の表面部の近くに配置された薄型コイルインダクター
アナログ・デジタル変換器;および
収集されたデータをアナログ・デジタル変換器と通信するための少なくとも1つのプローブ、
で構成される、記憶装置の起電力分析用コンピュータ実装システム:
データは前記薄型コイルインダクターによって収集され、少なくとも1つのプローブを介して前記アナログ・デジタル変換器に送信される;
前記アナログ・デジタル変換器は前記の収集されたデータの電圧レベルをデジタル化し、デジタル化と増幅の結果を前記AIコプロセッサーに送信する;
前記AIコプロセッサーチップセットは前記データを分析し、前記記憶装置の動作の異常を検出し、それらの結果を出力して更に処理する。
【請求項2】
請求項1に記載の記憶装置がソリッドステートドライブの場合に、前記の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項3】
ソリッドステートドライブSoCコントローラー、前記のソリッドステートドライブSoCコントローラーと通信するための回路チップセットで構成され、前記ソリッドステートドライブSoCコントローラーが、前記ソリッドステートドライブの起電力を測定して前記ソリッドステートドライブのハードウェアの性能を監視し、前記で計測した起電力データを前記AIコプロセッサーに送信する、請求項2に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項4】
ソリッドステートドライブ運転中の異常に対してリアルタイム保護を提供するために前記AIコプロセッサーチップセットが分析を行う場合の、請求項3に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項5】
前記AIコプロセッサーがNVMeプロトコルを利用して前記ソリッドステートドライブと連動する場合の、請求項4に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項6】
前記AIコプロセッサーがAHCIプロトコルを利用して前記ソリッドステートドライブと連動する場合の、請求項4に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項7】
マルウェアが異常な活動を引き起こしている場合、また更なる処理が前記ソリッドステートドライブの動作を中断する場合に、請求項4に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項8】
前記AIコプロセッサーが人工知能アルゴリズムを応用してランサムウェア活動を検知する場合の、請求項4に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項9】
前記ランサムウェア活動が検知された時に前記ソリッドステートドライブの活動が中断した場合の、請求項4に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項10】
記憶装置の表面部の近くに配置された薄型コイルインダクターを使用して、記憶装置により生成された電磁力の範囲内にある起電力からデータを収集する;
前記収集したデータを、少なくとも1つのプローブを介してアナログ・デジタル変換器に送信する;
前記アナログ・デジタル変換器を使用して、前記収集したデータの電圧レベルをデジタル化する;
前記電圧レベルをAIコプロセッサーに送信する;
前記AIコプロセッサーを使用して電圧レベルを分析し、前記記憶装置の動作における異常を検知する;
また、その結果を更なる処理のために出力する手順を加える、記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項11】
記憶装置がソリッドステートドライブの場合の、請求項10に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項12】
ソリッドステートドライブSoCコントローラーおよびソリッドステートドライブSoCコントローラーと通信している回路チップセットを使用して前記ソリッドステートドライブの起電力を計測することで、前記ソリッドステートドライブのハードウェア処理能力を監視する;
前記計測した起電力データを前記AIコプロセッサーに送信する;
前記AIコプロセッサーを使用して前記計測した起電力データを分析する;および
前記ソリッドステートドライブの動作中の異常のリアルタイム検知を提供するため、分析結果を出力する手順を加える、請求項11に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項13】
前記AIコプロセッサーチップセットが分析を実行して前記ソリッドステートドライブの動作中の異常のリアルタイム検知を提供する、請求項12に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項14】
前記AIコプロセッサーがNVMeプロトコルを利用して前記ソリッドステートドライブと連動する、請求項11に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項15】
前記AIコプロセッサーがAHCIプロトコルを利用して前記ソリッドステートドライブと連動する、請求項11に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項16】
マルウェアが引き起こす異常が検知された場合に、前記ソリッドステートドライブの動作を中断する手順を加える、マルウェアが異常な活動を引き起こしている場合に請求項11に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【請求項17】
前記AIコプロセッサーが人工知能アルゴリズムを利用してランサムウェア活動を検知する際の、請求項12に記載の記憶装置の起電力分析を実行するためのコンピュータ実装システム。
【請求項18】
前記AIコプロセッサーが前記ランサムウェア活動を検知した場合に、前記ソリッドステートドライブの動作を中断する手順を加える、請求項17に記載の記憶装置の起電力分析を実行するためのコンピュータ実装方法。
【発明の詳細な説明】
【先行技術文献】
【特許文献】
【0001】
本出願は、シンガポールの利益を主張している。2019年8月29日に出願された仮出願第10201907989Wは、参照することにより全体として本書の一部を構成する。
【背景技術】
【0002】
発明の主題の実施形態は、ソリッドステートドライブ(SSD)などの記憶装置の異常、より具体的にはソフトウェアやハードウェアを使って独自にマルウェア攻撃を検知するためのシステム、装置、方法に関連している。
【0003】
SSDの一般的な問題は、SSDの安全性をリアルタイム監視しながら、ランサムウェア攻撃などのあらゆる種類のマルウェア攻撃から保存データを安全に保つことである。ランサムウェアや他のマルウェア脅威や攻撃は時と共に増加しており、より複雑になっているため、検知や無力化はより難しくなり、システムユーザーの側で、頻繁なアップデートと共にハードウェアやソフトウェアのリソースが必要になる。
【0004】
ランサムウェア、ウイルス、マルウェア(ファームウェア、ソフトウェア、ハードウェアベースのソリューション)のような脅威や異常な活動に対する人工知能検知方法に関連する先行技術の例。先行技術の一部において、ファームウェアまたはソフトウェアソリューションは、元のファームウェアに合わせてソリッドステートドライブコントローラーチップセット内に配置されており、その構成要素は前記のソリッドステートドライブコントローラーチップセットのリソースに依存している。これらの種類の先行技術の構成は、脅威分析活動の遅延が原因で、動作の待ち時間を引き起こす可能性がある。
これらの先行技術の例では、記憶保存(RAM)容量が不十分な場合、メモリリソースに容易に過負荷がかかったり、CPU使用、電力、電流の過負荷が発生したりする。これらの問題は、サイドチャネルやDPA攻撃などの、特定の種類の攻撃の情報漏洩を引き起こす可能性がある。
【0005】
更に、ソリッドステートドライブマイクロコントローラーアーキテクチャが変更された場合に、装置のファームウェアのアップデートが必要になるので、先行技術はしばしばファームウェアの移植性の問題を抱える。これらのアップデートは人間の介入を必要とし、システム不備の頻発につながる可能性がある。加えて、この時点でのファームウェアまたはソフトウェア統合の失敗は、ソリッドステートドライブの非機能を引き起こす可能性がある。ハードウェアソリューションを使用した一部の例では、先行技術には改ざん検出、偽造ハードウェアや無許可ファームウェアの検出、装置の機能を低下させる可能性のあるソフトウェアやファームウェアの種類の検出などが含まれる。いくつかの先行技術のハードウェアソリューションでは、使用されている方法は、ソリッドステートドライブNANDフラッシュに保存されたデータの整合性を確認しない集積回路フラッシュメモリに存在する機能を重視している。加えて、この種の先行技術は人工知能の使用または統合なしにデータを監視している。
加えて、NVMプロトコルまたはAHCIを使用して、ソリッドステートドライブでランサムウェア攻撃を検知する先行技術方法。多くは、アーキテクチャ間のコードのアップデートに人間の介入が必要なファームウェアまたはソフトウェアベースのソリューションを利用している。前述の先行技術は、より多くの命令が必要なRAM、DMA、フラッシュメモリなどのSSDコントローラーチップセットリソースに関連した情報の処理に遅延が存在する。
【発明の概要】
【0006】
図で示した実施形態は、NVMエクスプレスプロトコルの入力および/または出力やソリッドステートドライブコントローラーチップセットのAHCIコマンドを線形に監視する人工知能コプロセッサー(AIコプロセッサー)を利用して、前記NVMエクスプレスプロトコルや前記AHCIコマンドの実行中にソリッドステートドライブによる起電力エネルギーを計測し、ランサムウェア攻撃、脅威、ソリッドステートドライブ(SSD)記憶装置を標的にした活動を防ぐための最新技術を使用したコンピュータ実装方法、装置、システムを示している。データの整合性が重要になっているため、ユーザーや管理者は出願された実施形態により、従来のセキュリティツールでの検知が難しかったランサムウェアの脅威や攻撃に対する追加のセキュリティレイヤーを利用できる。
【0007】

実施形態の多くには、フレキシブルプリント回路基板および/またはリジッドフレキシブルプリント回路基板、リジッドプリント回路基板が含まれる。また、これらの基板の多くは薄型である。この実施形態により、スケーラビリティと既存のソリッドステートドライブフォーマットを統合することができる。
【0008】
この実施形態には、システム統合のために単一のプリント回路に配置されたパッシブコンポーネントおよび/またはアクティブコンポーネントへのASIC、FPGAおよび/または組み込みFPGAの使用が含まれる。また実施形態では、ASIC、FPGAおよび/または組み込みFPGAをソリッドステートドライバーチップセットと統合したり、またはソリッドステートドライブプリント回路基板と保護カバーの間にコンポーネントを配置したりできる。他の実施形態では、対象となるソリッドステートドライブプリント基板レイアウトと同一または類似の形状を使って、オーバーレイプリント回路基板としてコンポーネントを配置することができる。これらの実施形態のいくつかでは、ソリッドステートドライブ集積回路上に小型の誘導またはインダクタンスを配置することができる。これにより、AIコプロセッサーのプリント回路基板に半田付けされたコネクターやスルーホールを介して、実施形態を回路に直接接続できる。
【0009】
これらの実施形態の多くでは、AIコプロセッサーは自己トレーニングまたは自己学習モードを備えるようプログラムされている。自己トレーニングまたは自己学習モードでは、ソリッドステートドライバーデバイスは特定の時間、一連の定義済NVMエクスプレスプロトコルおよび/またはAHCIコマンドを実行できる。この実行中に、前記AIコプロセッサーはI2Cプロトコル、SPIプロトコル、USB、LVDSおよび/またはユーザー定義済や工場事前定義済のプロトコルなどの安全な通信バスを介して、ソリッドステートドライブデバイスからデータフローを受け取る。これらの実施形態では、前記AIコプロセッサーは外部または内部の高解像度ビットのアナログ・デジタル変換器を使って、ソリッドステートドライバーコントローラーチップセットが生成した起電力エネルギーを線形モードで測定し、二進または16進コードで表される1種類以上のシグネチャーパターンを生成する。これらのコードは1つ以上の前記AIコプロセッサーの安全なフラッシュストレージエレメント内などに保存できる。これらの実施形態では、生成したパターンはリッチな値やリーンな値を持っており、マルウェアやランサムウェアが引き起こす異常な脅威、攻撃および/または活動に対してこれらの値を限界値として利用できる。
【0010】
実施形態は、保存したデータの整合性のリアルタイムモニタリングを可能にしながら、外部ディープラーニングモデルを使わずに実施形態自体を訓練する能力を持つ、AIコプロセッサー内に組み込まれたアルゴリズムモジュールの渦巻きレイヤーを提供できる。
【0011】
実施形態の多くは、専用のAIコプロセッサーを接続または配置することで動作し、その結果、装置の性能や安全性への信頼が向上し、フラッシュメモリやRAMなどの他の種類のメモリなどのハードウェアを含む独立したリソースの使用によって対象となるソリッドステートドライブRAMのオーバーフローを排除して、待ち時間が減少する。一部の実施形態は超低電力電圧を使用したフェイルセーフモードで動作する。
【0012】
多くの実施形態は、安全な接続バスを介して、対象となるソリッドステートドライブコントローラーと接続または通信している。一部の実施形態は、マルウェアやランサムウェア攻撃などの脅威攻撃を、攻撃が拡張可能になる前に早期検知するためにスマートアルゴリズムを使用している。本明細書の実施形態は、様々な種類の集積回路パッケージと共に使用できる。例えば実施形態は、ファームウェアのアップデートや対象となるソリッドステートドライブコントローラーとの同期を必要とせずに、任意のソリッドステートドライブコントローラーアーキテクチャと統合可能である。
【0013】
現在の実施形態の多くは、市場投入までの時間の大幅な短縮を可能にすると同時に、データ整合性や、1つ以上のソリッドステートドライブと統合したファームウェアやコントローラー方法関連の付随機器の関連動作を監視する信頼できる方法を提供する。例示的な攻撃では、ランサムウェア攻撃は、対象となるソリッドステートドライバー集積回路フラッシュのファームウェアの外部のホストシステムのトップレベルを使用して、NVMeまたはAHCIの1つ以上のシーケンスを実行する。これに応じ、実施形態はソリッドステートドライブを通し前記NVMeプロトコルやAHCIプロトコルを使って、ランサムウェア活動や動作によって生成された起電力エネルギーを抽出または計測する。攻撃活動中、ランサムウェア攻撃には、前記NVMeまたは前記AHCIコマンドの有害な活動が含まれる。その結果、対象となるソリッドステートドライバー集積回路による一連の、また他の脅威とは異なる起電力シグニチャーが生成される。
【図面の簡単な説明】
【0014】
本発明の出願された実施形態は、「図面」書類にある図を例に参照して説明され、図の説明は下記の通りである。
図1】は、出願された実施形態による、NVMeプロトコルやAHCIプロトコルを備えたソリッドステートドライブと連動して動作するランサムウェア検知器を表す外部集積回路ブロックを備えた、AIコプロセッサーのモジュールを表すブロック図の概略を示す。
図2】は、出願された実施形態による、プリント回路基板に統合されたM.2モジュラーカードのフォームファクターを備えたソリッドステートドライブの三次元的視界を示す。
図3】は、出願された実施形態による、ハードウェアソリューションとして構成された、AIコプロセッサーのランサムウェア検知器と一体化したソリッドステートドライブコントローラーを備えたモジュラーM.2カードの上面分解図を示す。
図4】は、出願された実施形態による、時間に対して線形に測定された誘導起電力に対するNVMe/AHCIコマンドの相関関係を示す。
図5A】は、出願された実施形態による、時間に対して線形の通常動作モードでの、ランサムウェアなどの異常が存在する起電力エネルギーの例示的な電圧レベルを示す。
図5B】は、出願された実施形態に従って検出されたランサムウェアまたは例示的な異常を伴うNVMe/AHCIバッファ化コマンドの抽出されたバイトの相互相関を示す。
図6】は、出願された実施形態による、AIコプロセッサーの相互接続システムを示す。
【発明を実施するための形態】
【0015】
本出願の実施形態には、ランサムウェアなどのマルウェアによる攻撃を検知するための様々な装置、システムと方法がある。
【0016】
実施形態は、マルウェアや他の脅威の可能性を示す異常な電流が引き起こす起電力を抽出することにより、人工知能を使用してストレージ内に保存されたデータを保護するために使用できる。異常には、ランサムウェアによる論理ブロックアドレスへのアクセス中に検出されるような、記憶装置の入力/出力活動の変動が含まれる。
【0017】
現在の実施形態の多くでは、AIコプロセッサーはNVMエクスプレスプロトコルやAHCIプロトコルを使用して、ソリッドステートドライブコントローラーチップセットの近くに、インターフェース接続または配置されている。一部の実施形態では、前記AIコプロセッサーはソリッドステートドライブコントローラーチップと共に、または直列に、またはその上に設置できる。一部の実施形態では、前記AIコプロセッサーはシングルコアまたはマルチコアとして、カスタムメイドのASIC、組み込みFPGA、またはSoC+FPGAに組み込まれる。
【0018】
これらの実施形態は、ランサムウェア攻撃をリアルタイムで検知するソリッドステートドライブコントローラーチップセットリソースから独立して動作する。ある使用例では、脅威または攻撃にはそれぞれ異なる起電力(EMF)パターンシグニチャーがあり、前述のシグニチャーは、通常動作での1つまたはそれ以上のソリッドステートドライブコントローラーチップセットの起電力(EMF)に対する、更なる分析や比較に使用される。
【0019】
前述の実施形態の多くは、NVMエクスプレスプロトコルおよび/またはAHCIを使用して任意の種類のソリッドステートドライブとのスケーラビリティを可能にする標準的通信バスを備えた、既存のソリッドステートドライブコントローラー集積回路基板を、実施形態と統合するための使いやすいソリューションを提供する。マルウェア検知機能は、定義済の安全なプロトコルを介したソリッドステートドライブコントローラー集積回路との専用のバス通信リンクを備えたAIコプロセッサーに基づいている。管理シーケンスコマンドやユーザーシーケンスコマンドを含む、全てのNVMeシーケンスは、前記AIコプロセッサーとリアルタイムで共有可能である。前記AIコプロセッサーは、通常の動作状態またはマルウェア(ランサムウェアを含む)攻撃中に受信した前記NVMeまたはAHCIシーケンス、前記NVMeまたはAHCIストリームと連動して、ソリッドステートドライブチップセットの集積回路から生成された起電力(EMF)を計測する。
【0020】
多くの実施形態の長所の1つは、待ち時間を最小化するリアルタイム分析であり、クラウドストレージサーバーやハイプラットフォームサーバーでの利用に役立つ可能性がある。これらの実施形態の多くはマルウェア/ランサムウェアの早期検知を可能にし、誤検知の数を減らすと共に、ランサムウェアを含むマルウェアの脅威や攻撃の高精度での検知を可能にする。
【0021】
多くの実施形態では、計測された起電力エネルギーはアナログ・デジタルコントローラーを使用してデジタル信号に変換され、結果として生じた信号は次に、時系列分析に従って、および/または保存された多数の脅威パターン、マルウェアパターン、および/またはランサムウェアパターンと比較して、異なる信号畳み込みアルゴリズムによって計算または換算される。比較に使用されるパターンの数は、数百万も存在する可能性がある。他の実施形態は、適切なパターンの数や種類を比較するため、ソリッドステートドライバーコントローラーの通常動作中に動作する(AIコプロセッサーの内部または外部にある)1つかそれ以上の自己トレーニングモジュールを使用する。
【0022】
ランサムウェア検知に使用されている前述の実施形態の多くでは、ランサムウェアスコア、しきい値、または相関係数の時間基準が所定のまたはリアルタイムで決定されたランサムウェア脅威のレベルに達すると、AIコプロセッサーは汎用入力/出力バスを介してアラームを発し、更なる予防策を講じて対応する構成を1つ以上実行するよう、ソリッドステートドライブコントローラーに警告する。これらの実施形態の多くは、ソリッドステートドライブの電源から独立して動作し、それらには専用の内部RAM、フラッシュメモリ、1つかそれ以上の通信周辺機器が含まれる。他の実施形態は、コンポーネントの構成が異なる場合がある。実施形態は、BGA、CSPを含むがこれに限定されない、または任意のFPGAまたは組み込みFPGAから動作するビットストリームファイルとして、任意の従来のASICソリューションパッケージの形態を取ることができる。望ましい実施形態は、起電力エネルギーを計測または収集するための外部の集積回路やパッシブ・アクティブコンポーネントを特徴とする。
【0023】
本実施形態は、NVMeプロトコルまたはAHCIプロトコルに対応するソリッドステートドライブに対するマルウェア、ウイルス、ランサムウェアからの脅威や攻撃または他の種類の攻撃を検知するための固有の構成に限定されない。実施形態は、監視されるハードウェアに対して、任意の数の実装やインターフェース、例えばSaasシステムなどのシステムで使用されるストレージに関連するNVMe-oFプロトコルなどのターゲティングプロトコルを使用できる。
【0024】
実施形態の多くではNVMe やAHCIを対象とするプロトコルが使用されるが、種類は単独または他のプロトコルと連動させて使用できる。例えば、NVMeOF (MVMeオーバーファブリック)はAIコアと連動して使用できる。前記のプロトコルは、任意の種類のプロトコルを伴う異常な活動を認識するよう実施形態を訓練すると共に、活動の監視に使用できる。前記の実施形態のいくつかは、更なるソフトウェア統合を利用することがある。
【0025】
前述の実施形態の多くでは、様々な脅威に加え、ストレージが部分的または全体的に複製されたことを示す特定の使用パターンなど、ハードウェアに関連した異常な活動を監視することができる。例えば、通常の使用量より多い使用量は、記憶装置に関連した不適切な活動を意味している。
【0026】
ここで図に注目すると、図1は、NVMeプロトコルまたはAHCIプロトコルと対応して実行時間中にソリッドステートドライブチップセットが生成する起電力エネルギーを利用した、ソリッドステートドライブコントローラーを含むランサムウェアの検知用AIコプロセッサーチップセットに基づいた例示的なハードウェアシステム100のブロック図を示している。ハードウェアシステム100は、ソリッドステートドライブボード142を備えた所定の通信バスを介して同じプリント回路にインターフェース接続した前記AIコプロセッサーチップセット120を含む。ハードウェアシステム100の電源オン状態の間、電力は、必要に応じて前記AIコプロセッサー120で構成可能な電力出力値を備えたPMIC141集積回路から供給される。
【0027】
電力状態が有効であると表示された後、ハードウェアシステム100は小型のインダクタンスコイル110を使用し、ソリッドステートドライブボード142またはソリッドステートドライブコントローラー142から生成された起電力エネルギーの抽出を開始する。 他の実施形態は、より大型または小型のインダクタンスコイルまたは他の当業者に知られているデータ収集コンポーネントを使用することがある。これらの実施形態では、AIコプロセッサーは測定データ内の特性を抽出することにより、活動または脅威の認識を処理 する。AIコプロセッサーを使用する実施形態は、収集データを分析する際の機械的遅延を減少させるが、非AIコプロセッサーを使用した実施形態も、収集データ分析に使用できる。
【0028】
インダクターまたはインダクタンスコイルは、例えばM.2 SSD形式と使用する薄型フォームファクターであったり、他の適切なサイズにしたりすることができる。例えば、各サーバーハウジング内の空間が限られているデータセンターなどの据え付けにおいて、またはラップトップ/ノートブック機器で使用する場合、より小型または薄型のフォームファクターを使用できる。これらの実施形態のいくつかは、ハウジング内の空間を使用してM.2 PCBの近くに配置することができ、例えば1.35mm厚さ(マザーボードとM.2 PCBのすき間)のラップトップのケーシングの場合、記憶装置の近くに設置された薄型インダクターを使用できる。
【0029】
この実施形態では、インダクタンスコイル110を渡るエネルギーはアナログ・デジタル変換器140によって抽出され、抽出された値は1つかそれ以上の差動信号を介してAIコプロセッサーチップセット120 に移される。アナログ・デジタル変換器140のデータバッファはDIFF-SIGNAL 121専用レジスターによって一時的に保持され、不要な信号の比較に対する処理のため専用デジタルフィルター122に渡される。多くの実施形態では、不要な信号のフィルタリングは、それぞれが1つかそれ以上のユーザー定義の設定および1つかそれ以上の較正に依存した1つかそれ以上のソフトウェアアルゴリズムによって達成され、従って、前述の実施形態は単一状態の機械に限定されない場合がある。実施形態のいくつかでは単一のAIコプロセッサーチップセットを使用できるが、他の実施形態では、単一または複数のAIコプロセッサーチップセットを1つまたはそれ以上のコアと直列または並列に組み合わせて一緒に動作させて、収集したデータを処理するために使用できる。
【0030】
ハードウェアタイマーモジュール123は、デジタルフィルター122の1つまたはそれ以上の期間を記録する。NVMe/AHCIモジュール124は、ソリッドステートドライブボード142またはソリッドステートドライブコントローラーIC142と連動して、SPIプロトコルでプログラムされた1/0バスモジュール125を介して実行されたNVMeプロトコルまたはI2Cまたは高速通信制御で実行されたAHCIプロトコルの全てのコマンドをログに記録する。
【0031】
3つ全てのモジュール(デジタルフィルター122、タイム123、NVMe/AHCI 124)からの事前定義データ抽出期間の後、前述のモジュールからの全てのデータは、ユーザーによるシーケンスの構成に応じた1つかそれ以上の異なる計算を含む適用のために、AIコプロセッサー120中の内部バスデータを介してデジタル信号処理アルゴリズム126に転送される。1つかそれ以上の計算の結果、例えば、デジタル信号処理アルゴリズム126によって生成されたバッファフレームは、スペクトル画像生成器127モジュールに送信され、生成された画像は、ニュートラルネットワークアルゴリズム128を備えたDSPまたはSoC によって、内部フラッシュメモリ129にて自己訓練された画像パターンと照合される。
【0032】
一致するものがない場合、または部分的に一致する場合、または他のソリューションの結果がランサムウェアの脅威の可能性を示している場合、外部セキュアフラッシュ143集積回路に問い合わせが行われる。ランサムウェア状態パターンが検知された場合、例えばニュートラルネットワークアルゴリズム128を備えたDSPまたはSoCを使用している場合、システムは、ソリッドステートドライブボード142またはソリッドステートドライバーコントローラーIC 142への1/0バス130のセキュリティアラート出力ピンを中断する。セキュリティイベントによって中断が引き起こされる場合、ステートドライブボード142またはソリッドステートドライバーコントローラーIC 142は、ユーザーやメーカーがインストールした定義済の構成に従って、1つかそれ以上の行動を起こす。システムの中断は、当業者に知られている方法で実行できる。例えば、AIコプロセッサーがIC内に配置されている場合は物理的バスラインを利用して達成できる。またはAIコプロセッサーがSSDコントローラーと統合されている場合は、事前定義されたレジスターをチップセット内に書き込むことで、ファームウェアコードによって中断を達成できる。他の実施形態では、OEM工場が使用する独自のSSD ICコントローラーは、活動を共有したりSSDコントローラーから収集された属性(EMF値対時間)を交換したりするために、少なくとも1つの1/0接続バスを介して構成できる。他の実施形態は、AIコアがRTLからGDS形式に変換されるDiewafeソリューション(ASIC HW IP)を使用できる。また他の実施形態は、ソフトウェア実装によって1つかそれ以上の並列コア内に実装できる。
【0033】
一部の実施形態では、更なる対策または行動には、保存されたデータへのアクセス制限、外部無線接続または有線接続、あるいは両方を介して1つかそれ以上の複数のアラートビームを通信することなどによって1つかそれ以上のアラートを送信すること、記憶装置または記憶装置の内部のコンポーネント、記憶装置の外部のコンポーネントをロックすること、および/または保存データに上書きできない読み取り専用モードにすることが含まれる。
【0034】
多くの実施形態では、自己訓練を利用してAIコプロセッサーチップセットが正常・異常の区別を学習するようにすることができる。一例では、AIコプロセッサーチップセットはデータセットを使用して1つかそれ以上の許容誤差を利用し、他のデータセットと1つかそれ以上の比較を行う。1つの例示的な自己訓練実施形態では、通常の動作のしきい値設定は、1つか複数の事前定義された属性のデジタル値を利用する。一部の実施形態では、AIコプロセッサーチップセットで稼動している人工知能アルゴリズムは、現在の動作データセットと通常またはベースライン動作セットを比較し、同時に、現在入ってきたデータセットを使用して、外部入力値を必要とせずに、現在使用中のデータセットを更新または修正する。
【0035】
図2は、M.2モジュラーカードのフォームファクターを備えたソリッドステートドライブの三次元的視界を示す。この実施形態は、同じプリント回路基板200に組み込まれている。NANDフラッシュモジュール201、202、203、204は直列に配置され、ソリッドステートドライブコントローラー 205と直接接続される。加えて、この実施形態は境界ガードトレースの内側に設置され、そのことによりAIコプロセッサー216が意図しない信号から守られ、入力される感知可能信号を実施形態に干渉する可能性のある他の高速信号から隔離することができる。ソリッドステートドライバーコントローラー205の上に設置されたインダクタンスコイル220は、生成された起電力エネルギーを収集し、差動信号線221と222によってアナログ・デジタル変換器212とリンクされる。インダクタンスコイル220は、読み取りを行うことができるソリッドステートドライブコントローラー205の近くの任意の場所に設置できる。
【0036】
この実施形態では、ランサムウェア検知中に、外部安全フラッシュ213がランサムウェアパターンデータのデータベースとして使用される。当業者に知られている他の記憶メディアも使用できる。記憶域境界210内の全てのコンポーネントは、パッシブコンポーネント214と一緒に、専用の電力管理ユニット215によって電力供給される。これらの実施形態は、任意の種類のM.2モジュラーカードを保護するランサムウェア検知器構成のハードウェアソリューションの一例を示している。コンポーネントが異なりながらも同じ結果を達成できる、当業者に知られている他の構成も、例M.2.の標準的記憶装置レイアウト形式として使用できる。
【0037】
図3は、出願された実施形態による、ハードウェアソリューションとして構成された、AIコプロセッサーのランサムウェア検知器と一体化したソリッドステートドライブコントローラーを備えたモジュラーM.2カード300の上面分解図を示す。実施形態はエリア301に配置され、ガードトレース境界305によって保護される。インダクタンスコイル304は、起電力エネルギーを収集するために使用されるフレキシブルプリント回路基板であり、一対の信号線を介してエリア301内に接続されている。この実施形態では、最初の線は正信号302で2番目の線は負信号303である。またこの実施形態では電源雑音低減のため、コンポーネントはPCieパワーパッドトレース306の非常に近くに配置されている。
【0038】
図5は、グラフ310に示されているような、時間に対して線形に測定された誘導起電力に対するNVMe/AHCIコマンドの相関関係を示す。グラフ310の点は、5ミリ秒間に採取されたバイトの一群を表し、そこで前記NVMe/AHCI書き込みコマンド311が連続して実行され、ソリッドステートドライブコントローラーチップセットはより多くの電流を過負荷にする。この構成は、グラフ310において点線312で示されているような、ランサムウェア検知値のしきい値を超えることができる起電力エネルギーの増加を引き起こす。このグラフ310は、ランサムウェア検知のために事前計算された方法の一例を示す。前述の期間は、例えば特定のSSDコントローラーや記憶装置や他のハードウェアコンポーネントにとって最適な期間など、ユーザーおよび/またはメーカーの必要によって広範囲におよび、例えばナノ秒から1秒の間になることがある。
【0039】
図5Aは、グラフ320に示されている、時間に対して線形の通常動作モードでの、ランサムウェアなどの異常が存在する起電力エネルギーの例示的な電圧レベルを示す。見て明らかなように、ランサムウェアなどが引き起こした異常は、NVMe/AHCIの通常動作とはわずかに異なる。このプロセス中、起電力エネルギーはソリッドステートドライブチップセットがより多くの命令を実行するようにし、この命令の増加は集積回路信号に沿って流れる電流の増加につながる。収集されたこの異常(この場合は、ランサムウェアの存在に引き起こされた)のわずかな違いは、点線321で示されている。グラフ320は、NVMe/AHCI実行コマンドの通常動作中に生成されたものに比べて大きな起電力エネルギーが生成されていることを示す。この違いは、異常の特定のために起電力エネルギーを使用する有用性を示している。
【0040】
図5Bは、出願された実施形態に従って検知されたランサムウェアまたは例示的異常を伴うNVMe/AHCIバッファ化コマンドの抽出されたバイトの相互相関を示し、より具体的にはグラフ330で検知されたランサムウェアまたは他の異常を伴う、前記NVMe/AHCIバッファ化コマンドの抽出されたバイトの相互相関を示す。異常(ランサムウェア活動などの)の計測値は点線331で表されており、この計測値は、線333で表される通常動作中の前記NVMe/AHCIコマンドの値と正の相関関係がある。この種類の分析は、ランサムウェアなどの異常の存在に関する偽アラートを引き起こす可能性のある、通常動作で発生する前記NVMe/AHCIコマンドの消去による誤検出の回避に役立つ。グラフ330でしきい値スコアを9から10に設定することで、点線332で表されるしきい値を超えたときにピーク異常やランサムウェアを検出でき、ファイルが破壊されたり他の被害が起きたりする前の早い段階でランサムウェアなどの異常を検出できる。
【0041】
図6は、出願された実施形態に従ったAIコプロセッサーユニット相互接続のシステムを表す。これらの実施形態では、更なるデジタル計算のために3種類の外部変数が使用されている。これらの変数は3ビットのNVMe/AHCI変数430であり、MSBはNVMe/AHCI書き込みコマンドを表し、2番目のビットは読み取りコマンドを表し、LSBはERASE/Deleteコマンドを表す。対応するビット位置においてコマンドの1つが収集されると、OとIの値が表示される。2番目に、計測された起電力エネルギー420が32ビットで表示され、タイマー値410も32ビットで表示される。これらの外部値はバッファレジスタが一時的に保持する:NVMe/AHCI 3ビットレジスタ443、起電力エネルギーの電圧値32ビットレジスタ442およびタイマーレジスタ441。他の実施形態では、変数の数は多かれ少なかれ3である。
【0042】
AIコプロセッサーシステム440のサブモジュール454は、2個のDFT(離散フーリエ変換)エンジンを利用してバッファ値の計算を開始する最初のモジュールである。相関分析エンジン446は、最初のDFT 445と2番目のDFT 444からの2つの信号の相互相関を計算する。次に相関分析エンジン446は、計算したDFT 445とDFT 444の値を、計算した相互相関寸法値と共に、サブモジュール455に配置されたランサムウェアスコア検証エンジン447に転送する。スコアがしきい値を超えた場合、DFT 445とDFT 444の両方の値はFFT(高速フーリエ変換)エンジンに転送され、結果として生じるFFT 448値はサブモジュール453のニューラルネットワークエンジン449にスペクトル画像として転送される。このスペクトル画像は、ニューラルネットワーク449によって事前に読み込み、計算、および/または訓練された異常またはランサムウェアスペクトル画像シグニチャーのデータベースと比較される。ニューラルネットワークエンジン449はデータベースにアクセスするため、メモリーコントローラー450を介して、一連の読み取りおよび書き込みコマンドを操作する。双方向モード451の特定のプロトコルパスは、対象となるフラッシュメモリ回路を読み取る。ニューラルネットワークエンジン449の計算が、一致などにつながるランサムウェアなどの異常を検出した場合、ニューラルネットワークエンジン449はバスライン452を介して、標的となるソリッドステートドライブコントローラーに信号アラートを送信する。
【0043】
参考資料1および2は出願された実施形態に従った例示的なアルゴリズムを示しているが、当業者に知られている他の適切なアルゴリズムを使うことも可能である。
【0044】
参考資料1
アルゴリズム (渦巻きアルゴリズム):
【0045】
参考資料2
決定木アルゴリズム
【0046】
一部の実施形態では、本明細書で説明されるプラットフォーム、システム、メディア、方法は、デジタル処理装置、またはそれと同じ種類の装置の使用を含む。多くの実施形態では、デジタル処理装置は、1つまたはそれ以上のハードウェア中央処理装置(CPU)、または、1つまたはそれ以上の装置の機能を実行する汎用グラフィック処理装置(GPGPU)を含む。一部の実施形態では、デジタル処理装置は、実行可能命令を実行するよう構成されたオペレーティングシステムを更に含む。多くの実施形態では、デジタル処理装置は任意でコンピュータネットワークに接続されている。更なる実施形態では、デジタル処理装置は任意でインターネットなどのネットワークに接続され、ワールドワイドウェブ上のサーバーに到達することができる。更に別の実施形態ではデジタル処理装置は、任意でクラウドコンピューティングインフラストラクチャーに接続されている。他の実施形態では、デジタル処理装置は任意でインターネットに接続されている。他の実施形態では、デジタル処理装置はデータ記憶装置に任意で接続されている。
【0047】
本明細書の説明によれば、適切なデジタル処理装置には、非限定的な例として、サーバーコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、サブノートブックコンピュータ、ネットブックコンピュータ、ネットパッドコンピュータ、セットトップコンピュータ、メディアストリーミング装置、ハンドヘルドコンピュータ、インターネット家電製品、スマートフォン、タブレットコンピュータ、携帯情報端末、家庭用ゲーム機、車両が含まれる。
【0048】
当業者は、多くのスマートフォンが本明細書記載のシステムでの使用に適していることを認識されよう。また当業者は、コンピュータネットワークを選択的に備えた、選定されたテレビ、ビデオプレーヤー、デジタル音楽プレーヤーが本明細書記載のシステムでの使用に適していることを認識されよう。適しているタブレットコンピュータには、当業者に知られている、ブックレット型、スレート型、および互換性のある構成のものが含まれる。
【0049】
一部の実施形態では、デジタル処理装置は、実行可能命令を実行するよう構成されたオペレーティングシステムを含む。例えばオペレーティングシステムは、プログラムやデータを含むソフトウェアであり、装置のハードウェアを管理し、アプリケーション実行のためのサービスを提供する。当業者は、適しているサーバーオペレーティングシステムには非限定的な例として、FreeBSD、OpenBSD、NetBSD(登録商標)、Linux(登録商標)、Apple(登録商標)、Mac OS X Server(登録商標)、Oracle(登録商標) Solaris(登録商標)、Windows Server(登録商標)、Novell(登録商標)、NetWare(登録商標)が含まれていることを認識されよう。当業者は、適しているパーソナルコンピュータオペレーティングシステムには非限定的な例として、Microsoft(登録商標) Windows(登録商標)、Apple(登録商標)、Mac OS X(登録商標)、UNIX(登録商標)、GNU/Linux(登録商標)のようなUNIX(登録商標)様のオペレーティングシステムが含まれていることを認識されよう。一部の実施形態では、オペレーティングシステムはクラウドコンピューティングで提供される。当業者は、適しているスマートフォンのオペレーティングシステムには非限定的な例として、Nokia(登録商標)、Symbian(登録商標) OS、Apple(登録商標)、iOS(登録商標)、Research In Motion(登録商標)、BlackBerry OS(登録商標)、Google(登録商標)、Android(登録商標)、Microsoft(登録商標)、Windows Phone(登録商標) OS、Microsoft(登録商標)、Windows Mobile(登録商標) OS、Linux(登録商標)、Palm(登録商標)、WebOS(登録商標)が含まれていることを認識されよう。当業者は、適しているメディアストリーミング装置オペレーティングシステムには非限定的な例として、Apple TV(登録商標)、Roku(登録商標)、Boxee(登録商標)、Google TV(登録商標)、Google Chromecast(登録商標)、Amazon Fire(登録商標)、Samsung(登録商標)、HomeSync(登録商標)が含まれていることを認識されよう。当業者は、適しているビデオゲーム機オペレーティングシステムには非限定的な例として、Sony(登録商標) PS3(登録商標)、Sony(登録商標) PS4(登録商標)、Microsoft(登録商標) Xbox 360(登録商標)、MicrosoftXbox One(登録商標)、Nintendo(登録商標) Wii(登録商標)、Nintendo(登録商標) Wii U(登録商標)、Ouya(登録商標)が含まれていることを認識されよう。
【0050】
一部の実施形態では、装置は記憶または/およびメモリ装置を含む。記憶または/およびメモリ装置は、一時的または永続的にデータまたはプログラムを保存するために使用される1つまたはそれ以上の物理器械である。一部の実施形態では、装置は揮発性メモリなので、保存した情報を維持するために電力を必要とする。一部の実施形態では、装置は不揮発性メモリなので、デジタル処理装置に電源が供給されなくても保存した情報は維持される。更なる実施形態では、非揮発性メモリはフラッシュメモリを構成している。一部の実施形態では、非揮発性メモリはダイナミックランダムアクセスメモリ(DRAM)を構成している。一部の実施形態では、非揮発性メモリは強誘電体メモリ(FRAM)を構成している。一部の実施形態では、非揮発性メモリは相変化メモリ(PRAM)を構成している。
他の実施形態では、装置は非限定的な例として、CD-ROM、DVD、フラッシュメモリ装置、磁気ディスクドライブ、磁気テープドライブ、クラウドコンピューティングベースのストレージを含む記憶装置である。更なる実施形態では、記憶または/およびメモリ装置は、本明細書に開示されているような装置の組み合わせである。
【0051】
一部の実施形態では、本明細書で開示されるプラットフォーム、システム、メディア、および方法は、選択的にネットワーク化されたデジタル処理装置のオペレーティングシステムにより実行可能な命令を含むプログラムで符号化された、1つまたはそれ以上の非一時的なコンピュータ読み取り可能記憶メディアを含む。更なる実施形態では、コンピュータ読み取り可能記憶メディアはデジタル処理装置の有形要素である。更に別の実施形態では、コンピュータ読み取り可能記憶メディアは、デジタル処理装置から選択的に取り外し可能である。一部の実施形態ではコンピュータ読み取り可能記憶メディアは、非限定的な例として、CD-ROM、DVD、フラッシュメモリ装置、ソリッドステートメモリ、磁気ディスクドライブ、磁気テープドライブ、光ディスクドライブ、クラウドコンピューティングシステムとサービスなどが含まれる。場合によっては、プログラムと命令は永久的に、実質的に、半永久的に、または非一時的にメディア上で符号化される。
【0052】
多くの実施形態では、本明細書で開示されるプラットフォーム、システム、メディア、および方法は、少なくとも1つのコンピュータプログラム、および/またはその使用を含む。コンピュータプログラムには、指定されたタスクを実行するために記述された、デジタル装置のCPUで実行可能な一連の命令が含まれる。コンピュータ読み取り命令は、特定のタスクを実行するか抽象データタイプを実装する、関数、対象、アプリケーションプログラミングインタフェース(APis)、データ構造などのプログラムモジュールとして実装可能である。本明細書で提供される開示を踏まえると、当業者は、記載された実施形態によるコンピュータプログラムが様々な言語の様々なバージョンで書かれる可能性があることを認識されよう。
【0053】
コンピュータ読み取り可能命令の機能は、様々な環境で必要に応じて組み合わせたり、区分したりすることができる。一部の実施形態では、コンピュータプログラムは、1つの命令シーケンスを含む。一部の実施形態では、コンピュータプログラムは複数の命令シーケンスを含む。一部の実施形態では、コンピュータプログラムは1ヶ所から提供される。他の実施形態では、コンピュータプログラムはハードウェアに組み込みまたは配置されたプログラムを含む、複数の場所から提供される。様々な実施形態では、コンピュータプログラムは1つかそれ以上のソフトウェアモジュールを含む。様々な実施形態では、コンピュータプログラムは、部分的または全体的に、1つかそれ以上のウェブアプリケーション、1つかそれ以上のモバイルアプリケーション、1つかそれ以上のスタンドアロンアプリケーション、1つかそれ以上のウェブブラウザプラグイン、拡張機能、アドイン、アドオン、またはそれらの組み合わせを含む。
【0054】
一部の実施形態は、リレーショナル データベース管理システム(RDBMS)を含む。適切なRDBMSには、Firebird、MySQL、PostgreSQL、SQLite、Oracle Database、Microsoft SQL Server、IBM DB2、IBM Informix、SAP Sybase、SAP Sybase、Teradataなどが含まれる。当業者は、出願された実施形態の範囲から逸脱することなく、実施形態の結果達成のために多数のハードウェアやソフトウェア構成が利用可能であることを認識されよう。
【0055】
一部の実施形態では、記載された実施形態で使用されるコンピュータプログラムは、帰属のプロセスへのアドオン、例えばプラグインではなく、独立したコンピュータプロセスとして実行されるスタンドアロンアプリケーションを含む。当業者は、スタンドアロンアプリケーションがよくコンパイルされていることを認識されよう。コンパイラーは、プログラム言語で書かれたソースコードをアセンブリ言語や機械コードなどのバイナリオブジェクトコードに変換するコンピュータプログラムである。適切なプログラム言語には、C、C++、Objective-C、COBOL、Delphi、Eiffel、Java(登録商標)、Lisp、Python(登録商標)、Visual Basic、VB.NETまたはそれらの組み合わせが含まれる。コンパイルは、実行可能なプログラムを作成するために、少なくとも部分的に実行されることが多い。一部の実施形態では、コンピュータプログラムは1つかそれ以上の実行可能なコンパイルされたプログラムを含む。これらのアプリケーションやプログラムは、出願された様々な実施形態で使われることがある。
【0056】
多くの実施形態では、本明細書で開示されるプラットフォーム、システム、メディア、および方法は、ソフトウェア、サーバーおよび/またはデータベースモジュール、またはそれらの使用を含む。本明細書での開示を考慮すると、ソフトウェアモジュールは、当技術分野で知られている機械、ソフトウェア、言語を使って、当業者に知られている技術によって作成される。本明細書で開示されるソフトウェアモジュールは、任意の数の方法で実装される。様々な実施形態では、ソフトウェアモジュールはファイル、コードのセクション、プログラミングオブジェクト、プログラミング構造、またはそれらの組み合わせを含む。更に様々な実施形態では、ソフトウェアモジュールは複数のファイル、複数のコードのセクション、複数のプログラミングオブジェクト、複数のプログラミング構造、またはそれらの組み合わせを含む。様々な実施形態では、装置は非限定的な例として、ウェブアプリケーション、モバイルアプリケーション、スタンドアロンアプリケーションを含む。一部の実施形態では、ソフトウェアモジュールは1つのコンピュータプログラムまたはアプリケーションに入っている。他の実施形態では、ソフトウェアモジュールは1つ以上のコンピュータプログラムまたはアプリケーションに入っている。一部の実施形態では、ソフトウェアモジュールは1つの機械にホストされている。他の実施形態では、ソフトウェアモジュールは1つ以上の機械にホストされている。更なる実施形態では、ソフトウェアモジュールはクラウドコンピューティングプラットフォームにホストされている。一部の実施形態では、ソフトウェアモジュールは1ヶ所に存在する1つかそれ以上の機械にホストされている。
【0057】
一部の実施形態では、本明細書で開示されるプラットフォーム、システム、メディア、および方法は、1つかそれ以上のデータベース、またはその使用を含む。本明細書での開示を考慮すると、当業者は、多くのデータベースが1つかそれ以上のコンテンツや、1つかそれ以上の測定値やそれらの測定値のインデックスなどの関連情報の保存や検索に適していることを認識されよう。様々な実施形態では、適切なデータベースは非限定的な例として、リレーショナルデータベース、ノンリレーショナルデータベース、オブジェクト指向データベース、オブジェクトデータベース、実体関連モデルデータベース、連想データベース、XMLデータベースを含む。更なる非限定的な例は、SQL、PostgreSQL、MySQL、Oracle、DB2、Sybaseを含む。一部の実施形態では、データベースはインターネットベースである。更なる実施形態では、データベースはウェブベースである。更に別の実施形態では、データベースはクラウドコンピューティングベースである。他の実施形態では、データベースはSSD装置などの、1つかそれ以上のローカルコンピュータ記憶装置をベースにしている。
図1
図2
図3
図4
図5A
図5B
図6
【国際調査報告】