ウイルス対策サンドボックス。 はじめに

一連の記事「嘘、大きな嘘、アンチウイルス」の最後の部分を公開する過程で、アンチウイルスサンドボックスの分野でのHabra聴衆の悲惨な無知、それらが何であり、どのように機能するかが明らかになりました。 この状況で最も面白いのは、この問題に関する信頼できる情報源がWeb上にほとんど完全にないことです。 市場の殻とテキストの束だけが、「ある祖母が言った、研究に耳を傾ける」というスタイルの人を理解していない。 ギャップを埋めなければなりません。







定義。



だから、サンドボックス。 この言葉自体は、子供の砂場から来たのではなく、消防士が使用した砂場から来たと考える人もいるかもしれません。 これは、他の何かを焦がすことを恐れずに、可燃物で安全に作業したり、すでに燃えているものを投げたりできる砂タンクです。 この技術構造の類似性をソフトウェアコンポーネントに反映して、ソフトウェアサンドボックスを「制御された権限を持つ分離された実行環境」として定義できます。 これが、たとえばJavaマシンのサンドボックスの仕組みです。 そして、宛先に関係なく、他のサンドボックスも。



主要な作業システムを潜在的に危険なコンテンツから保護することを目的とするアンチウイルスサンドボックスに目を向けると、サンドボックススペースをシステムの他の部分から分離するための3つの基本モデルを区別できます。



1.完全仮想化に基づく分離。 ユーザーが感染する可能性のあるブラウザやその他の潜在的に危険なプログラムがインストールされているゲストオペレーティングシステム上の保護層として任意の仮想マシンを使用すると、メインの作業システムをかなり高いレベルで保護できます。



このアプローチの短所は、分散の巨大なサイズとリソースの大量消費に加えて、メインシステムとサンドボックス間のデータ交換の不便さにあります。 さらに、ファイルシステムとレジストリの状態を常に元の状態に戻して、サンドボックスから感染を除去する必要があります。 これが行われない場合、たとえば、スパムボットエージェントは、何も起きていないかのようにサンドボックス内で作業を続けます。 サンドボックスをブロックするものはありません。 さらに、ポータブルストレージメディア(フラッシュドライブなど)や、悪意のあるブックマークが可能なインターネットからダウンロードされたゲームをどうするかは明確ではありません。



アプローチの例は、Invinceaです。



2.ファイルシステムとレジストリの部分的な仮想化に基づく分離。 仮想マシンエンジンを携帯する必要はありません。ユーザーの作業マシン上のアプリケーションのサンドボックスに配置することで、重複するファイルシステムとレジストリオブジェクトをサンドボックス内のプロセスにプッシュできます。 これらのオブジェクトを変更しようとしても、サンドボックス内のコピーのみが変更され、実際のデータは影響を受けません。 権限制御では、オペレーティングシステムインターフェイスを介してサンドボックス内からメインシステムを攻撃することはできません。



このアプローチの欠点も明らかです。仮想環境と実際の環境との間のデータ交換は難しく、仮想化コンテナを常にクリアして、サンドボックスを元の感染していない状態に戻す必要があります。 また、このタイプのサンドボックスの故障またはバイパス、および保護されていないメインシステムへの悪意のあるプログラムコードの終了が可能です。



このアプローチの例は、SandboxIE、BufferZone、ZoneAlarm ForceField、分離されたカスペルスキーインターネットセキュリティ、コモドインターネットセキュリティサンドボックス、アバストインターネットセキュリティサンドボックスです。



3.ルールベースの分離。 ファイルシステムとレジストリオブジェクトを変更する試みはすべて仮想化されませんが、保護ツールの一連の内部ルールの観点から考慮されます。 このようなセットがより完全で正確であればあるほど、メインシステムの感染に対する保護がプログラムに提供されます。 つまり、このアプローチは、サンドボックス内のプロセスと実際のシステム間のデータ交換の利便性と、悪意のある変更に対する保護レベルとの間の一種の妥協です。 権限制御では、オペレーティングシステムインターフェイスを介してサンドボックス内からメインシステムを攻撃することはできません。



このアプローチには、ファイルシステムとレジストリを常に元の状態にロールバックする必要がないという利点もあります。



このアプローチの欠点は、最も正確で完全なルールセットを実装するソフトウェアの複雑さ、サンドボックス内の変更を部分的にのみロールバックできることです。 動作中のシステムに基づいて実行されているサンドボックスと同様に、保護された環境を破壊またはバイパスし、悪意のあるコードをメインの保護されていない実行環境に残すことができます。



アプローチの例は、DefenseWall、Windowsソフトウェア制限ポリシー、制限ユーザーアカウント+ ACLです。



また、ルールと仮想化の両方に基づいて、サンドボックスプロセスをシステムの他の部分から分離するためのさまざまなアプローチがあります。 彼らは両方の方法の利点と欠点の両方を継承しています。 さらに、ユーザーの心理的認識の特性により、不利な点が優勢です。



アプローチの例は、GeSWall、Windowsユーザーアカウント制御(UAC)です。



