コンピュータセキュリティにおいて、隠蔽チャネルとは、コンピュータセキュリティポリシーによって通信が許可されていないプロセス間で情報オブジェクトを転送する機能を生み出す攻撃の一種です。この用語は、1973年にバトラー・ランプソンによって提唱され、 COMPUSECによってアクセス制御される正当なチャネルと区別するために、 「サービスプログラムがシステム負荷に与える影響など、情報転送を全く目的としないチャネル」と定義されています。[ 1 ]
隠蔽チャネルとは、コンピュータシステムの正規のデータ転送メカニズム(通常は読み書き)を使用しないため、セキュアなオペレーティングシステムのアクセス制御メカニズムから隠蔽され、セキュアなオペレーティングシステムの基盤となるセキュリティメカニズムによって検出または制御できないことから、そのように呼ばれています。隠蔽チャネルは実際のシステムにインストールするのが非常に難しく、システムパフォーマンスを監視することで検出されることがよくあります。さらに、信号対雑音比が低く、データレートも低い(通常は毎秒数ビット程度)という欠点があります。また、確立された隠蔽チャネル分析戦略を用いることで、セキュアなシステムから高い確実性をもって手動で削除することも可能です。
隠蔽チャネルは、ステガノグラフィなどの手法、あるいはより単純な手法を用いて、正当な情報オブジェクトの中に禁止オブジェクトを偽装することで、信頼性の低い擬似セキュリティシステムを攻撃する正当なチャネルの悪用とは区別されるが、しばしば混同される。ステガノグラフィによる正当なチャネルの悪用は、隠蔽チャネルの一種ではない。
隠蔽チャネルはセキュアなオペレーティングシステムをトンネル化することができ、制御するには特別な対策が必要です。隠蔽チャネルの分析は、隠蔽チャネルを制御する唯一の実証済みの方法です。 対照的に、セキュアなオペレーティングシステムは正当なチャネルの悪用を容易に防止できるため、両者を区別することが重要です。隠蔽されたオブジェクトに対する正当なチャネルの分析は、正当なチャネルの悪用に対する唯一の有効な対策であると誤解されることがよくあります。これは大量のソフトウェアの分析に相当するため、1972年にはすでに非現実的であることが示されていました。[ 2 ] このことを知らされていないため、分析によってこれらの正当なチャネルの「リスクを管理」できると誤解する人もいます。
信頼できるコンピュータセキュリティ評価基準( TCSEC)は、米国国家安全保障局が管理する機関である国家コンピュータセキュリティセンターによって策定された一連の基準であり、現在は廃止されている。
ランプソンの秘匿チャネルの定義は、TCSEC [ 3 ]で言い換えられ、特に高機密区分から低機密区分へ情報を転送する方法を指すようになった。共有処理環境では、あるプロセスが動作環境に及ぼす影響から完全に隔離することは難しい。秘匿チャネルは、受信プロセスが検出できる何らかの条件(空き容量、サービスの可用性、実行待ち時間など)を調整する送信プロセスによって作成される。
TCSECは、2種類の秘密通信チャネルを定義している。
TCSEC(オレンジブックとも呼ばれる)[ 4 ]では、 B2システムとして分類されるには隠蔽ストレージチャネルの分析が必要であり、B3クラスには隠蔽タイミングチャネルの分析が必要とされている。
コンピュータネットワークを介して送信されるパケット間の遅延を利用する方法は、グレイ・ガーリング[ 5 ]によって初めて秘密通信のために研究されました。この研究は、秘密通信を確立または検出したり、そのようなシナリオの根本的な限界を分析したりする多くの他の研究を促しました。
ファイルの存在や計算に要した時間といったごくありふれたものが、秘密通信の媒体として利用されてきた。こうした媒体は非常に多く、頻繁に使用されるため、秘密通信の経路を見つけるのは容易ではない。
潜在的な秘密通信経路を特定するための標準的な手法として、比較的古い2つの技術が依然として用いられている。1つはシステムの資源を分析するものであり、もう1つはソースコードレベルで分析を行うものである。
秘密チャネルの可能性は排除できないが、慎重な設計と分析によって大幅に減らすことができる[ 2 ] 。
正当な通信チャネルの検出を困難にするには、正当なユーザーが制御または検証しない通信媒体の特性を、正当な通信チャネルに利用することが有効です。例えば、あるプログラムが特定のタイミングパターンでファイルを開閉し、そのパターンを別のプログラムが検出できるようにすることで、そのパターンをビット列として解釈し、隠蔽チャネルを形成できます。正当なユーザーがファイルの開閉操作のパターンをチェックする可能性は低いため、このような隠蔽チャネルは長期間検出されないままとなる可能性があります。
同様の例として、ポートノッキングが挙げられます。通常の通信では、要求のタイミングは重要ではなく、監視もされません。しかし、ポートノッキングでは、タイミングが重要になります。
ハンデルとサンドフォードは、ネットワーク通信プロトコルの一般的な設計における隠蔽チャネルを研究した研究を発表した。[ 6 ]彼らは、データ隠蔽に利用できる可能性のあるシステム要素を特徴付ける開発の基礎としてOSIモデルを採用している。採用されたアプローチは、特定のネットワーク環境やアーキテクチャではなく標準を考慮しているため、これらのアプローチよりも優れている。
彼らの研究は、完璧なステガノグラフィ手法を提示することを目的としているわけではない。むしろ、7つのOSI参照モデルの各層におけるデータ隠蔽の基本原理を確立することを目的としている。上位ネットワーク層では、プロトコルヘッダーの予約フィールド(容易に検出可能)の使用を提案するだけでなく、物理層ではCSMA/CD操作を用いたタイミングチャネルの可能性も提案している。
彼らの研究は、以下のような秘密裏に行われる通信手段の利点を明らかにしている。
彼らの秘匿チャネル分析では、これらのデータ隠蔽技術と他のネットワークノードとの相互運用性、秘匿チャネル容量の推定、複雑性や互換性の観点から見たデータ隠蔽がネットワークに及ぼす影響といった問題は考慮されていません。さらに、機能システムにおいてはOSIモデルがそのまま存在するわけではないため、これらの技術の汎用性を実際に十分に正当化することはできません。
ガーリングは、ネットワーク環境における隠蔽チャネルを最初に分析した。彼の研究は、ローカルエリアネットワーク(LAN)に焦点を当てており、そこでは3つの明白な隠蔽チャネル(2つのストレージチャネルと1つのタイミングチャネル)が特定された。これは、LANにおける単純な隠蔽チャネルの帯域幅の可能性の実際の例を示した。特定のLAN環境について、著者は、LAN上の特定の送信機の活動を監視する盗聴者の概念を導入した。隠蔽的に通信する当事者は、送信機と盗聴者である。ガーリングによれば、隠蔽情報は、次の明白な方法のいずれかによって伝達される可能性がある。
このシナリオでは、「送信時」戦略を用いて秘密情報が送信されるため、タイミング型秘密チャネルと呼ばれます。データブロックの送信時間は、ソフトウェア処理時間、ネットワーク速度、ネットワークブロックサイズ、およびプロトコルオーバーヘッドの関数として計算されます。LAN上で様々なサイズのブロックが送信されると仮定し、ソフトウェアオーバーヘッドを平均的に計算し、新しい時間評価法を用いて秘密チャネルの帯域幅(容量)を推定する方法も提示します。
TCP/IPプロトコルスイートのIPヘッダーとTCPヘッダーに焦点を当てたCraig Rowlandによる記事では、IP識別フィールド、TCP初期シーケンス番号、および確認シーケンス番号フィールドを利用して適切なエンコードおよびデコード技術を考案しています。[ 7 ]これらの技術は、バージョン2.0カーネルを実行するLinuxシステム向けに作成されたシンプルなユーティリティに実装されています。
ローランドは、 TCP/IPプロトコルスイートを用いた隠蔽チャネルの悪用に関する概念実証と、実用的なエンコードおよびデコード技術を提供している。これらの技術は、ファイアウォールやネットワークアドレス変換などのセキュリティメカニズムを考慮して分析されている。
しかし、これらの秘密通信技術の検出不可能性には疑問がある。例えば、TCPヘッダーのシーケンス番号フィールドを操作する場合、同じアルファベットが秘密裏に通信されるたびに同じシーケンス番号でエンコードされるようなエンコード方式が採用される。
さらに、シーケンス番号フィールドと確認応答フィールドの使用方法は、提案されているように英語のASCIIコードに限定することはできません。なぜなら、どちらのフィールドも特定のネットワークパケットに関連するデータバイトの受信を考慮しているからです。
ローランド以降、学術界の複数の著者が、統計的手法から機械学習に至るまで、さまざまな対策を含む、TCP/IPプロトコルスイートの隠蔽チャネルに関する研究を発表した。[ 8 ] [ 9 ] [ 10 ] [ 11 ]ネットワーク隠蔽チャネルの研究は、後に登場したネットワークステガノグラフィの領域と重なる。
{{cite book}}: CS1 メンテナンス: その他 (リンク)