JP7843848B2 - 異常コンテナ特定方法、システム、プログラム - Google Patents

異常コンテナ特定方法、システム、プログラム

Info

Publication number
JP7843848B2
JP7843848B2 JP2024533278A JP2024533278A JP7843848B2 JP 7843848 B2 JP7843848 B2 JP 7843848B2 JP 2024533278 A JP2024533278 A JP 2024533278A JP 2024533278 A JP2024533278 A JP 2024533278A JP 7843848 B2 JP7843848 B2 JP 7843848B2
Authority
JP
Japan
Prior art keywords
container
computer
peer
program
containers
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
JP2024533278A
Other languages
English (en)
Other versions
JP2024545065A (ja
JP2024545065A5 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2024545065A publication Critical patent/JP2024545065A/ja
Publication of JP2024545065A5 publication Critical patent/JP2024545065A5/ja
Application granted granted Critical
Publication of JP7843848B2 publication Critical patent/JP7843848B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • G06F9/3891Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、概して仮想化の分野に関し、より詳細にはクラスタ・コンテナ保護に関する。
オペレーティング・システム(OS)仮想化とは、カーネルが複数の分離ユーザー空間インスタンスの存在を許容する、オペレーティング・システム・パラダイムを指す。このようなインスタンスは、コンテナ、ゾーン、仮想パーソナル・サーバー、パーティション、仮想環境、仮想カーネル、またはジェイルと呼ばれ、含まれているプログラムの視点から本物のコンピュータのように見えることがある。通常のオペレーティング・システム上で実行されるコンピュータ・プログラムは、そのコンピュータのすべてのリソース(接続されたデバイス、ファイルおよびフォルダ、ネットワーク共有、CPUパワー、定量化可能なハードウェア能力)を参照することができるが、コンテナの内部で実行されるプログラムは、コンテナの内容とコンテナに割り当てられたデバイスのみを参照することができる。オペレーティング・システム・レベルの仮想化は、仮想ホスティング環境において、多数の独立したユーザー間で有限のハードウェア・リソースを安全に割り当てるために一般に使用される。システム管理者はまた、別々のホストにあるサービスを、単一のホスト(例えば、サーバー)上のコンテナに移動させることによって、サーバー・ハードウェアを統合するために仮想化することもできる。コンテナは一般に、セキュリティの改善、ハードウェア独立性、およびリソース管理機能の追加のために使用される。ライブ・マイグレーションの能力を有するオペレーティング・システム・レベルの仮想化実装もまた、クラスタ内のノード間でコンテナをダイナミック負荷分散するために使用することができる。仮想パーティション内のプログラムは、完全な仮想化および準仮想化での場合のように、オペレーティング・システムの標準のシステム・コール・インターフェースを使用し、エミュレーションを受けるまたは中間仮想機械において実行される必要がないので、オペレーティング・システム・レベルの仮想化は、通常、完全仮想化よりもオーバーヘッドが少なくて済む。この形式の仮想化はまた、効率的なパフォーマンスのためにハードウェア・サポートを必要としない。
オペレーション・システム・レベルの仮想化は、ホスト・オペレーティング・システムとは異なるゲスト・オペレーティング・システム、または異なるゲスト・カーネルをホストすることができないので、他の仮想化アプローチ(例えば、コンテナ化)ほど柔軟ではない。いくつかの実装形態は、ファイルレベルのコピー・オン・ライト(CoW)メカニズムを提供する。最も一般的なのは、パーティション間で標準ファイル・システムを共有し、ファイルを変更するパーティションは自動的にコピーを作成する。これは、システム全体の仮想化に関して共通のブロックレベルのコピー・オン・ライト方式よりも、バックアップしやすく、スペース効率に優れ、キャッシュするのが簡単である。しかし、システム全体の仮想化は、非ネイティブのファイル・システムで処理し、システム状態全体のスナップショットを作成し、ロールバックすることができる。
本発明の実施形態は、コンピュータ実装された方法、コンピュータ・プログラム製品、およびシステムを開示する。コンピュータ実装された方法は、1つまたは複数のコンピュータ・プロセッサが第1のコンテナについて実行時間フィーチャー・セットを決定することを含み、実行時間フィーチャー・セットには時間的に配置されたコンテナ動作が集約されている。1つまたは複数のコンピュータ・プロセッサは、共有コンテナ目的、類似のコンテナ動作、および類似のコンテナ・ファイル構造に基づいて、1つまたは複数の対等コンテナまたは対等ポッドで第1のコンテナをクラスタ化する。1つまたは複数のコンピュータ・プロセッサは、各対等コンテナについて追加の実行時間フィーチャー・セットを決定する。1つまたは複数のコンピュータ・プロセッサは、第1のコンテナと各対等コンテナとの差異を計算する。1つまたは複数のコンピュータ・プロセッサは、計算された差異が差異しきい値を超えると、第1のコンテナを異常として特定する。
本発明の一実施形態による、分散データ処理環境を示す機能ブロック図である。 本発明の一実施形態による、ダイナミック・プロファイリングを通したコンテナ保護のための、図1のデータ処理環境内のサーバー・コンピュータ上の、プログラムの動作ステップを示すフローチャートである。 本発明の一実施形態による、コンピューティング・デバイスおよびサーバー・コンピュータの構成要素のブロック図である。
現代の企業や組織の大半は、急速に変化する環境やシステム要求に対応するために、重要なエンタープライズ・アプリケーションをコンテナ化する。このようなコンテナ技術の採用の増加は、新しいコンテナ保護技術やテクニックの欠如を悪用するハッカーや悪質な行為者の新しい攻撃ベクトルをもたらした。この問題は、高信頼の利用できる、悪意のある画像シグネチャがないことで、深刻になり、悪質な行為者は、わずかな作業やコストで、コンテナ・ハッシュを変更することで、既存の悪意のある画像シグネチャを迂回することができる。加えて、多くのコンテナが、特定の管理環境で第三者や取引先によって作成され、そのため、正しいコンテキストを特定および決定することなくコンテナの評判や動作プロファイルを構築することが難しくなっている。さらに、第三者のコンテナ作成は、評判プロファイルや動作コンテナ・プロファイルのベースラインを特定する際の計算コストを増加させる。現在のシステムでは、24時間などの固定区間でコンテナ動作をサンプリングするため、固定区間でのセキュリティ・リスクが高まる一方で、計算オーバーヘッドは増加し、コンテナ・デプロイメントが遅れている。
本発明の実施形態は、クラスタ化したコンテナの選択的なサブセットから動的ベースラインを維持しながら、コンテナの実行時間動作の動的プロファイリングを通して、コンテナとコンテナ・システムを改善する。本発明の実施形態は、特定された非異常コンテナまたはポッドを対等コンテナのクラスタによって定義されるレプリカ・セットに組み込むことで、コンテナの空き状況、信頼度、安定度を向上させる。本発明の実施形態は、不規則または異常なコンテナまたはポッドを、ベースライン偏差に基づいて特定し、緩和することによって、コンテナまたはポッドのセキュリティを改善する。本発明の実施形態は、共有される特定された目的で対等コンテナまたは対等ポッドのプロファイリングすることのみによって異常なコンテナの計算オーバーヘッドを軽減する。本発明の実施形態の実装は、様々な形をとることができ、例示的な実装の詳細については、図を参照しながら後述する。
次に、本発明を図を参照して詳細に説明する。
図1は、本発明の一実施形態による、分散データ処理環境(一般に100で示された)を示す機能ブロック図である。本明細書では「分散」という用語は、単一コンピュータ・システムとして共に動作する、物理的に異なる複数のデバイスを含むコンピュータ・システムを表す。図1は、1つの実装形態を例示したものに過ぎず、異なる実施形態が実装される環境に関する制限を意味するものではない。当業者であれば、特許請求の範囲に記載された本発明の範囲から逸脱することなく、描かれた環境に多くの変更を加えることができる。
分散データ処理環境100は、ネットワーク102上に接続されたコンテナ110およびサーバー・コンピュータ120を含む。ネットワーク102は、例えば、通信ネットワーク、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、例えば、インターネット、あるいはこれら3つの組合せとすることができ、有線、ワイヤレス、または光ファイバー接続を含むことができる。ネットワーク102は、音声、データ、およびビデオ情報を含むマルチメディア信号を含む、データ、音声、またはビデオ信号あるいはその組合せを受信および送信することができる1つまたは複数の有線またはワイヤレスあるいはその両方のネットワークを含むことができる。一般に、ネットワーク102は、分散データ処理環境100内の、コンテナ110、サーバー・コンピュータ120、および他のコンピューティング・デバイス(図示せず)の間の通信をサポートする、接続およびプロトコルの任意の組合せとすることができる。各種実施形態では、ネットワーク102は、有線、ワイヤレス、または光接続を介してローカルに動作し、任意の組合せの接続およびプロトコル(例えば、パーソナル・エリア・ネットワーク(PAN)、近距離無線通信(NFC)、レーザー、赤外線、超音波など)とすることができる。
コンテナ110は、コードと依存関係をパッケージ化したソフトウェアの単位を表す。例えば、コンテナ110は、パッケージ・ウェブ・サーバーをホストしている。一実施形態では、コンテナ110は、ポッドに含まれる複数のコンテナのうちの1つであり、各コンテナは、タスク(すなわち、コンテナ目的)を完了するために協働する。例えば、例示的なポッドは、ロード・バランサーを含む別のコンテナと連動するウェブ・サーバーを含むコンテナで構成される。別の実施形態では、コンテナ110は、サーバー・コンピュータ120上、またはネットワーク102を介して接続された別のコンピューティング・デバイス(図示せず)上に存在してもよい。
サーバー・コンピュータ120は、スタンドアロン・コンピューティング・デバイス、管理サーバー、ウェブ・サーバー、モバイル・コンピューティング・デバイス、あるいは、データを受信、送信、処理することが可能な任意の他の電子デバイスまたはコンピューティング・システムとすることができる。他の実施形態では、サーバー・コンピュータ120は、クラウド・コンピューティング環境のように、サーバー・システムとして複数のコンピュータを使用するサーバー・コンピューティング・システムを表すことができる。別の実施形態では、サーバー・コンピュータ120は、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ(PC)、デスクトップ・コンピュータ、携帯情報端末(PDA)、スマート・フォン、あるいはコンテナ110および分散データ処理環境100内の他のコンピューティング・デバイス(図示せず)とネットワーク102を介して通信可能な任意のプログラマブル電子デバイスとすることができる。別の実施形態では、サーバー・コンピュータ120は、分散データ処理環境100内でアクセスされたときにシームレス・リソースの単一プールとして機能するクラスタ化されたコンピュータおよびコンポーネント(例えば、データベース・サーバー・コンピュータ、アプリケーション・サーバー・コンピュータなど)を利用するコンピューティング・システムを表す。描かれている実施形態では、サーバー・コンピュータ120は、プロファイル122およびプログラム150を含む。他の実施形態では、サーバー・コンピュータ120は、分散データ処理環境100に描かれていない他のアプリケーション、データベース、プログラムなどを含んでもよい。サーバー・コンピュータ120は、図3に関してさらに詳しく描かれ、説明されているように、内部および外部ハードウェア・コンポーネントを含むことができる。
プロファイル122は、プログラム150が使用するデータのためのリポジトリーである。描かれている実施形態では、プロファイル122は、サーバー・コンピュータ120上に存在する。別の実施形態では、プロファイル122は、プログラム150がプロファイル122にアクセスできることを条件として、分散データ処理環境100内の他の場所に存在してもよい。データベースは、プロファイル・データの組織化されたコレクションである。プロファイル122は、データベース・サーバー、ハード・ディスク・ドライブ、またはフラッシュ・メモリなど、プログラム150によってアクセスされ利用されることが可能なデータや設定ファイルを記憶することができる任意のタイプのストレージ・デバイスで実装することができる。一実施形態では、プロファイル122は、1つまたは複数の実行中のコンテナ、ポッド、クラスタ、またはレプリカ・セットからプログラム150によって収集されたデータ(すなわち、実行時間フィーチャー・セット)を記憶する。一実施形態では、プロファイル122は、履歴ベースラインと、システム・コール、アクセスされたファイル、実行中のプロセス、および通信されたネットワーク・エンティティなどのコンテナ動作とを含むことができるが、これらに限定されない。
プログラム150は、ダイナミック・プロファリングによるコンテナ保護のためのプログラムである。各種実施形態において、プログラム150は、以下のステップを実装することができる:第1のコンテナの実行時間フィーチャー・セットを決定すること、ここで、実行時間フィーチャー・セットには、集約された時間的に配置されたコンテナ動作が含まれる、と、第1のコンテナを、共有コンテナ目的、類似のコンテナ動作、および類似のコンテナ・ファイル構造に基づいて、1つまたは複数の対等コンテナまたは対等ポッドとクラスタ化することと、各対等コンテナの追加の実行時間フィーチャー・セットを決定することと、第1のコンテナと各対等コンテナとの差異を計算することと、計算された差異が差異しきい値を超えると第1のコンテナを異常として特定すること。描かれている実施形態では、プログラム150は、スタンドアロン・ソフトウェア・プログラムである。別の実施形態では、プログラム150の機能、またはその任意の組合せプログラムは、単一ソフトウェア・プログラムに組み込むことができる。いくつかの実施形態では、プログラム150は、別のコンピューティング・デバイス(図示せず)に配置されていてもよいが、ネットワーク102を介してまだ通信することができる。各種実施形態では、クライアント版プログラム150は、コンテナ110または分散データ処理環境100内の任意の他のコンピューティング・デバイス(図示せず)あるいはその両方に存在する。プログラム150は、図2に関してさらに詳細に描かれ、説明されている。
本発明は、様々な利用できるデータ・ソース、例えば、プロファイル122、を含めることができる。このデータ・ソースは、パーソナル・ストレージ・デバイス、データ、内容、またはユーザーが処理を希望しない情報を含むことができる。処理とは、自動化されているか否かを問わず、収集、記録、編成、構造化、保存、適応、変更、取り出し、コンサルテーション、使用や、送信、配布、その他の方法で入手可能にすることによる開示、組合せ、制限、消去、または個人データに関して実行される破棄などの任意の動作または動作のセットを指す。プログラム150は、ユーザーが個人データの処理のオプトインまたはオプトアウトをできるように、個人データのコレクションに関する特記事項とともに、インフォームド・コンセントを提供する。同意にはいくつかの形がある。オプトインの同意は、個人データが処理される前に、肯定的な行動を取ることをユーザーに課すことができる。あるいは、オプトアウトの同意は、データが処理される前に、ユーザーに、個人データの処理を防ぐための肯定的な行動を取ることを課すことができる。プログラム150は、トラッキング情報などの、ユーザー情報、並びに、個人を特定する情報や機密性の高い個人情報などの、個人データの認証されたセキュアな処理を可能にする。プログラム150は、個人データと処理の特質(例えば、タイプ、範囲、目的、持続期間など)に関する情報を提供する。プログラム150は、ユーザーに保管済み個人データのコピーを提供する。プログラム150は、正しくないまたは不十分な個人データの修正または完成を可能にする。プログラム150は、個人データの即時の削除を可能にする。
図2は、本発明の一実施形態による、ダイナミック・プロファイリングによるコンテナ保護のためのプログラム150の動作ステップを示すフローチャート200を示す。
プログラム150は、コンテナの実行時間フィーチャー・セットを決定する(ステップ202)。一実施形態では、プログラム150は、1つまたは複数のコンテナ(すなわち、第1のコンテナ)の開始またはレプリカ・グループの導入に応答して開始する。別の実施形態では、プログラム150は、コンテナ、クラスタ、またはレプリカ・セット上で保護するためのイベントまたはユーザー要求に応答して開始する。プログラム150は、システム・コール、アクセスされたファイル、実行中のプロセス、および通信されたネットワーク・エンティティについて、第1のコンテナを監視する。一実施形態では、プログラム150は、コンテナの活動の表現を、コンテナがそれぞれのコンテキスト(例えば、環境、設定パラメーター、環境変数など)内でどのように相互作用するかを記録するコンパクトな形式に符号化する。この実施形態では、プログラム150は、コンテナ・コンテキストを提供しながら、コンテナ行動(例えば、ファイル、ネットワーク、プロセス動作)を、ネットワークおよびファイル・アクセスの活動に接続する。さらなる実施形態では、プログラム150は、システム・コールのタイプおよび数、タッチされたファイル、プロセス数、子プロセス数、開いているポートまたはリスニング・ポートの数、インバウンド・ネットワークの数、アウトバウンド接続の数を記録する。
一実施形態では、プログラム150は、時間的に配置されたコンテナ動作を、「流れ」と呼ばれる単一相関要素として集約する。例えば、プログラム150は、5分期間内に終了したファイルの開く-書き込む-閉じる、を特定し、この動作を、当該5分期間内の別のファイルの流れ(例えば、ファイルを開く、読み取る/書き込む/切り捨てる、ファイルを閉じる)およびネットワークの流れ(例えば、接続作成、送信/受信、接続のクローズ)と集約する。別の実施形態では、プログラム150は、I/O(入出力)の数、/procへのアクセス、送信されたユーザー・データグラム・プロトコル(UDP)パケットの数など、一般的なコンテナ情報を収集する。一実施形態では、プログラム150は、インターワーキング・ポッド・コンテナのコラボレーション・ポッドにモニタ・コンテナが包含されている場合、ポッド動作を収集する。この実施形態では、ポッド動作は、ポッド内の各コンテナからの集約された、時間的に配置されたコンテナ動作である。別の実施形態では、プログラム150は、コンテナの環境変数もしくは設定、関連レプリカ・セット、または関連ソース画像の名称およびタグなど、コンテナ・メタデータを収集する。
プログラム150は、決定された実行時間フィーチャー・セット(ステップ204)を利用して、コンテナをクラスタ化する。プログラム150は、決定されたコンテナを、類似の(すなわち対等な)コンテナまたはポッドとマッチングさせ、クラスタ化する。一実施形態では、ユーザーはコンテナまたはポッド目的を提供する。別の実施形態では、プログラム150は、ステップ202で説明したように、決定された実行時間フィーチャー・セットを利用して、第1のコンテナまたは第1のポッドの目的を特定する。例えば、プログラム150は、ポート80上で転送されるコンテナ・ネットワーク・データの顕著な量を記録し、履歴または既知のコンテナに基づき、そのコンテナがウェブ・サーバーであると判断する(すなわち、そのコンテナの目的が既知である)。別の実施形態では、プログラム150は、コンテナ内に含まれるすべてのフォルダおよびファイルを特定し、特定されたファイルおよびフォルダ情報およびメタデータを潜在的な対等コンテナ(例えば、過去のコンテナ、異なる環境や地域で実行されているコンテナ、公的に実行されているコンテナなど)に関連する情報およびメタデータと比較する。この実施形態では、プログラム150は、ファイル名、フォルダ名、親フォルダ、サブフォルダ、関連する許可、作成日、変更日、シンボル・リンク、ファイル・サイズ、フォルダ・サイズ、およびファイル・タイプのいずれかの属性の組合せを比較して、過去のコンテナについてコンテナ目的が既知である場合に、過去のコンテナと比較してコンテナの目的を決定することができる。一実施形態では、プログラム150は、比較された対等コンテナ・ファイルシステムを利用して類似性スコアを計算し、そこで、より高い類似性スコアは、共有される目的のより高い可能性を示す。一実施形態では、プログラム150は、特定されたコンテナまたはポッド目的に基づいて、第1のコンテナまたは第1のポッドをクラスタ化する。一実施形態では、プログラム150は、1つまたは複数のクラスタリング・アルゴリズムを利用して、第1のコンテナを複数の対等コンテナにクラスタ化する。さらなる実施形態では、プログラム150は、類似した(例えば、類似性しきい値を超える)振る舞いをするコンテナまたはポッドとコンテナをクラスタ化するために、ノイズ(DBSCAN)を有するアプリケーションの密度ベースの空間クラスタ化を利用する。別の実施形態では、プログラム150は、レプリカ・セットで対等コンテナまたは対等ポッドとコンテナまたはポッドをクラスタ化する。
プログラム150は、コンテナ・クラスタの各対等コンテナについて、第2の実行時間フィーチャー・セットを決定する(ステップ206)。プログラム150は、ステップ204で説明したように、コンテナ・クラスタ内の各コンテナまたはポッドに対して、ステップ202で説明した方法およびテクニックを実行する。一実施形態では、プログラム150は、対等コンテナのクラスタ内の各コンテナまたはポッドに添付され、各コンテナまたはポッドを動的にプロファイリングする。一実施形態では、プログラム150は、少なくとも最初は、クラスタ(例えば、平均または区間内)から逸脱した対等コンテナを除去する。さらなる実施形態では、プログラム150は、集約された第2の実行時間フィーチャー・セットに基づいて、時間的に配置されたクラスタ動作を集約する。一実施形態では、プログラム150は、特定の期間内の集約された第2の実行時間フィーチャー・セット、例えば、10分間以内の平均の集約されたネットワーク・トラフィック、に基づいて、ベースライン(すなわち、プロファイル)実行時間フィーチャー・セットを導出する。この実施形態では、ベースライン実行時間フィーチャー・セットは、コンテナまたはポッドの標準のまたは健康な動作を表す。これらの実施形態では、プログラム150は、各対等コンテナからの実行時間フィーチャー・セットを記録し続け、新たに記録された実行時間フィーチャー・セットに応じてベースラインを動的に調整する。この実施形態により、プログラム150は、サンプリング率またはサンプリング間隔に関連する任意の制限があるにもかかわらず、動的にベースラインを調整することができる。この実施形態では、プログラム150は、1つまたは複数の決定された実行時間フィーチャー・セットに応じてベースラインを調整する。
プログラム150は、異常なコンテナを特定する(ステップ208)。プログラム150は、第1のコンテナからおよびクラスタ内の各対等コンテナから実行時間フィーチャー・セットを連続的に記録する。一実施形態では、プログラム150は、第1のコンテナからの実行時間フィーチャー・セットを、包含するクラスタ内の対等コンテナと連続的に比較する。この実施形態では、プログラム150は、セキュリティの脆弱性(例えば、ゼロデイ攻撃)が発見され、緩和されるように、異常なコンテナ動作を検出し、特定する。一実施形態では、プログラム150は、各対等コンテナ(すなわち、ベースライン)と第1のコンテナとの差異または偏差値(例えば、クラスタ平均からの二乗距離)を計算または導出する。別の実施形態では、分散値は、各タイプのシステム・コールのパーセンテージ・ベクトル、集約された流れの数、事前定義時間間隔にわたる観察された事前定義項目、タッチされたファイルの数、作成されたファイルの数、およびネットワーク接続または接続されたクライアントの数から計算される。一実施形態では、プログラム150は、それぞれの分散値または偏差が事前定義しきい値を超えた場合、第1のコンテナまたは任意の対等コンテナを異常と特定する。一実施形態では、プログラム150は、特定されたコンテナ目的に基づいてしきい値を調整し、そこで、プログラム150は、特定された重要なコンテナ目的、例えば1次顧客データベース、に応答してしきい値を減少させる。
プログラム150は、特定された異常なコンテナを修正する(ステップ210)。プログラム150は、特定された異常なコンテナに応答して、1つまたは複数の救済措置または緩和アクションを開始する。一実施形態では、プログラム150は、コンテナ・オーケストレーション・システムを利用して、関連レプリカ・セットに含まれるレプリカ・コンテナで異常なコンテナをリカバリーする、または置き換える。この実施形態では、環境に対する中断なしに異常なコンテナを置き換えるために、新しいコンテナが作成される。一実施形態では、プログラム150は、コンテナ目的の有意性またはエンタープライズ重要度のレベル(例えば、ビジネス・プロセス、レプリカ・セット、またはポッドあるいはその組合せに対するコンテナの有意性または効果)と比較した変動または偏差のレベルに基づいて、コンテナ実行時間リスク・レベルを計算する。一実施形態では、プログラム150は、実行時間リスク・レベルを利用して差異しきい値、類似性しきい値および差異出現頻度しきい値を調整し、そこで、リスクを冒すコンテナは、下げられたしきい値を有する(すなわち、しきい値の起動がより頻繁になる)。一実施形態では、プログラム150は、偏差が出現頻度しきい値を超えるまで、コンテナが1回以上逸脱することを許容する差異出現頻度しきい値を確立する。この実施形態では、プログラム150は、コンテナ目的に基づいて差異出現頻度しきい値を調整する。別の実施形態では、複数の対等コンテナまたはレプリカ・セットの中で、指定された期間内に異常値が繰り返される場合、プログラム150は、異常な繰り返しを減らすように前記しきい値を調整する。
一実施形態では、プログラム150は、非特権ユーザーへのダウングレード、リソース使用量の制限、クリティカル・プロセスのサンドボックス、ボリューム・マウントの制限、特権ポートのバインディングなど、異常なコンテナに関するセキュリティ実践を実装する。別の実施形態では、プログラム150は、異常なコンテナの起点と目的に関する情報をプログラム150が発見または特定することを可能にして、異常なコンテナをハニーポットに変換する。別の実施形態では、プログラム150は、サンドボックス・ホストまたはホストのサンドボックス・クラスタに異常なコンテナを自動的に配置する(例えば、重要なシステムへのアクセス権限の除去、読み取り専用の環境、バックアップ率の増加など)。一実施形態では、プログラム150は、決定された実行時間フィーチャー・セットと特定された異常コンテナで、モデル(すなわち、ニューラル・ネットワーク)をトレーニングする。この実施形態では、トレーニング済みモデルは、連続的な実行時間フィーチャー・セットを供給されるので、プログラム150は、トレーニング済みモデルを利用して将来の異常コンテナを特定する。一実施形態では、プログラム150は、レプリカ・セット内の特定された異常なコンテナを1つまたは複数の対等コンテナで置き換え、1つまたは複数の対等コンテナの構造と設定を維持しながら、異常なコンテナの使用可能な資産が1つまたは複数の対等コンテナに転送される。
図3は、本発明の例示的実施形態によるサーバー・コンピュータ120の構成要素を示すブロック図300を示す。図3は、1つの実装形態を例示したものに過ぎず、異なる実施形態が実装される環境に関する制限を意味するものではない、ということを理解されたい。描かれた環境には多くの修正が加えられ得る。
サーバー・コンピュータ120は、キャッシュ303、メモリ302、永続的ストレージ305、通信ユニット307、および入出力(I/O)インターフェース306の間の通信を提供する、通信ファブリック304を含む。通信ファブリック304は、プロセッサ(例えば、マイクロプロセッサ、通信、およびネットワーク・プロセッサなど)、システム・メモリ、周辺デバイス、およびシステム内の任意の他のハードウェア・コンポーネントの間でデータまたは制御情報あるいはその両方を受け渡すために設計された任意のアーキテクチャで実装することができる。例えば、通信ファブリック304は、1つまたは複数のバスあるいはクロス・バー・スイッチで実装することができる。
メモリ302および永続的ストレージ305は、コンピュータ可読ストレージ・メディアである。本実施形態では、メモリ302は、ランダム・アクセス・メモリ(RAM)を含む。一般に、メモリ302は、任意の適切な揮発性または不揮発性コンピュータ可読ストレージ・メディアを含むことができる。キャッシュ303は、メモリ302から、最近アクセスされたデータや、アクセスされたデータの近くのデータを保持することにより、コンピュータ・プロセッサ301のパフォーマンスを向上させる高速メモリである。
プログラム150は、キャッシュ303を介してそれぞれのコンピュータ・プロセッサ301のうちの1つまたは複数によって実行するために、永続的ストレージ305およびメモリ302において、記憶され得る。一実施形態では、永続的ストレージ305は磁気ハード・ディスク・ドライブを含む。別法として、または磁気ハード・ディスク・ドライブに加えて、永続的ストレージ305は、ソリッドステート・ハード・ドライブ、半導体ストレージ・デバイス、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM)、フラッシュ・メモリ、またはプログラム命令やデジタル情報を記憶することができる任意の他のコンピュータ可読ストレージ・メディアを含むことができる。
永続的ストレージ305が使用するメディアもまた、取り外し可能であり得る。例えば、取り外し可能なハード・ドライブが、永続的ストレージ305のために使用され得る。他の例としては、光ディスクや磁気ディスク、サム・ドライブ、および、永続的ストレージ305の一部でもある別のコンピュータ可読ストレージ・メディアに転送するためにドライブに挿入されるスマート・カードが含まれる。ソフトウェアおよびデータは、キャッシュ303を介して、それぞれのプロセッサ301の1つまたは複数によって、アクセスまたは実行あるいはその両方を行うために永続的ストレージ305に記憶することができる。
通信ユニット307は、これらの例では、他のデータ処理システムまたはデバイスとの通信を提供する。これらの例では、通信ユニット307は、1枚または複数のネットワーク・インターフェース・カードを含む。通信ユニット307は、物理およびワイヤレス通信リンクのどちらか一方または両方を使用して、通信を提供することができる。プログラム150は、通信ユニット307を介して永続的ストレージ305にダウンロードすることができる。
入出力インターフェース306は、サーバー・コンピュータ120にそれぞれ接続される他のデバイスとのデータの入出力を可能にする。例えば、入出力インターフェース306は、キーボード、キーパッド、タッチ・スクリーンまたは任意の他の適切な入力デバイスあるいはその組合せなど、外部デバイス308への接続を提供することができる。外部デバイス308は、例えば、サム・ドライブ、ポータブル光または磁気ディスク、およびメモリ・カードなどの、ポータブル・コンピュータ可読ストレージ・メディアも含むことができる。本発明の実施形態を実行するために使用されるソフトウェアおよびデータ、例えば、プログラム150、は、このようなポータブル・コンピュータ可読ストレージ・メディアに記憶することができ、入出力インターフェース306を介して永続的ストレージ305にロードすることができる。入出力インターフェース306はまた、ディスプレイ309に接続する。
ディスプレイ309は、ユーザーに対してデータを表示するためのメカニズムを提供し、例えば、コンピュータ・モニターでもよい。
本明細書で説明するプログラムは、本発明の特定の実施形態でそれらが実装されるアプリケーションに基づいて特定される。しかし、本明細書におけるいかなる特定のプログラム専門用語も、単に便宜上使用されているに過ぎず、したがって、本発明は、そのような専門用語によって特定または暗示されるあるいはその両方の任意の特定のアプリケーションのみにおける使用に限られるべきではない、ということを理解すべきである。
本発明は、システム、方法、またはコンピュータ・プログラム製品あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実施させるためのコンピュータ可読プログラム命令をそこに有する1つまたは複数のコンピュータ可読ストレージ・メディアを含むことができる。
コンピュータ可読ストレージ・メディアは、命令実行デバイスによって使用するために命令を保存および記憶することができる有形デバイスとすることができる。コンピュータ可読ストレージ・メディアは、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいが、これらに限定されない。コンピュータ可読ストレージ・メディアのより具体的な例の非包括的なリストは、以下を含む:ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、ディジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令を記録したパンチ・カードまたは溝枠内の隆起構造などの機械的に符号化されたデバイス、および前述の任意の適切な組合せ。本明細書では、コンピュータ可読ストレージ・メディアは、無線波や他の自由に伝播する電磁波、導波管や他の伝送メディアを介して伝播する電磁波(例えば、光ファイバー・ケーブルを通過する光パルス)、またはワイヤーを介して伝送される電気信号など、一過性の信号そのものであると解釈されるものではない。
本明細書で説明するコンピュータ可読プログラム命令は、コンピュータ可読ストレージ・メディアから各コンピューティング/処理デバイスに、あるいは、ネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくはワイヤレス・ネットワークまたはその組合せ、を介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅線伝送ケーブル、光伝送ファイバー、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバーあるいはその組合せを備え得る。各コンピューティング/処理デバイス内のネットワーク・アダプター・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、各コンピューティング/処理デバイス内のコンピュータ可読ストレージ・メディアに記憶するためにコンピュータ可読プログラム命令を転送する。
本発明の運用を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、「C」プログラミング言語もしくは類似のプログラミング言語などの従来のプロシージャー型プログラミング言語、および、「Q」プログラミング言語、Q#、量子計算言語(QCL)もしくは類似のプログラミング言語などの量子プログラミング言語、アセンブリ言語もしくは類似のプログラミング言語などの低レベルのプログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードかオブジェクト・コードのいずれかでもよい。コンピュータ可読プログラム命令は、ユーザーのコンピュータで完全に、ユーザーのコンピュータで部分的に、スタンドアロン・ソフトウェア・パッケージとして、ユーザーのコンピュータで部分的におよびリモート・コンピュータで部分的に、あるいはリモート・コンピュータまたはサーバーで完全に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザーのコンピュータに接続することができ、あるいは、その接続は、外部コンピュータに(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)行うことができる。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む、電子回路は、本発明の態様を実行するために、電子回路をパーソナライズするために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行することができる。
本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートの図解またはブロック図あるいはその両方を参照して説明する。フローチャートの図解またはブロック図あるいはその両方の各ブロック、並びにフローチャートの図解またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができるものと理解されたい。
コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する、命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行動を実装するための手段を作成するように、これらのコンピュータ可読プログラム命令は、機械を生産するために、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供することができる。命令が記憶されたコンピュータ可読ストレージ・メディアが、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行動の態様を実装する命令を含む製品を含むように、これらのコンピュータ可読プログラム命令は、特定のやり方で機能するようにコンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに指示することができるコンピュータ可読ストレージ・メディアに記憶することもできる。
コンピュータ、他のプログラマブル装置、または他のデバイスで実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/行動を実装するように、コンピュータ可読プログラム命令はまた、一連の動作ステップをコンピュータ、他のプログラマブル装置、または他のデバイスで実行させてコンピュータ実装されたプロセスを生み出すために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードすることができる。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能プログラム命令を含む、モジュール、セグメント、または命令の一部を表すことができる。いくつかの代替実装形態では、ブロックに示された機能は、図に示された順番以外で発生する可能性がある。例えば、連続して示された2つのブロックは、実際には、実質的に同時に実行されることがあり、関係する機能によっては、ブロックが逆順に実行されることもある。また、ブロック図またはフローチャートの図解あるいはその両方の各ブロックと、ブロック図またはフローチャートの図解あるいはその両方のブロックの組合せとは、指定された機能または行動を実行するあるいは特殊目的ハードウェアおよびコンピュータ命令の組合せを実施する特殊目的ハードウェアベースのシステムによって実装することができることに留意されたい。
本発明の様々な実施形態の説明は、図解の目的で提示されたものであるが、開示された実施形態をカバーするまたは限定することを意図したものではない。本発明の範囲から逸脱することなく、多くの修正形態および変更形態が当業者には明らかとなろう。本明細書で使用される用語は、実施形態の原理、実際の適用例または市場で見つかる技術の技術的改良を最もよく説明するために、あるいは本明細書で開示される実施形態を当業者が理解することを可能にするために、選択された。

