JP7202030B2 - 記憶装置内の悪意のある動作を検出するためのモジュールおよび方法 - Google Patents

記憶装置内の悪意のある動作を検出するためのモジュールおよび方法 Download PDF

Info

Publication number
JP7202030B2
JP7202030B2 JP2021130997A JP2021130997A JP7202030B2 JP 7202030 B2 JP7202030 B2 JP 7202030B2 JP 2021130997 A JP2021130997 A JP 2021130997A JP 2021130997 A JP2021130997 A JP 2021130997A JP 7202030 B2 JP7202030 B2 JP 7202030B2
Authority
JP
Japan
Prior art keywords
module
storage device
neural network
malicious behavior
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021130997A
Other languages
English (en)
Other versions
JP2022059563A (ja
Inventor
チャン・メイ・リン
ニザル・ブゲーラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Flexxon Pte Ltd
Original Assignee
Flexxon Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Flexxon Pte Ltd filed Critical Flexxon Pte Ltd
Publication of JP2022059563A publication Critical patent/JP2022059563A/ja
Application granted granted Critical
Publication of JP7202030B2 publication Critical patent/JP7202030B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Description

本発明は、記憶装置内の悪意のある動作を検出するためのモジュールおよび方法に関するものであり、ここでモジュールは、記憶装置のコントローラ内に設置される。モジュールは、訓練されたニューラルネットワークを用いて、悪意のある動作に必要な機微なデータまたは情報を含む記憶装置のファイルシステムの適切な論理ブロックアドレス(LBA)をモニタリングするように設計される。
記憶装置は、典型的には、固体装置(SSD)、ハードディスクドライブ(HDD)、光ドライブまたは磁気ディスクドライブを含む。記憶装置の種類にかかわらず、これらの装置は、通常、それらの論理ブロックアドレス(LBA)によって線形にアドレスされる。HDD、光ドライブ、または磁気ディスクドライブの場合、LBAは、ドライブ内に格納された特定のデータブロックの位置を特定する。例えば、LBA 0は、LBA 0がホスト装置によりアクセスを受けるとき、LBA 0に含まれるコンテンツがホスト装置へ提供されるような、ディスクドライブの最初のヘッドによってアクセス可能な最初のトラック上の最初のセクタを参照する。
しかしながら、上記のディスクドライブとは異なり、SSDsは電気的に消去可能で再プログラム可能な不揮発性メモリを含むため、論理ブロックアドレッシングシステムにおいて言及されるようなトラックまたはヘッドを有さない。したがって、SSD は、SSD のフラッシュメモリコントローラ内で設置されるフラッシュ変換層(FTL)を用いて、ホスト装置のファイルシステム論理ブロックアドレスをフラッシュメモリの物理アドレスにマッピング (論理から物理へのマッピング) しなければならない。言い換えると、ホスト装置は、読み出し/書き込み/上書き操作の目的でSSDにアドレスするため、依然として既存のLBAにアドレスする方法を用いる。
ホスト装置からのこれらのコマンドはFTL によって傍受され、FTL はLBA とフラッシュメモリの物理ブロックアドレス(PBA) の関係の配置を維持する。PBAは、受信されたコマンドを実行するためにSSDのコントローラにより利用される。
近年、SSDsは、従来のメカニカルハードディスクドライブよりも多くの利点を有するため、SSDsは、記憶装置としてより広く使用されるようになってきた。たとえば、SSDsはHDDよりもはるかに高速で、HDDの最大100 倍のパフォーマンスを実現する。これにより、起動時間が短縮され、ファイル転送が高速になる。また、SSDsは、HDDよりも消費電力がはるかに少なく、その結果、電力と熱効率が向上する。その結果、SSDは現在、産業、医学または軍事用に広く利用されている。
典型的には、大部分のSSDsはホスト装置と共に用いられ、ホスト装置の操作システム(すなわちホストのシステムドライブとして使用される) を保存するために用いられる。ここで操作システムに関連付けられたコードがSSD内に保存され、ホスト装置の起動時にアクセスを受ける。SSD をホストのシステムドライブとして使用する場合、SSDは、論理ブロックアドレス(LBA) 0 に格納されたマスタブートレコード(MBR) と、記憶装置の別の場所に格納されたホスト装置の操作システムコードを有する。ホスト装置が記憶装置に初めてアクセスすると、LBA 0 のコンテンツをホスト装置に送信するようにSSDの命令がLBA 0に送信される。ここで、ホスト装置はLBA 0からMBR を読み取ることができ、MBRには通常、ホスト装置により実行されたときに、記憶装置から操作システムコードの他の部分を読み取ってホスト装置を起動する機能をホスト装置に設置するコンピュータ読み取り可能なプログラムコードが含まれる。
別の態様として、SSDは、ホスト装置によってアクセス可能な記憶容量を拡張するために、USBフラッシュドライブ、メモリカードまたは外部記憶装置のような二次記憶媒体としても用いることが可能である。このようなSSD がホスト装置によって初めてアクセスされると、記憶装置のLBA 0のコンテンツは、二次記録媒体として用いられることをホスト装置に指示する。
機密性の高いアプリケーション内に含まれる情報にアクセスするため、悪意がある第三者は、記憶装置のMBRを感染させる様々な手段および方法に頼ってきた。一般的な方法には、記憶装置のMBR または他のブートセクタを削除し、攻撃を受けた操作システムをインストールする前に、悪意がある第三者が記憶装置へアクセスするシステムレベルを獲得することが含まれる。
操作システムが改竄されないように保護し、記憶装置が破損した場合に重要なプライベート情報へアクセスされるのを防ぐために、操作システムコード(MBRを含む)が記憶装置内にインストールされたソフトウェアにより暗号化され、認証手続きを受け、MBRおよび操作システムコードに許可された利用者のみがアクセスできるようにすることが、当業者によって提案されている。コントローラは、記憶装置の利用者を認証する前にMBRを読み取ることができないため、記憶装置は、記憶装置内で実行されている認証プログラムによって認証情報が収集され、検証する“代替の”マスタブートレコード(MBR)を記憶する。
記憶装置の利用者が正常に認証されると、記憶装置はLBA 0 を元のMBR に再配置するため、記憶装置は実際のMBR を受信し、通常どおり起動することができる。この方法の欠点は、利用者の認証証明書が危険にさらされた場合、MBRおよび操作システムコードも危険にさらされることである。
加えて当業者によって提案されたソリューションは、記憶装置がこれらのソリューションによって適切に保護される前に、モニタリングされる記憶装置の操作システム、パーティションシステムまたはブート領域が既知であり、これらのソリューションに事前にロードされることが必要である。言い換えれば、既存のソリューションは、モニタリング対象の記憶装置の操作システム、パーティションシステムまたはブート領域を自動的に識別することができず、そのような情報は、利用者によって既存のソリューションに設置されなければならない。記憶装置のコントローラには、記憶装置内に含まれるすべての情報が利用者のデータで設計され、デフォルトではこのデータを区別できない。これは、モニタリング対象の記憶装置の操作システム、パーティションシステム、またはブート領域が利用者によって変更されたり、誤って選択されたりすると、特に問題となり、その結果、記憶装置が誤って破損してしまう可能性がある。
上記より、当業者は、記憶装置の操作システム、パーティションシステム、またはブート領域が利用者によって装置のコントローラに設置されない場合であっても、記憶装置内の悪意のある動作を検出することができるモジュールおよび方法を考案することに努めている。
本発明による実施態様により提供されるシステム及び方法によって、上記およびその他の課題が解決され、本技術分野における進歩が達成される。
本発明によるモジュールおよび方法の実施態様の第一の利点は、モジュールが、メモリ装置内にインストールされた操作システムのタイプを識別できることである。
本発明によるモジュールおよび方法の実施態様の第二の利点は、モジュールが、記憶装置内の特定の部位で発生する悪意のある動作を自動的かつ効率的に検出できることである。
本発明によるモジュールおよび方法の実施態様の第三の利点は、記憶装置の論理ブロックアドレスがファームウェアレベルでモニタリングされ、悪意のある動作が検出、阻止される前に操作システムを起動する必要がないことである。
本発明によるモジュールおよび方法の実施態様の第四の利点は、(ホスト装置のシステム装置として動作するように設計された)記憶装置内に含まれるコンテンツが、記憶装置がホスト装置から取り外されていても、また二次記憶装置として再設計されていても、モジュールが双方の場合において悪意のある動作を検出するので、依然として悪意がある第三者から保護されることである。
本発明によるモジュールおよび方法の実施態様の第五の利点は、モジュールが記憶装置コントローラのファームウェアの一部として設置されるときに、操作システムのレベルにおいて無効にされないことである。
上記の利点は、以下の方法によって実施される本発明の実施態様により与えられる。
本発明の第一の態様によれば、記憶装置内において悪意のある動作を検出するためのモジュールが開示される。ここでモジュールは、記憶装置のコントローラ内に設置され、モジュールは、ホスト装置からコントローラに送信された最初の論理ブロックアドレス(LBA0)を読み出し、当該LBA0よりコンテンツを読み出すために使用される。ここで読み出されたコンテンツは、コントローラ内に設置されたデータモジュールから読み出された訓練されたニューラルネットワークをプライミングするのに用いられ、最初のLBA0および訓練されたニューラルネットワークにおけるコンテンツを用いて、モニタリングされる記憶装置の論理ブロックアドレス(LBA)を識別し、LBAによって識別されるミラーリング命令、訓練されたニューラルネットワークを用いて、ミラーリング命令及びコンテンツに基づく記憶装置において悪意のある動作が発生しているかどうかを判定する。ここでニューラルネットワークは、操作システムまたは二次記憶操作に関連するマスタブートレコード、マスタファイルテーブル、ブートセクタ、BIOSパラメータブロック、または操作システムまたは二次記憶操作に関連するファイルシステムの拡張BIOSパラメータブロックに関連するLBAでのコンテンツの平均的な読出し/書込み/上書きのアクセスに基づいて、異なるタイプの操作システムまたは二次記憶操作のために訓練される。
本発明の第一の態様に関して、関連する訓練されたニューラルネットワークのプライミングは、最初のLBA0のコンテンツからマジックナンバーのセットを選択するように設計されたモジュールを含み、ここで選ばれたマジックナンバーのセットは、記憶コントローラのファイルシステムに関連する操作システムのタイプまたは二次記憶操作を判定するためにマジックナンバールックアップテーブルと共に使用され、それによって、マジックナンバールックアップテーブルは、データモジュールから取得され、データモジュールからの操作システムまたは二次記憶操作の判定されたタイプに関連する悪意のある動作を検出するために訓練されたニューラルネットワークをプライミングする。
本発明の第一の態様に関して、モニタリングされる記憶装置の識別されたLBAは、プライミングされた訓練されたニューラルネットワークに関連する判定されたタイプの操作システムまたは二次記憶動作に基づいて、クリティカルデータを含むLBAを識別するように設計されているモジュールを備えている。ここでクリティカルデータは、記憶装置に関連するファイルシステムの少なくともマスタファイルテーブル、マスタブートレコード、ブートセクタ、BIOSパラメータブロックまたは拡張BIOSパラメータブロックを含む。
本発明の第一の態様に関して、モジュールは、ミラーリングされた命令およびコンテンツに基づいて、記憶装置内で発生したと判定された悪意のある動作を用いて、訓練されたニューラルネットワークを最適化するようにさらに設計される。
本発明の第一の態様に関して、モジュールは、ミラーリングされた命令およびコンテンツに基づいて、悪意のある動作が記憶装置内で発生したと判定されたことに応答して、記憶装置をロックダウンするようにさらに設計される。
本発明の第一の態様に関して、訓練されたニューラルネットワークは、人工ニューラルネットワーク、再帰型ニューラルネットワーク(RNN)、または畳み込みニューラルネットワーク(CNN)のうちの1つを含む。
本発明の第二の態様によれば、記憶装置内の悪意のある動作を検出するための方法が開示される。当該方法は、記憶装置のコントローラ内に設置されるモジュールを用いて、ホスト装置からコントローラに送信される最初の論理ブロックアドレス(LBA0)を読み出すステップ、モジュールを用いて最初のLBA0において、コントローラ内に設置されるデータモジュールから読み出される訓練されたニューラルネットワークのコンテンツをプライミングするために読み出されたコンテンツを用いるステップ、モジュールを用いてモニタリングされる記憶装置の論理ブロックアドレス(LBA)を識別するステップ、モジュールを用いてホスト装置によってコントローラに送信される命令をミラーリングするステップ、ミラーリングされたLBAのコンテンツをミラーリングするステップ、ならびにミラーリングされた命令及びコンテンツに基づいて記憶装置において悪意のある動作が発生しているかどうかを訓練されたニューラルネットワークを用いて判定するステップを含み、ここでニューラルネットワークは、マスタブートレコード、マスタファイルテーブル、ブートセクタ、操作システムまたは二次記憶操作に関連付けられたファイルシステムのBIOSパラメータブロックまたは拡張BIOSパラメータブロックに関連するLBAにおけるコンテンツの平均的な読出し/書込み/上書きへのアクセスに基づいて、異なるタイプの操作システムまたは二次記憶操作のために訓練される。
本発明の第二の態様に関して、関連する訓練されたニューラルネットワークのプライミングは、モジュールを用いて最初のLBA0におけるコンテンツからマジックナンバーのセットを選択するステップを含み、ここで選択されたマジックナンバーのセットは、記憶コントローラのファイルシステムに関連する操作システムのタイプまたは二次記憶操作のタイプを判定するために、マジックナンバールックアップテーブルと共に用いられ、ここでマジックナンバールックアップテーブルは、データモジュール及びプライミングにより取得され、モジュールを用いて、データモジュールから判定された操作システムのタイプまたは二次記憶操作に関連する悪意のある動作を検出するように、ニューラルネットワークは訓練される。
本発明の第二の態様に関して、モニタリングされる記憶装置の識別するLBAは、一次訓練されたニューラルネットワークに関連する操作システムまたは二次記憶操作に基づいてモジュールを識別するステップを含み、重要なデータを含むLBAは、少なくともマスタファイルテーブル、マスタブートレコード、ブートセクタ、BIOSパラメータブロック、または記憶装置に関連するファイルシステムの拡張BIOSパラメータブロックを含む。
本発明の第二の態様に関して、本法は、ミラーリングされた命令およびコンテンツに基づいて、記憶装置で発生したと判定された悪意のある動作を用いて、モジュールを用いて訓練されたニューラルネットワークを最適化するステップをさらに含む。
本発明の第二の態様に関して、本法は、ミラーリングされた命令およびコンテンツに基づいて記憶装置で悪意のある動作が発生したと判定されたことに応答し、モジュールを用いて記憶装置をロックダウンするステップをさらに含む。
本発明の第二の態様に関して、訓練されたニューラルネットワークは、人工ニューラルネットワーク、再帰型ニューラルネットワーク(RNN)、または畳み込みニューラルネットワーク(CNN)のうちの1つを含む。
上述および他の課題は、詳細な説明に記載され、以下の図面に示される本発明によるシステムおよび方法の特徴および利点によって解決される。
は、本発明の実施態様による記憶装置内に含まれるモジュールのブロック図を示す。 は、本発明の実施態様による記憶装置のコントローラ内に含まれるモジュールのブロック図を示す。 は、本発明の実施態様による記憶装置におけるファイルシステムの例示的なブートセクタを示す。 は、本発明の実施態様による記憶装置において、悪意のある動作を検出するためのプロセスまたは方法のフローチャートを示す。 は、本発明の実施態様による、訓練されたニューラルネットワークをプライミングするためのプロセスまたは方法のフローチャートを示す。
発明の詳細な説明
本発明は、記憶装置内の悪意のある動作を検出するためのモジュールおよび方法に関し、ここでモジュールは、記憶装置のコントローラ内に設置される。モジュールは、訓練されたニューラルネットワークを用いて、悪意のある動作の機微なデータまたは情報を含む記憶装置のファイルシステムの適切な論理ブロックアドレス(LBA)をモニタリングするように設計される。ここでニューラルネットワークは、マスタブートレコード、マスタファイルテーブル、ブートセクタ、操作システムまたは二次記憶操作に関連付けられたファイルシステムのBIOSパラメータブロックまたは拡張BIOSパラメータブロックに関連するLBAにおけるコンテンツの平均的な読出し/書込み/上書きへのアクセスに基づいて、異なるタイプの操作システムまたは二次記憶操作のために訓練される。
以下本発明を、添付図面の通り、いくつかの実施態様を参照して詳細に説明する。以下の説明では、本発明の実施態様について完全にするため、多数の特徴が記載される。しかし当業者であれば、特定の一部または全部の特徴がなくても本発明の態様を実施できることは明らかである。そのような実施態様もまた、本発明の範囲に含まれるべきである。さらに、以下の特定のプロセス工程および/または構造は、詳細には記載されておらず、本発明を曖昧にしないよう対応する引用を参照する。
さらに当業者は、本発明の明細書全体を通じて、多くの機能ユニットがモジュールとしてラベル付けされていることを認識することができる。当業者であれば、モジュールは、回路、ロジックチップ、または任意の個別部品として設置されていてもよいことが理解できる。さらに当業者であれば、モジュールは、様々なプロセッサアーキテクチャによって実行されるソフトウェアにより設置されることも認識できる。本発明の実施態様では、モジュールは、受信された命令に基づいてイベントを順次実行するようにコンピュータプロセッサに行う命令、ファームウェアまたは実行可能コードを含むこともできる。モジュールの設置の選択は、設計上の選択として当業者に委ねられており、本発明の範囲を限定するものではない。
本発明の実施態様による、記憶装置内の悪意のある動作を検出するための例示的なプロセスまたは方法を、以下のステップで説明する。記憶装置のコントローラ内に設けられたモジュールによって実施されるプロセスまたは方法のステップは、以下の通りである:
ステップ1:ホスト装置からコントローラに送られた第一の論理ブロックアドレス(LBA0)を取得し、当該LBA0にてコンテンツを取得する。ここで取得されたコンテンツは、コントローラ内に設けられたデータモジュールから取得された訓練されたニューラルネットワークをプライミングするために用いられる。
ステップ2:最初のLBA0および訓練されたニューラルネットワークにおけるコンテンツを用いて、モニタリングされるべき記憶装置の論理ブロックアドレス(LBA)を識別する。
ステップ3:ホスト装置によって識別されたLBAに送信された命令をミラーリングし、ミラーリングされたLBA のコンテンツをミラーリングする。
ステップ4:訓練されたニューラルネットワークを用いて、ミラーリングされた命令およびコンテンツに基づいて、悪意のある動作が記憶装置で発生しているかどうか同定するステップ。ここでニューラルネットワークは、マスタブートレコード、マスタファイルテーブル、ブートセクタ、BIOSパラメータブロック、または操作システムまたは二次記憶動作に関連するファイルシステムの拡張BIOSパラメータブロックに関連するLBAでのコンテンツの平均的な読み取り/書き込み/上書きアクセスに基づく異なるタイプの操作システムまたは二次記憶動作のために訓練される。
本発明の実施態様によれば、上述のステップは、図1に示すように、記憶装置100のコントローラ105内に含まれるモジュールによって実施または実行することができる。ここで記憶装置100は、キャッシュ107、フラッシュメモリ110a~h及びインターフェース120をさらに含んでいてもよい。記憶装置100は、様々なタイプのソリッドステート装置/ドライブを含むことができ、キャッシュ107は、ダイナミックランダムアクセスメモリ(DRAM)を含むことができ、利用者のデータと内部SSDメタデータの両方をキャッシングするために用いられる。フラッシュメモリ110a~hは、NANDまたはNORフラッシュメモリのような、電子的に消去および再プログラミングすることができる任意のタイプの電子不揮発性コンピュータメモリ記憶媒体を含んでいてもよい。インターフェース120は、ホストシステムと記憶装置100との間の物理的インターフェースとして機能し、それにより、小規模コンピュータシステムインターフェースプロトコル、シリアルアドバンストテクノロジーアタッチメント(SATA)プロトコル、シリアルアタッチドSCSI (SAS)、不揮発性メモリエクスプレス(NVMe)、ペリフェラルコンポーネント相互接続エクスプレス(PCIe)または同様のインターフェースなどの既存の記憶標準およびインターフェースが、コンピュータなどのホスト装置に記憶装置100を通信可能に接続するためのリンクとして使用することができる。
コントローラ105は、単独処理を行う複雑な組込みシステムであり、コントローラ105内に含まれるファームウェア及びモジュールと連携して、フラッシュメモリ110a-hに記憶されるコンテンツの保護及びコントロールを含む記憶装置100の全てを管理する。このコントローラは、最も一般的には、1つまたは複数の埋め込みプロセッサコアに結合された複数のハードウェア加速機能ブロック/モジュールを含むSoC (システムオンチップ)設計として設置される。
コントローラ105内に含まれる機能ブロックは、図2に示される。特に図2は、コントローラ105が、マイクロコントローラ205、バッファ210、フラッシュインタフェースモジュール(FIM)215a~c、および脅威検出モジュール250を含んでいてもよいことを示している。マイクロコントローラ205は、コントローラ105の内部に配置されたプロセッサを含み、着信データを受信し、操作するように割り当てられる。ここで、「プロセッサ」という用語は、そのような命令を処理することができる任意の装置またはコンポーネントを総称して指すために用いられ、マイクロプロセッサ、マイクロコントローラ、プログラマブル論理装置、または他の計算装置を含んでいてもよい。すなわち、マイクロコントローラ205は、入力を受け取り、メモリに記憶された命令に従ってそれらを処理し、出力を生成するための任意の適切な論理回路により設置されていてもよい。本発明の実施態様において、マイクロコントローラ205は、メモリアドレス可能空間を有する単一のコアプロセッサとすることができる。バッファ210は、コントローラ105のファームウェアを実行するため、またはモジュール250によってアクセスされるべきデータ/情報を記憶するためのSRAM (スタティックRAM)を含んでいてもよく、データモジュールとして扱うことができる。脅威検出モジュール250は、コントローラ105における入力/出力をミラーリングするために用いられ、本発明の実施態様に従って、記憶装置内で起こり得る悪意のある動作および関連するタスクを検出するために、適切な訓練されたニューラルネットワークをロードする。FIM215a~cは、コントローラ105とフラッシュメモリ110a~hとの間の物理および論理相互接続として機能し、コントローラが複数のフラッシュメモリと同時に通信することを可能にする。当業者であれば、上述の様々なメモリ設計要素は、非一時的な記録媒体を含み、一時的な伝搬信号を除くすべての記録媒体を含むものと解釈されることが理解できる。通常、命令はメモリ設計要素にプログラムコードとして記憶されるが、配線接続とすることもできる。図示されていないが、コントローラ105は、LBAをホスト装置からフラッシュメモリの物理ブロックアドレス(PBA)に変換するためのフラッシュ変換層(FTL)も備える。FTLの詳細な動作は、当業者に既知のため簡略化することができる。
ホスト装置(ここでは図示されない)が起動され、記憶装置100がホスト装置のシステム装置として用いられると仮定した場合、その操作システムは、ホスト装置のROMまたはRAM内に含まれない。それは記憶装置100内に記憶される。したがって、操作システムのロードを容易にするために、ホスト装置は、記憶装置100のLBA '0' (LBA0)に適切な命令を送るホスト装置のROMに記憶されたファームウェアを実行する。LBA‘0“がこれらの命令を受信すると、記憶装置100は、LBA‘0”に対応する物理ブロックアドレスに記憶されたデータを返信する。その裏で、記憶装置100のコントローラ105によって受信された論理ブロックアドレスは、コントローラ105内に設けられたFTLによって適切な物理ブロックアドレスに変換される。しかし、ホスト装置には、これらはすべて見えず、命令が記憶装置100のLBAに行われると、LBAとPBAとの間のすべての必要な変換がコントローラ105内で自動的に行われる。
典型的には、システム装置において、LBAスキームにおける最初のLBA、すなわちLBA '0'、は、ホスト装置によって実行されるとき、記憶装置100から操作システムコードの他の部分を読み取ってホスト装置をブートする能力をホストに設置するコンピュータ読み取り可能なプログラムコードを含むマスタブートレコード(MBR)を含むことができるが、これに限定されるものではない。LBAは、記憶装置100内に格納されたデータブロックの位置を指定するために使用される一般的なスキームであり、ホスト装置が、記憶装置の物理セクタ位置またはPBAを認識する必要なく、ホスト装置が記憶装置100内に格納されたコンテンツにアクセスするための単純な線形アドレッシング方法をホスト装置に設置する。したがって、様々なパーティション、ファイルシステムまたは記憶装置の他の何らかの特殊な領域がホスト装置によってアクセスされるとき、これらの領域に関連するLBAは、ホスト装置によって記憶装置100のコントローラ105に送られ、コントローラ105はこの情報を使用してホスト装置の関連データ/情報を検索することができる。
コントローラ105は、ホスト装置からLBAおよびそれらの関連する命令を受信し、受信した命令に基づいてLBAのコンテンツをホスト装置に返信すると、脅威検出モジュール250は、これすべてを反映するように設計され、これは、コントローラ105で行われるすべての入力および出力の記録を作成することによって実行することができる。言い換えると、脅威検出モジュール250は、コントローラ105によって受信された命令と、命令が向けられるLBAとを記録することによって達成することができる。次いで、これらのLBAで設置されるデータおよび/または情報は、データおよび/または情報がリクエストするホスト装置に送り返される前に、モジュール250によって記録されてもよい。
論理ブロックアドレス‘0‘(LBA0)で設置されるファイルシステムの例示的なブートセクタは、図3に示されるように、ブートセクタ300が、複数の長さを有する複数のフィールドと、それらの個々のオフセットとを含むことが示される。各フィールドは、特定の意味またはコマンドに関連するそれ自体の典型的な値を有する。これらの値は、操作システム/ファイルシステム/記憶システムのタイプごとにそれぞれの特定の意味/コマンドに基づいて生成された16進数またはマジック数を含み、そのような場合、それぞれの意味またはコマンドは固有の値に関連付けられる。例えば、“EB”の値は、“セクタ当たりのバイト数”に関連付けられ、“52”の値は、“クラスタ当たりのセクタ数”に関連付けられ、“67”の値は、“OEM ID”に関連付けられ、“J9”の値は、“BPB”に関連付けられ、“34”の値は、“拡張BPB”に関連付けられる等である。
本発明の例示的な実施態様において特に興味深いのは、図3に示されるように、LBA0のデータ305に含まれるキー情報であり、例えば、BIOSパラメータブロック(BPB)および拡張BPBを含むことができ、当業者にとってこれは単なる一例であり、LBA0における他のコンテンツも同様に用いることができることが認識される。データ305に含まれる情報に基づいて、記憶装置のファイルシステムに関する次の情報(セクタ当たりのバイト数、クラスタ当たりのセクタ数、媒体ディスクリプタの種類、媒体ディスクリプタの種類、セクタの総数、マスタファイルテーブル(MFT)またはその等価な構造の位置、マスタファイルテーブルのコピーの位置、MFTレコード当たりのクラスタ数、インデックスバッファ当たりのクラスタ数、ファイルシステムの種類、操作システムおよびボリュームのシリアル番号)を判定することができる。この情報は、次いで、記憶装置のファイルシステムの操作システム、記憶装置のファイルシステム、および/または記憶装置のファイルシステムの動作を判定するために用いることができる。当業者であれば、本発明から逸脱することなく、データ305内およびLBA0のコンテンツ内に他の情報を含めることができることが理解できる。
本発明の実施態様によれば、マジックナンバールックアップテーブルは、キャッシュ107またはバッファ210にあらかじめインストールされていてもよい。当業者に理解されているように、マジックナンバーは、特定の情報またはデータのために作成された一定の数値を指す。このように、これらのマジックナンバーは、特定のファイルフォーマットまたはプロトコルを識別するために用いられるか、または他の意味と間違われる可能性が低い特徴的な固有の値が参照されている。本発明の実施態様では、予めロードされたマジックナンバールックアップテーブル内のマジックナンバーの各々は、特定のタイプの操作システムおよび/または二次記憶ファイルシステムのようなタイプのファイルシステムを指す。このルックアップテーブルは、必要に応じて定期的に、又は新しい操作システム、二次記憶ファイルシステム、又は他のタイプのファイルシステムが導入されるときはいつでも更新することができる。マジックナンバールックアップテーブル内の情報は、LBA0で見つけられたコンテンツと照合され、結果の一致に基づいて、モジュール250は記憶装置に関連する操作システム/ファイルシステム/記憶システムのタイプを判定することができる。
これにより、脅威検出モジュール250は、次いで、この情報を利用して、モジュール250内に含まれる訓練されたニューラルネットワークをプライミングし、各ファイルシステムが、重要なコンテンツや情報、またはデータを含むLBA独自の固有リストを所有することで、特定タイプの操作システムまたは二次記憶動作に対する悪意のある動作を検出することができる。本発明の実施態様では、クリティカルコンテンツまたは記録は、記憶装置の利用者に影響を及ぼすデータ、記憶装置の通常動作に影響を及ぼすデータ、および/または任意の類似データを含むが、これらに限定されない。言い換えれば、この情報はモジュール250によって、訓練されたニューラルネットワークにて厳密にモニタリングされるべき記憶装置100のファイルシステム内のLBAを識別するために利用することができ、これにより、LBAは、記憶装置内にインストールされたファイルシステムのタイプに固有となることができる。さらに、識別されたタイプの操作システムまたはファイルシステムのために最適化された訓練されたニューラルネットワークを選択し、ロードすることもできる。上述のパラメータが初期化されると、プライミングされた訓練されたニューラルネットワークは、悪意のある動作につき記憶装置100をモニタリングするためにモジュール250によって利用されることができる。
本発明の実施態様では、ニューラルネットワークモデルがバッファ210またはキャッシュ107内に設置され、このニューラルネットワークは、反復ニューラルネットワーク(RNN)、反復ニューラルネットワーク、または畳み込みニューラルネットワーク(CNN)などの人工ニューラルネットワークを含んでいてもよいが、これらに限定されない。このニューラルネットワークモデルは、記憶装置のファイルシステム内で発生する悪意のある動作を検出するため、使用される前に訓練を受けている。
特にニューラルネットワークモデルは、マスタブートレコード、マスタファイルテーブル、ブートセクタ、BIOSパラメータブロック、および/または各タイプの操作システムまたはセカンダリ記憶ファイルシステム(セカンダリ記憶操作として使用される記憶装置にインストールされる)に関連するファイルシステムの拡張BIOSパラメータブロックに関連する特定のLBA またはPBA でのコンテンツの平均的な読み取り/書き込み/上書きのアクセスに基づいて訓練されている。
言い換えれば、ニューラルネットワークモデルは、様々なタイプの操作システムおよびそれらの対応するファイルシステムの動作中に、または二次記憶システムとしての記憶装置の動作中に、一般にアクセスされるLBAのコンテンツの平均的な読取り/書込み/上書きのアクセスなどの様々な入力に基づいて訓練される。したがって、これら従来のアクションから逸脱する任意のアクションは、ニューラルネットワークに、トリガーアクティビティを悪意のある動作としてラベル付けすることができる。これらの悪意のある動作によってアクセスされるLBAと共にラベル付けされた悪意のある動作は、ニューラルネットワークを訓練するために用いることができ、それによって、上記のデータの組み合わせがニューラルネットワークの訓練の間にニューラルネットワークに設置され、ニューラルネットワークの訓練を最適化することができる。
本発明のさらなる実施態様において、訓練されたニューラルネットワークは、記憶装置の通常動作中に検出された悪意のある動作を用いてさらに最適化することができる。そのようなオンザフライの最適化工程は、ニューラルネットワークの効率および有効性を大幅に改善する。
本発明の実施態様において、様々な操作システムおよびファイルシステムのLBAのコンテンツの平均的な読取り/書込み/上書きのアクセスは、様々な操作システムおよびファイルシステムを有する記憶装置のコントローラにおける入力/出力を一定期間にわたって記録することによって得ることができる。平均的な読取り/書込み/上書きのアクセスは、サードパーティーリソースより入手することもでき、ニューラルネットワークを訓練するために使用することができる。
さらに種々の操作システム、ファイルシステムおよび二次記憶システムの各々に対してアクセスされるLBAはシステム毎に異なるので、これらのシステムの各々に対して重要なデータを含むLBAの記録が作成される。ここで重要なデータは、マスタファイルテーブルまたはその同等のファイル構造、マスタブートレコード、ブートレコード、利用者によって定義された重要領域、安全領域、BIOSパラメータブロックまたはファイルシステムの拡張BIOSパラメータブロックを含むことができるが、これらに限定されない。次いでこの記録は、訓練されたニューラルネットワークモデルとリンクされ、キャッシュ107またはバッファ210に格納されてもよく、あるいは、上記のようにニューラルネットワークを訓練するために設置される訓練データの一部として用いられていてもよい。したがって、記憶装置の機能が識別、すなわち、システム装置または二次記憶装置として動作するために、クリティカルデータを含む記憶装置のLBAをこのレコードより識別することができる。
要約するとニューラルネットワークは、ファイルシステムのある領域を保護するように訓練され、訓練は、記憶装置上に設置されるファイルシステムのタイプと、クリティカルデータを含むLBAとに基づいて行われる。ファイルシステムのタイプを識別する情報は、最初のLBA、すなわちLBA0 のコンテンツから取得することができる。しかし当業者であれば、関連するコンテンツは、LBA0で見つけることができるが、特定のタイプのファイルシステムでは、情報が構造化される方法のために、または、例えばLBA“0”からLBA“48”まで複数のLBAにわたって分散するために非常に膨大になることが理解できる。本発明の実施態様では、各々のニューラルネットワークは、LBAがファイルシステムごとに異なるので、ファイルシステムのタイプごとに最適化することができる。したがって、使用される訓練されたニューラルネットワークのタイプは、記憶装置のファイルシステムに依存することができ、訓練されたニューラルネットワークの性能は、適切に訓練されたニューラルネットワークが適切なファイルシステムと共に使用されるように選択され、このアクションが訓練されたニューラルネットワークのプライミングとして行われる場合に、より効率的かつ効果的である。
図4は、本発明の実施態様に従ってホスト装置に通信可能に接続された記憶装置内の悪意のある動作を検出するためのプロセス400を示し、それによって、プロセス400は、記憶装置のコントローラ内に設置される脅威検出モジュール250内に設置されていてもよい。プロセス400はステップ405から始まり、これによりホスト装置からコントローラに送られる最初の論理ブロックアドレス(LBA)がプロセス400によってコピーされる。次いで、プロセス400は、最初のLBAに関連するコンテンツを読み出す。ここで読みだされたコンテンツは、コントローラ内に設置されたデータモジュールから読み出された訓練されたニューラルネットワークをプライミングするために使用される。これが起こると、識別されたファイルシステム/操作システム/記憶システムのために最適化された特定のニューラルネットワークがロードされ、プライミングされる。
検索されたコンテンツおよび/またはプライミングされた訓練されたニューラルネットワークに基づいて、関連するファイルシステムのクリティカルデータを含むLBAのレコードが、ステップ410でロードされる。次にこのレコードは、プロセス400によってモニタリングされる記憶装置のLBAを識別するために使用される。次に、ステップ415で、プロセス400は、モニタリング下のLBAに送られた命令をミラーリングし、後にホスト装置に送られるこれらのLBAからのコンテンツもミラーリングする。次いで、プロセス400は、ステップ420において、ミラーリングされた命令およびコンテンツに基づいて、記憶装置で悪意のある動作が行われているかどうかを判定する。
プロセス400が、ステップ420において、悪意のある動作が記憶装置内で行われていると判定した場合、プロセス400は、ステップ425に進み、それによって、適切なアラームまたは警告が発せられるか、あるいは、記憶装置がロックダウンされる。その後、プロセス400は終了する。逆に、ステップ420でプロセス400によって悪意のある動作が検出されない場合、プロセス400は終了する。次に、プロセス400は、発生する可能性のあるあらゆる悪意のある動作を検出できるように、記憶装置が起動または起動されるたびに、これを繰り返す。
図5は、関連するホスト装置のブートアップまたは起動中に、データモジュールから読み出された訓練されたニューラルネットワークをプライミングするために、モジュール250に実装され得るプロセス500を示す。プロセス500は、ステップ505において、最初のLBA (ステップ405においてプロセス400によってコピーされる) において、またはコンテンツが最初のLBAを超えて拡張する場合には、他のLBAにて見つけられたコンテンツから数値またはマジックナンバーのセットを選択することによって開始される。これらの値またはマジックナンバーのセットは、記憶装置のキャッシュまたはバッファに事前にロードされたマジックナンバールックアップテーブルと比較される。数値またはマジックナンバーのセットをマジックナンバールックアップテーブルに含まれるものと照合することにより、プロセス500は、操作システムのタイプとそのファイルシステムを判定することができ、あるいは、記憶装置のファイルシステムに関連するシステム設計のタイプ(例えば二次記憶ファイルシステム)を判定することができる。識別されたファイルシステムにとって重要なLBAも、このステップで識別され、その結果、訓練されたニューラルネットワークは、これらのLBAをモニタリングしなければならないことが理解できる。次にプロセス500は、ステップ515において、この情報に基づいて訓練されたニューラルネットワークをプライミングし、適切なファイルシステムと共に使用されるようにプライミングされた、訓練されたニューラルネットワークの検出速度を加速する。
多数の他の変更、置換、変形、および修正が、当業者には確認することができ、本発明は、添付の特許請求の範囲内にあるようなすべてのそのような変更、置換、変形、および修正を包含する。

Claims (16)

  1. 記憶装置内の悪意のある動作を検出するためのモジュールであって、モジュールは記憶装置のコントローラ内に設置され、以下より構成される:
    ホスト装置からコントローラに送られた最初の論理ブロックアドレス(LBA0)を検索し、最初のLBA0でコンテンツを検索する、検索されたコンテンツは、コントローラ内に設置されたデータモジュールから検索された訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用するために用いる
    最初のLBA0および訓練されたニューラルネットワークにおけるコンテンツを用いて、モニタリングされるべき記憶装置の論理ブロックアドレス(LBA)を識別する;
    ホスト装置によって識別されたLBAにコントローラに送られる指令、およびミラーリングされたLBAのコンテンツをミラーリングする;
    訓練されたニューラルネットワークを用いて、悪意のある動作がミラーリングされた命令及びコンテンツに基づいて記憶装置で起きているかどうか判定する、ここでニューラルネットワークは、マスタブートレコード、クリティカルレコード、マスタファイルテーブル、ブートセクタ、BIOSパラメータブロック又はセカンダリ記憶動作に関連するファイルシステムの拡張BIOSパラメータブロック又はセカンダリ記憶動作に関連するLBAでのコンテンツの平均的な読み取り/書き込み/上書きのアクセスに基づいて、異なる種類の操作システム又は二次記憶動作のために訓練される。
  2. 訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用することが、以下より構成されるモジュールを含む、請求項1に記載のモジュール:
    最初のLBA0のコンテンツからマジックナンバーのセットを選択し、選択されたマジックナンバーのセットがマジックナンバールックアップテーブルと共に用いられ、コントローラのファイルシステムに関連する操作システムのタイプまたは二次記憶操作のタイプを判定する、ここでマジックナンバールックアップテーブルはデータモジュールより取得され;
    データモジュールからの判定されたタイプの操作システムまたは二次記憶操作に関連する悪意のある動作を検出するために訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用する
  3. 訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用することが、モジュールが、操作システムのタイプまたはコントローラのファイルシステムに関連すると判定された二次記憶操作のタイプに対して、最適化された訓練されたニューラルネットワークを選択するように設計されることを含む、請求項2に記載のモジュール。
  4. モニタリングされる記憶装置の識別LBAが、以下のように設計されるモジュールを含む、請求項1に記載のモジュール:
    悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用された訓練されたニューラルネットワークに関連する判定されたタイプの操作システムまたは二次記憶操作に基づいて、重要データを含むLBAを識別する、ここで重要データは、少なくともマスタファイルテーブル、マスタブートレコード、ブートセクタ、BIOSパラメータブロック、または記憶装置に関連するファイルシステムの拡張BIOSパラメータブロックを含む。
  5. さらに、以下のように構成される、請求項1に記載のモジュール:
    ミラーリングされた命令およびコンテンツに基づいて、記憶装置で発生したと判定された悪意のある動作を用いて、訓練されたニューラルネットワークを最適化する。
  6. 前記ミラーリングされた命令およびコンテンツに基づいて前記記憶装置で悪意のある動作が発生したと判定されたことに応答して、前記記憶装置をロックダウンするようにさらに設計される、請求項1または5に記載のモジュール。
  7. 訓練されたニューラルネットワークが人工ニューラルネットワークを含む、請求項1~6のいずれかに記載のモジュール。
  8. 前記人工ニューラルネットワークは、RNN(Recurrent Neural Network)またはCNN(Convolutional Neural Network)を含む、請求項7に記載のモジュール。
  9. 記憶装置内の悪意のある動作を検出するための方法であって、記憶装置のコントローラ内に設けられたモジュールを使用して、ホスト装置からコントローラに送信される第一の論理ブロックアドレス(LBA0)を取得することを含む方法;
    最初のLBA0におけるコンテンツを、モジュールを用いて検索する、ここで検索されたコンテンツは、コントローラ内に設置されたデータモジュールから検索された訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用するために用いる
    最初のLBA0におけるコンテンツの識別と、モジュールを用いた、モニタリングされるべき記憶装置の論理ブロックアドレス(LBA)の訓練されたニューラルネットワークを識別する;そして
    ミラーリングは、モジュールを使用して、ホスト装置によって識別されたLBAに送信された命令をコントローラに使用して、ミラーリングされたLBAのコンテンツをミラーリングし、ミラーリングされた命令およびコンテンツに基づいて訓練されたニューラルネットワークを使用して、悪意のある動作が記憶装置で発生しているかどうかを判定し、ここでニューラルネットワークは、マスタブートレコード、クリティカルレコード、マスタファイルテーブル、ブートセクタ、BIOSパラメータブロック、またはセカンダリ記憶操作に関連するファイルシステムの拡張BIOSパラメータブロックに関連するLBAでのコンテンツの平均的な読み取り/書き込み/上書きのアクセスに基づいて、異なるタイプの操作システムまたは二次記憶操作に対し訓練される。
  10. 訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用することが、以下のステップを含む、請求項9に記載の方法:
    モジュールを使用して、最初のLBA0のコンテンツからマジックナンバーのセットを選択し、それによって選択されたマジックナンバーのセットが、マジックナンバールックアップテーブルと共に用いられ、コントローラのファイルシステムに関連する操作システムのタイプまたはセカンダリ記憶動作のタイプを判定し、これによりマジックナンバールックアップテーブルがデータモジュールから取得され、
    モジュールを使用して、データモジュールからの判定されたタイプの操作システムまたは二次記憶動作に関連する悪意のある動作を検出するために訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために利用する
  11. 前記訓練されたニューラルネットワークを悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用するステップは、前記判定されたタイプの操作システムまたは前記コントローラの前記ファイルシステムに関連付けられた判定されたタイプの二次記憶操作のために最適化された訓練されたニューラルネットワークを選択するステップを含む、請求項10に記載の方法。
  12. モニタリングされるべき記憶装置の識別LBAが、以下のステップを含む、請求項9に記載の方法:
    モジュールを識別し、モジュールを用いて悪意のある動作につき前記記憶装置をモニタリングするために前記モジュールによって利用された訓練されたニューラルネットワークに関連する判定されたタイプの操作システムまたは二次記憶操作に基づいて、重要データを含むLBAを識別し、これにより重要データは、少なくともマスタファイルテーブル、マスタブートレコード、ブートセクタ、BIOSパラメータブロック、または記憶装置に関連するファイルシステムの拡張BIOSパラメータブロックを含む。
  13. 前記方法は、前記モジュールを使用して、前記ミラーリングされた命令およびコンテンツに基づいて、前記記憶装置において発生したと判定された悪意のある動作を使用して、前記訓練されたニューラルネットワークを最適化するステップをさらに含む、請求項9に記載の方法。
  14. 前記方法が、以下のステップをさらに含む、請求項9または13に記載の方法:
    ロックダウンは、モジュールを使用して、ミラーリングされた命令およびコンテンツに基づいて、記憶装置で悪意のある動作が発生したと判断されたことに応答して、記憶装置をロックダウンする。
  15. 訓練されたニューラルネットワークが人工ニューラルネットワークを含む、請求項9~14のいずれかに記載の方法。
  16. 前記人工ニューラルネットワークは、RNN(Recurrent Neural Network)またはCNN(Convolutional Neural Network)を含む、請求項15に記載の方法。
JP2021130997A 2020-10-01 2021-08-11 記憶装置内の悪意のある動作を検出するためのモジュールおよび方法 Active JP7202030B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SG10202009754Q 2020-10-01
SG10202009754QA SG10202009754QA (en) 2020-10-01 2020-10-01 Module and method for detecting malicious activities in a storage device

Publications (2)

Publication Number Publication Date
JP2022059563A JP2022059563A (ja) 2022-04-13
JP7202030B2 true JP7202030B2 (ja) 2023-01-11

Family

ID=73698205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021130997A Active JP7202030B2 (ja) 2020-10-01 2021-08-11 記憶装置内の悪意のある動作を検出するためのモジュールおよび方法

Country Status (10)

Country Link
US (1) US11055443B1 (ja)
EP (1) EP3979118B1 (ja)
JP (1) JP7202030B2 (ja)
KR (1) KR102363182B1 (ja)
CN (1) CN114282228B (ja)
AU (1) AU2021204804B1 (ja)
CA (1) CA3126591A1 (ja)
IL (1) IL286431B2 (ja)
SG (1) SG10202009754QA (ja)
TW (1) TWI751928B (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160041778A1 (en) 2014-08-06 2016-02-11 Seagate Technology Llc Managing data within a storage device based on file system metadata

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8490194B2 (en) 2006-01-31 2013-07-16 Robert Moskovitch Method and system for detecting malicious behavioral patterns in a computer, using machine learning
CN103853979B (zh) 2010-12-31 2018-01-16 北京奇虎科技有限公司 基于机器学习的程序识别方法及装置
US9317690B2 (en) * 2011-03-28 2016-04-19 Mcafee, Inc. System and method for firmware based anti-malware security
CN106021147B (zh) * 2011-09-30 2020-04-28 英特尔公司 在逻辑驱动器模型下呈现直接存取的存储设备
WO2013095568A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Systems and methods for providing anti-malware protection and malware forensics on storage devices
US9185079B2 (en) * 2011-12-22 2015-11-10 Intel Corporation Method and apparatus to tunnel messages to storage devices by overloading read/write commands
US9270657B2 (en) * 2011-12-22 2016-02-23 Intel Corporation Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure
CN102737186B (zh) 2012-06-26 2015-06-17 腾讯科技(深圳)有限公司 恶意文件识别方法、装置及存储介质
US10198595B2 (en) * 2015-12-22 2019-02-05 Walmart Apollo, Llc Data breach detection system
US10121010B2 (en) * 2016-05-12 2018-11-06 Endgame, Inc. System and method for preventing execution of malicious instructions stored in memory and malicious threads within an operating system of a computing device
CN107742079B (zh) 2017-10-18 2020-02-21 杭州安恒信息技术股份有限公司 恶意软件识别方法及系统
US10963394B2 (en) * 2018-04-16 2021-03-30 Samsung Electronics Co., Ltd. System and method for optimizing performance of a solid-state drive using a deep neural network
US10944789B2 (en) 2018-07-25 2021-03-09 Easy Solutions Enterprises Corp. Phishing detection enhanced through machine learning techniques
US10769018B2 (en) * 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160041778A1 (en) 2014-08-06 2016-02-11 Seagate Technology Llc Managing data within a storage device based on file system metadata

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戸田 賢二 ほか,ディスクI/Oのハードウェアモニタリングによるファイルアクセス解析手法,情報処理学会 研究報告,情報処理学会,2015年02月27日,第2015-SLDM-170巻, 第40号,pp.1-5

Also Published As

Publication number Publication date
TW202215279A (zh) 2022-04-16
NZ778067A (en) 2021-08-27
CN114282228B (zh) 2022-11-01
EP3979118B1 (en) 2023-06-07
IL286431A (en) 2022-04-01
US11055443B1 (en) 2021-07-06
JP2022059563A (ja) 2022-04-13
TWI751928B (zh) 2022-01-01
KR102363182B1 (ko) 2022-02-14
CA3126591A1 (en) 2022-04-01
AU2021204804B1 (en) 2021-09-09
IL286431B1 (en) 2023-09-01
SG10202009754QA (en) 2020-11-27
EP3979118A1 (en) 2022-04-06
IL286431B2 (en) 2024-01-01
EP3979118C0 (en) 2023-06-07
CN114282228A (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
TWI471726B (zh) 快取資料與元資料之管理
TWI494762B (zh) 用於管理快取資料及元資料的方法、電腦儲存媒體與電腦
US11657022B2 (en) Host and storage system for securely deleting files and operating method of the host
US20130151761A1 (en) Data storage device storing partitioned file between different storage mediums and data management method
US20080046997A1 (en) Data safe box enforced by a storage device controller on a per-region basis for improved computer security
US9529805B2 (en) Systems and methods for providing dynamic file system awareness on storage devices
US10459803B2 (en) Method for management tables recovery
TWI498738B (zh) 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
CN111984441B (zh) 瞬间断电回复处理方法及装置以及计算机可读取存储介质
US8776232B2 (en) Controller capable of preventing spread of computer viruses and storage system and method thereof
JP7202030B2 (ja) 記憶装置内の悪意のある動作を検出するためのモジュールおよび方法
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
JP5649709B2 (ja) メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法およびプログラム
CN116089327A (zh) 数据保护方法及相关设备
US11256435B2 (en) Method and apparatus for performing data-accessing management in a storage server
NZ778067B2 (en) Module and method for detecting malicious activities in a storage device
NZ778588A (en) Systems and methods for processing metadata
US10019574B2 (en) Systems and methods for providing dynamic file system awareness on storage devices
JP2006018602A (ja) 3.5インチ定形型ディスク形状を持ったデータトランスミッション装置
Cui et al. Towards trustable storage using SSDs with proprietary FTL
US20220206904A1 (en) Device and method for managing recovery information of auxiliary storage device
KR102597220B1 (ko) 데이터 완전삭제 방법 및 시스템
US20240045597A1 (en) Storage device and operation method thereof
JP2016177822A (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221121

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221216

R150 Certificate of patent or registration of utility model

Ref document number: 7202030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150