保護下の配置を決定する方法。



プロセスをサンドボックスの保護下に置くための意思決定方法に移りましょう。 3つの基本的なものがあります。



1.ルールに基づきます。 つまり、意思決定モジュールは、特定のアプリケーションまたは潜在的に危険なファイルを起動するためのルールの内部データベースを調べ、これに応じて、メインシステムでサンドボックスまたはその外部でプロセスを開始します。



このアプローチの利点は、最大レベルの保護です。 サンドボックスを介して潜在的に危険な場所から来る悪意のあるプログラムファイルと、悪意のあるスクリプトを含む実行不可能なファイルの両方が閉じられます。



短所-サンドボックスを介して来たプログラムをインストールするときに問題が発生する可能性があります(ホワイトリストはこのタスクを非常に容易にしますが) )



このアプローチを使用したプログラムの例は、DefenseWall、SandboxIE、BufferZone、GeSWallです。



2.ユーザーの権利に基づきます。 これが、Windows限定ユーザーアカウントとSRPおよびACL保護の仕組みです。 新しいユーザーを作成すると、特定のリソースへのアクセス権と、他のリソースへのアクセス制限が付与されます。 必要に応じて、特定のユーザーに対して禁止されているリソースを操作するプログラムは、適切な権限セットを持つユーザーとしてシステムにログインしてプログラムを実行するか、そのようなユーザーの下でメインの作業ユーザー(高速ユーザースイッチ)にログインせずに単独で実行する必要があります。



このアプローチの利点は、システム全体のセキュリティが比較的優れていることです。



短所-保護管理の非自明性、変更を許可されたリソースを介した感染の可能性。これは、意思決定モジュールがそのような変更を監視しないためです。



3.発見的アプローチに基づいています。 この場合、決定モジュールは実行可能ファイルを「見て」、メインシステムで実行するかサンドボックスで実行するかを間接データから推測しようとします。 例-カスペルスキーインターネットセキュリティHIPS、コモドインターネットセキュリティサンドボックス。



このアプローチの利点は、ルールに基づくよりもユーザーに対して透過的であることです。 製造会社の保守と実装が容易になります。



短所-そのような保護の劣等。 意思決定モジュールのヒューリスティックが実行可能モジュールを「見逃す」という事実に加えて、そのような決定は、悪意のあるスクリプトを含む非実行可能ファイルに対する抵抗がほとんどゼロであることを示しています。 さて、さらにいくつかの問題(たとえば、悪意のある拡張機能をブラウザー自体の内部から悪用団体からインストールするなど)。



また、サンドボックスをヒューリスティックの手段として使用する方法、つまり、 プログラムを一定期間起動し、その後のアクションの分析とマルウェアに関する一般的な決定を行います。このアプローチは、本格的なアンチウイルスサンドボックスとは言えません。 さて、このアンチウイルスサンドボックスとは何ですか?短時間だけインストールされ、完全に削除される可能性がありますか?



ウイルス対策サンドボックスを使用するモード。



それらは2つだけです。



1.リアルタイム保護モード。 メインシステムに対する脅威になる可能性のあるプロセスが開始されると、自動的にサンドボックスに配置されます。



2.手動保護モード。 ユーザーは、サンドボックス内でアプリケーションを起動することを独自に決定します。



「リアルタイム保護」としてプライマリ操作モードを持つサンドボックスは、手動起動モードを持つこともできます。 その逆も同様です。



メインシステムとサンドボックス内のプロセス間のデータ交換は完全に透過的であるため、ルールベースの分離を備えたサンドボックスでは、リアルタイム保護モードの使用が特徴的です。



ヒューリスティックサンドボックスは、メインシステムとサンドボックス内のプロセスとの間のデータ交換がまったく重要ではないか、これに削減されるため、リアルタイム保護モードの使用によって特徴付けられます。



部分仮想化に基づく分離を備えた非ヒューリスティックサンドボックスの場合、手動保護モードが特徴的です。 これは、サンドボックス内のプロセスとメインの作業システム間のデータ交換が難しいためです。



例:



1. DefenseWall(ルールベースの分離を備えたサンドボックス)には、メインの操作モードが「ルールに永続的」です。 ただし、サンドボックス内および外部のアプリケーションの手動起動は存在します。



2. SandboxIE(部分仮想化に基づくサンドボックスと分離)のメインモードは「手動」です。 ただし、ライセンスを購入するときは、「ルールに永続的」モードを有効にできます。



3. Comodo Internet Securityサンドボックス(部分的な仮想化に基づく分離を伴うサンドボックス)の主な操作モードは「永続的なヒューリスティック」です。 ただし、サンドボックス内および外部での手動によるアプリケーションの起動は存在します。



ここでは、基本的に、基本的なこと、自尊心のある専門家は、ウイルス対策サンドボックスについて知っておく必要があります。 個々のプログラムにはそれぞれ独自の実装機能があり、それがもたらす長所と短所を見つけ、理解し、評価する必要があります。



All Articles