Claims (15)

  1. コンピュータの情報処理による方法であって、前記方法が、
    第1のコンテナの実行時間フィーチャー・セットを、1つまたは複数のコンピュータ・プロセッサによって、決定することであって、前記実行時間フィーチャー・セットには、集約された時間的に配置されたコンテナ動作が含まれる、前記決定することと
    共有コンテナ目的、類似のコンテナ動作、および類似のコンテナ・ファイル構造に基づいて、1つまたは複数の対等コンテナまたは対等ポッドで前記第1のコンテナを、1つまたは複数のコンピュータ・プロセッサによって、クラスタ化することと、
    各対等コンテナについて追加の実行時間フィーチャー・セットを、1つまたは複数のコンピュータ・プロセッサによって、決定することと、
    前記第1のコンテナと各対等コンテナとの差異を、1つまたは複数のコンピュータ・プロセッサによって、計算することと、
    前記計算された差異が差異しきい値を超えると、異常として前記第1のコンテナを、1つまたは複数のコンピュータ・プロセッサによって、特定することとを含む、方法
  2. 前記第1のコンテナと各対等コンテナとの間の前記差異を計算することが、
    特定の期間に、前記クラスタ化された対等コンテナから集約された第2の実行時間フィーチャー・セットに基づいて実行ベースライン実行時間フィーチャー・セットを、1つまたは複数のコンピュータ・プロセッサによって、作成することをさらに含む、請求項1に記載の方法
  3. 前記実行時間フィーチャー・セットが、ファイル運用、ネットワーク運用、およびプロセス運用を含む、請求項1に記載の方法
  4. 前記共有コンテナ目的に基づいて対等コンテナまたは対等ポッドで前記第1のコンテナをクラスタ化することが、
    前記第1のコンテナおよび1つまたは複数の知られているコンテナのファイル名、フォルダ名、親フォルダ、サブフォルダ、関連許可、作成日、修正日、シンボル・リンク、ファイル・サイズ、フォルダ・サイズ、およびファイル・タイプを、1つまたは複数のコンピュータ・プロセッサによって、比較して前記第1のコンテナの前記共有コンテナ目的を決定することを含む、請求項1に記載の方法。
  5. 前記差異が、システム・コールのパーセンテージ・ベクトル、集約された配置されたコンテナ動作の数、タッチされたファイルの数、作成されたファイルの数、およびネットワーク接続の数から導出される、請求項1に記載の方法
  6. 前記クラスタ化された対等コンテナを含むレプリカ・セットに前記第1のコンテナを、1つまたは複数のコンピュータ・プロセッサによって、追加すること
    をさらに含む、請求項1に記載の方法
  7. 前記特定されたコンテナ目的およびエンタープライズ重要度の関連レベルに基づいて前記差異しきい値を、1つまたは複数のコンピュータ・プロセッサによって、調整すること
    をさらに含む、請求項1に記載の方法
  8. 請求項1~7の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
  9. 請求項8に記載の前記コンピュータ・プログラムを、1つまたは複数のコンピュータ可読ストレージ・メディアに記憶した、ストレージ・メディア。
  10. コンピュータ・システムであって、
    1つまたは複数のコンピュータ・プロセッサと、
    1つまたは複数のコンピュータ可読ストレージ・メディアと、
    前記1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために前記コンピュータ可読ストレージ・メディアに記憶されたプログラム命令とを含み、前記記憶されたプログラム命令が、
    第1のコンテナの実行時間フィーチャー・セットを決定するためのプログラム命令、前記実行時間フィーチャー・セットが、集約された時間的に配置されたコンテナ動作を含む、と、
    共有コンテナ目的、類似のコンテナ動作、および類似のコンテナ・ファイル構造に基づいて1つまたは複数の対等コンテナまたは対等ポッドで前記第1のコンテナをクラスタ化するためのプログラム命令と、
    各対等コンテナの追加の実行時間フィーチャー・セットを決定するためのプログラム命令と、
    前記第1のコンテナと各対等コンテナとの間の差異を計算するためのプログラム命令と、
    前記計算された差異が差異しきい値を超えると前記第1のコンテナを異常として特定するためのプログラム命令とを含む、コンピュータ・システム。
  11. 前記第1のコンテナと各対等コンテナとの間の前記差異を計算するための前記プログラム命令が、
    特定の期間に、前記クラスタ化された対等コンテナから、集約された第2の実行時間フィーチャー・セットに基づいて、実行ベースライン実行時間フィーチャー・セットを作成するためのプログラム命令を含む、請求項10に記載のコンピュータ・システム。
  12. 前記実行時間フィーチャー・セットが、ファイル運用、ネットワーク運用、およびプロセス運用を含む、請求項10に記載のコンピュータ・システム。
  13. 共有コンテナ目的、類似のコンテナ動作、および類似のコンテナ・ファイル構造に基づいて1つまたは複数の対等コンテナまたは対等ポッドで前記第1のコンテナをクラスタ化するための前記プログラム命令が、
    前記第1のコンテナおよび1つまたは複数の知られているコンテナのファイル名、フォルダ名、親フォルダ、サブフォルダ、関連許可、作成日、修正日、シンボル・リンク、ファイル・サイズ、フォルダ・サイズ、およびファイル・タイプを比較して前記第1のコンテナの前記共有コンテナ目的を決定するためのプログラム命令を含む、請求項10に記載のコンピュータ・システム。
  14. 前記差異が、システム・コールのパーセンテージ・ベクトル、集約された配置されたコンテナ動作の数、タッチされたファイルの数、作成されたファイルの数、およびネットワーク接続の数から導出される、請求項10に記載のコンピュータ・システム。
  15. 前記1つまたは複数のコンピュータ可読ストレージ・メディアに記憶された、前記プログラム命令が、
    前記特定されたコンテナ目的およびエンタープライズ重要度の関連レベルに基づいて前記差異しきい値を調整するためのプログラム命令をさらに含む、請求項10に記載のコンピュータ・システム。
