アンチウイルスプログラムがどのように機能するかを研究するコンピューターサイエンスの分野は何ですか?


9

すべてのウイルスを検出できるアルゴリズムがないことを示すのは、有限オートマトンでの簡単な作業ですが、アンチウイルスソフトウェアを販売しているソフトウェア会社はたくさんあります。

ウイルスとアンチウイルスを扱うCSの部分はありますか?

PS:私はAVを持っているかどうかのCSに関連しない正当化について尋ねているのではなく、CS内のどのカテゴリ/サブジェクトがあるかについてのみ尋ねています。AVがCS内の主題ではない場合、それも許容される回答です。CSコンテキスト内でウイルスとAVに対する何らかの反省はありますか?


2
Computer Science Stack Exchangeへようこそ!コンピューターのセキュリティは、調査したい分野かもしれません。ウィキペディアをお試しください。あなたはそこに同等またはより良い情報を取得する必要があります。
Patrick87

回答:


12

Computer Virologyと呼ばれるコンピュータセキュリティのサブエリアがあります。コンピュータウイルス学のジャーナルが話題に専念しています。ウイルス対策ソフトウェアがどのように機能するかを調査することは、その領域が何であるかについてのほんの一部にすぎません。

たとえば、ロジックをマルウェアに適用する作業もいくつかあります。S。クレイマーとJCブラッドフィールドによるマルウェアの一般的な定義です。Journal of Computer Virology(6)2010。


9

ウイルスとウイルス対策テクノロジは、CSと多くの関係があります。あなたの質問は私が最近読んだことを思い出させました。これは、Williamson&Shmoys著の本、「近似アルゴリズムの設計、6ページ」からの抜粋です。これは、近似アルゴリズムの(実用的な)重要性を正当化し、よく知られているセットカバー問題をウイルスのコンテキストの例として使用しています。

セットカバー問題は、コンピューターウイルスを検出するウイルス対策製品の開発に使用されました。この場合、コンピュータのブートセクタ用に設計されたウイルスで発生する顕著な機能を見つけて、その機能が通常のコンピュータアプリケーションでは発生しないようにすることが望まれました。これらの機能は、これらのブートセクターウイルスを検出する別のヒューリスティック、ニューラルネットワークに組み込まれました。セットカバー問題の要素は、既知のブートセクターウイルス(当時は約150)でした。各セットは、これらのウイルスで発生する3バイトのシーケンスに対応していますが、一般的なコンピュータープログラムでは発生していません。そのようなシーケンスは約21,000ありました。各セットには、対応する3バイトのシーケンスがどこかにあるすべてのブートセクターウイルスが含まれていました。目標は、ニューラルネットワークに役立つ少数のそのようなシーケンス(150よりもはるかに小さい)を見つけることでした。近似アルゴリズムを使用して問題を解決することにより、シーケンスの小さなセットが見つかり、ニューラルネットワークは、これまで分析されていない多くのブートセクターウイルスを検出できました。

驚くべきかどうかにかかわらず、この例は、少なくともAIと組み合わせ最適化の手法が役立つことを示しています。これを読んだ後、CSの多くの領域にウイルスとその検出のコンテキストで適用できるものが存在すると簡単に信じることができます。あなたの質問にもっと直接的に答えるために、CSの多くの事柄は少なくとも間接的にウイルスを扱います。


7

理論的な結果を使用して、実際には実行できないことを主張する場合は注意が必要です。人が陥る可能性のあるいくつかの危険があります:

  1. 理論上の結果には当てはまらない仮定があり、

  2. 実際の問題は理論モデルではうまくモデル化されていません。

  3. 実際には、ソリューションが有用であるために完全である必要はありません。

ウイルスとは何かを正式に定義していないので、些細なことについての主張を拡張すると、実際の意味を理解するのに役立ちます。

ウイルス対策ソフトウェアが行うことの大部分は、既知のウイルス(およびその亜種)の検出です。これは、(ファイル、メモリなどの)文字列を文字列(ウイルスシグネチャ)の有限リストと比較することで行われます。そのため、ウイルス対策ソフトウェアのデータベースを定期的に更新する必要があります。

「動作」に基づいて潜在的なウイルスを検出する機能は他にもありますが、これらの方法は完全でも適切でもありません(有用であるために完全である必要はありません)。ウイルス対策ソフトウェアの設計は、これまでのところコンピュータサイエンスよりもコンピュータエンジニアリングに属しているようです(ただし、コンピュータサイエンスとコンピュータエンジニアリングは密接に関連しています)。

一般にこれらの研究は、コンピューターサイエンスのコンピューターセキュリティ(およびより一般的にはシステム領域:コンピューターネットワーク、オペレーティングシステムなど)のより応用された部分に該当しますが、コンピューターサイエンスの他の部分(機械学習など)のアイデアを使用することは典型的な。

The Art of Computer Virus Research and Defenseを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.