JP5951879B2 - オペレーティングシステムに対する悪意ある活動のレポート - Google Patents

オペレーティングシステムに対する悪意ある活動のレポート Download PDF

Info

Publication number
JP5951879B2
JP5951879B2 JP2015501648A JP2015501648A JP5951879B2 JP 5951879 B2 JP5951879 B2 JP 5951879B2 JP 2015501648 A JP2015501648 A JP 2015501648A JP 2015501648 A JP2015501648 A JP 2015501648A JP 5951879 B2 JP5951879 B2 JP 5951879B2
Authority
JP
Japan
Prior art keywords
bios
processor
operating system
computer
handler
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.)
Expired - Fee Related
Application number
JP2015501648A
Other languages
English (en)
Other versions
JP2015514252A (ja
Inventor
サクティクマール,パルサミー
ジェイ. ジンマー,ヴィンセント
ジェイ. ジンマー,ヴィンセント
シー. スワンソン,ロバート
シー. スワンソン,ロバート
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2015514252A publication Critical patent/JP2015514252A/ja
Application granted granted Critical
Publication of JP5951879B2 publication Critical patent/JP5951879B2/ja
Expired - Fee Related 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/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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

本発明は、オペレーティングシステムに対する悪意ある活動のレポートに関する。
悪意あるソフトウェア(「マルウェア(”malware”)」とも呼ばれるもの)は、コンピュータによって実行されると、コンピュータのパフォーマンスに不利に影響し、及び/又は、コンピュータ上に保管されているデータの整合性を傷つけてしまう、認定されていないインストラクションのことをいう。例えば、悪意あるソフトウェアは、アプリケーションに対するアクセスの取得、コンピュータのオペレーションの崩壊、コンピュータ上に保管されたデータの消去、機密情報(例えば、パスワードまたは個人情報)の収集、コンピュータのユーザの振る舞いを追跡、意図しないオペレーションのためのコンピュータ使用、等を行う。
悪意あるソフトウェアは、多くの異なる形式においてパッケージされ得る。例えば、悪意あるソフトウェアは、ウイルスであり、自分自身を一つのコンピュータから次のコンピュータへ複製する。また、害を与えないようにみえる(例えば、認定されたサプライヤによって提供されたもののようにみえる)トロイの木馬であり、それによって悪意のある目的を偽装している。また、ネットワークセキュリティを通じて繁殖するワーム(worm)、等である。
本装置は、オペレーティングシステムによってアクセス可能なメモリ、および、基本入力/出力システム(BIOS)ハンドラを含んでいる。BIOSハンドラは、検出された悪意あるソフトウェア活動に反応して、データをメモリに保管してオペレーティングシステムに対して活動をレポートする。
図1は、本発明の一つの典型的な実施例に従ったコンピュータの模式的なダイヤグラムである。 図2は、本発明の一つの典型的な実施例に従って、検出された悪意ある活動を図1のコンピュータのオペレーティングシステムに対してレポートする技術を説明するフローチャートである。 図3は、本発明の一つの典型的な実施例に従って、悪意ある活動を検出して、オペレーティングシステムに対してレポートする技術を説明する図である。 図4は、本発明の一つの典型的な実施例に従って、悪意ある活動を検出して、オペレーティングシステムに対してレポートする技術を説明する図である。 図5は、本発明の一つの典型的な実施例に従った図1のコンピュータに係るハードウェアアーキテクチャの模式的なダイヤグラムである。
図1を参照すると、コンピュータ10は、ここにおいて開示される実施例に従えば、マシンで実行可能なインストラクションまたは「ソフトウェア」等といったものを実行し、コンピュータ10による意図しない悪意あるソフトウェア74の実行のせいで悪意ある活動にさらされることがある。このコンテクスト(context)において、「悪意あるソフトウェア74」は、「悪意ある活動(”malicious activity”)」を引き起こす目的のためにコンピュータ10の一つまたはそれ以上のプロセッサ22によって実行され得る認定されていないマシンで実行可能なインストラクションを参照する。または、コンピュータ10のパフォーマンスに不利な影響する活動(限定でない例として)といった、コンピュータ10上での認定されていない活動を参照する。すなわち、アクセスを許可してコンピュータ10によって保管または収集されたデータをコピー及び/又は破損すること、アクセスを許可してコンピュータ10によって保管またはアクセスされた一つまたはそれ以上のファイルをコピー及び/又は変更すること、視覚的及び/又は聴覚的な出力をコンピュータ10上に表示すること、マシンで実行可能なインストラクションを破損すること、コンピュータ10の一つまたはそれ以上の機能へのアクセスをコントロールすること、及び/又は、コンピュータ10上に保管されているデータの整合性を損なうこと、である。
悪意あるソフトウェア74は、いくつかの異なる処理レベルのあらゆるレベルにおいて実行され得る。限定でない例として、オペレーティングシステムレベル、または、基本入力/出力システム(BIOS)レベル、といったレベルにおけるものである。悪意あるソフトウェア74は、数多くの異なる形式のうちあらゆる形式においてパッケージされ得る。アドウェア、スパイウェア、ウイルス、トロイの木馬、ワーム、ルートキット、等、といったものである。さらに、悪意あるソフトウェア74は、コンパイルされたマシンで実行可能なインストラクションであるか、コンパイルされていないマシンで実行可能なインストラクションであり得る。従って、悪意あるソフトウェア74は、限定でない例として、コンパイルされたプログラムコードはもちろんスクリプトも含み得るものである。
プロセッサ22は、悪意あるソフトウェアの実行による悪意ある活動を検出するためのいくつかのメカニズムを含んでいる。しかしながら、ここにおいて開示されるシステムおよび技術が無ければ、プロセッサによる悪意ある活動の検出は、オペレーティングシステムによっては知られないままであり、そうであるため、好適な是正処置を行うことができない。限定でない例として、オペレーティングシステム62によって行われる是正処置は、悪意あるソフトウェア74に対する一つまたはそれ以上の手段を(アプリケーションを通じて、または、直接的にオペレーティングシステム62自身を通じて)行うオペレーティングシステム62を含んでいる。悪意あるソフトウェア74を封じ込めること又は削除すること、悪意あるソフトウェア74によって冒されたファイルを修復すること、悪意あるソフトウェア74によって冒されたデータを回復すること、悪意あるソフトウェア74によって冒された一つまたはそれ以上のアプリケーションを修復すること、悪意あるソフトウェア74に関してコンピュータ10のユーザに知らせること、等を行う。
より特定的には、ここにおいて開示されるシステムおよび技術に従って、プロセッサ22は、システムマネジメントモード(SMM)を使用して、プロセッサ22によって検出されたあらゆる悪意ある活動をコンピュータ10のオペレーティングシステム62に対してレポートする。このようにして、オペレーションの最中に、プロセッサ22は時折SMMに入り、そこでプロセッサ22は、オペレーティングシステム62の実行をサスペンドして、コンピュータ10のBIOSに関連するインストラクションを実行する。当業者によって正しく理解され得るように、メモリまたはチップセットのエラーに付属するシステムイベントを取扱い、温度管理オペレーションを実行し、セキュリティ機能を実行し、信頼されたメモリと通信する、等といった目的のためである。ここにおいて説明されるように、プロセッサ22は、プロセッサ22によって検出された悪意ある活動をコンピュータ10のオペレーティングシステム62に対してレポートするために、さらに、SMMにおいてアクションを行うことができる。
ここにおいて開示される実施例に従って、プロセッサ22は、SMMに入っている場合に、あらゆる検出された悪意ある活動を、オペレーティングシステム62によってアクセス可能または読出し可能なメモリ30における一つまたはそれ以上の悪意ある活動ログ32の中にログする。このようにして、悪意ある活動ログ32は、あらゆる悪意ある活動に関してオペレーティングシステム62に知らせ、かつ、検出された悪意ある活動のアドレスに関してオペレーティングシステム62に知らせる。オペレーティングシステム62が、好適な是正措置を取ることができるようにである。
図2を参照すると、図1に関連して、ここにおいて開示される本発明の典型的な実施例に従えば、技術80は、コンピュータのBIOSに検出された悪意ある活動について警告すること(ブロック82)、および、検出された悪意ある活動に関連する、一つまたはそれ以上のマシンで実行可能なインストラクションのアドレスまたはロケーションを判断するためにBIOSを使用すること(ブロック84)、を含んでいる。BIOSは、検出されたウイルス性の活動をオペレーティングシステムに対してレポートするために使用され(ブロック86)、オペレーティングシステムは好適な是正措置を取ることができる。
図1に戻って参照すると、典型的な実施例に従えば、コンピュータ10は「物理的マシン」であり、コンピュータが実際のソフトウェアとハードウェアでできていることを意味している。限定でない例として、コンピュータ10は、クライアント、サーバ、スイッチ、ルータ、デスクトップコンピュータ、ポータブルコンピュータ、スマートフォン、タブレットコンピュータ、携帯電話、一つまたはそれ以上のこれらデバイスの組み合わせ、等であってよい。
より特定的には、物理的マシンであることで、コンピュータ10は、一つまたはそれ以上のプロセッサ22、メモリ40(例えば、ダイナミックランダムアクセスメモリ(DRAM))、ネットワークインターフェイス44、等といったハードウェア20を含んでいる。いくつかの実施例に従えば、プロセッサ22は、マイクロプロセッサ(インテル製Xeon(登録商標)マイクロプロセッサ)であってよく、一つまたはそれ以上のプロセッサコア24を有し、種々のマシンで実行可能なインストラクション、または「ソフトウェア」を実行する。
典型的な実施例に従えば、プロセッサ22は、プロセッサコア24を含んでいる一つまたはそれ以上のダイ(die)を有する集積回路パッケージであってよい。典型的な実施例に従えば、コンピュータ10上で実行されるソフトウェアは、一つまたはそれ以上のアプリケーション66を含んでよい。すなわち、一つまたはそれ以上のドライバ68、悪意ある活動であるシステムマネジメントインタラプト(SMI)ハンドラ70を含む(以下にさらに説明される)BIOS75、および、オペレーティングシステム62である。
所定の実施例に応じて、オペレーティングシステム62は、「ホスト」オペレーティングシステムであってよい。つまり、コンピュータ10上にインストールされ、仮想環境において動作しないオペレーティングシステムである。または、代替的に、オペレーティングシステム62は、仮想環境において動作する「ゲスト」オペレーティングシステムシステムであってよい。この点で、「ゲスト」オペレーティングシステムは、仮想マシン(VM)に関係付けられてよく、コンピュータ10の物理的リソースをコンピュータ10に係る他の類似のVMと共有する。これらの物理的リソースは、限定でない例として、ハードウェア20とマシンで実行可能なインストラクション60の種々のコンポーネントを含んでいる。
より特定的な例として、所定のゲストオペレーティングシステムは、仮想マシンモニタ(VMM)または「ハイパーバイザ(”hypervisor”)」であってよく、ハードウェア20を含む、コンピュータ10の物理的リソースのVMによる共有を管理する。一般的に、VMMは、それぞれのVMのオペレーティングシステムとコンピュータ10の根本的なハードウェア20との間のインターフェイスを提供する。
このアプリケーションのコンテクストにおいて、用語「オペレーティングシステム」は、このようにホストオペレーティングシステムを参照するものであり、VMMといった、ゲストオペレーティングシステムも同様に参照する。さらに、いくつかの実施例に従えば、「オペレーティングシステム」は、OSまたはMVMM(Measured Virtual Machine Monitor)といった、信頼されたオペレーティングシステムであってよい。典型的な実施例に従えば、コンピュータ10は、複数のオペレーティングシステム62(一つのオペレーティングシステムと一つまたはそれ以上のゲストオペレーティングシステム)を有し得ることに留意すべきである。
いくつかの実施例に従えば、コンピュータ10は、ピア(peer)モニタを含んでよい。システムマネジメントインタラプト(SMI)トランスファモニタ(STM)73とも呼ばれるものであり、メインのハイパーバイザと並行に実行され、OEMのSMMをゲストとしてホストすることを許可するハイパーバイザである。STM73は、従って、ここにおいて開示されるように、SMIハンドラ70の警告/回復ロジックを有してよい。そして、STM73がOEMのSMMコードの下で実行されるので、STM73は、OEMのSMMコードよりも高い優先度を有している。STM73は、CPUベンダによって引き渡されてよい。
プロセッサ22は、多くの方法のうちの一つにおいて悪意あるソフトウェア74の実行から生じる悪意ある活動を検出することができる。限定でない例として、プロセッサ22は、悪意あるソフトウェア74がプロセッサ22のコンフィグレーションビット26を変更しようと試みるときを検出することによって、悪意ある活動を検出し得る。例えば、コンフィグレーションビット26は、プロセッサ22のコンフィグレーションスペースレジスタ(CSR)ビットであってよく、チップセットとプロセッサのコンフィグレーションをエンコードするものである。プロセッサ22は、悪意あるソフトウェア74がコンフィグレーションビット26を変更することを妨げるために、「ロックス(”locks”)」と呼ばれる、セキュリティ機能を含んでよい。そして、さらに、ビット26を変更するための認定されていない試みが行われたとき(つまり、ロックスを取り除くことなくコンフィグレーションビット26を変更するための試みがなされたとき)を検出するために、コンフィグレーションビット26に対して試行されたアクセスをモニタするためのロジックを含んでよい。典型的な実施例に従えば、コンフィグレーションビット26の変更を試みる悪意あるソフトウェア74に応じて、プロセッサのロジックは、その試みに関してBIOS75に知らせるために、システムマネジメントインタラプト(SMI)を生成することによって対応する。
別の限定でない例として、プロセッサ22は、SMMの最中に、指定されたSMMメモリ領域28の外部でインストラクションを実行しようとする試みを検出することによって、悪意ある活動を検出することができる。このように、悪意あるソフトウェア74は、SMMにおけるプロセッサの実行を、認定されたSMMインストラクションの代わりに、悪意あるインストラクションへ向けるように試みる。プロセッサ22は、こうした試された実行を検出して、ゼネラルプロテクションエクセプション(GPE)をアサートするためのロジックを含んでよい。ロジックは、次に、現在のセッションがSMMからのリターン(RSM)を行った後で、SMIをトリガして、そうした試みに関してBIOS75に知らせる。このように、実施例に従えば、RSMに際して、プロセッサ22は、SMIを処理するためにSMMに戻る。
いくつかの実施例に従って、コンピュータ10は、悪意ある活動の検出に応じて、SMIハンドラ70(つまり、BIOSハンドラ)を呼び出す。一般的に、SMIハンドラはBIOS75の一部分であり、検出された悪意ある活動をオペレーティングシステム62に対してレポートする。より特定的には、典型的な実施例に従えば、ハンドラ70は、悪意あるソフトウェア74のアドレスを判断し、そのアドレスを悪意ある活動ログ32の中にログし、かつ、オペレーティングシステムコードの実行が再開されたときに、オペレーティングシステム62に警告してログ32を確認させるために信号をアサートする。このように、プロセッサ22がSMMから戻りオペレーティングシステムのインストラクションの実行を再開する場合、オペレーティングシステム62のハンドラ64は、信号に応じてログ32を読み出す。ハンドラは、検出された悪意ある活動をオペレーティングシステム62に報告し、悪意あるソフトウェア74のアドレスも同様に報告しする。オペレーティングシステム62が、好適な是正措置を取ることができるようにである。
典型的な実施例に従えば、メモリ30は、プロセッサ22の拡張マシンチェックアーキテクチャ(eMCA)メモリ22である。プロセッサ22の一つまたはそれ以上のレジスタといったものである。一般的に、eMCAメモリは、エラーステータスバンクを含んでおり、バンクは、SMMによってソフトウェアおよびハードウェアのエラーをログするといった他の目的のために使用される。プロセッサ22がSMMから戻る際に、SMMによって特定された、ハードウェア及び/又はソフトウェアのエラーを特定する目的のために、オペレーティングシステム62がeMCAメモリ30を読み出すようにである。ここにおいて開示される典型的な技術およびシステムに従って、eMCAメモリ30は、さらに、検出されたあらゆる悪意ある活動を列挙するログ32を含んでよい。
より特定的な実施例として、図3は、検出された悪意ある活動に応じて、コンピュータ10によって取られるアクションの説明図100である。図1に関連して図3を参照すると、この実施例では、プロセッサ22は、SMMにおいて、実行パス(path)106に沿ってSMMインストラクション104を実行している。プロセッサの実行を、SMM実行領域28の外部にある悪意あるインストラクション110に転換するための試みが(パス108で示されるように)なされるときにである。プロセッサ22は、この試みを検出し、それに応じて、ゼネラルプロテクションエクセプション(GPE)111を生成して、GPEハンドラ112を呼び出す。一般的に、GPEハンドラ112は、メモリ、またはスタックを使用して、悪意あるインストラクション110のアドレスまたはロケーションを保管する。GPEハンドラは、さらに、SMI114を生成して、SMIハンドラ70を呼び出す。
SMIハンドラ70は、メモリ30の中にログ32を作成し、ログは、悪意あるインストラクション110のロケーションを含んでいる。GPEハンドラ112のスタックに保管されたロケーションによって指示されるようにである。SMIハンドラ70は、次に、124に進んで終了する。終了の際に、ハンドラは、オペレーティングシステム62に対してメモリ30を確認するように警告する130。
限定でない例として、いくつかの実施例に従えば、ウイルス性のSMIハンドラ70は、”SIGNAL_MCE”と呼ばれる信号をアサートし、SMM終了に際してMCAインタラプトを生成する。MCAインタラプトは、今度は、オペレーティングシステムのインストラクションが再開するときに、オペレーティングシステム62にメモリ30を確認させる。限定でない例として、いくつかの実施例に従えば、SIGNAL_MCE信号は、プロセッサ22のレジスタビットによって設定されてよい。従って、SIGNAL_MCE信号のアサーション(assertion)に応じて、ハンドラ64が呼び出され、検出された悪意ある活動と悪意ある活動のアドレスがログ32を介してハンドラに知らされる。ハンドラ64は、そして、好適な是正措置を取ることができる。
図4は、別の実施例に従って、悪意ある活動に応じてコンピュータ10が取る行為を示している。図1と併せて図4を参照すると、この典型的な悪意ある活動に対して、オペレーティングシステム62の悪意あるインストラクション152は、参照番号154と158によって示されているように、プログラム22のロックされたコンフィグレーションビット22へのアクセスを試みる。プロセッサ22は、この試みられたアクセスを検出し、対応してSMIを生成する160。そして、プロセッサをSMMに入らせ、SMIハンドラ70を呼び出させる。
この実施例に対して、SMIハンドラ70は、プロセッサのセレクタとインタラクションポインタ(CS:RIP)のコンテンツを検査することによって悪意あるインストラクションのアドレスを判断する。ハンドラ50は、そして、メモリ30のログ32の中に対応するログを作成する。ログは、悪意あるインストラクション152のアドレスを含んでいる。SMIハンドラ70は、次に、170に進んでSMMモードを終了し、オペレーティングシステム62に対して警告する174。限定でない例として、この警告は、SIGNAL_MCE信号をアサートすることを含んでよく、MCEインタラプトのアサーションを生じさせる。こうして、SIGNAL_MCE信号のアサーションにより、オペレーティングシステムハンドラ64は、検出された悪意ある活動および悪意ある活動のアドレスを、ログ32を介して知らされる。そして、オペレーティングシステムハンドラ64は、次に、好適な是正措置を取ることができる176。
図5を参照すると、典型的な実施例に従って、コンピュータ10は一つのハードウェアアーキテクチャ200を有してよい。しかし、コンピュータ10は、さらなる実施例に従って、他のハードウェアアーキテクチャを有してもよい。さらに、図5に示される実施例は簡素化されており、他の実施例に従えば、ハードウェアアーキテクチャ200は、追加の又は異なるコンポーネントを有してよい。
この実施例に対して、アーキテクチャ200は、複数のプロセッサ22(限定でない例として、図5ではプロセッサ22−1と22−2が示されている)を含んでおり、フロント側バス204に接続されている。メモリコントローラハブ(MCH)208は、フロント側バス204に接続されており、メモリ40へのアクセスをコントロールし、同様に、プロセッサに対して入力/出力 I/Oコントローラハブ(ICH)214へのアクセスを提供する。このようにして、MCH208とICH214は、ハブリンク212を通してコミュニケーションすることができる。
一般的に、ICH214は、ユニバーサルシリアルバス(USB)上のオペレーションをコントロールする。限定でない例として、USB224は、ユニバーサルシリアルバス3.0仕様、1.0改訂版、2011年6月6日、に準じるものである。ICH214は、さらに、例えば、I/O拡張バス228といった、一つまたはそれ以上のバス上のオペレーションをコントロールする。さらに、ICH214は、ネットワークインターフェイス44とコミュニケーションして、少なくとも一つのハードドライブ220のオペレーションをコントロールする。
以降の実施例は、さらなる具体例に関するものである。
一つの実施例において、本装置は、オペレーティングシステムによってアクセス可能なメモリと、検出された悪意あるソフトウェア活動に応じて、前記メモリの中にデータを保管して、前記活動を前記オペレーティングシステムに対してレポートする、基本入力/出力システム(BIOS)ハンドラと、を含む。
いくつかの実施例において、前記BIOSハンドラは、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断し、かつ、前記アドレスを表すデータを前記メモリの中に保管する。いくつかの実施例において、前記メモリは、マイクロプロセッサのレジスタの少なくとも一つのビットを含む。いくつかの実施例において、前記BIOSハンドラは、信号をアサートして、前記オペレーティングシステムに対して前記メモリを確認するように警告する。いくつかの実施例において、前記BIOSハンドラは、システムマネジメントインタラプトに応じて呼び出される。いくつかの実施例において、前記BIOSハンドラは、プロセッサのロックされたコンフィグレーションビットを変更するためのインストラクションを実行する試みを検出したことに応じて、呼び出されるように適合されている。いくつかの実施例において、前記BIOSハンドラは、システムマネジメントモードの最中に、プロセッサの実行をシステムマネジメントモードインストラクションに対して期待されるロケーションの外部に保管されたインストラクションへ向けるためのインストラクションを実行する試みに応じて、呼び出されるように適合されている。いくつかの実施例において、前記BIOSハンドラは、少なくとも部分的にコードセレクタとプロセッサのインストラクションポインタに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断するように適合されている。いくつかの実施例において、前記BIOSハンドラは、ゼネラルプロテクションエクセプション(GPE)ハンドラによって使用されるスタックから、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断するように適合されている。いくつかの実施例において、前記オペレーティングシステムは、ホストオペレーティングシステムまたはゲストオペレーティングシステムである。
いくつかの実施例において、本方法は、BIOSに、検出された前記コンピュータ上での悪意あるソフトウェア活動について警告するステップと、前記コンピュータのオペレーティングシステムに対して前記検出をレポートするために、前記BIOSを使用するステップと、を含む。
いくつかの実施例において、前記BIOSを使用するステップは、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを前記オペレーティングシステムに対してレポートする段階、を含む。いくつかの実施例において、前記BIOSに警告するステップは、プロセッサのロックされたコンフィグレーションビットを変更するためのインストラクションを実行する検出された試みに応じて、少なくとも一つのBIOSインストラクションを実行する段階、を含む。いくつかの実施例において、前記BIOSに警告するステップは、プロセッサのシステムマネジメントモードの最中に、前記プロセッサをシステムマネジメントモードインストラクションに対して期待されるロケーションの外部に保管されたインストラクションを実行するように仕向けるためのインストラクションを実行する試みに応じて、少なくとも一つのBIOSインストラクションを実行する段階、を含む。いくつかの実施例において、前記検出をレポートするために前記BIOSを使用するステップは、少なくとも部分的にコードセレクタとプロセッサのインストラクションポインタに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを報告する段階、を含む。いくつかの実施例において、前記検出をレポートするために前記BIOSを使用するステップは、少なくとも部分的にゼネラルプロテクションエクセプション(GPE)ハンドラによって使用されるスタックコンテンツに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを報告する段階、を含む。いくつかの実施例において、レポートするために前記BIOSを使用するステップは、前記オペレーティングシステムによってアクセス可能なメモリを、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを表すデータで更新する段階、を含む。いくつかの実施例において、レポートするために前記BIOSを使用するステップは、前記検出された悪意あるソフトウェア活動について前記オペレーティングシステムに対して警告するために、プロセッサレジスタのコンテンツを変更する段階、を含む。
いくつかの実施例において、本装置は、上記に説明された方法に係る機能を実行するように構成されたプロセッサを含む。
いくつかの実施例において、少なくとも一つのマシンで読取り可能な媒体は、コンピュータデバイス上で実行されると、上記に説明された方法の機能を前記コンピュータデバイスに実行させる複数のインストラクションを含む。
ここにおいて、限られた数の実施例が開示されてきたが、この発明開示の利益を有しことで、当業者であれば、そうした実施例から多くの変形およびバリエーションを理解するであろう。添付の特許請求の範囲は、全てのこうした変形およびバリエーションをカバーするように意図されたものである。

Claims (21)

  1. オペレーティングシステムによってアクセス可能なメモリと、
    検出された悪意あるソフトウェア活動に応じて、前記メモリの中にデータを保管して、前記活動を前記オペレーティングシステムに対してレポートする、基本入力/出力システム(BIOS)ハンドラと、
    を含む、装置。
  2. 前記BIOSハンドラは、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断し、かつ、前記アドレスを表すデータを前記メモリの中に保管する、
    請求項1に記載の装置。
  3. 前記メモリは、マイクロプロセッサのレジスタの少なくとも一つのビットを含む、
    請求項1に記載の装置。
  4. 前記BIOSハンドラは、信号をアサートして、前記オペレーティングシステムに対して前記メモリを確認するように警告する、
    請求項1に記載の装置。
  5. 前記BIOSハンドラは、システムマネジメントインタラプトに応じて呼び出される、
    請求項1に記載の装置。
  6. 前記BIOSハンドラは、プロセッサのロックされたコンフィグレーションビットを変更するためのインストラクションを実行する試みを検出したことに応じて、呼び出されるように適合されている、
    請求項1に記載の装置。
  7. 前記BIOSハンドラは、システムマネジメントモードの最中に、プロセッサの実行をシステムマネジメントモードインストラクションに対して期待されるロケーションの外部に保管されたインストラクションへ向けるためのインストラクションを実行する試みに応じて、呼び出されるように適合されている、
    請求項1に記載の装置。
  8. 前記BIOSハンドラは、少なくとも部分的にコードセレクタとプロセッサのインストラクションポインタに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断するように適合されている、
    請求項1に記載の装置。
  9. 前記BIOSハンドラは、ゼネラルプロテクションエクセプション(GPE)ハンドラによって使用されるスタックから、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを判断するように適合されている、
    請求項1に記載の装置。
  10. 前記オペレーティングシステムは、ホストオペレーティングシステムまたはゲストオペレーティングシステムを含む、
    請求項1に記載の装置。
  11. コンピュータのプロセッサが、
    オペレーティングシステムによってメモリにアクセスするステップと、
    検出された前記コンピュータ上での悪意あるソフトウェア活動に応じて、前記メモリの中にデータを保管するステップと、
    前記コンピュータの基本入力/出力オペレーティングシステム(BIOS)に、前記検出された前記コンピュータ上での悪意あるソフトウェア活動について警告するステップと、
    前記コンピュータの前記オペレーティングシステムに対して前記検出をレポートするために、前記BIOSを使用するステップと、
    を含む、方法。
  12. 前記BIOSを使用するステップは、
    前記コンピュータのプロセッサが、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを前記オペレーティングシステムに対してレポートする段階、を含む、
    請求項11に記載の方法。
  13. 前記BIOSに警告するステップは、
    前記コンピュータのプロセッサが、前記プロセッサのロックされたコンフィグレーションビットを変更するためのインストラクションを実行する検出された試みに応じて、少なくとも一つのBIOSインストラクションを実行する段階、を含む、
    請求項11に記載の方法。
  14. 前記BIOSに警告するステップは、
    前記コンピュータのプロセッサが、前記プロセッサのシステムマネジメントモードの最中に、前記プロセッサをシステムマネジメントモードインストラクションに対して期待されるロケーションの外部に保管されたインストラクションを実行するように仕向けるためのインストラクションを実行する試みに応じて、少なくとも一つのBIOSインストラクションを実行する段階、を含む、
    請求項11に記載の方法。
  15. 前記検出をレポートするために前記BIOSを使用するステップは、
    前記コンピュータのプロセッサが、少なくとも部分的にコードセレクタとプロセッサのインストラクションポインタに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを報告する段階、を含む、
    請求項11に記載の方法。
  16. 前記検出をレポートするために前記BIOSを使用するステップは、
    前記コンピュータのプロセッサが、少なくとも部分的にゼネラルプロテクションエクセプション(GPE)ハンドラによって使用されるスタックコンテンツに基づいて、前記悪意あるソフトウェア活動に関する少なくとも一つのマシンで実行可能なインストラクションのアドレスを報告する段階、を含む、
    請求項11に記載の方法。
  17. レポートするために前記BIOSを使用するステップは、
    前記コンピュータのプロセッサが、前記オペレーティングシステムによってアクセス可能なメモリを、前記悪意あるソフトウェア活動に関する少なくとも一つの実行可能なインストラクションのアドレスを表すデータで更新する段階、を含む、
    請求項11に記載の方法。
  18. レポートするために前記BIOSを使用するステップは、
    前記コンピュータのプロセッサが、前記検出された悪意あるソフトウェア活動について前記オペレーティングシステムに対して警告するために、プロセッサレジスタのコンテンツを変更する段階、を含む、
    請求項11に記載の方法。
  19. 請求項11乃至18いずれか一項に記載の方法を実行するように構成されたプロセッサを含む、装置。
  20. コンピュータデバイス上で実行されると、請求項11乃至18いずれか一項に記載の方法を前記コンピュータデバイスに実行させる複数のインストラクションを含む、少なくとも一つのマシンで読取り可能な媒体。
  21. コンピュータデバイス上で実行されると、請求項11乃至18いずれか一項に記載の方法を前記コンピュータデバイスに実行させる複数のインストラクションを含む、コンピュータプログラム。
JP2015501648A 2012-03-30 2012-03-30 オペレーティングシステムに対する悪意ある活動のレポート Expired - Fee Related JP5951879B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031511 WO2013147859A1 (en) 2012-03-30 2012-03-30 Reporting malicious activity to an operating system

Publications (2)

Publication Number Publication Date
JP2015514252A JP2015514252A (ja) 2015-05-18
JP5951879B2 true JP5951879B2 (ja) 2016-07-13

Family

ID=49260914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501648A Expired - Fee Related JP5951879B2 (ja) 2012-03-30 2012-03-30 オペレーティングシステムに対する悪意ある活動のレポート

Country Status (7)

Country Link
US (1) US9507937B2 (ja)
EP (1) EP2831788B1 (ja)
JP (1) JP5951879B2 (ja)
KR (1) KR101701014B1 (ja)
CN (1) CN104205113B (ja)
AU (2) AU2012375309A1 (ja)
WO (1) WO2013147859A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275593B2 (en) * 2013-04-01 2019-04-30 Uniquesoft, Llc Secure computing device using different central processing resources
US9519775B2 (en) * 2013-10-03 2016-12-13 Qualcomm Incorporated Pre-identifying probable malicious behavior based on configuration pathways
US9213831B2 (en) 2013-10-03 2015-12-15 Qualcomm Incorporated Malware detection and prevention by monitoring and modifying a hardware pipeline
US9817975B2 (en) * 2015-01-26 2017-11-14 Dell Products, Lp Method for logging firmware attack event and system therefor
US9984230B2 (en) * 2015-06-26 2018-05-29 Mcafee, Llc Profiling event based exploit detection
JP6123931B1 (ja) * 2016-03-15 2017-05-10 日本電気株式会社 情報処理装置、情報処理方法、およびプログラム
US10949540B2 (en) * 2018-03-20 2021-03-16 Dell Products L.P. Security policy enforcement based on dynamic security context updates
US11151285B2 (en) * 2019-03-06 2021-10-19 International Business Machines Corporation Detecting sensitive data exposure via logging
US11948008B2 (en) 2019-04-30 2024-04-02 Hewlett-Packard Development Company, L.P. System management memory coherency detection
US10809944B1 (en) 2020-01-22 2020-10-20 Cypress Semiconductor Corporation Memory device resilient to cyber-attacks and malfunction

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5911777A (en) * 1996-07-05 1999-06-15 Ncr Corporation Method and apparatus for reporting unauthorized attempt to release a portable computer from a docking station
US6581162B1 (en) * 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
TW452733B (en) * 1999-11-26 2001-09-01 Inventec Corp Method for preventing BIOS from viruses infection
JP2002269065A (ja) * 2001-03-08 2002-09-20 Mitsubishi Electric Corp プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ
US7363657B2 (en) * 2001-03-12 2008-04-22 Emc Corporation Using a virus checker in one file server to check for viruses in another file server
TWI286701B (en) * 2002-01-09 2007-09-11 Via Tech Inc Process for avoiding system infection of software viruses
US7043666B2 (en) * 2002-01-22 2006-05-09 Dell Products L.P. System and method for recovering from memory errors
US7451324B2 (en) * 2002-05-31 2008-11-11 Advanced Micro Devices, Inc. Secure execution mode exceptions
US7421431B2 (en) * 2002-12-20 2008-09-02 Intel Corporation Providing access to system management information
US7051222B2 (en) * 2002-12-31 2006-05-23 Intel Corporation Robust computer subsystem power management with or without explicit operating system support
US7308584B2 (en) * 2003-08-14 2007-12-11 International Business Machines Corporation System and method for securing a portable processing module
US20050166213A1 (en) * 2003-12-31 2005-07-28 International Business Machines Corporation Remote deployment of executable code in a pre-boot environment
US7370190B2 (en) * 2005-03-03 2008-05-06 Digimarc Corporation Data processing systems and methods with enhanced bios functionality
US7500095B2 (en) * 2006-03-15 2009-03-03 Dell Products L.P. Chipset-independent method for locally and remotely updating and configuring system BIOS
US20070258469A1 (en) * 2006-05-05 2007-11-08 Broadcom Corporation, A California Corporation Switching network employing adware quarantine techniques
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates
US8341428B2 (en) * 2007-06-25 2012-12-25 International Business Machines Corporation System and method to protect computing systems
US8108768B2 (en) * 2007-07-20 2012-01-31 International Business Machines Corporation Improving efficiency of content rule checking in a content management system
WO2010116536A1 (en) * 2009-04-06 2010-10-14 Hitachi, Ltd. Storage subsystem and its control method
US8578138B2 (en) * 2009-08-31 2013-11-05 Intel Corporation Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode
JP2011113518A (ja) * 2009-11-30 2011-06-09 Toshiba Corp 情報処理装置及びロック設定方法
US9063836B2 (en) * 2010-07-26 2015-06-23 Intel Corporation Methods and apparatus to protect segments of memory
US20120297177A1 (en) * 2010-11-15 2012-11-22 Ghosh Anup K Hardware Assisted Operating System Switch
US8813227B2 (en) * 2011-03-29 2014-08-19 Mcafee, Inc. System and method for below-operating system regulation and control of self-modifying code
CN103620613B (zh) * 2011-03-28 2018-06-12 迈克菲股份有限公司 用于基于虚拟机监视器的反恶意软件安全的系统和方法
US8918907B2 (en) * 2011-04-13 2014-12-23 Phoenix Technologies Ltd. Approaches for firmware to trust an application
CN104115125B (zh) * 2011-12-29 2017-12-01 英特尔公司 安全的错误处理

Also Published As

Publication number Publication date
US9507937B2 (en) 2016-11-29
WO2013147859A1 (en) 2013-10-03
US20130340081A1 (en) 2013-12-19
KR20140138206A (ko) 2014-12-03
CN104205113B (zh) 2017-07-11
EP2831788A4 (en) 2015-10-14
AU2012375309A1 (en) 2014-09-25
EP2831788B1 (en) 2018-05-02
KR101701014B1 (ko) 2017-01-31
EP2831788A1 (en) 2015-02-04
AU2016206224A1 (en) 2016-08-04
CN104205113A (zh) 2014-12-10
JP2015514252A (ja) 2015-05-18

Similar Documents

Publication Publication Date Title
JP5951879B2 (ja) オペレーティングシステムに対する悪意ある活動のレポート
JP6317435B2 (ja) マルウェア検出のための複雑なスコアリング
US9037873B2 (en) Method and system for preventing tampering with software agent in a virtual machine
US20170024238A1 (en) Apparatus for Hardware Accelerated Runtime Integrity Measurement
US9171159B2 (en) Performing security operations using binary translation
US11363058B2 (en) Detecting execution of modified executable code
US10621340B2 (en) Hybrid hypervisor-assisted security model
US11977631B2 (en) Hypervisor level signature checks for encrypted trusted execution environments
EP3365794B1 (en) Techniques for protecting memory pages of a virtual computing instance
US20210286877A1 (en) Cloud-based method to increase integrity of a next generation antivirus (ngav) security solution in a virtualized computing environment
JP2015166952A (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体
CN111194447B (zh) 监视控制流完整性
Suzaki et al. Kernel memory protection by an insertable hypervisor which has VM introspection and stealth breakpoints
CN111052114B (zh) 入侵检测系统
JP2018174001A (ja) 情報処理装置、情報処理監視方法、プログラム、及び記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160202

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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160608

R150 Certificate of patent or registration of utility model

Ref document number: 5951879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees