JP2017076369A - コンテナに基づく仮想化システム用動作キャプチャ方法、および装置 - Google Patents

コンテナに基づく仮想化システム用動作キャプチャ方法、および装置 Download PDF

Info

Publication number
JP2017076369A
JP2017076369A JP2016159649A JP2016159649A JP2017076369A JP 2017076369 A JP2017076369 A JP 2017076369A JP 2016159649 A JP2016159649 A JP 2016159649A JP 2016159649 A JP2016159649 A JP 2016159649A JP 2017076369 A JP2017076369 A JP 2017076369A
Authority
JP
Japan
Prior art keywords
signal
container
function
system call
kernel
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.)
Granted
Application number
JP2016159649A
Other languages
English (en)
Other versions
JP6196356B2 (ja
Inventor
マー,リャン
Liang Ma
ワン,バイシェン
Baisheng Wang
チュー,ニン
Ning Zhu
ワン,ジペン
Zhipeng Wang
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2017076369A publication Critical patent/JP2017076369A/ja
Application granted granted Critical
Publication of JP6196356B2 publication Critical patent/JP6196356B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

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

Abstract

【課題】コンテナに基づく仮想化システムの安全を確保する。【解決手段】ユーザモードでコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視する101。プロセス起動の動作が検出された場合、カーネルモードで信号処理動作をキャプチャし、前記プロセスにおいて未処理信号が存在するか否かを判断する102。未処理信号が存在する場合、未処理信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ未処理信号の信号番号を第1の関数へ転送する103。第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャする104。【選択図】図1

Description

本発明は、コンピュータ技術分野に関し、具体的に、コンピュータの安全技術分野に関し、特に、コンテナに基づく仮想化システム用動作キャプチャ方法、安全制御方法、および装置に関する。
仮想化とは、仮想化技術により、1つのコンピュータ(物理マシン)を複数の論理的なコンピュータ(仮想マシン)として仮想することを意味する。1つのコンピュータで同時に複数の論理的なコンピュータが実行され、各論理的なコンピュータが、異なるオペレーティングシステムを実行することができ、且つ、アプリプログラムのいずれも、互いに独立した空間において実行され、且つ互いに影響せず、したがってコンピュータの作業効率を著しく向上させる。現在、コンテナに基づく(Container−Based)仮想化技術は、最も広く用いられている仮想化技術の1つであり、それは、プロセスおよびリソースを隔離するように軽量レベルの仮想化を提供することができ、そして命令解釈機構および全仮想化の他の複雑な処理を提供する必要がない。コンテナに基づく仮想化システムは、すなわち、コンテナに基づく仮想化技術により作成された、コンテナおよびホストを含む仮想化環境である。コンテナ(Container)は、単一のオペレーティングシステムに管理されたリソースを孤立のグループに分けて、孤立のグループの間において、衝突のあるリソース使用要求をより良好にバランスする。従来の仮想化技術に比べて、コンテナに基づく仮想化技術の利点は、ホストと共に同じカーネルを用いることにより、性能損失が少なくなり、且つ、命令レベルの仮想を必要としないことにある。
しかしながら、コンテナに基づく仮想化システムにおいては、コンテナがホストカーネルへと直接にアクセスすることができるため、コンテナにおけるプロセスがホストカーネルを侵害してホストの制御権を取得することが非常に容易であり、したがって、ホスト全体およびその他のコンテナの安全を脅かすことが可能になる。コンテナに基づく仮想化システムの安全を確保するために、コンテナにおけるプロセスのホストカーネルへのアクセスする動作をキャプチャし、且つキャプチャされた動作に対する相応の処理を必要とするが、今までに、コンテナにおけるプロセスのホストカーネルへのアクセスする動作に対してキャプチャすることが実現できる方法はまだない。
本発明は、上記背景技術に記載された技術的課題を解決するために、コンテナに基づく仮想化システム用動作キャプチャ方法、安全制御方法、および装置を提供する目的とする。
第1の態様において、本発明は、コンテナに基づく仮想化システム用動作キャプチャ方法を提供し、この方法は、ユーザモードでコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するステップと、
前記プロセス起動の動作が検出された場合、カーネルモードで信号処理動作をキャプチャするステップと
を含み、
前記の信号処理動作をキャプチャするステップにおいては、
前記プロセスにおいて未処理信号が存在するか否かを判断するステップと、
前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するステップと、
前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするステップと
を含む。
第2の態様において、本発明は、コンテナに基づく仮想化システム用安全制御装置を提供し、この装置は、
第1の態様の前記方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャし、ここで、前記カーネルへのアクセスする動作が信号処理動作またはシステム呼出動作である動作キャプチャユニットと、
キャプチャされた動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得するための信号番号取得ユニットと、
前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行するための特権レベル切り替えユニットと
を備える。
第3態様において、本発明は、コンテナに基づく仮想化システム用動作キャプチャ装置を提供し、この装置は、ユーザモードでコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するためのプロセス起動監視ユニットと、プロセス起動監視ユニットによって前記プロセス起動の動作が検出された場合、カーネルモードで信号処理動作をキャプチャするステップを実行するための信号処理キャプチャユニットとを備え、
前記信号処理キャプチャユニットは、
前記プロセスにおいて未処理信号が存在するか否かを判断するための信号検出サブユニットと、
前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するための実行命令ジャンプサブユニットと、
前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするための信号処理キャプチャサブユニットと
を備える。
第4の態様において、本発明は、コンテナに基づく仮想化システム用安全制御装置を提供し、この装置は、
第1の態様の前記方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャし、ここで、前記カーネルへのアクセスする動作が信号処理動作またはシステム呼び出し動作である動作キャプチャユニットと、
キャプチャされた前記動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得するための信号番号取得ユニットと、
前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行するための特権レベル切り替えユニットと
を備える。
本発明により提供されたコンテナに基づく仮想化システム用動作キャプチャ方法、安全制御方法および装置は、プロセスにおける未処理信号に指示された実行命令を、カストマイズの第1の関数のエントリアドレスにジャンプし、したがって、カーネルをアクセス可能な信号処理動作をキャプチャした上で、コンテナにおけるプロセスのホストカーネルへのアクセスする動作に対してキャプチャすることが実現され、そして後続にキャプチャされた動作を安全に制御し、システムの安全を確保する。
以下の図面を参照しながら非限定的な実施例を詳細に説明することにより、本発明の他の特徴、目的および利点はより明らかになる。
本発明に係るコンテナに基づく仮想化システム用動作キャプチャ方法の一実施例を示すフローチャートである。 本発明に係るコンテナに基づく仮想化システム用動作キャプチャ方法の他の一実施例を示すフローチャートである。 本発明に係るコンテナに基づく仮想化システム用安全制御方法の一実施例を示すフローチャートである。 本発明に係るコンテナに基づく仮想化システム用動作キャプチャ装置の一実施例を示す構造模式図である。 本発明に係るコンテナに基づく仮想化システム用安全制御装置の一実施例を示す構造模式図である。 本発明の実施例を実現するためのコンテナに基づく仮想化システムに所在する物理マシンに適用されるコンピュータシステムを示す構造模式図である。
以下、図面および実施例を参照しながら、本発明をさらに詳しく説明する。ただし、ここで説明されている具体的な実施例は、係る発明を解釈するためのものに過ぎず、本発明の範囲を制限するものでないことが理解されるべきである。なお、説明の便宜上、図面に本発明と関連する部分のみが示されている。
ただし、衝突がない限り、本願における実施例及び実施例における特徴は互いに組み合せてもよい。以下、図面を参照しながら実施例に基づいて本願を詳しく説明する。
図1は、本発明に係るコンテナに基づく仮想化システム用動作キャプチャ方法の一実施例のフロー100を示す。
図1に示すように、本実施例のコンテナに基づく仮想化システム用動作キャプチャ方法は、次のステップ101〜104を含む。
ステップ101: ユーザモードでコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視する。
本実施例において、ステップ101は、前記プロセスが仮想化システムのホストにおける中央処理装置に呼び出されて実行されることに対応した動作を監視するステップを含んでもよい。CPU(中央処理装置)仮想化技術により、プロセスが実行する時にまずカーネルにおける1つの仮想CPUを使用するため、本ステップにおいて、上記プロセス起動の動作に対する監視を実現するように、仮想CPUの処理に監視処理を増加することができる。
ステップ102:上記プロセス起動の動作が監視された場合、カーネルモードで、上記プロセスにおいて未処理信号が存在するか否かを判断する。
本実施例において、上記プロセス起動の動作が監視された後に、カーネルモードで、上記プロセスのtask_struct構造(Linuxオペレーティングシステムに用いられるプロセス記述子)を取得することができ、当該task_struct構造により上記プロセスにおいて未処理信号が存在するか否かを判断することができる。
ステップ103:前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送する。
本実施例において、ステップ102の前に、ユーザモードで、前記第1の関数のエントリアドレスを上記仮想化システムにおけるホストカーネルに転送し、且つカーネルモードで、前記第1の関数のエントリアドレスをカーネル空間に保存することができる。それに応じて、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプする上記ステップにおいては、前記カーネル空間において記憶された前記第1の関数のエントリアドレスを取得するステップと、前記信号に指示された実行命令を前記第1の関数のエントリアドレスにジャンプするステップと、を含んでもよい。
ステップ104:前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャする。
各信号は、いずれもシステムのヘッダファイルで定義されている信号番号と呼ばれる正の整定数の1つに対応する。本実施例において、ステップ103において前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するため、第1の関数が呼び出されて実行された場合、第1の関数において転送された信号番号を取得することができ、そして当該信号番号に対応した信号処理動作をキャプチャした。
本実施例により提供されたコンテナに基づく仮想化システム用動作キャプチャ方法は、プロセスにおける未処理信号に指示された実行命令を、カストマイズの第1の関数のエントリアドレスにジャンプし、したがって、カーネルをアクセス可能な信号処理動作をキャプチャした上で、コンテナにおけるプロセスのホストカーネルへのアクセスする動作に対してキャプチャすることが実現された。
続いて、本発明に係るコンテナに基づく仮想化システム用動作キャプチャ方法の一実施例のフロー200を示した図2を参照する。
図2に示すように、本実施例のコンテナに基づく仮想化システム用動作キャプチャ方法は、次のステップ201〜203を含む。
ステップ201:ユーザモードでコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視する。
本実施例において、ステップ201の具体的な処理は、前記図1に対応した実施例におけるステップ101の詳細な説明を参照してもよく、ここで具体的な説明は省略する。
ステップ202:前記プロセス起動の動作が監視された場合、カーネルモードで信号処理動作をキャプチャするステップを実行する。
その中で、前記信号処理動作をキャプチャするステップは、下記のステップ2021〜2023を含み、
ステップ2021:前記プロセスにおいて未処理信号が存在するか否かを判断する。
ステップ2022:前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送する。
ステップ2023:前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャする。
本実施例において、ステップ2021、ステップ2022、およびステップ2023の具体的な処理は、それぞれ前記図1に対応した実施例におけるステップ102、ステップ103、およびステップ104の詳細な説明を参照してもよく、ここで具体的な説明は省略する。
ステップ203:前記プロセス起動の動作が監視された場合、システム呼び出し動作をキャプチャするステップを実行する。
その中で、前記システム呼び出し動作をキャプチャするステップにおいては、下記のステップ2031〜2033を含む。
ステップ2031:カーネルモードで、モデル固有レジスタ(Model Specific Register:MSR)を読み出すことにより、システムによって呼び出されたエントリアドレスを取得する。
本実施例において、ユーザモードで前記プロセス起動の動作が監視された場合、ユーザモードでカストマイズの命令(例えば、GET_SYSCALL)をカーネルモードにおける1つの所定のインターフェースへ送信することができる。カーネルモードの前記インターフェースが当該命令を受信した後に、MSR_LSTAR命令によりモデル固有レジスタを読み出してシステムによって呼び出されたエントリアドレスを取得することができる。
ステップ2032:ユーザモードで、前記エントリアドレスにおける、システムによって呼び出されたエントリ関数のアドレスをカストマイズの第2の関数のアドレスで代替する。
本実施例において、当該ステップは、前記プロセスのアドレス空間において実行されることができ、ステップ2021により取得された、システムによって呼び出されたエントリアドレスに記憶されたデータは、システムによって呼び出されたエントリ関数のアドレスであり、前記エントリアドレスに固有のデータをカストマイズの第2の関数のアドレスに変更し、このようにして前記プロセスがシステム呼び出し動作を行う場合、関連するエントリパラメータおよびシステム呼び出し番号を、第2の関数において取得することができる。
ステップ2033:前記第2の関数が呼び出された場合、前記第2の関数を呼び出すシステム呼び出し動作をキャプチャする。
本実施例において、ステップ2032により、前記プロセスがシステム呼び出し動作を行う場合、第2の関数において関連するエントリパラメータおよびシステム呼び出し番号を取得することが実現された。このため、第2の関数が呼び出されて実行された場合、当該システム呼び出し番号に対応したシステム呼び出し動作をキャプチャする。
説明すべきことは、ステップ203は、ステップ202と同時に実行されるてもよく、本実施例には、それらの実行される順番を限定しない。
図2から分かるように、図1に対応した実施例に比べて、本実施例における動作キャプチャ方法のフロー200には、システム呼び出し動作をキャプチャするステップが増加された。これにより、本実施例に記載の技術案では、コンテナにおけるプロセスのカーネルへのアクセスする動作を、より全般的にキャプチャすることができ、したがって後続にキャプチャされた動作に対して一定の安全対策を施した後に、コンテナに基づく仮想化システムの安全をより全般的に確保することができる。
以下、本発明に係るコンテナに基づく仮想化システム用安全制御方法の一実施例のフロー300を示す図3を参照する。
図3に示すように、本実施例のコンテナに基づく仮想化システム用安全制御方法は、次のステップ301〜303を含む。
ステップ301:図1または図2に対応した実施例に係る動作キャプチャ方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャし、前記カーネルへのアクセスする動作は、信号処理動作、またはシステム呼び出し動作である。
本実施例において、ステップ301の具体的な処理は、前記図1に対応した実施例におけるステップ101の詳細な説明を参照してもよく、ここでの具体的な説明は省略する。
ステップ302:キャプチャされた前記動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得する。
本実施例において、当該ステップは、図1または図2に対応した実施例における第1の関数により実行されることができ、ステップ301において未処理信号の信号番号を第1の関数へ転送したため、第1の関数において前記信号処理動作に対応した信号番号を得ることができる。
ステップ303:前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行する。
中央処理装置の特権レベルRing3は、現在の権限が一番低い特権レベルであり、Ring3で実行されたプログラムは、相対的な安全である命令しか実行できなく、Ring3レベルより高い、相対的に危険な命令(例えば、Ring0命令)を実行することができないため、本実施例において、前記信号番号に対応した信号に指示された実行命令を中央処理装置の特権レベルRing3へ切り替えて実行し、キャプチャされた信号処理動作に対応した実行命令に安全モードで実行させ、コンテナに基づく仮想化システムの安全性を向上した。
本実施例のいくつかの実現形態において、ステップ301は、図2に対応した実施例の動作キャプチャ方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャすることができる。また、本実施例に係る安全制御方法は、
キャプチャされた前記動作がシステム呼び出し動作である場合、キャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全か否かを判断するステップと、前記システム呼び出し動作が安全でない場合、前記システム呼び出し動作を阻止するステップと、を含んでもよい。
その中で、キャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全か否かを判断するステップにおいては、予め設定された設定ファイルにより前記システム呼び出し動作が安全であるか否かを判断するステップを含んでもよく、前記設定ファイルは、被検システム呼び出し番号および/または被保護リソースと、前記システム呼び出し番号および/または被保護リソースに関連する動作指示とを指定するために用いられる。例えば、ある経路におけるファイルを保護しようとしており、これらのファイルに対して書込み動作が禁止される場合、設定ファイルにおいては、システム呼び出し番号がwrite()システム呼び出しに対応したシステム呼び出し番号であり、且つエントリパラメータが当該経路を含有する時に使用する処置(例えば、当該システム呼び出しを阻止すること)を、設定することができる。
前記実現形態は、システム呼び出し動作に対する安全制御方法を追加したことにより、本発明の安全制御方法が、コンテナに基づく仮想化システムをより全般的に保護することができる。
本実施例に係るコンテナに基づく仮想化システム用安全制御方法は、キャプチャされた信号処理動作に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えして実行することにより、前記実行命令に安全モードで実行させ、危険な命令の実行を阻止し、コンテナに基づく仮想化システムの安全性を向上した。
さらに、前記図1に示す方法の実現形態として、本発明は、図4に示すように、コンテナに基づく仮想化システム用動作キャプチャ装置の一実施例を提供した。当該装置の実施例は、図1に示す方法の実施例に対応している。当該装置は、具体的に、コンテナに基づく仮想化システムに用いられることができる。
図4に示すように、本実施例の動作キャプチャ装置400は、プロセス起動監視ユニット401と、信号処理キャプチャユニット402とを含む。その中で、プロセス起動監視ユニット401は、ユーザモードで、コンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するために用いられる。信号処理キャプチャユニット402は、プロセス起動監視ユニットによって前記プロセス起動の動作が監視された場合、カーネルモードで、信号処理動作をキャプチャするステップを実行するために用いられる。その中で、信号処理キャプチャユニット402は、前記プロセスにおいて未処理信号が存在するか否かを判断するための信号検出サブユニット4021と、前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するための実行命令ジャンプサブユニット4022と、前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするための信号処理キャプチャサブユニット4023と、を備える。
本実施例において、プロセス起動監視ユニット401は、さらに、前記プロセスが前記仮想化システムのホストにおける中央処理装置に呼び出されて実行されることに対応した動作を監視するように構成される。プロセス起動監視ユニット401の具体的な処理は、図1に対応した実施例におけるステップ101の詳細な説明を参照してもよく、ここで具体的な説明は省略する。
本実施例において、実行命令ジャンプサブユニット4022は、前記カーネル空間に記憶された前記第1の関数のエントリアドレスを取得するための第1の関数エントリアドレス取得モジュール(図示せず)と、前記信号に指示された実行命令を前記第1の関数のエントリアドレスにジャンプする実行命令ジャンプモジュール(図示せず)とを含んでもよい。
本実施例において、信号検出サブユニット4021、実行命令ジャンプサブユニット4022、および信号処理キャプチャサブユニット4023の具体的な処理は、それぞれ図1に対応した実施例におけるステップ102、ステップ103、ステップ104の詳細な記載を参照してもよく、ここで具体的な説明は省略する。
本実施例のいくつかの実現形態において、本実施例の動作キャプチャ装置は、さらに、プロセス起動監視ユニットによって前記プロセス起動の動作が監視された場合、システム呼び出し動作をキャプチャするステップを実行するためのシステム呼び出しキャプチャユニット403を備えてもよい。その中で、システム呼び出しキャプチャユニット403は、カーネルモードで、モデル固有レジスタを読み出すことにより、システムによって呼び出されたエントリアドレスを取得するためのシステム呼び出しエントリアドレス取得サブユニット4031と、 ユーザモードで、前記エントリアドレスにおける、システムによって呼び出されたエントリ関数のアドレスをカストマイズの第2の関数のアドレスで代替するためのアドレス代替サブユニット4032と、前記第2の関数が呼び出された場合、前記第2の関数を呼び出すシステム呼び出し動作をキャプチャするためのシステム呼び出しキャプチャサブユニット4033と、を備える。
システム呼び出しエントリアドレス取得サブユニット4031、アドレス代替サブユニット4032、およびシステム呼び出しキャプチャサブユニット4033は、それぞれ図2に対応した実施例におけるステップ2031、ステップ2032、ステップ2033の詳細な記載を参照してもよく、ここで具体的な説明は省略する。
前記実現形態によれば、本実施例に係る動作キャプチャ方法は、コンテナにおけるプロセスのカーネルへのアクセスする動作を、より全般的にキャプチャすることができ、したがって後続にキャプチャされた動作に対して一定の安全対策を施した後に、コンテナに基づく仮想化システムの安全をより全般的に確保することができる。
本実施例のいくつかの実現形態において、信号処理キャプチャユニット402は、前記プロセスにおいて未処理信号が存在するか否かを判断する前に、ユーザモードで、前記第1の関数のエントリアドレスを、前記仮想化システムの中のホストのカーネルに転送し、且つ、カーネルモードで、前記第1の関数のエントリアドレスをカーネル空間に保存するためのアドレス転送サブユニット(図示せず)を、さらに備えてもよい。
本実施例により提供されたコンテナに基づく仮想化システム用動作キャプチャ装置は、命令ジャンプサブユニット4022を実行することにより、プロセスにおける未処理信号に指示された実行命令を、カストマイズの第1の関数のエントリアドレスにジャンプし、したがって、カーネルをアクセス可能な信号処理動作をキャプチャした上で、コンテナにおけるプロセスのホストカーネルへのアクセスする動作に対してキャプチャすることが実現された。
前記動作キャプチャ装置400が、例えば、プロセッサ、メモリなどのいくつかの他の公知の構造をさらに備えてもよく、本発明の実施例を曖昧にすることを回避するために、これらの公知の構造が図4に示されていないことを、当業者は理解することができる。
続いて、前記図3に示す方法の実現形態として、本発明は、図5に示すように、コンテナに基づく仮想化システム用安全制御装置の一実施例を提供した。当該装置の実施例は、図3に示す方法の実施例に対応している。当該装置は、具体的に、コンテナに基づく仮想化システムに用いられることができる。
図5に示すように、本実施例の安全制御装置500は、動作キャプチャユニット501と、信号番号取得ユニット502と、特権レベル切り替えユニット503と、を備える。その中で、動作キャプチャユニット501は、図4に対応した実施例で提供された装置により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャするために用いられ、ここで、前記カーネルへのアクセスする動作が信号処理動作またはシステム呼び出し動作である。信号番号取得ユニット502は、キャプチャされた前記動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得するために用いられる。特権レベル切り替えユニット503は、前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行するために用いられる。
本実施例において、動作キャプチャユニット501、信号番号取得ユニット502、および特権レベル切り替えユニット503は、それぞれ図3に対応した実施例におけるステップ301、ステップ302、ステップ303の詳細な記載を参照してもよく、ここで具体的な説明は省略する。
本実施例のいくつかの実現形態において、本実施例の安全制御装置は、キャプチャされた前記動作がシステム呼び出し動作である場合、キャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全か否かを判断するための安全確定ユニット504と、前記システム呼び出し動作が安全でない場合、前記システム呼び出し動作を阻止するための動作阻止ユニット505とを、さらに備える。
その中で、安全確定ユニット504は、さらに、予め設定された設定ファイルにより前記システム呼び出し動作が安全であるか否かを判断するように構成されてもよく、前記設定ファイルは、被検システム呼び出し番号および/または被保護リソースと、前記システム呼び出し番号および/または被保護リソースに関連する動作指示とを指定するために用いられる。安全確定ユニット504、および動作阻止ユニット505の具体的な処理とそれによって得られた技術的効果は、図3に対応した実施例における関連実現形態の詳細な説明を参照してもよく、ここでの具体的な説明は省略する。
本実施例に係るコンテナに基づく仮想化システム用安全制御装置は、特権レベル切り替えユニット503で、キャプチャされた信号処理動作に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えして実行することにより、前記実行命令に安全モードで実行させ、危険な命令の実行を阻止し、コンテナに基づく仮想化システムの安全性を向上した。
前記安全制御装置500が、例えば、プロセッサ、メモリなどのいくつかの他の公知の構造をさらに備えてもよく、本発明の実施例を曖昧にすることを回避するために、これらの公知の構造を図5に示さなかったことを、当業者は理解することができる。
以下、本発明の実施例を実現するためのコンテナに基づく仮想化システムに適用されるコンピュータシステム600を示す構造模式図である図6を参照する。
図6に示すように、コンピュータシステム600は、読み出し専用メモリ(ROM)602に記憶されているプログラム又は記憶部608からランダムアクセスメモリ(RAM)603にロードされたプログラムに基づいて様々な適当な動作および処理を実行することができる中央処理装置(CPU)601を備える。RAM603には、システム600の操作に必要な様々なプログラムおよびデータがさらに記憶されている。CPU601、ROM602およびRAM603は、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
キーボード、マウスなどを含む入力部606、陰極線管(CRT)、液晶ディスプレイ(LCD)など、およびスピーカなどを含む出力部607、ハードディスクなどを含む記憶部608、およびLANカード、モデムなどを含むネットワークインターフェースカードの通信部609は、I/Oインターフェース605に接続されている。通信部609は、例えばインターネットのようなネットワークを介して通信処理を実行する。ドライバ610は、必要に応じてI/Oインターフェース605に接続される。リムーバブルメディア611は、例えば、マグネチックディスク、光ディスク、光磁気ディスク、半導体メモリなどのようなものであり、必要に応じてドライバ610に取り付けられ、したがって、ドライバ610から読み出されたコンピュータプログラムが必要に応じて記憶部608にインストールされる。
特に、本発明の実施例によれば、上記フローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本発明の実施例は、コンピュータプログラム製品を含み、当該コンピュータプログラム製品は、機械可読媒体に有形に具現化されるコンピュータプログラムを含み、前記コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、当該コンピュータプログラムは、通信部609を介してネットワークからダウンロードされてインストールされてもよく、および/またはリムーバブルメディア611からインストールされてもよい。
図面におけるフローチャートおよびブロック図は、本発明の各実施例に係るシステム、方法およびコンピュータプログラム製品により実現可能なアーキテクチャ、機能及び操作を示す。ここで、フローチャートまたはブロック図における各枠は、1つのモジュール、プログラムセグメント、またはコードの一部を代表してもよく、前記モジュール、プログラムセグメント、またはコードの一部は、規定された論理機能を実現するための1つ以上の実行可能な命令を含む。なお、いくつかの代替実施態様として、枠に示された機能は、図面に示された順番と異なる順番で実行されてもよい。例えば、連続して示された2つの枠は、関連する機能に応じて、実際にほぼ並行に実行されてもよく、逆の順番で実行されてもよい。なお、ブロック図および/またはフローチャートにおける各枠と、ブロック図および/またはフローチャートにおける枠の組合せは、規定された機能または操作を実行する、ハードウェアに基づく専用システムで実現されてもよく、あるいは、専用ハードウェアとコンピュータの命令との組合せで実行されてもよい。
本発明の実施例に記載されたユニットは、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載されたユニットは、プロセッサに設定されてもよく、例えば、「プロセス起動監視ユニット、および信号処理キャプチャユニットを備えるプロセッサ」として記載されてもよい。その中でも、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではなく、例えば、信号処理キャプチャユニットは、「キャプチャ信号処理ユニット」として記載されてもよい。
一方、本発明は、不揮発性コンピュータ記憶媒体をさらに提供し、当該不揮発性コンピュータ記憶媒体は、上記実施例の前記装置に含まれる不揮発性コンピュータ記憶媒体であってもよく、独立に存在して端末に組み立てられていない不揮発性コンピュータ記憶媒体であってもよい。前記不揮発性コンピュータ記憶媒体は、1つ以上のプログラムが記憶され、前記1つ以上のプログラムが1つの機器により実行された場合、上記機器に以下の通りにさせ、すなわち、ユーザモードで、コンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視し、前記プロセス起動の動作が監視された場合、カーネルモードで、信号処理動作をキャプチャするステップを実行し、前記信号処理動作をキャプチャするステップにおいては、前記プロセスにおいて未処理信号が存在するか否かを判断するステップと、前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するステップと、前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするステップと、を含む。
以上の記載は、本発明の好ましい実施例、および使用された技術的原理の説明に過ぎない。本発明に係る特許請求の範囲が、上記技術的特徴の特定な組合せからなる技術案に限定されることではなく、本発明の趣旨を逸脱しない範囲で、上記技術的特徴または同等の特徴の任意の組合せからなる他の技術案も含むべきであることを、当業者は理解すべきである。例えば、上記特徴と、本発明に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。

Claims (16)

  1. ユーザモードで、コンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するステップと、
    前記プロセス起動の動作が検出された場合、カーネルモードで、信号処理動作をキャプチャするステップを実行するステップと、を含み、
    前記の信号処理動作をキャプチャするステップにおいては、
    前記プロセスにおいて未処理信号が存在するか否かを判断するステップと、
    前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するステップと、
    前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするステップと
    を含むことを特徴とするコンテナに基づく仮想化システム用動作キャプチャ方法。
  2. 前記プロセス起動の動作が検出された場合、システム呼び出し動作をキャプチャするステップを実行するステップをさらに含み、
    前記のシステム呼び出し動作をキャプチャするステップにおいては、
    カーネルモードで、固有モデルレジスタを読み出すことにより、システムによって呼び出されたエントリアドレスを取得するステップと、
    ユーザモードで、前記エントリアドレスにおける、システムによって呼び出されたエントリ関数のアドレスをカストマイズの第2の関数のアドレスで代替するステップと、
    前記第2の関数が呼び出された場合、前記第2の関数を呼び出すシステム呼び出し動作をキャプチャするステップと
    を含むことを特徴とする請求項1に記載方法。
  3. 前記のコンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するステップにおいては、
    前記プロセスが仮想化システムのホストにおける中央処理装置に呼び出されて実行されることに対応した動作を監視するステップ
    を含むことを特徴とする請求項1または2に記載方法。
  4. 前記の前記信号処理動作をキャプチャするステップにおいては、
    前記プロセスにおいて未処理信号が存在するか否かを判断する前に、ユーザモードで、前記第1の関数のエントリアドレスを、前記仮想化システムの中のホストのカーネルに転送し、且つカーネルモードで、前記第1の関数のエントリアドレスをカーネル空間に保存するステップ
    をさらに含むことを特徴とする請求項1または2に記載方法。
  5. 前記の前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプするステップにおいては、
    前記カーネル空間において記憶された前記第1の関数のエントリアドレスを取得するステップと、
    前記信号に指示された実行命令を前記第1の関数のエントリアドレスにジャンプするステップと
    を含むことを特徴とする請求項4に記載方法。
  6. 請求項1〜5のいずれか1項に記載の方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャするステップと、
    キャプチャされた前記動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得するステップと、
    前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行するステップと
    を含んでおり、
    ここで、前記カーネルへのアクセスする動作は、信号処理動作、またはシステム呼び出し動作である
    ことを特徴とするコンテナに基づく仮想化システム用安全制御方法。
  7. 前記のコンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャするステップにおいては、
    請求項2〜5のいずれか1項に記載の方法により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャするステップを含み、
    且つ、前記安全制御方法は、
    キャプチャされた前記動作がシステム呼び出し動作である場合、キャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全か否かを判断するステップと、
    前記システム呼び出し動作が安全でない場合、前記システム呼び出し動作を阻止するステップと
    をさらに含むことを特徴とする請求項6に記載の安全制御方法。
  8. 前記のキャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全であるか否かを判断するステップにおいては、
    予め設定された設定ファイルにより前記システム呼び出し動作が安全であるか否かを判断するステップを含み、
    前記設定ファイルは、被検システム呼び出し番号および/または被保護リソースと、前記システム呼び出し番号および/または被保護リソースに関連する動作指示とを指定するために用いられる
    ことを特徴とする請求項7に記載の安全制御方法。
  9. ユーザモードで、コンテナに基づく仮想化システムの中のコンテナにおけるプロセス起動の動作を監視するためのプロセス起動監視ユニットと、
    プロセス起動監視ユニットによって前記プロセス起動の動作が検出された場合、カーネルモードで、信号処理動作をキャプチャするステップを実行するための信号処理キャプチャユニットと
    を備え、
    前記信号処理キャプチャユニットは、
    前記プロセスにおいて未処理信号が存在するか否かを判断するための信号検出サブユニットと、
    前記信号が存在する場合、前記信号に指示された実行命令をカストマイズの第1の関数のエントリアドレスにジャンプし、且つ前記信号の信号番号を前記第1の関数へ転送するための実行命令ジャンプサブユニットと、
    前記第1の関数が呼び出された場合、呼び出された時に転送された信号番号に対応した信号処理動作をキャプチャするための信号処理キャプチャサブユニットと
    を備えることを特徴とするコンテナに基づく仮想化システム用動作キャプチャ装置。
  10. プロセス起動監視ユニットによって前記プロセス起動の動作が検出された場合、システム呼び出し動作をキャプチャするステップを実行するためのシステム呼び出しキャプチャユニットをさらに備え、
    前記システム呼び出しキャプチャユニットは、
    カーネルモードで、固有モデルレジスタを読み出すことにより、システムによって呼び出されたエントリアドレスを取得するためのシステム呼び出しエントリアドレス取得サブユニットと、
    ユーザモードで、前記エントリアドレスにおける、システムによって呼び出されたエントリ関数のアドレスをカストマイズの第2の関数のアドレスで代替するためのアドレス代替サブユニットと、
    前記第2の関数が呼び出された場合、前記第2の関数を呼び出すシステム呼び出し動作をキャプチャするためのシステム呼び出しキャプチャサブユニットと
    を備えることを特徴とする請求項9に記載の装置。
  11. 前記プロセス起動監視ユニットは、さらに、前記プロセスが仮想化システムのホストにおける中央処理装置に呼び出されて実行されることに対応した動作を監視するように構成される
    ことを特徴とする請求項9または10に記載の装置。
  12. 前記信号処理キャプチャユニットは、
    前記プロセスにおいて未処理信号が存在するか否かを判断する前に、ユーザモードで、前記第1の関数のエントリアドレスを、前記仮想化システムの中のホストのカーネルに転送し、且つカーネルモードで、前記第1の関数のエントリアドレスをカーネル空間に保存するためのアドレス転送サブユニットをさらに含む
    ことを特徴とする請求項9または10に記載の装置。
  13. 前記実行命令ジャンプサブユニットは、
    前記カーネル空間において記憶された前記第1の関数のエントリアドレスを取得するための第1の関数エントリアドレス取得モジュールと、
    前記信号に指示された実行命令を前記第1の関数のエントリアドレスにジャンプする実行命令ジャンプモジュールと
    を備えることを特徴とする請求項12に記載の装置。
  14. 請求項9〜13のいずれか1項に記載の装置により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャする動作キャプチャユニットと、
    キャプチャされた前記動作が信号処理動作である場合、前記信号処理動作に対応した信号番号を取得するための信号番号取得ユニットと、
    前記信号番号に対応した信号に指示された実行命令を、中央処理装置の特権レベルRing3へ切り替えて実行するための特権レベル切り替えユニットと
    を備えており、
    ここで、前記カーネルへのアクセスする動作は、信号処理動作、またはシステム呼び出し動作である
    ことを特徴とするコンテナに基づく仮想化システム用安全制御装置。
  15. 前記動作キャプチャユニットは、さらに、請求項10〜13のいずれか1項に記載の装置により、コンテナに基づく仮想化システムの中のコンテナにおけるプロセスのカーネルへのアクセスする動作をキャプチャするように構成され、且つ、
    前記安全制御装置は、
    キャプチャされた前記動作がシステム呼び出し動作である場合、キャプチャされたシステム呼び出し動作に対応したシステム呼び出し番号およびエントリパラメータに基づいて、前記システム呼び出し動作が安全か否かを判断するための安全確定ユニットと、
    前記システム呼び出し動作が安全でない場合、前記システム呼び出し動作を阻止するための動作阻止ユニットと
    をさらに備えることを特徴とする請求項14に記載の安全制御装置。
  16. 前記安全確定ユニットは、さらに、予め設定された設定ファイルにより前記システム呼び出し動作が安全であるか否かを判断するように構成され、
    前記設定ファイルは、被検システム呼び出し番号および/または被保護リソースと、前記システム呼び出し番号および/または被保護リソースに関連する動作指示とを指定するために用いられる
    ことを特徴とする請求項15に記載の安全制御装置。
JP2016159649A 2015-10-13 2016-08-16 コンテナに基づく仮想化システム用動作キャプチャ方法、および装置 Active JP6196356B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510670474.1A CN105389197B (zh) 2015-10-13 2015-10-13 用于基于容器的虚拟化系统的操作捕获方法和装置
CN201510670474.1 2015-10-13

Publications (2)

Publication Number Publication Date
JP2017076369A true JP2017076369A (ja) 2017-04-20
JP6196356B2 JP6196356B2 (ja) 2017-09-13

Family

ID=55421504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159649A Active JP6196356B2 (ja) 2015-10-13 2016-08-16 コンテナに基づく仮想化システム用動作キャプチャ方法、および装置

Country Status (4)

Country Link
US (1) US10102373B2 (ja)
JP (1) JP6196356B2 (ja)
KR (1) KR101845162B1 (ja)
CN (1) CN105389197B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3488579B1 (en) * 2016-07-21 2023-04-05 Baidu.com Times Technology (Beijing) Co., Ltd. Efficient communications amongst computing nodes for operating autonomous vehicles
CN108334341B (zh) * 2017-07-20 2021-11-30 创新先进技术有限公司 用户界面ui组件的定位方法及装置
CN107689953B (zh) * 2017-08-18 2020-10-27 中国科学院信息工程研究所 一种面向多租户云计算的容器安全监控方法及系统
CN107679399A (zh) * 2017-10-19 2018-02-09 郑州云海信息技术有限公司 一种基于容器的恶意代码检测沙盒系统及检测方法
CN108416210B (zh) * 2018-03-09 2020-07-14 北京顶象技术有限公司 一种程序保护方法及装置
US11659003B2 (en) 2018-08-30 2023-05-23 International Business Machines Corporation Safe shell container facilitating inspection of a virtual container
US11461474B2 (en) * 2020-01-24 2022-10-04 International Business Machines Corporation Process-based virtualization system for executing a secure application process
CN113791865A (zh) * 2021-09-08 2021-12-14 山石网科通信技术股份有限公司 容器安全的处理方法及装置、存储介质和处理器
KR102494791B1 (ko) * 2021-11-08 2023-02-06 숭실대학교산학협력단 컨테이너 환경에서 알려지지 않은 바이너리 검사 및 차단 방법 및 장치
CN114489941B (zh) * 2022-01-19 2024-05-28 上海交通大学 运行在宿主模式用户态的虚拟机管理方法及系统
CN114491516B (zh) * 2022-01-26 2023-04-14 北京小佑网络科技有限公司 一种基于容器环境的威胁检测诱捕方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122711A (ja) * 2003-10-14 2005-05-12 Microsoft Corp プロセッサ仮想化を改良するための方法及び合成命令を処理するためのシステム
WO2009102006A1 (ja) * 2008-02-14 2009-08-20 Nec Corporation アクセス制御装置、その方法及び情報記録媒体
JP2013524340A (ja) * 2010-03-31 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想コンテナのシステムにおけるリソース容量評価のための方法および装置
WO2013184281A1 (en) * 2012-06-08 2013-12-12 Crowdstrike, Inc. Kernel-level security agent
WO2015052831A1 (ja) * 2013-10-11 2015-04-16 順子 杉中 情報処理装置、方法およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519814B2 (en) * 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
CN100489728C (zh) * 2004-12-02 2009-05-20 联想(北京)有限公司 一种建立计算机中可信任运行环境的方法
US7665143B2 (en) * 2005-05-16 2010-02-16 Microsoft Corporation Creating secure process objects
US8732824B2 (en) * 2006-01-23 2014-05-20 Microsoft Corporation Method and system for monitoring integrity of running computer system
US20090113111A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US8578483B2 (en) * 2008-07-31 2013-11-05 Carnegie Mellon University Systems and methods for preventing unauthorized modification of an operating system
US8271996B1 (en) * 2008-09-29 2012-09-18 Emc Corporation Event queues
US8402318B2 (en) * 2009-03-24 2013-03-19 The Trustees Of Columbia University In The City Of New York Systems and methods for recording and replaying application execution
US8627414B1 (en) * 2009-08-04 2014-01-07 Carnegie Mellon University Methods and apparatuses for user-verifiable execution of security-sensitive code
CN103312661B (zh) * 2012-03-07 2016-02-17 腾讯科技(深圳)有限公司 一种服务访问方法及装置
US9069782B2 (en) * 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9117080B2 (en) 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines
KR101445634B1 (ko) 2014-01-27 2014-10-06 주식회사 이글루시큐리티 프로그램의 취약점을 이용한 공격의 탐지 장치 및 방법
US10013453B2 (en) * 2015-06-22 2018-07-03 Vmware, Inc. Efficient management of large number of file descriptors

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005122711A (ja) * 2003-10-14 2005-05-12 Microsoft Corp プロセッサ仮想化を改良するための方法及び合成命令を処理するためのシステム
WO2009102006A1 (ja) * 2008-02-14 2009-08-20 Nec Corporation アクセス制御装置、その方法及び情報記録媒体
JP2013524340A (ja) * 2010-03-31 2013-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想コンテナのシステムにおけるリソース容量評価のための方法および装置
WO2013184281A1 (en) * 2012-06-08 2013-12-12 Crowdstrike, Inc. Kernel-level security agent
WO2015052831A1 (ja) * 2013-10-11 2015-04-16 順子 杉中 情報処理装置、方法およびプログラム

Also Published As

Publication number Publication date
US20170103206A1 (en) 2017-04-13
KR20170043438A (ko) 2017-04-21
KR101845162B1 (ko) 2018-04-03
CN105389197A (zh) 2016-03-09
US10102373B2 (en) 2018-10-16
CN105389197B (zh) 2019-02-26
JP6196356B2 (ja) 2017-09-13

Similar Documents

Publication Publication Date Title
JP6196356B2 (ja) コンテナに基づく仮想化システム用動作キャプチャ方法、および装置
JP6378758B2 (ja) 仮想マシンにおけるマルウェア検出のためのプロセス評価
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
US9436603B1 (en) Detection and mitigation of timing side-channel attacks
RU2679175C1 (ru) Способ поведенческого обнаружения вредоносных программ с использованием виртуальной машины-интерпретатора
JP6326103B2 (ja) エミュレータを組み合わせることにより、悪意のある実行ファイルであってインタープリタを有する実行ファイルを検出するためのシステム及び方法
RU2659472C2 (ru) Внесение ошибки страницы в виртуальных машинах
US9430642B2 (en) Providing virtual secure mode with different virtual trust levels each having separate memory access protections, interrupt subsystems and private processor states
US20140053272A1 (en) Multilevel Introspection of Nested Virtual Machines
US20150248554A1 (en) Systems And Methods For Executing Arbitrary Applications In Secure Environments
US10776486B2 (en) Analysis system, analysis method, analysis device, and storage medium for analyzing operation of a program executed in an analysis environment
US9158562B2 (en) Method and apparatus for supporting virtualization of loadable module
US9952890B2 (en) Kernel state data collection in a protected kernel environment
CN113391881A (zh) 中断的管理方法、装置、电子设备及计算机存储介质
US9959225B2 (en) Computer apparatus and control method of computer apparatus
US10162724B2 (en) Technique for inspecting a host computer
Tian et al. KEcruiser: A novel control flow protection for kernel extensions
CN113268726B (zh) 程序代码执行行为的监控方法、计算机设备
Qiang et al. CloudController: a writable and heterogeneous-adaptive virtual machine introspection for cloud management
WO2020060481A1 (en) Method and system for dynamically detecting, analyzing, monitoring, investigating and/or executing a live target program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170817

R150 Certificate of patent or registration of utility model

Ref document number: 6196356

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250