(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-17
(54)【発明の名称】コンテナ化されたクロスドメインソリューション
(51)【国際特許分類】
G06F 21/62 20130101AFI20240709BHJP
【FI】
G06F21/62
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023577677
(86)(22)【出願日】2022-05-25
(85)【翻訳文提出日】2023-12-15
(86)【国際出願番号】 US2022030809
(87)【国際公開番号】W WO2022271387
(87)【国際公開日】2022-12-29
(32)【優先日】2021-06-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520128820
【氏名又は名称】ノースロップ グラマン システムズ コーポレーション
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ベルモア、マーク エイ.
(72)【発明者】
【氏名】カーク、マシュー ティ.
(72)【発明者】
【氏名】イオディーチェ、デイビッド エム.
(57)【要約】
コンテナ化されたクロスドメインソリューション(CDS)が本明細書で開示される。いくつかの例では、第1のネットワークインタフェースコンテナは、第1のネットワークインタフェースアプリケーションを動作させるためにサーバ上で実行されて、第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含むデータパケットを受信することができる。フィルタコンテナは、データフィルタを動作させるためにサーバ上で実行されて、データのデータコンテンツを評価して、データコンテンツがデータルールのセットに違反しているかどうかを決定することができる。第2のネットワークインタフェースコンテナは、第2のネットワークインタフェースアプリケーションを動作させるためにサーバ上で実行されてよい。データパケットは、データコンテンツがデータルールのセットに違反していないと決定したことに応答して、第2のネットワークインタフェースアプリケーションに提供されてよい。第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、データパケットを第2のセキュリティドメインに提供することができる。
【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、
第1のネットワークインタフェースアプリケーションにおいて、第1のセキュリティドメインで生成されたデータパケットを受信すること
を含み、前記ネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナが実行され、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、前記方法は、
データフィルタにおいて、前記データのデータコンテンツを評価して、前記データが危殆化されているかどうかを決定すること
を含み、前記データフィルタを動作させるためにフィルタコンテナが実行され、前記方法は、
前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記データパケットを第2のネットワークインタフェースアプリケーションに提供すること
を含み、前記第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナが実行され、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
を含む、コンピュータによって実施される方法。
【請求項2】
前記第1のネットワークインタフェースアプリケーションにおいて、ネットワークのためのネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記第1のネットワークインタフェースアプリケーションにおいて、前記データパケットを前記データフィルタに提供すること
をさらに含む、請求項1に記載のコンピュータによって実施される方法。
【請求項3】
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のネットワークのためのネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のセキュリティドメインで実行されている前記第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、請求項2に記載のコンピュータによって実施される方法。
【請求項4】
前記データフィルタは、データルールのセットに対して前記データの前記データコンテンツを評価して、前記データが危殆化されているかどうかを決定するように構成されている、請求項3に記載のコンピュータによって実施される方法。
【請求項5】
クロスドメインインタフェース(CDI)サーバにおいて、前記第1のセキュリティドメインと前記第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表すコード化された命令を実行すること
をさらに含み、前記クロスドメインルータは、前記第1のネットワークインタフェースコンテナおよび前記第2のネットワークインタフェースコンテナと、前記フィルタコンテナとを含む、請求項4に記載のコンピュータによって実施される方法。
【請求項6】
前記第1のネットワークインタフェースコンテナおよび第2のネットワークインタフェースコンテナ、ならびに前記フィルタコンテナは、組み合わされてポッドを構成している、請求項5に記載のコンピュータによって実施される方法。
【請求項7】
前記CDIサーバは、前記クロスドメインルータを表す前記コード化された命令を格納するためのメモリを備え、前記方法は、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを備えるコンテンツデータルールデータベースを前記メモリに格納することをさらに含み、前記コンテンツデータルールデータベースは、前記フィルタコンテナの外部に位置している、請求項5に記載のコンピュータによって実施される方法。
【請求項8】
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを取得することをさらに含む、請求項7に記載のコンピュータによって実施される方法。
【請求項9】
前記データパケットは、第1のデータパケットであり、前記方法は、
前記コンテンツデータルールデータベースにおいて、ユーザ入力に基づいて更新されたデータルールのセットを受信すること、
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記第1のセキュリティドメインで生成された第2のデータパケットのデータが危殆化されているかどうかを決定するための前記更新されたデータルールのセットを取得すること、
前記データフィルタにおいて、前記第2のデータパケットの前記データのデータコンテンツを評価して、前記第2のデータパケットの前記データが危殆化されているかどうかを決定すること、
前記第2のデータパケットの前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記第2のデータパケットを前記第2のネットワークインタフェースアプリケーションに提供すること、
前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のデータパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、請求項8に記載のコンピュータによって実施される方法。
【請求項10】
システムであって、
第1のセキュリティドメインと第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表す機械可読命令と、1つまたは複数のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールのセットを含むコンテンツデータルールデータベースを含むデータとを格納するメモリと、
前記メモリにアクセスし、前記機械可読命令を実行して、第1のネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナを実行し、第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナを実行し、データフィルタを動作させるためにフィルタコンテナを実行する1つまたは複数のプロセッサと
を備え、
前記第1のネットワークインタフェースアプリケーションは、前記第1のセキュリティドメインで生成されたデータパケットを受信するようにプログラムされ、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、
前記データフィルタは、前記コンテンツデータルールデータベースにクエリを行って、前記データルールのセットを取得し、前記データのデータコンテンツが前記データルールのセットに違反していないと決定したことに応答して、前記データパケットを前記第2のネットワークインタフェースアプリケーションに提供するようにプログラムされ、
前記第2のネットワークインタフェースアプリケーションは、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、システム。
【請求項11】
前記第1のネットワークインタフェースコンテナは、ネットワークのためのネットワークルールのセットを備え、前記第1のネットワークインタフェースアプリケーションは、
前記ネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記データパケットを前記データフィルタに提供する
ようにプログラムされている、請求項10に記載のシステム。
【請求項12】
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記第2のネットワークインタフェースコンテナは、第2のネットワークのためのネットワークルールの第2のセットを含み、前記第2のネットワークインタフェースアプリケーションは、前記ネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定するようにプログラムされ、前記第2のネットワークインタフェースアプリケーションは、前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、請求項11に記載のシステム。
【請求項13】
前記データパケットは、第1のデータパケットであり、前記第2のネットワークインタフェースアプリケーションは、
前記第2のセキュリティドメインで生成された第2のデータパケットを受信するようにプログラムされ、前記第2のデータパケットは、前記第2のセキュリティドメインで実行されている前記第2のプロセスによって生成されたデータを含むことができ、
前記第2のネットワークインタフェースアプリケーションは、
前記ネットワークルールの第2のセットに対して前記第2のデータパケットを評価して、前記第2のデータパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記第2のデータパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記データフィルタに提供する
ようにプログラムされている、請求項12に記載のシステム。
【請求項14】
前記データルールのセットは、データルールの第1のセットであり、前記コンテンツデータルールデータベースは、前記第2のプロセスによって生成された前記第2のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールの第2のセットを含む、請求項13に記載のシステム。
【請求項15】
前記データフィルタは、
前記コンテンツデータルールデータベースにクエリを行って、前記データルールの第2のセットを取得し、
前記第2のデータパケットの前記データのデータコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第1のネットワークインタフェースアプリケーションに提供する
ようにプログラムされている、請求項14に記載のシステム。
【請求項16】
前記第1のネットワークインタフェースアプリケーションは、前記第1のセキュリティドメインで実行されている前記第1のプロセスのために、前記第2のデータパケットを前記第1のセキュリティドメインに提供するようにプログラムされている、請求項15に記載のシステム。
【請求項17】
前記フィルタコンテナは、入力フィルタコンテナおよび出力バリデータコンテナを備え、前記機械可読命令は、前記プロセッサによって実行されて、入力フィルタを動作させるために前記入力フィルタコンテナを実行し、出力バリデータを動作させるために前記出力バリデータコンテナを実行し、前記データフィルタは、前記入力フィルタおよび前記出力バリデータを備え、
前記入力フィルタは、前記第1のデータパケットの前記データの前記データコンテンツが前記データルールの第1のセットに違反していないと決定したことに応答して、前記第1のデータパケットを前記出力バリデータに提供するようにプログラムされ、
前記出力バリデータは、前記第1のデータパケットの前記データの前記データコンテンツが前記データルールの第1のセットに違反していないと決定したことに応答して、前記第1のデータパケットを前記第2のネットワークインタフェースアプリケーションに提供するようにプログラムされている、請求項16に記載のシステム。
【請求項18】
前記入力フィルタコンテナは、第1の入力フィルタコンテナであり、前記出力バリデータコンテナは、第1の出力バリデータコンテナであり、前記フィルタコンテナは、第1のフィルタコンテナであり、前記出力バリデータコンテナは、第1の出力バリデータコンテナであり、前記フィルタコンテナは、第2のフィルタコンテナおよび第2の出力バリデータコンテナをさらに備え、前記機械可読命令は、前記プロセッサによって実行されて、第2の入力フィルタを動作させるために第2の入力フィルタコンテナを実行し、第2の出力バリデータを動作させるために前記第2の出力バリデータコンテナを実行し、前記データフィルタは、前記第2の入力フィルタおよび前記第2の出力バリデータを備え、
前記第2の入力フィルタは、前記第2のデータパケットの前記データの前記データコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第2の出力バリデータに提供するようにプログラムされ、
前記出力バリデータは、前記第2のデータパケットの前記データの前記データコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第1のネットワークインタフェースアプリケーションに提供するようにプログラムされている、請求項17に記載のシステム。
【請求項19】
コンピュータによって実施される方法であって、
クロスドメインインタフェース(CDI)サーバ上で第1のネットワークインタフェースコンテナを実行して、第1のネットワークインタフェースアプリケーションを動作させること
を含み、前記第1のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成されたデータパケットを第1のネットワークから受信するようにプログラムされ、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、前記方法は、
前記CDIサーバ上でフィルタコンテナを実行して、データフィルタを動作させること
を含み、前記データフィルタは、前記CDIサーバ上の前記フィルタコンテナの外部に位置するコンテンツデータルールデータベースにクエリを行って、データルールのセットを取得し、前記データルールのセットに基づいて、前記データパケットの前記データのデータコンテンツが危殆化されているかどうかを決定するようにプログラムされており、前記方法は、
前記CDIサーバ上で第2のネットワークインタフェースコンテナを実行して、第2のネットワークインタフェースアプリケーションを動作させること
を含み、前記第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、第2のネットワークを介して前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、コンピュータによって実施される方法。
【請求項20】
前記コンテンツデータルールデータベースに前記データルールのセットを格納することをさらに含み、前記データルールのセットは、ユーザ入力データに基づいて生成されたものである、請求項19に記載のコンピュータによって実施される方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンテナ化されたクロスドメインソリューション(CDS)に関する。
【背景技術】
【0002】
CDSは、2つ以上のセキュリティドメイン間で情報にアクセスし、情報を制限し、または情報を転送する能力を提供する統合情報保証システムである。CDSは、一方向のみ(低ドメインから高ドメインへ、または高ドメインから低ドメインへ)であってもよく、または双方向であってもよい。CDSは、ドメイン間で許可されていない機密データのクロスコンタミネーションを防止し、悪意のあるコンテンツの送信を防止し、隠しチャネルを防止することを意図している。したがって、CDSは、ドメイン分離を実施するように設計され、典型的には、異なる軍事部門間、インテリジェンス機関間、または潜在的に機密情報のタイムリーな共有に決定的に依存する他のオペレーション間などの、セキュリティドメイン間または分類レベル間の転送が許可されていない情報を指定するために使用される何らかの形式のコンテンツフィルタリングを含む。
【0003】
CDSの目標は、信頼されたネットワークドメインが、ネットワーク接続性に通常付随するセキュリティ脅威の可能性を導入することなく、他のドメインと一方向または双方向に情報を交換することを可能にすることである。目標は100%の保証であるが、これは実際には不可能であり、したがって、CDSの開発、評価、および展開は、包括的なリスク管理に基づく。それらの使用の機密性に起因して、認定を受けたCDSの全ての態様は、システム自体およびそれが展開される対象に対する潜在的な脆弱性およびリスクを低減するために、ラボベースセキュリティアセスメント(Lab-Based Security Assessment,LBSA)などのセキュリティ規格の下で厳密に評価されなければならない。米国におけるCDSの評価および認定は、主に、国家安全保障局(NSA)内の国家クロスドメイン戦略管理室(NCDSMO)の権限下にある。
【発明の概要】
【0004】
本開示は、コンテナ化されたCDSに関する。
一例では、コンピュータによって実施される方法は、第1のネットワークインタフェースアプリケーションにおいて、第1のセキュリティドメインで生成されたデータパケットを受信することを含むことができる。第1のネットワークインタフェースコンテナは、ネットワークインタフェースアプリケーションを動作させるために実行されてよく、データパケットは、第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含むことができる。コンピュータによって実施される方法は、データフィルタにおいて、データのデータコンテンツを評価して、データが危殆化されているかどうかを決定することを含むことができる。フィルタコンテナは、データフィルタを動作させるために実行されてよい。コンピュータによって実施される方法は、データが危殆化されていないと決定したことに応答して、データフィルタにおいて、データパケットを第2のネットワークインタフェースアプリケーションに提供することを含むことができる。第2のネットワークインタフェースコンテナは、第2のネットワークインタフェースアプリケーションを動作させるために実行されてよい。コンピュータによって実施される方法は、第2のネットワークインタフェースアプリケーションにおいて、第2のセキュリティドメインで実行されている第2のプロセスのために、データパケットを第2のセキュリティドメインに提供することを含むことができる。
【0005】
さらに別の例では、システムは、第1のセキュリティドメインと第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表す機械可読命令、および1つまたは複数のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールのセットを含むことができるコンテンツデータルールデータベースを含むことができるデータを格納するメモリを含むことができる。システムは、メモリにアクセスし、機械可読命令を実行して、第1のネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナを実行し、第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナを実行し、データフィルタを動作させるためにフィルタコンテナを実行する1つまたは複数のプロセッサを含むことができる。第1のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成されたデータパケットを受信するようにプログラムされていてよい。データパケットは、第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含むことができる。データフィルタは、コンテンツデータルールデータベースにクエリを行って、データルールのセットを取得し、データのデータコンテンツがデータルールのセットに違反していないと決定したことに応答して、データパケットを第2のネットワークインタフェースアプリケーションに提供するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、データパケットを第2のセキュリティドメインに提供するようにプログラムされていてよい。
【0006】
さらなる例では、コンピュータによって実施される方法は、クロスドメインインタフェース(CDI)サーバ上で第1のネットワークインタフェースコンテナを実行して、第1のネットワークインタフェースアプリケーションを動作させることを含むことができる。第1のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成されたデータパケットを第1のネットワークから受信するようにプログラムされていてよい。データパケットは、第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含むことができる。コンピュータによって実施される方法は、CDIサーバ上でフィルタコンテナを実行して、データフィルタを動作させることを含むことができる。データフィルタは、CDIサーバ上のフィルタコンテナの外部に位置するコンテンツデータルールデータベースにクエリを行って、データルールのセットを取得し、データルールのセットに基づいて、データパケットのデータのデータコンテンツが危殆化されているかどうかを決定するようにプログラムされていてよい。コンピュータによって実施される方法は、CDIサーバ上で第2のネットワークインタフェースコンテナを実行して、第2のネットワークインタフェースアプリケーションを動作させることを含むことができる。第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、データパケットを第2のネットワークを介して第2のセキュリティドメインに提供するようにプログラムされていてよい。
【図面の簡単な説明】
【0007】
【
図2】
図2は、クロスドメインルータの一例である。
【
図3】
図3は、第1のセキュリティドメインと第2のセキュリティドメインとの間でデータを通信するための方法の一例である。
【
図4】
図4は、第1のセキュリティドメインと第2のセキュリティドメインとの間でデータを通信するための方法の別の例である。
【発明を実施するための形態】
【0008】
本開示は、コンテナ化されたCDSに関する。既存のCDSは、ハードウェアベースの実装に依存しており、これは、コストが非常に高いだけでなく、より大きな環境へのスケーリングを妨げる。したがって、より多くのネットワークがCDSに関与するようになるにつれて、必要なリソースはより大きくなり、ハードウェアベースのCDSは、しばしば、データまたは企業システム全体のボトルネックになる。さらに、ハードウェアベースのCDSは、追加のネットワークが組み込まれるにつれて指数関数的に成長する可能性があり、ハードウェアベースのCDSは、CDS認証の冗長で時間のかかるプロセスに起因して、進化する技術的要件に十分に速く追いつくことができないため、再認証が困難になる可能性がある。例えば、ハードウェアベースのCDSがセキュリティ規格(例えば、政府機関によって定められたもの)に準拠するためには、ハードウェアベースのCDSは、正式な検証または認証プロセスを経なければならず、これには多大な時間および労力を要する。したがって、ハードウェアベースのCDSが変更(例えば、更新)された場合、ハードウェアベースのCDSは、変更されたハードウェアベースのCDSが安全であることを確認するために、セキュリティ規格に従って再認証されなければならない。
【0009】
本明細書では、セキュリティドメインのスケーリングおよびクロスドメインリソースの効率的な認証を可能にするコンテナ化されたCDSを提供するシステムおよび方法が開示される。ソフトウェアベースのCDSをコンテナに実装することによって、既存のCDSによって提示されるハードウェアの制約が取り除かれる。さらに、本明細書に開示されるシステムおよび方法は、認証されたコンテナがもはや再認証される必要がないので、CDSがより効果的に再認証されることを可能にする。本明細書に開示されるシステムおよび方法は、ユーザまたはエンティティのニーズを満たすようにスケーリングすることができ、したがって、もはや既存のCDSのように特定のハードウェアセットに制限または制約されない、コスト効率が高くポータブルなCDSを提供する。さらに、本明細書に開示されるシステムおよび方法は、CDSのインストールおよび更新、ひいては再認証のための専用人員の必要性を排除する。本明細書に開示されるシステムおよび方法は、コンテナ化されたプロセスをマイクロサービスに分離するため、コンテナイメージは変更されないままであり、外部プログラムまたはユーザを介して修正(例えば、更新、変更など)可能な外部ルールにアクセスすることができるので、CDSの常時再認証はもはや必要とされない。
【0010】
いくつかの例では、CDIサーバは、クロスドメインルータを採用するように構成されていてよい。クロスドメインルータは、CDIサーバ上で実行されることが可能なコード化された命令として表すことができ、2つ以上のセキュリティドメイン間のデータの交換、ひいてはセキュリティドメイン間のデータの移動を容易にすることができる。クロスドメインルータは、第1のネットワークインタフェースコンテナと、第2のネットワークインタフェースコンテナと、フィルタコンテナとを含むことができる。ネットワークインタフェースコンテナは、それぞれの第1のネットワークインタフェースアプリケーションおよび第2のネットワークインタフェースアプリケーションを動作させるために実行されてよい。フィルタコンテナは、データフィルタを動作させるために実行されてよい。第1のネットワークインタフェースアプリケーションおよび第2のネットワークインタフェースアプリケーション、ならびにデータフィルタの各々は、それぞれのセキュリティドメイン間のデータの転送を容易にするために協働するように構成されていてよい。
【0011】
第1のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成された1つまたは複数のデータパケットの評価のためのネットワークルールの第1のセットを含むように構成されていてよい。1つまたは複数のデータパケットは、第1のセキュリティドメインのノード上で実行する第1のプロセス(例えば、アプリケーションまたはサービス)によって生成されたデータを含むことができる。第1のネットワークインタフェースアプリケーションは、1つまたは複数のデータパケットがネットワークルールの第1のセットに違反していないと決定したことに応答して、1つまたは複数のデータパケットをデータフィルタに提供するように構成されていてよい。データフィルタは、データコンテンツの評価のためのデータルールのセットを含むことができる。データフィルタは、クロスドメインルータの外部に位置するコンテンツデータルールデータベースからデータルールのセットを取得するように構成されていてよい。データルールのセットは、データが危殆化されているかどうかを決定するために、1つまたは複数のデータパケット内のデータに適用されてよい。したがって、データフィルタを使用して、マルウェア、不要なコードおよび/またはデータについて、データのデータコンテンツを検査することができる。
【0012】
いくつかの例では、データフィルタは、データルールのセットに基づいてデータが危殆化されていないと決定したことに応答して、データを有する1つまたは複数のデータパケットを第2のネットワークインタフェースアプリケーションに提供するように構成されていてよい。第2のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成された1つまたは複数のデータパケットの評価のためのネットワークルールの第2のセットを含むように構成されていてよい。第2のネットワークインタフェースアプリケーションは、1つまたは複数のデータパケットがネットワークルールの第2のセットに違反していないと決定したことに応答して、1つまたは複数のデータパケットを第2のドメインに提供するように構成されていてよい。したがって、CDIサーバは、異なるセキュリティレベルを有する異なるセキュリティドメイン上で実行するプロセス(例えば、アプリケーションまたはサービス)が、互いの間で安全にデータを通信することを可能にする。さらに、クロスドメインルータは、セキュリティドメイン間のデータルーティングのためにコンテナを使用するので、CDIサーバにおける全体的な電力消費および計算コストを低減することができる。さらに、CDIサーバ上にクロスドメインルータを実装することは、ハードウェアベースのCDSと比べて比較的低コストであり、高度にスケーラブルであり、任意の数のセキュリティドメインをサポートすることができる。
【0013】
図1は、CDSシステム100の一例である。CDSシステム100は、第1のセキュリティドメイン102および第2のセキュリティドメイン104などの2つ以上のセキュリティドメイン間でデータを転送するように構成されていてよい。いくつかの例では、第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々を、セキュリティエンクレーブと呼ぶことができる。第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、本明細書に開示されるように、コンピューティングリソースなどの物理ハードウェア上に実装されていてよい。いくつかの例では、第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、類似の物理ハードウェア上に実装され得る。第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、一緒にネットワーク化され、ノードと呼ぶことができる複数の物理または仮想コンピュータを含むことができる。ノードは、それぞれの物理ハードウェア上に実装されていてよい。いくつかの例では、ノードは、類似の物理ハードウェア上のハイパーバイザー上に存在することができる仮想ノードである。さらなる例において、物理ノードおよび仮想ノードは、類似の物理ハードウェア上で、または1つもしくは複数の異なるハードウェアシステムにわたって実装されていてよい。第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、物理的に別個のセキュリティドメインであってよく、または同じ物理ハードウェア上に存在する論理的に別個のセキュリティドメインであってもよい。第1のセキュリティドメイン102および第2のセキュリティドメイン104は、異なるセキュリティレベルを有することができる。例えば、第1のセキュリティドメイン102および第2のセキュリティドメイン104は、非制限、制限付き、部外秘、機密、非機密、秘密、および極秘などの異なる政府セキュリティレベルを有することができる。
【0014】
第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、CDIサーバ106と通信することができる。いくつかの例では、CDIサーバ106をノードと呼ぶことができる。CDIサーバ106は、第1のセキュリティドメイン102と第2のセキュリティドメイン104との間のデータの移動を容易にするように構成されていてよい。CDIサーバ106は、本明細書に開示されるように、データが意図されたセキュリティドメインにルーティングされるべきかどうかを決定するために、1つまたは複数のデータルールに対してデータを評価するように構成され得る1つまたは複数のフィルタを通してデータを渡すことができる。第1のセキュリティドメイン102と第2のセキュリティドメイン104との間のデータの通信のためにCDIサーバ106を使用することによって、機密データのクロスドメインコンタミネーションを最小限に抑えるかまたは排除することができ、悪意のあるコンテンツが送信される可能性を低減するかまたは排除することができ、あるいは隠しチャネルを防止することができる。
【0015】
第1のセキュリティドメイン102は、第1のネットワーク108を介してCDIサーバ106と通信するように構成されることができ、第2のセキュリティドメイン104は、第2のネットワーク110を介してCDIサーバ106と通信するように構成されていてよい。いくつかの例では、第1のセキュリティドメイン102は、第1のネットワーク108を含むことができる。追加または代替の例では、第2のセキュリティドメイン104は、第2のネットワーク110を含むことができる。各ネットワーク108および110は、物理ネットワークまたは仮想ネットワークであってよい。例えば、第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々内の1つまたは複数の仮想ノードが、それぞれの仮想化環境(例えば、仮想マシン)において実装される場合、ネットワーク108および110は、仮想ネットワークとして実装されることができるとともに、1つまたは複数の仮想ノードがCDIサーバ106と通信することを可能にするように構成されていてよい。さらなる例では、各ネットワーク108および110は、無線ネットワーク(例えば、ローカルエリアネットワーク(LAN)ワイヤレスネットワーク、セルラーネットワークなど)および/または有線ネットワーク(例えば、デジタル加入者線(DSL)、ケーブル線、光ファイバ線など)のような物理ネットワークである。いくつかの例では、第1のネットワーク108および第2のネットワーク110の各々は、電気ケーブル(例えば、同軸、イーサネット(登録商標)、電話線など)および/または光ケーブルを含む。第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々は、各セキュリティドメイン102および104の1つまたは複数のノードがCDIサーバ106と通信することを可能にするために、それぞれのネットワークインタフェース(
図1には示されていない)を含むことができる。
【0016】
例として、第1のセキュリティドメイン102および第2のセキュリティドメイン104の各々内の1つまたは複数のノードは、サービスおよび/またはアプリケーションなどの1つまたは複数のプロセスを実装するためのソフトウェア環境を提供することができる。いくつかの例では、第1のセキュリティドメイン102の第1のノード上で実行されている第1のプロセスは、本明細書に開示されるように、CDIサーバ106を介して、第2のセキュリティドメイン104の第2のノード上で実行されている第2のプロセスにデータを通信するように構成されていてよい。いくつかの例では、第2のプロセスは、本明細書に開示されるように、CDIサーバ106を介して第1のノードにデータを通信するようにプログラムされていてよい。CDIサーバ106は、第1のセキュリティドメイン102と第2のセキュリティドメイン104との間でデータをルーティングするために使用することができる。データは、ファイル、アプリケーション、サービスデータ、スクリプト、センサデータ、画像データ、または他のタイプのデータを含むことができる。いくつかの例では、データは、ユーザ生成データを含むことができる。いくつかの例では、データは、ミッションクリティカルデータであり、第1および第2のプロセスのうちの少なくとも1つは、異なるセキュリティドメインの別のプロセスにルーティングするためのミッションクリティカルデータを含むメッセージを生成するように構成されていてよい。第1および第2のプロセスは、データをCDIサーバ106に自動的におよび/または手動で送信するように構成されていてよい。いくつかの例では、CDIサーバ106は、別のプロセスのためのデータを取得するために、第1および第2のプロセスのうちの少なくとも1つをポーリングするように構成されていてよい。例えば、第1および第2のプロセスのうちの少なくとも1つは、異なるセキュリティドメインに存在する別のアプリケーションと通信するために、CDIサーバ106が第1のネットワーク108および第2のネットワーク110のうちの1つを介してアクセスすることができるそれぞれのセキュリティドメイン内のノード(例えば、特定のフォルダ内)にデータを格納するように構成されていてよい。
【0017】
CDIサーバ106は、コンピューティングリソース112を含むことができる。コンピューティングリソース112は、プロセッサ114およびメモリ116を含むことができる。メモリ116は、本明細書に開示されるように、コンテナ仮想化およびデータの処理/ルーティングのためにプロセッサ114によって取得され、実行され得る機械可読命令を格納することができる。例として、メモリ116は、揮発性メモリ(例えば、ランダムアクセスメモリ)、不揮発性メモリ(例えば、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリなど)、またはそれらの組み合わせのような、非一時的コンピュータ記憶媒体として実装されていてよい。プロセッサ114は、例えば、1つまたは複数のプロセッサコアとして実装され得る。本例では、CDIサーバ106のコンポーネントは、単一のサーバ上に実装されるものとして示されているが、他の例では、コンポーネントは、異なるサーバ(例えば、コンピュータ、デバイスなど)にわたって分散されていてもよく、例えば、ネットワーク(例えば、無線および/または有線ネットワーク)を介して通信することができる。いくつかの例において、CDIサーバ106は、クラウドコンピューティング環境において実装されていてもよい。クラウドコンピューティング環境は、1つまたは複数の処理ユニット(例えば、サーバ)を含むことができる。クラウドコンピューティング環境の他のコンポーネントは、ストレージデバイス、ネットワーキングデバイス(例えば、スイッチ)などを含む。
【0018】
いくつかの例では、コンピューティングリソース112は、1つまたは複数のネットワークインタフェース118を含む。明確かつ簡潔にするために、コンピューティングリソース112の他の要素は省略されている。1つまたは複数のネットワークインタフェース118は、第1のセキュリティドメイン102と第2のセキュリティドメイン104との間のデータの移動を容易にするために、送信機、受信機、トランシーバ、モデム、および/またはネットワークインタフェースカードなどの通信デバイスを含むことができる。例えば、1つまたは複数のネットワークインタフェース118のうちの第1のネットワークインタフェースは、ネットワーク108に結合されることができ、1つまたは複数のネットワークインタフェース118のうちの第2のネットワークインタフェースは、第2のネットワーク110に結合されることができる。第1のネットワークインタフェースは、CDIサーバ106と第1のセキュリティドメイン102との間のデータの移動を容易にするように構成されていてよい。第2のネットワークインタフェースは、CDIサーバ106と第2のセキュリティドメイン104との間のデータの移動を容易にするように構成されていてよい。
【0019】
メモリ116は、オペレーティングシステム120を含むことができる。オペレーティングシステム120は、コード化された命令(例えば、コンピュータおよび/または機械可読命令)としてメモリ116内に格納され、プロセッサ114によって実行されてよい。オペレーティングシステム120は、コンテナシステム122をサポートするようにプログラムされていてよい。例として、オペレーティングシステム120は、Linux(登録商標)、Microsoft Windows(登録商標)、Apple OS X(登録商標)、または仮想コンテナ化をサポートする任意のオペレーティングシステムであってよい。
図1の例におけるコンテナシステム122は、CDIサーバ106上に実装されるが、他の例では、コンテナシステム122は、例えば、パーソナルコンピュータ、モバイルフォン(例えば、セルフォン、スマートフォンなど)、タブレットコンピュータ、または任意の他のタイプのコンピューティングデバイスを使用して実装されてよい。コンテナシステム122は、
図1に示されるように、クロスドメインルータ130を定義または形成するために協働するように集合的に構成され得る、ネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128などのコンテナのために、CDIサーバ106のリソースを割り当てるようにプログラムされていてよい。クロスドメインルータ130は、第1のセキュリティドメイン102と第2のセキュリティドメイン104との間の情報の流れを制御するようにプログラムされていてよい。ネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128は、コード化された命令(例えば、コンピュータおよび/または機械可読命令)としてメモリ116内に格納され、プロセッサ114によって実行されて、第1のセキュリティドメイン102と第2のセキュリティドメイン104との間の情報の流れを制御することができる。
【0020】
いくつかの例では、コンテナシステム122は、ポッドを採用することができ、ポッドは、ネットワークインタフェースコンテナ124および126と、フィルタコンテナ128とを含むことができる。例えば、ネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128は、組み合わされてポッドを構成してよい。例として、ポッドは、Kubernetesポッドまたは別のタイプのポッドであってよい。ポッドは、各コンテナ124、126、および128とともに含まれる各プロセス(例えば、アプリケーションまたはサービス)のインスタンスをホストするように構成されていてよい。コンテナ124、126、および128は、同じポッド内に配置されているので、コンテナ124、126、および128は、CDIサーバ106上の共有コンテキストにおいて共同スケジューリングされ得る。
【0021】
ネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128は、本明細書に開示されるように、それぞれのコンテナ化されたプロセスを実行する。コンピューティング環境では、コンテナは、CDIサーバ106などのホスト環境においてアプリケーションまたはサービスの分離されたインスタンスを動作させるために使用される仮想構造である。コンテナは、オペレーティングシステム120などのオペレーティングシステムからアプリケーションまたはサービスを抽象化する(例えば、分離する)ことによって、オペレーティングシステムレベルで仮想化する。例えば、コンテナで実行するアプリケーションまたはサービスは、CDIサーバ106上または他のコンテナで実行するアプリケーションまたはサービスから分離されていてよい。
【0022】
いくつかの例では、オペレーティングシステム120は、CDIサーバ106内で実行するプロセス(例えば、ホストオペレーティングシステム上で実行するアプリケーションまたはサービス)のための分離およびリソース管理を提供するようにプログラムされていてよい(例えば、カスタマイズされたカーネルを使用して)。プロセスの分離は、コンテナとして知られている。したがって、
図1の例におけるネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128は、オペレーティングシステム120を共有している。したがって、それぞれのコンテナ内で実行されているプロセスは、オペレーティングシステム120上のそれぞれのコンテナ内で実行されている他のプロセスから分離されている。例示的なオペレーティングシステム仮想化環境は、Linux Containers LXCおよびLXD、Docker(商標)、OpenVZ(商標)などを含むことができる。ネットワークインタフェースコンテナ124および126、ならびにフィルタコンテナ128は、ハイパーバイザー層または専用メモリ、ディスクスペース、もしくはプロセッサなしで、コンテナにおいてオペレーティングシステムから直接動作させられるようにプログラムされていてよい。したがって、本明細書で開示されるCDSコンテナ化アプローチは、仮想マシンがCDIサーバ106において実装されることを必要としない。したがって、コンテナシステム122を表すコード化された命令(例えば、コンピュータおよび/または機械可読命令)は、ハイパーバイザーなしでCDIサーバ106のリソースにインタフェースすることができ、コード化された命令は、任意の特定のオペレーティングシステム構成に依存することなくCDIサーバ106のリソースにインタフェースすることができる。
【0023】
例として、動作(例えば、ランタイム)中に、ネットワークインタフェースコンテナ124および126が実行されて、それぞれの第1のネットワークインタフェースアプリケーション132および第2のネットワークインタフェースアプリケーション134を動作させることができる。フィルタコンテナ128は、データフィルタ136を動作させるために実行されてよい。第1のネットワークインタフェースアプリケーション132および第2のネットワークインタフェースアプリケーション134の各々は、それぞれのセキュリティドメイン102および104との間のデータの通信を容易にするようにプログラムされていてよい。例えば、第1のネットワークインタフェースアプリケーション132は、第1のセキュリティドメイン102で実行されている第1のプロセスによって生成されたデータを受信するようにプログラムされていてよい。第1のプロセスによって生成されたデータは、1つまたは複数のネットワークインタフェース118のうちの第1のネットワークインタフェースにおいて受信され得る。第1のネットワークインタフェースコンテナ124は、サービスおよび/またはアプリケーション間のトラフィックをホワイトリスト化するためのネットワークルールの第1のセットを含むことができる。第1のネットワークインタフェースアプリケーション132は、ネットワークルールの第1のセットに基づいてデータを処理するようにプログラムされていてよい。いくつかの例では、第2のプロセスによって生成されたデータは、1つまたは複数のネットワークインタフェース118のうちの第2のネットワークインタフェースにおいて受信され得る。第2のネットワークインタフェースコンテナ126は、サービスおよび/またはアプリケーション間のトラフィックをホワイトリスト化するためのネットワークルールの第2のセットを含むことができる。第2のネットワークインタフェースアプリケーション134は、ネットワークルールの第2のセットに基づいてデータを処理するようにプログラムされていてよい。第1のネットワークインタフェースアプリケーション132および第2のネットワークインタフェースアプリケーション134の各々は、それぞれのセキュリティドメインで動作している不正なサービスが、異なるセキュリティドメイン上で動作している他のアプリケーションまたはサービスにメッセージを発行しないように、それぞれのネットワークルールを実施するようにプログラムされていてよい。
【0024】
いくつかの例では、第1のネットワークインタフェースアプリケーション132および第2のネットワークインタフェースアプリケーション134は、レイヤ3プロキシコンテナとして実装され、レイヤ3プロトコルをサポートするように構成されていてよい。例として、第1のプロセスによって生成されたデータは、第1のセキュリティドメイン102においてパケット化され、第1のネットワーク108を介してCDIサーバ106に送信されてよい。ネットワークインタフェース118の第1のネットワークインタフェースは、パケット化されたデータを受信するように構成されていてよい。パケット化されたデータは、ヘッダ情報、インターネットプロトコル(IP)情報、データ、および他の情報を含むことができる。パケット化されたデータの各セグメントは、割り当てられたソースおよび宛先IPアドレスを有することができる。第1のネットワークインタフェースアプリケーション132は、ネットワークルールの第1のセットに対してパケット化されたデータを評価して、パケット化されたデータがネットワークルールの第1のセットのうちのいずれかに違反しているかどうかを決定するようにプログラムされていてよい。いくつかの例では、パケット化されたデータは、データラベルを含み、ネットワークルールの第1のセットは、1つまたは複数のラベルルールを含む。第1のネットワークインタフェースアプリケーション132は、1つまたは複数のラベルルールに対してデータラベルを評価して、データラベルが1つまたは複数のラベルルールのデータラベルと一致しているかどうかを決定するようにプログラムされていてよい。第1のネットワークインタフェースアプリケーション132は、データのデータラベルが1つまたは複数のラベルルールのデータラベルと一致していると決定したことに応答して、データをデータフィルタ136に提供するようにプログラムされていてよい。いくつかの例では、第1のネットワークインタフェースアプリケーション132は、データのデータラベルが1つまたは複数のラベルルールのデータラベルと一致していないと決定したことに応答して、データをデータフィルタ136に渡すことを拒否するようにプログラムされていてよい。
【0025】
データフィルタ136は、パケット化されたデータをデータルールのセットに適用して、パケット化されたデータのデータがデータルールのセットのうちの1つまたは複数のルールに違反しているかどうかを決定するようにプログラムされていてよい。いくつかの例では、データルールのセットは、データフィルタ136がデータの処理のためにアクセスするようにプログラムされ得るボリュームのフィルタコンテナ128の外部に位置している。いくつかの例では、データルールのセットは、コンテンツデータルールデータベースに格納されている。データフィルタ136は、データがデータルールのセットに違反していないと決定したことに応答して、パケット化されたデータを第2のネットワークインタフェースアプリケーション134に提供するようにプログラムされていてよい。他の例では、データフィルタ136は、データがデータルールのセットのうちの少なくとも1つのデータルールに違反していると決定したことに応答して、パケット化されたデータを第2のネットワークインタフェースアプリケーション134に渡すことを拒否するようにプログラムされていてよい。
【0026】
いくつかの例では、第2のネットワークインタフェースアプリケーション134は、データフィルタ136からパケット化されたデータを受信するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション134は、パケット化されたデータを、ネットワークインタフェース118の第2のネットワークインタフェースを介して、第2のネットワーク110上で第2のセキュリティドメイン104に送信するようにプログラムされていてよい。いくつかの例では、第2のネットワークインタフェースアプリケーション134は、ネットワークルールの第2のセットに対してパケット化されたデータを評価して、パケット化されたデータがネットワークルールの第2のセットのうちのいずれかに違反しているかどうかを決定するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション134は、パケット化されたデータがネットワークルールの第2のセットのうちのいずれにも違反していないと決定したことに応答して、パケット化されたデータを第2のセキュリティドメイン104に送信するようにプログラムされていてよい。第2のセキュリティドメイン104は、1つまたは複数のパケットからデータを抽出し、抽出されたデータを、それを使用するために第2のプロセスに提供するように構成されていてよい。
【0027】
いくつかの例では、コンテンツデータルールデータベースは、ユーザ入力データに基づいて更新されたデータルールのセットを受信するようにプログラムされていてよい。データフィルタ136は、コンテンツデータルールデータベースにクエリを行って、パケット化されたデータ(または後続のパケット化されたデータ)を有するデータが危殆化されていることを決定するために、更新されたデータルールのセットを取得するようにプログラムされていてよい。データフィルタ222は、パケット化されたデータのデータのデータコンテンツを評価して、データが危殆化されているかどうかを決定するようにプログラムされていてよい。いくつかの例では、データフィルタ222は、パケット化されたデータのデータが危殆化されていないと決定したことに応答して、パケット化されたデータを第2のネットワークインタフェースアプリケーション134に提供するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション134は、そこで動作する第2のプロセスのために第2のセキュリティドメイン104にパケット化されたデータを提供するようにプログラムされていてよい。
【0028】
したがって、CDIサーバ106は、異なるセキュリティレベルを有する異なるセキュリティドメイン上で実行されているプロセス(例えば、アプリケーションまたはサービス)が、互いの間で安全にデータを通信することを可能にする。さらに、クロスドメインルータ130は、セキュリティドメイン間のデータルーティングのためにコンテナを使用するので、CDIサーバ106における全体的な電力消費および計算コストを低減することができる。さらに、CDIサーバ106上にクロスドメインルータ130を実装することは、ハードウェアベースのCDSと比べて比較的低コストであり、高度にスケーラブルであり、任意の数のセキュリティドメインをサポートすることができる。
図1の例は、2つのセキュリティドメイン間の通信を管理するCDIサーバ106を示しているが、他の例では、CDIサーバ106は、3つ以上のセキュリティドメイン間のデータの通信を管理するように構成されていてよい。
【0029】
図2は、クロスドメインルータ200の一例である。いくつかの例では、クロスドメインルータ200は、
図1に示すようなクロスドメインルータ130である。したがって、
図2の以下の説明は、
図1も参照する。クロスドメインルータ200は、CDIサーバ106のメモリ116に格納され得るコード化された命令を表すことができる。プロセッサ114は、メモリ116にアクセスするとともに、コード化された命令を実行して、
図2に示すような第1のセキュリティドメイン202および第2のセキュリティドメイン204などの2つ以上のセキュリティドメイン間のデータの転送を規制する(例えば、有効化および/または制限する)ように構成されていてよい。いくつかの例では、第1のセキュリティドメイン202は、セキュリティドメイン102であり、第2のセキュリティドメイン204は、
図1に示すような、第2のセキュリティドメイン104である。第1のセキュリティドメイン202および第2のセキュリティドメイン204の各々は、異なるセキュリティレベルを有していてよく、コンピューティングデバイス(例えば、コンピュータ、タブレット、携帯電話、ミッション展開システムなど)を表し得る1つまたは複数のノードを含むことができる。いくつかの例では、1つまたは複数のノードは、仮想マシンなどの仮想コンピュータを表すことができる。
【0030】
いくつかの例では、第1のプロセス(例えば、アプリケーションまたはサービス)は、第1のセキュリティドメイン202の第1のノード上で実行され得る。プロセスは、第2のセキュリティドメイン204の第2のノード上で実行されている第2のプロセスによって消費される(例えば、処理される)データを生成するようにプログラムされていてよい。例として、それぞれのノードによって生成されるデータは、メッセージであってよい。したがって、いくつかの例では、第1のプロセスは、メッセンジャーアプリケーションまたはサービスであり得る。メッセージは、センサステータス情報、システムステータス情報、ミッションステータス情報、または他のタイプのステータス情報を含むことができる。データは、データパケットにカプセル化され、第1のセキュリティドメイン202から第1のネットワーク206を介してCDIサーバ106に送信され得る。本明細書に開示されるように、クロスドメインルータ200は、ネットワークおよびデータルールのセットに対してデータパケットを評価して、データパケットが第2のセキュリティドメイン204に提供されることを許可されるかどうかを決定するようにプログラムされていてよい。CDIサーバ106は、本明細書に開示されるように、ネットワークおよびデータルールのセットに対するデータパケットの評価に基づいて、クロスドメインルータ200に応答して、第2のプロセスのために第2のネットワーク208を介して第2のセキュリティドメイン204にデータパケットを提供するように構成されていてよい。
【0031】
クロスドメインルータ200は、第1のネットワークインタフェースコンテナ210および第2のネットワークインタフェースコンテナ212を含むことができる。第1のネットワークインタフェースコンテナ210は、第1のネットワークインタフェースコンテナ124であってよく、第2のネットワークインタフェースコンテナ212は、
図1に示されるような、第2のネットワークインタフェースコンテナ126であってよい。例として、動作(例えば、ランタイム)中に、第1のネットワークインタフェースコンテナ210および第2のネットワークインタフェースコンテナ212が実行されて、それぞれの第1のネットワークインタフェースアプリケーション214および第2のネットワークインタフェースアプリケーション216を動作させることができる。第1のネットワークインタフェースアプリケーション214は、第1のネットワークインタフェースアプリケーション132であってよく、第2のネットワークインタフェースアプリケーション216は、
図1に示されるような、第2のネットワークインタフェースアプリケーション134であってよい。第1のネットワークインタフェースアプリケーション214は、ネットワークルールの第1のセット218に対してデータパケットを評価するようにプログラムされていてよい。ネットワークルールの第1のセット218は、第1のネットワーク206のためのデータルーティングルールを含むことができる。ネットワークルールおよびデータルールに関して本明細書で使用される「セット」という用語は、単一のルールまたは複数のルールを含むことができる。したがって、例えば、ネットワークルールの第1のセット218は、単一のネットワークルールまたは2つ以上の異なるネットワークルールを含み得る。
図2に示されるように、ネットワークインタフェースコンテナ210は、第1のネットワークインタフェースアプリケーション214によってアクセスされ得るネットワークルールの第1のセット218を含む。
【0032】
クロスドメインルータ200は、フィルタコンテナ220をさらに含むことができる。例として、動作(例えば、ランタイム)中に、フィルタコンテナ220が実行されて、データフィルタ222を動作させることができる。フィルタコンテナ220は、
図1に示されるようなフィルタコンテナ128であってよい。したがって、いくつかの例では、データフィルタ222は、
図1に示されるようなデータフィルタ136である。第1のネットワークインタフェースアプリケーション214は、ネットワークルールの第1のセット218に対してデータパケットを評価して、データパケットがネットワークルールの第1のセット218のうちの少なくとも1つのネットワークに違反しているかどうかを決定するようにプログラムされていてよい。第1のネットワークインタフェースアプリケーション214は、ネットワークルールの第1のセット218に対するデータパケットの評価に基づいて、データパケットをデータフィルタ222に提供するようにプログラムされていてよい。
【0033】
いくつかの例では、データパケットは、データラベルを含み、ネットワークルールの第1のセット218は、1つまたは複数のラベルルールを含む。第1のネットワークインタフェースアプリケーション214は、1つまたは複数のラベルルールに対してデータラベルを評価して、データラベルが1つまたは複数のラベルルールのデータラベルと一致しているかどうかを決定するようにプログラムされていてよい。第1のネットワークインタフェースアプリケーション214は、データのデータラベルが1つまたは複数のラベルルールのデータラベルと一致していると決定したことに応答して、データパケットをデータフィルタ222に提供するようにプログラムされていてよい。本明細書に開示されるように、データフィルタ222は、データパケットのデータのデータコンテンツを評価して、データが危殆化されているかどうかを決定するようにプログラムされていてよい。例として、データパケットのデータがマルウェア、または不要なコードおよび/またはデータを含んでいると決定したことに応答して、データを危殆化されたデータと呼ぶことができる。
【0034】
いくつかの例では、ネットワークインタフェースコンテナ210は、暗号モジュール224を動作させるために実行されてよい。
図2の例は、第1のネットワークインタフェースアプリケーション214とは別個の暗号モジュール224を示すが、いくつかの例では、第1のネットワークインタフェースアプリケーション214は、暗号モジュール224を含むことができる。データパケットが暗号化される例では、暗号モジュール224は、ネットワークルールの第1のセット218に対する評価のためにデータパケットを解読するようにプログラムされていてよい。暗号モジュール224は、暗号モジュール224と、第1のセキュリティドメイン202のそれぞれのノード上で動作しているそれぞれの暗号モジュールとの間の双方向認証スキームに基づいて、データパケットを暗号化および解読するようにプログラムされていてよい。したがって、いくつかの例では、第1のノードは、データパケットを暗号化して、暗号化されたデータパケットを第1のネットワーク206を介してCDIサーバ106に提供するように構成されていてよく、暗号化されたデータパケットは、暗号モジュール224によって解読することができる。いくつかの例では、双方向認証は、相互トランスポート層認証(mTLS)である。いくつかの例では、mTLS証明書は、暗号モジュール224(および第1のセキュリティドメイン202のそれぞれのノード)によって、第1のネットワーク206上に位置するルート認証局から導出されて、CDIサーバ106、したがって第1のネットワークインタフェースアプリケーション214が、第1のノードなどの第1のセキュリティドメイン202の1つまたは複数のノードとセキュアに通信することを可能にすることができる。いくつかの例では、第1のセキュリティドメイン202は、第1のネットワーク206を含むことができる。追加または代替の例では、第2のセキュリティドメイン204は、第2のネットワーク208を含むことができる。
【0035】
さらなる例として、データフィルタ222は、本明細書に開示されるように、データが危殆化されていないと決定したことに応答して、データパケットを第2のネットワークインタフェースアプリケーション216に提供するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション216は、ネットワークルールの第2のセット226に対してデータパケットを評価するようにプログラムされていてよい。
図2に示されるように、ネットワークインタフェースコンテナ212は、第2のネットワークインタフェースアプリケーション216によってアクセスされ得るネットワークルールの第2のセット226を含む。ネットワークルールの第2のセット226は、第2のネットワーク208のためのデータルーティングルールを含むことができる。ネットワークルールの第2のセット226は、ネットワークルールの第1のセット218とは異なっていてよく、それぞれのセキュリティドメインのセキュリティレベルに基づいていてよい。例えば、第1のセキュリティドメイン202は、トップシークレットセキュリティドメインとして指定されていてよく、第2のセキュリティドメイン204は、シークレットセキュリティドメインとして指定されていてよい。トップシークレットセキュリティドメインは、ネットワークルールの1つのセットを有していてよく、シークレットセキュリティドメインは、それぞれのセキュリティドメインのセキュリティレベルに基づくことができるネットワークルールの別のセットを有していてよい。したがって、いくつかの例では、第1のセキュリティドメイン202および第2のセキュリティドメイン204は、異なるネットワークルールを有することができる。第1のネットワークルール218および第2のネットワークルール226の各々は、データのタイプ、およびそれぞれのセキュリティドメインに提供され得るデータのタイプに基づいて変化し得る。いくつかの例では、ネットワークルールの第1のセット218および第2のセット216のうちの少なくとも1つは、それぞれのセキュリティドメインに提供され得るメッセージタイプルール(例えば、ヘルス、ステータスなど)を含んでいてよい。それぞれのネットワークインタフェースアプリケーションは、ネットワークルールのそれぞれのセットに基づいて特定のメッセージタイプのデータを有するメッセージを渡し、すべての他のメッセージタイプをブロックするようにプログラムされていてよい。
【0036】
いくつかの例では、本明細書に開示されるように、データパケットは、データラベルを含むことができる。ネットワークルールの第2のセット226は、1つまたは複数のラベルルールを含むことができる。第2のネットワークインタフェースアプリケーション216は、1つまたは複数のラベルルールに対してデータラベルを評価して、データラベルが1つまたは複数のラベルルールのデータラベルと一致しているかどうかを決定するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション216は、データのデータラベルが1つまたは複数のラベルルールのデータラベルと一致していると決定したことに応答して、第2のネットワーク208を介して第2のセキュリティドメイン204にデータパケットを提供するようにプログラムされていてよい。
【0037】
いくつかの例では、ネットワークインタフェースコンテナ212は、暗号モジュール228を動作させるために実行されてよい。
図2の例は、第2のネットワークインタフェースアプリケーション216とは別個の暗号モジュール228を示すが、いくつかの例では、第2のネットワークインタフェースアプリケーション216は、暗号モジュール228を含むことができる。暗号モジュール228は、暗号モジュール228と、第2のセキュリティドメイン204のそれぞれのノード上で動作しているそれぞれの暗号モジュールとの間の双方向認証スキームに基づいて、データパケットを暗号化および解読するようにプログラムされていてよい。例えば、暗号モジュール228は、データパケットがネットワークルールの第2のセット226に違反していないと第2のネットワークインタフェースアプリケーション216が決定したことに応答して、データパケットを暗号化するようにプログラムされていてよい。いくつかの例では、双方向認証は、mTLSである。いくつかの例では、mTLS証明書は、暗号モジュール228(および第2のセキュリティドメイン204のそれぞれのノード)によって、第2のネットワーク208上に位置するルート認証局から導出されて、CDIサーバ106、したがって第2のネットワークインタフェースアプリケーション216が、第2のノードなどの第2のセキュリティドメイン204の1つまたは複数のノードとセキュアに通信することを可能にすることができる。
【0038】
いくつかの例では、第1のセキュリティドメイン202を起点とするデータパケットを、本明細書では第1のデータパケットと呼ぶことができる。例として、第2のデータパケットは、第2のセキュリティドメイン204の第2のノード上で実行されている第2のプロセス(例えば、アプリケーションまたはサービス)によって生成され得る。プロセスは、第1のセキュリティドメイン202の第1のノード上で実行されている第1のプロセスによって消費される(例えば、処理される)データを生成するようにプログラムされていてよい。例として、それぞれのノードによって生成されるデータは、本明細書に開示されるようなメッセージであってよい。データは、第2のセキュリティドメイン204においてカプセル化されて、第2のデータパケットを形成するとともに、第2のネットワーク208を介してCDIサーバ106に送信され得る。
【0039】
第2のネットワークインタフェースアプリケーション216は、第1のデータパケットに関して本明細書で開示されたのと同一または類似の方法で、ネットワークルールの第2のセット226に対して第2のデータパケットを評価して、第2のデータパケットがネットワークルールの第2のセット226のうちの少なくとも1つのネットワークに違反しているかどうかを決定するようにプログラムされていてよい。第2のネットワークインタフェースアプリケーション216は、第2のデータパケットがネットワークルールの第2のセット226に違反していないと決定したことに応答して、第2のデータパケットをデータフィルタ222に提供するようにプログラムされていてよい。第2のデータパケットが暗号化される例では、暗号モジュール228は、第1のデータパケットに関して開示されたのと同一または類似の方法で、ネットワークルールの第2のセット226に対する評価のために第2のデータパケットを解読するようにプログラムされていてよい。
【0040】
いくつかの例では、データフィルタ222は、第1のデータパケットに関して本明細書に開示されたのと同一または類似の方法で、第2のデータパケットのデータが危殆化されていないと決定したことに応答して、第2のデータパケットを第1のネットワークインタフェースアプリケーション214に提供するようにプログラムされていてよい。第1のネットワークインタフェースアプリケーション214は、第1のデータパケットに関して本明細書で開示されたのと同一または類似の方法で、ネットワークルールの第1のセット218に対する第2のデータパケットの評価に基づいて、第2のデータパケットを第1のネットワーク206を介して第1のプロセスのために第1のセキュリティドメイン202に提供するようにプログラムされていてよい。
【0041】
いくつかの例において、フィルタコンテナ220は、第1の入力フィルタコンテナ230と、第1の出力バリデータコンテナ232と、第2の入力フィルタコンテナ234と、第2の出力バリデータコンテナ236とを含むことができる。いくつかの例では、第1の入力フィルタコンテナ230、第1の出力バリデータコンテナ232、第2の入力フィルタコンテナ234、および第2の出力バリデータコンテナ236は、CDIサーバ106上で実行されてよい。いくつかの例では、第1の入力フィルタコンテナ230、第1の出力バリデータコンテナ232、第2の入力フィルタコンテナ234、および第2の出力バリデータコンテナ236を、まとめてフィルタコンテナ220と呼ぶことができる。したがって、いくつかの例では、第1の入力フィルタ238を動作させるために第1の入力フィルタコンテナ230が実行されてよく、第1の出力バリデータ240を動作させるために第1の出力バリデータコンテナ232が実行されてよく、第2の入力フィルタ242を動作させるために第2の入力フィルタコンテナ234が実行されてよく、第2の出力バリデータ244を動作させるために第2の出力バリデータコンテナ236が実行されてよい。いくつかの例では、第1の入力フィルタ238、第1の出力バリデータ240、第2の入力フィルタ242、および第2の出力バリデータ244を、まとめてデータフィルタ222と呼ぶことができる。
【0042】
図2に示すように、第1のデータパス246(例えば、データパイプ)は、第1の入力フィルタ238と第1の出力バリデータ240との間に一方向データパスを提供するように確立されていてよく、第2のデータパス248(例えば、データパイプ)は、第2の入力フィルタ242と第2の出力バリデータ244との間に一方向データパスを提供するように確立されていてよい。第1の入力フィルタ238は、第1のネットワークインタフェースアプリケーション214から第1のデータパケットを受信するようにプログラムされていてよい。第1の入力フィルタ238は、コンテンツデータルールデータベース250と通信するようにプログラムされていてよい。
図2に示すように、コンテンツデータルールデータベース250は、クロスドメインルータ200、したがってフィルタコンテナ220の外部に配置されている。例えば、第1の入力フィルタ238は、データルールの第1のセット252について、コンテンツデータルールデータベース250にクエリを行うようにプログラムされていてよい。いくつかの例では、コンテンツデータルールデータベース250は、CDIサーバ106のメモリ116に格納されている。他の例では、コンテンツデータルールデータベース250は、CDIサーバ106の外部に配置され、データルールを取得するために、本明細書に開示されるようにクエリを行われてよい。
【0043】
データルールの第1のセット252は、第1のセキュリティドメイン202から第2のセキュリティドメイン204に提供され得るコンテンツのタイプ、したがってデータを識別する1つまたは複数のデータコンテンツルールを含むことができる。いくつかの例では、データルールの第1のセット252は、第1のセキュリティドメイン202を起点とする1つまたは複数のデータパケットのデータ内に埋め込まれ得る異なるタイプのマルウェアを検出するためのマルウェアシグネチャまたはルールを含むことができる。第1の入力フィルタ238は、データルールの第1のセット252に対して第1のデータパケットのデータのデータコンテンツを評価して、データが危殆化されているかどうかを決定するようにプログラムされていてよい。いくつかの例では、第1の入力フィルタ238は、データルールの第1のセット252に対して第1のデータパケットのデータのデータコンテンツを評価して、データパケット内のデータのタイプが第2のセキュリティドメイン204に提供され得るかどうかを決定するようにプログラムされていてよい。
【0044】
第1の入力フィルタ238は、第1のデータパケットのデータのデータコンテンツがデータルールの第1のセット252に違反していないと決定したことに応答して、第1のデータパケットを第1のデータパス246を介して第1の出力バリデータ240に通信するようにプログラムされていてよい。いくつかの例では、第1の出力バリデータ240は、コンテンツデータルールデータベース250と通信するようにプログラムされていてよい。第1の出力バリデータ240は、データルールの第1のセット252についてコンテンツデータルールデータベース250にクエリを行うようにプログラムされていてよい。第1の出力バリデータ240は、第1の入力フィルタ238と同一または類似の方法で、データルールの第1のセット252に対して第1のデータパケットのデータのデータコンテンツを評価するようにプログラムされていてよい。したがって、第1の入力フィルタ238および第1の出力バリデータ240の両方は、データルールの類似のセットに基づいて第1のデータパケットを評価するようにプログラムされていてよい。いくつかの例では、第1の入力フィルタ238は、第1の出力バリデータ240とは異なるコードベースを有することができる。いくつかの例では、マルウェア攻撃は、第1の入力フィルタ238および第1の出力バリデータ240のうちの1つをオフラインにさせ得る。第1の入力フィルタ238および第1の出力バリデータ240は、異なるコードベース(例えば、異なる開発者によってコード化された)を有することができるので、残りのフィルタまたはバリデータは、機能的かつオンラインのままであることができ、したがって、それぞれのセキュリティドメインから別のセキュリティドメインへのデータの漏洩、または所与のセキュリティドメインに侵入するマルウェアから保護することができる。
【0045】
いくつかの例では、第2の入力フィルタ242は、第2のネットワークインタフェースアプリケーション216から第2のデータパケットを受信するようにプログラムされていてよい。第2の入力フィルタ242は、コンテンツデータルールデータベース250と通信するようにプログラムされていてよい。例えば、第2の入力フィルタ242は、データルールの第2のセット254について、コンテンツデータルールデータベース250にクエリを行うようにプログラムされていてよい。データルールの第2のセット254は、第2のセキュリティドメイン204から第1のセキュリティドメイン202に提供され得るコンテンツのタイプ、したがってデータを識別する1つまたは複数のデータコンテンツルールを含むことができる。いくつかの例では、データルールの第2のセット254は、第2のセキュリティドメイン204を起点とする1つまたは複数のデータパケットのデータ内に埋め込まれ得る異なるタイプのマルウェアを検出するためのマルウェアシグネチャまたはルールを含むことができる。第2の入力フィルタ242は、データルールの第2のセット254に対して第2のデータパケットのデータのデータコンテンツを評価して、データが危殆化されているかどうかを決定するようにプログラムされていてよい。いくつかの例では、第2の入力フィルタ242は、データルールの第2のセット254に対して第2のデータパケットのデータのデータコンテンツを評価して、第2のデータパケット内のデータのタイプが第1のセキュリティドメイン202に提供され得るかどうかを決定するようにプログラムされていてよい。
【0046】
第2の入力フィルタ242は、第2のデータパケットのデータのデータコンテンツがデータルールの第2のセット254に違反していないと決定したことに応答して、第2のデータパケットを第2のデータパス248を介して第2の出力バリデータ244に通信するようにプログラムされていてよい。いくつかの例では、第2の出力バリデータ244は、コンテンツデータルールデータベース250と通信するようにプログラムされていてよい。第2の出力バリデータ244は、データルールの第2のセット254についてコンテンツデータルールデータベース250にクエリを行うようにプログラムされていてよい。第2の出力バリデータ244は、第2の入力フィルタ242と同一または類似の方法で、データルールの第2のセット254に対して第2のデータパケットのデータのデータコンテンツを評価するようにプログラムされていてよい。したがって、第2の入力フィルタ242および第2の出力バリデータ244の両方は、データルールの類似のセットに基づいて第2のデータパケットを評価するようにプログラムされていてよい。
【0047】
いくつかの例では、第2の入力フィルタ242は、第2の出力バリデータ244とは異なるコードベースを有することができる。いくつかの例では、マルウェア攻撃は、第2の入力フィルタ242および第2の出力バリデータ244のうちの1つをオフラインにさせ得る。第2の入力フィルタ242および第2の出力バリデータ244は、異なるコードベース(例えば、異なる開発者によってコード化された)を有することができるので、残りのフィルタまたはバリデータは、機能的かつオンラインのままであることができ、したがって、それぞれのセキュリティドメインから別のセキュリティドメインへのデータの漏洩、または所与のセキュリティドメインに侵入するマルウェアから保護することができる。例として、データルールの第1のセット252およびデータルールの第2のセットのうちの少なくとも1つは、フィールドバリデーションルール、フィールド除去ルール、および他のタイプのルールを含むことができる。
【0048】
したがって、クロスドメインルータ200は、異なるセキュリティレベルを有する異なるセキュリティドメイン上で実行されているプロセス(例えば、アプリケーションまたはサービス)が、互いの間で安全にデータを通信することを可能にする。さらに、クロスドメインルータ200は、セキュリティドメイン間のデータルーティングのためにコンテナを使用するので、CDIサーバ106における全体的な電力消費および計算コストを低減することができる。さらに、CDIサーバ106上にクロスドメインルータ200を実装することは、ハードウェアベースのCDSと比べて比較的低コストであり、高度にスケーラブルであり、任意の数のセキュリティドメインをサポートすることができる。
図2の例は、2つのセキュリティドメイン間の通信を管理するクロスドメインルータ200を示しているが、他の例では、クロスドメインルータ200は、3つ以上のセキュリティドメイン間のデータの通信を管理するように構成されていてよい。
【0049】
さらに、コンテンツデータルールデータベース250は、フィルタコンテナ128の外部、したがってそれぞれのコンテナ230、232、234、および236の外部に位置しているので、それぞれのコンテナ230、232、234、および236がセキュリティ規格(例えば、政府機関などのエンティティまたは組織によって規定されるような)に準拠することを保証するために、データルールに対する更新または変更に続いて、それぞれのコンテナ230、232、234、および236を再検証する必要はなくなる。したがって、それぞれのコンテナ230、232、234、および236は、データルールに対する変更に応答して最初に認証された後、正式な検証または認証プロセスを経る必要がない。これは、それぞれのコンテナ230、232、234、および236が、クロスドメインルータ200、したがってそれぞれのコンテナ230、232、234、および236の外部に位置するデータルールを格納するコンテンツデータルールデータベース250との通信を可能にするようにプログラムされているからである。したがって、コンテンツデータルールデータベース250のデータルールは、ユーザ入力データ256に基づいて更新されてよく、ユーザ入力データ256は、ユーザ入力デバイス258(例えば、キーボードなど)におけるユーザ入力に基づいて提供されてよい。したがって、ユーザは、それぞれのコンテナ230、232、234、および236を再認証する必要なく、データルールを修正および更新することができる。さらに、
図2の例は、2つのセキュリティドメイン間のデータフローを管理するクロスドメインルータ200を示しているが、他の例では、クロスドメインルータ200は、3つ以上のセキュリティドメイン間のデータフローを管理するように構成されていてよい。
【0050】
上述の構造的および機能的特徴を考慮して、例示的な方法は、
図3~
図4を参照してより良く理解されるであろう。説明を簡単にするために、
図3~
図4の例示的な方法は、連続して実行されるものとして示され、説明されているが、他の例では、いくつかのアクションが、本明細書に示され記載されているものとは異なる順序で、複数回、および/または同時に発生し得るので、例示的な方法は、示されている順序によって限定されないことを理解および認識されたい。
【0051】
図3は、
図1に示されるような第1のセキュリティドメイン102および第2のセキュリティドメイン104などの第1のセキュリティドメインと第2のセキュリティドメインとの間でデータを通信するための方法300の一例である。方法300は、
図1に示されるようなクロスドメインルータ130、または
図2に示されるようなクロスドメインルータ200によって実施されてよい。したがって、
図3の以下の説明は、
図1~
図2も参照する。方法300は、第1のネットワークインタフェースアプリケーション(例えば、
図1に示されるような第1のネットワークインタフェースアプリケーション132)において、第1のセキュリティドメイン(例えば、
図1に示されるような第1のセキュリティドメイン102)で生成されたデータパケットを受信することによって302で開始することができる。第1のネットワークインタフェースコンテナ(例えば、
図1に示されるような第1のネットワークインタフェースコンテナ124)は、第1のネットワークインタフェースアプリケーションを動作させるために、CDIサーバ(例えば、
図1に示されるようなCDIサーバ106)上で実行されてよい。304では、データフィルタ(例えば、
図1に示されるようなデータフィルタ136)において、データのデータコンテンツを評価して、データが危殆化されているかどうかを決定する。フィルタコンテナ(例えば、
図1に示されるようなフィルタコンテナ128)は、データフィルタを動作させるためにCDIサーバ上で実行されてよい。306では、データが危殆化されていないと決定したことに応答して、データフィルタにおいて、データパケットを第2のネットワークインタフェースアプリケーションに提供する。第2のネットワークインタフェースコンテナ(例えば、
図1に示されるような第2のネットワークインタフェースコンテナ128)は、第1のネットワークインタフェースアプリケーションを動作させるために、CDIサーバ上で実行されてよい。308では、第2のネットワークインタフェースアプリケーションにおいて、第2のセキュリティドメイン(例えば、
図1に示されるような第2のセキュリティドメイン104)で実行されている第2のプロセスのために、データパケットを第2のセキュリティドメインに提供する。
【0052】
図4は、
図1に示されるような第1のセキュリティドメイン102および第2のセキュリティドメイン104などの第1のセキュリティドメインと第2のセキュリティドメインとの間でデータを通信するための方法400の一例である。方法400は、
図1に示されるようなクロスドメインルータ130、または
図2に示されるようなクロスドメインルータ200によって実施されてよい。したがって、
図4の以下の説明は、
図1~
図2も参照する。方法400は、第1のネットワークインタフェースコンテナ(例えば、
図1に示されるような第1のネットワークインタフェースコンテナ124)をCDIサーバ(例えば、
図1に示されるようなCDIサーバ106)上で実行して、第1のネットワークインタフェースアプリケーション(例えば、
図1に示されるような第1のネットワークインタフェースアプリケーション132)を動作させることによって402で開始することができる。第1のネットワークインタフェースアプリケーションは、第1のネットワーク(例えば、
図1に示すような第1のネットワーク108)から第1のセキュリティドメイン(例えば、
図1に示すような第1のセキュリティドメイン102)で生成されたデータパケットを受信するようにプログラムされていてよい。データパケットは、第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含むことができる。
【0053】
404では、フィルタコンテナ(例えば、
図2に示されるようなフィルタコンテナ128)をCDIサーバ上で実行して、データフィルタ(例えば、
図1に示されるようなデータフィルタ136)を動作させる。データフィルタは、フィルタコンテナの外部に位置するコンテンツデータルールデータベース(例えば、
図2に示されるようなコンテンツデータルールデータベース250)にクエリを行って、データルールのセットを取得し、データルールのセットに基づいて、データパケットのデータのデータコンテンツが危殆化されているかどうかを決定するようにプログラムされていてよい。406では、第2のネットワークインタフェースコンテナ(例えば、
図1に示されるような第2のネットワークインタフェースコンテナ126)をCDIサーバ上で実行して、第2のネットワークインタフェースアプリケーション(例えば、
図1に示されるような第2のネットワークインタフェースアプリケーション134)を動作させる。第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、第2のネットワーク(例えば、
図1に示されるような第2のネットワーク110)を介して第2のセキュリティドメイン(例えば、
図1に示されるような第2のセキュリティドメイン104)にデータパケットを提供するようにプログラムされていてよい。
【0054】
上記で説明したのは例である。もちろん、構成要素または方法の考えられるすべての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。したがって、本開示は、添付の特許請求の範囲を含む、本出願の範囲内に含まれるそのようなすべての変更、修正、および変形を包含することが意図されている。本明細書で使用される場合、「含む(includes, including)」という用語は、これに限定されないが、含むことを意味する。「基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示またはクレームが「1つの」、「第1の」、「もう一つの」要素、またはそれらの均等物を記載する場合、1つまたは複数のそのような要素を含むと解釈されるべきであり、2つ以上のそのような要素を必要ともしないし除外もしない。
【手続補正書】
【提出日】2023-12-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータによって実施される方法であって、
第1のネットワークインタフェースアプリケーションにおいて、第1のセキュリティドメインで生成されたデータパケットを受信すること
を含み、前記ネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナが実行され、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、前記方法は、
データフィルタにおいて、前記データのデータコンテンツを評価して、前記データが危殆化されているかどうかを決定すること
を含み、前記データフィルタを動作させるためにフィルタコンテナが実行され、前記方法は、
前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記データパケットを第2のネットワークインタフェースアプリケーションに提供すること
を含み、前記第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナが実行され、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
を含む、コンピュータによって実施される方法。
【請求項2】
前記第1のネットワークインタフェースアプリケーションにおいて、ネットワークのためのネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記第1のネットワークインタフェースアプリケーションにおいて、前記データパケットを前記データフィルタに提供すること
をさらに含む、請求項1に記載のコンピュータによって実施される方法。
【請求項3】
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のネットワークのためのネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のセキュリティドメインで実行されている前記第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、請求項2に記載のコンピュータによって実施される方法。
【請求項4】
前記データフィルタは、データルールのセットに対して前記データの前記データコンテンツを評価して、前記データが危殆化されているかどうかを決定するように構成されている、請求項3に記載のコンピュータによって実施される方法。
【請求項5】
クロスドメインインタフェース(CDI)サーバにおいて、前記第1のセキュリティドメインと前記第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表すコード化された命令を実行すること
をさらに含み、前記クロスドメインルータは、前記第1のネットワークインタフェースコンテナおよび前記第2のネットワークインタフェースコンテナと、前記フィルタコンテナとを含む、請求項4に記載のコンピュータによって実施される方法。
【請求項6】
前記第1のネットワークインタフェースコンテナおよび第2のネットワークインタフェースコンテナ、ならびに前記フィルタコンテナは、組み合わされてポッドを構成している、請求項5に記載のコンピュータによって実施される方法。
【請求項7】
前記CDIサーバは、前記クロスドメインルータを表す前記コード化された命令を格納するためのメモリを備え、前記方法は、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを備えるコンテンツデータルールデータベースを前記メモリに格納することをさらに含み、前記コンテンツデータルールデータベースは、前記フィルタコンテナの外部に位置している、請求項5に記載のコンピュータによって実施される方法。
【請求項8】
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを取得することをさらに含む、請求項7に記載のコンピュータによって実施される方法。
【請求項9】
前記データパケットは、第1のデータパケットであり、前記方法は、
前記コンテンツデータルールデータベースにおいて、ユーザ入力に基づいて更新されたデータルールのセットを受信すること、
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記第1のセキュリティドメインで生成された第2のデータパケットのデータが危殆化されているかどうかを決定するための前記更新されたデータルールのセットを取得すること、
前記データフィルタにおいて、前記第2のデータパケットの前記データのデータコンテンツを評価して、前記第2のデータパケットの前記データが危殆化されているかどうかを決定すること、
前記第2のデータパケットの前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記第2のデータパケットを前記第2のネットワークインタフェースアプリケーションに提供すること、
前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のデータパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、請求項8に記載のコンピュータによって実施される方法。
【請求項10】
システムであって、
第1のセキュリティドメインと第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表す機械可読命令と、1つまたは複数のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールのセットを含むコンテンツデータルールデータベースを含むデータとを格納するメモリと、
前記メモリにアクセスし、前記機械可読命令を実行して、第1のネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナを実行し、第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナを実行し、データフィルタを動作させるためにフィルタコンテナを実行する1つまたは複数のプロセッサと
を備え、
前記第1のネットワークインタフェースアプリケーションは、前記第1のセキュリティドメインで生成されたデータパケットを受信するようにプログラムされ、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、
前記データフィルタは、前記コンテンツデータルールデータベースにクエリを行って、前記データルールのセットを取得し、前記データのデータコンテンツが前記データルールのセットに違反していないと決定したことに応答して、前記データパケットを前記第2のネットワークインタフェースアプリケーションに提供するようにプログラムされ、
前記第2のネットワークインタフェースアプリケーションは、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、システム。
【請求項11】
前記第1のネットワークインタフェースコンテナは、ネットワークのためのネットワークルールのセットを備え、前記第1のネットワークインタフェースアプリケーションは、
前記ネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記データパケットを前記データフィルタに提供する
ようにプログラムされている、請求項10に記載のシステム。
【請求項12】
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記第2のネットワークインタフェースコンテナは、第2のネットワークのためのネットワークルールの第2のセットを含み、前記第2のネットワークインタフェースアプリケーションは、前記ネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定するようにプログラムされ、前記第2のネットワークインタフェースアプリケーションは、前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、請求項11に記載のシステム。
【請求項13】
前記データパケットは、第1のデータパケットであり、前記第2のネットワークインタフェースアプリケーションは、
前記第2のセキュリティドメインで生成された第2のデータパケットを受信するようにプログラムされ、前記第2のデータパケットは、前記第2のセキュリティドメインで実行されている前記第2のプロセスによって生成されたデータを含むことができ、
前記第2のネットワークインタフェースアプリケーションは、
前記ネットワークルールの第2のセットに対して前記第2のデータパケットを評価して、前記第2のデータパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記第2のデータパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記データフィルタに提供する
ようにプログラムされている、請求項12に記載のシステム。
【請求項14】
前記データルールのセットは、データルールの第1のセットであり、前記コンテンツデータルールデータベースは、前記第2のプロセスによって生成された前記第2のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールの第2のセットを含む、請求項13に記載のシステム。
【請求項15】
前記データフィルタは、
前記コンテンツデータルールデータベースにクエリを行って、前記データルールの第2のセットを取得し、
前記第2のデータパケットの前記データのデータコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第1のネットワークインタフェースアプリケーションに提供する
ようにプログラムされている、請求項14に記載のシステム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0054
【補正方法】変更
【補正の内容】
【0054】
上記で説明したのは例である。もちろん、構成要素または方法の考えられるすべての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。したがって、本開示は、添付の特許請求の範囲を含む、本出願の範囲内に含まれるそのようなすべての変更、修正、および変形を包含することが意図されている。本明細書で使用される場合、「含む(includes, including)」という用語は、これに限定されないが、含むことを意味する。「基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示またはクレームが「1つの」、「第1の」、「もう一つの」要素、またはそれらの均等物を記載する場合、1つまたは複数のそのような要素を含むと解釈されるべきであり、2つ以上のそのような要素を必要ともしないし除外もしない。
以下に、本開示に含まれる技術思想を付記として記載する。
(付記1)
コンピュータによって実施される方法であって、
第1のネットワークインタフェースアプリケーションにおいて、第1のセキュリティドメインで生成されたデータパケットを受信すること
を含み、前記ネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナが実行され、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、前記方法は、
データフィルタにおいて、前記データのデータコンテンツを評価して、前記データが危殆化されているかどうかを決定すること
を含み、前記データフィルタを動作させるためにフィルタコンテナが実行され、前記方法は、
前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記データパケットを第2のネットワークインタフェースアプリケーションに提供すること
を含み、前記第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナが実行され、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
を含む、コンピュータによって実施される方法。
(付記2)
前記第1のネットワークインタフェースアプリケーションにおいて、ネットワークのためのネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記第1のネットワークインタフェースアプリケーションにおいて、前記データパケットを前記データフィルタに提供すること
をさらに含む、付記1に記載のコンピュータによって実施される方法。
(付記3)
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記方法は、
前記第2のネットワークインタフェースアプリケーションにおいて、第2のネットワークのためのネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定すること、
前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のセキュリティドメインで実行されている前記第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、付記2に記載のコンピュータによって実施される方法。
(付記4)
前記データフィルタは、データルールのセットに対して前記データの前記データコンテンツを評価して、前記データが危殆化されているかどうかを決定するように構成されている、付記3に記載のコンピュータによって実施される方法。
(付記5)
クロスドメインインタフェース(CDI)サーバにおいて、前記第1のセキュリティドメインと前記第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表すコード化された命令を実行すること
をさらに含み、前記クロスドメインルータは、前記第1のネットワークインタフェースコンテナおよび前記第2のネットワークインタフェースコンテナと、前記フィルタコンテナとを含む、付記4に記載のコンピュータによって実施される方法。
(付記6)
前記第1のネットワークインタフェースコンテナおよび第2のネットワークインタフェースコンテナ、ならびに前記フィルタコンテナは、組み合わされてポッドを構成している、付記5に記載のコンピュータによって実施される方法。
(付記7)
前記CDIサーバは、前記クロスドメインルータを表す前記コード化された命令を格納するためのメモリを備え、前記方法は、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを備えるコンテンツデータルールデータベースを前記メモリに格納することをさらに含み、前記コンテンツデータルールデータベースは、前記フィルタコンテナの外部に位置している、付記5に記載のコンピュータによって実施される方法。
(付記8)
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記データパケットの前記データが危殆化されているかどうかを決定するための前記データルールのセットを取得することをさらに含む、付記7に記載のコンピュータによって実施される方法。
(付記9)
前記データパケットは、第1のデータパケットであり、前記方法は、
前記コンテンツデータルールデータベースにおいて、ユーザ入力に基づいて更新されたデータルールのセットを受信すること、
前記データフィルタにおいて、前記コンテンツデータルールデータベースにクエリを行って、前記第1のセキュリティドメインで生成された第2のデータパケットのデータが危殆化されているかどうかを決定するための前記更新されたデータルールのセットを取得すること、
前記データフィルタにおいて、前記第2のデータパケットの前記データのデータコンテンツを評価して、前記第2のデータパケットの前記データが危殆化されているかどうかを決定すること、
前記第2のデータパケットの前記データが危殆化されていないと決定したことに応答して、前記データフィルタにおいて、前記第2のデータパケットを前記第2のネットワークインタフェースアプリケーションに提供すること、
前記第2のネットワークインタフェースアプリケーションにおいて、前記第2のデータパケットを前記第2のセキュリティドメインに提供すること
をさらに含む、付記8に記載のコンピュータによって実施される方法。
(付記10)
システムであって、
第1のセキュリティドメインと第2のセキュリティドメインとの間でデータパケットを通信するためのクロスドメインルータを表す機械可読命令と、1つまたは複数のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールのセットを含むコンテンツデータルールデータベースを含むデータとを格納するメモリと、
前記メモリにアクセスし、前記機械可読命令を実行して、第1のネットワークインタフェースアプリケーションを動作させるために第1のネットワークインタフェースコンテナを実行し、第2のネットワークインタフェースアプリケーションを動作させるために第2のネットワークインタフェースコンテナを実行し、データフィルタを動作させるためにフィルタコンテナを実行する1つまたは複数のプロセッサと
を備え、
前記第1のネットワークインタフェースアプリケーションは、前記第1のセキュリティドメインで生成されたデータパケットを受信するようにプログラムされ、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、
前記データフィルタは、前記コンテンツデータルールデータベースにクエリを行って、前記データルールのセットを取得し、前記データのデータコンテンツが前記データルールのセットに違反していないと決定したことに応答して、前記データパケットを前記第2のネットワークインタフェースアプリケーションに提供するようにプログラムされ、
前記第2のネットワークインタフェースアプリケーションは、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、システム。
(付記11)
前記第1のネットワークインタフェースコンテナは、ネットワークのためのネットワークルールのセットを備え、前記第1のネットワークインタフェースアプリケーションは、
前記ネットワークルールのセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールのセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記データパケットが前記ネットワークルールのセットに違反していないと決定したことに応答して、前記データパケットを前記データフィルタに提供する
ようにプログラムされている、付記10に記載のシステム。
(付記12)
前記ネットワークルールのセットは、ネットワークルールの第1のセットであり、前記ネットワークは、第1のネットワークであり、前記第2のネットワークインタフェースコンテナは、第2のネットワークのためのネットワークルールの第2のセットを含み、前記第2のネットワークインタフェースアプリケーションは、前記ネットワークルールの第2のセットに対して前記データパケットを評価して、前記データパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定するようにプログラムされ、前記第2のネットワークインタフェースアプリケーションは、前記データパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のセキュリティドメインで実行されている第2のプロセスのために、前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、付記11に記載のシステム。
(付記13)
前記データパケットは、第1のデータパケットであり、前記第2のネットワークインタフェースアプリケーションは、
前記第2のセキュリティドメインで生成された第2のデータパケットを受信するようにプログラムされ、前記第2のデータパケットは、前記第2のセキュリティドメインで実行されている前記第2のプロセスによって生成されたデータを含むことができ、
前記第2のネットワークインタフェースアプリケーションは、
前記ネットワークルールの第2のセットに対して前記第2のデータパケットを評価して、前記第2のデータパケットが前記ネットワークルールの第2のセットのうちの少なくとも1つのネットワークルールに違反しているかどうかを決定し、
前記第2のデータパケットが前記ネットワークルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記データフィルタに提供する
ようにプログラムされている、付記12に記載のシステム。
(付記14)
前記データルールのセットは、データルールの第1のセットであり、前記コンテンツデータルールデータベースは、前記第2のプロセスによって生成された前記第2のデータパケットのデータが危殆化されているかどうかを決定するためのデータルールの第2のセットを含む、付記13に記載のシステム。
(付記15)
前記データフィルタは、
前記コンテンツデータルールデータベースにクエリを行って、前記データルールの第2のセットを取得し、
前記第2のデータパケットの前記データのデータコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第1のネットワークインタフェースアプリケーションに提供する
ようにプログラムされている、付記14に記載のシステム。
(付記16)
前記第1のネットワークインタフェースアプリケーションは、前記第1のセキュリティドメインで実行されている前記第1のプロセスのために、前記第2のデータパケットを前記第1のセキュリティドメインに提供するようにプログラムされている、付記15に記載のシステム。
(付記17)
前記フィルタコンテナは、入力フィルタコンテナおよび出力バリデータコンテナを備え、前記機械可読命令は、前記プロセッサによって実行されて、入力フィルタを動作させるために前記入力フィルタコンテナを実行し、出力バリデータを動作させるために前記出力バリデータコンテナを実行し、前記データフィルタは、前記入力フィルタおよび前記出力バリデータを備え、
前記入力フィルタは、前記第1のデータパケットの前記データの前記データコンテンツが前記データルールの第1のセットに違反していないと決定したことに応答して、前記第1のデータパケットを前記出力バリデータに提供するようにプログラムされ、
前記出力バリデータは、前記第1のデータパケットの前記データの前記データコンテンツが前記データルールの第1のセットに違反していないと決定したことに応答して、前記第1のデータパケットを前記第2のネットワークインタフェースアプリケーションに提供するようにプログラムされている、付記16に記載のシステム。
(付記18)
前記入力フィルタコンテナは、第1の入力フィルタコンテナであり、前記出力バリデータコンテナは、第1の出力バリデータコンテナであり、前記フィルタコンテナは、第1のフィルタコンテナであり、前記出力バリデータコンテナは、第1の出力バリデータコンテナであり、前記フィルタコンテナは、第2のフィルタコンテナおよび第2の出力バリデータコンテナをさらに備え、前記機械可読命令は、前記プロセッサによって実行されて、第2の入力フィルタを動作させるために第2の入力フィルタコンテナを実行し、第2の出力バリデータを動作させるために前記第2の出力バリデータコンテナを実行し、前記データフィルタは、前記第2の入力フィルタおよび前記第2の出力バリデータを備え、
前記第2の入力フィルタは、前記第2のデータパケットの前記データの前記データコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第2の出力バリデータに提供するようにプログラムされ、
前記出力バリデータは、前記第2のデータパケットの前記データの前記データコンテンツが前記データルールの第2のセットに違反していないと決定したことに応答して、前記第2のデータパケットを前記第1のネットワークインタフェースアプリケーションに提供するようにプログラムされている、付記17に記載のシステム。
(付記19)
コンピュータによって実施される方法であって、
クロスドメインインタフェース(CDI)サーバ上で第1のネットワークインタフェースコンテナを実行して、第1のネットワークインタフェースアプリケーションを動作させること
を含み、前記第1のネットワークインタフェースアプリケーションは、第1のセキュリティドメインで生成されたデータパケットを第1のネットワークから受信するようにプログラムされ、前記データパケットは、前記第1のセキュリティドメインで実行されている第1のプロセスによって生成されたデータを含み、前記方法は、
前記CDIサーバ上でフィルタコンテナを実行して、データフィルタを動作させること
を含み、前記データフィルタは、前記CDIサーバ上の前記フィルタコンテナの外部に位置するコンテンツデータルールデータベースにクエリを行って、データルールのセットを取得し、前記データルールのセットに基づいて、前記データパケットの前記データのデータコンテンツが危殆化されているかどうかを決定するようにプログラムされており、前記方法は、
前記CDIサーバ上で第2のネットワークインタフェースコンテナを実行して、第2のネットワークインタフェースアプリケーションを動作させること
を含み、前記第2のネットワークインタフェースアプリケーションは、第2のセキュリティドメインで実行されている第2のプロセスのために、第2のネットワークを介して前記データパケットを前記第2のセキュリティドメインに提供するようにプログラムされている、コンピュータによって実施される方法。
(付記20)
前記コンテンツデータルールデータベースに前記データルールのセットを格納することをさらに含み、前記データルールのセットは、ユーザ入力データに基づいて生成されたものである、付記19に記載のコンピュータによって実施される方法。
【国際調査報告】