JP2024533278A 2021-12-13 2022-11-24 異常コンテナ特定方法、システム、プログラム Active JP7843848B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/643,864 2021-12-13
US17/643,864 US12147846B2 (en) 2021-12-13 2021-12-13 Clustered container protection
PCT/CN2022/134071 WO2023109460A1 (en) 2021-12-13 2022-11-24 Clustered container protection

Publications (3)

Publication Number Publication Date
JP2024545065A JP2024545065A (ja) 2024-12-05
JP2024545065A5 JP2024545065A5 (ja) 2025-01-08
JP7843848B2 true JP7843848B2 (ja) 2026-04-10

Family

ID=86695660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024533278A Active JP7843848B2 (ja) 2021-12-13 2022-11-24 異常コンテナ特定方法、システム、プログラム

Country Status (5)

Country Link
US (1) US12147846B2 (ja)
JP (1) JP7843848B2 (ja)
DE (1) DE112022004898T5 (ja)
GB (1) GB2628723B (ja)
WO (1) WO2023109460A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12360817B1 (en) * 2021-05-03 2025-07-15 Amazon Technologies, Inc. Reconfiguration of execution environment pools for serverless functions
US20230195495A1 (en) * 2021-12-20 2023-06-22 Vmware, Inc. Realtime property based application discovery and clustering within computing environments
US12259969B2 (en) * 2022-09-19 2025-03-25 VMware LLC Detecting anomalies in distributed applications based on process data
WO2024073379A1 (en) * 2022-09-30 2024-04-04 Battelle Memorial Institute System and method for detecting and/or blocking malware attacks using decoys
US20250209171A1 (en) * 2023-12-21 2025-06-26 Cisco Technology, Inc. Behavior Based Identification of Malicious Workloads in a Runtime Environment
CN119830267B (zh) * 2024-12-19 2025-11-14 中国电信股份有限公司技术创新中心 一种容器安全防护方法、装置、介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018518762A (ja) 2015-05-28 2018-07-12 オラクル・インターナショナル・コーポレイション 自動異常検出および解決システム
US20190163559A1 (en) 2017-11-28 2019-05-30 International Business Machines Corporation Prevention of application container failure between replicated containers
US20190296963A1 (en) 2018-03-22 2019-09-26 Ca, Inc. Anomaly detection through attempted reconstruction of time series data
US20190391897A1 (en) 2018-06-22 2019-12-26 EMC IP Holding Company LLC Adaptive thresholds for containers
JP2020109636A (ja) 2018-12-28 2020-07-16 エーオー カスペルスキー ラボAO Kaspersky Lab 互換性のあるモジュールを特定するシステムおよび方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652612B2 (en) 2015-03-25 2017-05-16 International Business Machines Corporation Security within a software-defined infrastructure
US10586042B2 (en) 2015-10-01 2020-03-10 Twistlock, Ltd. Profiling of container images and enforcing security policies respective thereof
US10915628B2 (en) 2015-10-01 2021-02-09 Twistlock, Ltd. Runtime detection of vulnerabilities in an application layer of software containers
US10698925B1 (en) * 2017-04-18 2020-06-30 EMC IP Holding Company LLC Grouping-based container management and data services
TWI677804B (zh) 2017-11-29 2019-11-21 財團法人資訊工業策進會 計算機裝置及辨識其軟體容器行為是否異常的方法
GB2568965B (en) 2017-12-04 2020-05-27 British Telecomm Software container application security
RU2697955C2 (ru) 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ обучения модели обнаружения вредоносных контейнеров
US10824726B1 (en) * 2018-03-29 2020-11-03 EMC IP Holding Company LLC Container anomaly detection using container profiles
US11461469B2 (en) 2019-01-22 2022-10-04 Microsoft Technology Licensing, Llc Container anomaly detection based on crowd sourcing
US11115347B2 (en) * 2019-10-14 2021-09-07 Hewlett Packard Enterprise Development Lp Dynamic monitoring and migration of applications
US11157304B2 (en) 2019-11-01 2021-10-26 Dell Products L.P. System for peering container clusters running on different container orchestration systems
CN110851241A (zh) 2019-11-20 2020-02-28 杭州安恒信息技术股份有限公司 Docker容器环境的安全防护方法、装置及系统
US11314614B2 (en) 2020-01-02 2022-04-26 Sri International Security for container networks
US12265616B2 (en) * 2021-11-29 2025-04-01 Microsoft Technology Licensing, Llc Detect anomalous container deployment at a container orchestration service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018518762A (ja) 2015-05-28 2018-07-12 オラクル・インターナショナル・コーポレイション 自動異常検出および解決システム
US20190163559A1 (en) 2017-11-28 2019-05-30 International Business Machines Corporation Prevention of application container failure between replicated containers
US20190296963A1 (en) 2018-03-22 2019-09-26 Ca, Inc. Anomaly detection through attempted reconstruction of time series data
US20190391897A1 (en) 2018-06-22 2019-12-26 EMC IP Holding Company LLC Adaptive thresholds for containers
JP2020109636A (ja) 2018-12-28 2020-07-16 エーオー カスペルスキー ラボAO Kaspersky Lab 互換性のあるモジュールを特定するシステムおよび方法

