理論的な結果を使用して、実際には実行できないことを主張する場合は注意が必要です。人が陥る可能性のあるいくつかの危険があります:
理論上の結果には当てはまらない仮定があり、
実際の問題は理論モデルではうまくモデル化されていません。
実際には、ソリューションが有用であるために完全である必要はありません。
ウイルスとは何かを正式に定義していないので、些細なことについての主張を拡張すると、実際の意味を理解するのに役立ちます。
ウイルス対策ソフトウェアが行うことの大部分は、既知のウイルス(およびその亜種)の検出です。これは、(ファイル、メモリなどの)文字列を文字列(ウイルスシグネチャ)の有限リストと比較することで行われます。そのため、ウイルス対策ソフトウェアのデータベースを定期的に更新する必要があります。
「動作」に基づいて潜在的なウイルスを検出する機能は他にもありますが、これらの方法は完全でも適切でもありません(有用であるために完全である必要はありません)。ウイルス対策ソフトウェアの設計は、これまでのところコンピュータサイエンスよりもコンピュータエンジニアリングに属しているようです(ただし、コンピュータサイエンスとコンピュータエンジニアリングは密接に関連しています)。
一般にこれらの研究は、コンピューターサイエンスのコンピューターセキュリティ(およびより一般的にはシステム領域:コンピューターネットワーク、オペレーティングシステムなど)のより応用された部分に該当しますが、コンピューターサイエンスの他の部分(機械学習など)のアイデアを使用することは典型的な。
The Art of Computer Virus Research and Defenseを確認してください。