Also Published As

Publication number Publication date
JP2024545065A (ja) 2024-12-05
US20230185628A1 (en) 2023-06-15
DE112022004898T5 (de) 2024-08-14
US12147846B2 (en) 2024-11-19
WO2023109460A1 (en) 2023-06-22
GB202408125D0 (en) 2024-07-24
GB2628723B (en) 2025-01-22
GB2628723A (en) 2024-10-02

Similar Documents

Publication Publication Date Title
JP7843848B2 (ja) 異常コンテナ特定方法、システム、プログラム
US9407664B1 (en) Systems and methods for enforcing enterprise data access control policies in cloud computing environments
JP6560368B2 (ja) ユーザ行為に基づく悪意のあるダウンロードリスクを判定するためのシステム及び方法
US9245123B1 (en) Systems and methods for identifying malicious files
EP3241331B1 (en) Systems and methods for automatically applying firewall policies within data center applications
US9300693B1 (en) Systems and methods for preventing data loss over virtualized networks
US9246941B1 (en) Systems and methods for predicting the impact of security-policy changes on users
US9116768B1 (en) Systems and methods for deploying applications included in application containers
US9077728B1 (en) Systems and methods for managing access-control groups
US9104859B1 (en) Systems and methods for scanning data stored on cloud computing platforms
US9894085B1 (en) Systems and methods for categorizing processes as malicious
EP3455770B1 (en) Systems and methods for determining security risk profiles
JP2020509511A (ja) 悪意のあるコンピューティングイベントを検出するためのシステム及び方法
JP2019500679A (ja) ログエントリを匿名化するシステム及び方法
US10489587B1 (en) Systems and methods for classifying files as specific types of malware
US9444829B1 (en) Systems and methods for protecting computing resources based on logical data models
CA2915068C (en) Systems and methods for directing application updates
US10242201B1 (en) Systems and methods for predicting security incidents triggered by security software
US10574700B1 (en) Systems and methods for managing computer security of client computing machines
US11429823B1 (en) Systems and methods for dynamically augmenting machine learning models based on contextual factors associated with execution environments
US20170262522A1 (en) Systems and methods for automated classification of application network activity
US11449637B1 (en) Systems and methods for providing web tracking transparency to protect user data privacy
US9332025B1 (en) Systems and methods for detecting suspicious files
WO2019195051A1 (en) Systems and methods for utilizing an information trail to enforce data loss prevention policies on potentially malicious file activity
US10437994B1 (en) Systems and methods for determining the reputations of unknown files

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20260217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20260305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260331

R150 Certificate of patent or registration of utility model

Ref document number: 7843848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150