C'est un exercice banal dans les automates finis de montrer qu'il n'y a pas d'algorithme capable de détecter tous les virus, mais il existe de nombreuses sociétés de logiciels vendant des logiciels antivirus.
Y a-t-il une partie de CS qui traite des virus et des antivirus?
PS: Je ne demande pas de justification non liée à CS d'avoir AV ou non, mais seulement de quelle catégorie / sujet au sein de CS ils relèvent, le cas échéant. Si l'AV n'est pas un sujet dans CS, alors c'est aussi une réponse acceptable, y a-t-il des réfractions dans le contexte CS aux virus et aux AV?
reference-request
security
Arjang
la source
la source
Réponses:
Il existe une sous-zone de sécurité informatique appelée Virologie informatique. Le Journal of Computer Virology est consacré au sujet. L'étude du fonctionnement d'un logiciel antivirus ne fait qu'effleurer la surface de la zone.
Par exemple, il y a même du travail pour appliquer la logique aux logiciels malveillants: une définition générale des logiciels malveillants par S. Kramer et JC Bradfield. Journal of Computer Virology (6) 2010.
la source
Les virus et la technologie antivirus ont beaucoup à voir avec CS. Votre question m'a rappelé quelque chose que j'ai lu récemment. Voici un extrait du livre de Williamson & Shmoys, The Design of Approximation Algorithms, page 6. Il justifie l'importance (pratique) des algorithmes d'approximation et utilise le problème de couverture bien connu comme exemple dans le contexte des virus:
Étonnant ou non, cet exemple montre qu'au moins les techniques d'IA et d'optimisation combinatoire sont utiles. Après avoir lu ceci, on pourrait facilement croire que de nombreux domaines de la CS ont des choses qui peuvent être appliquées dans le contexte des virus et de leur détection. Pour répondre plus directement à votre question, de nombreux éléments de CS traitent des virus, au moins indirectement.
la source
Vous devez être prudent lorsque vous utilisez un résultat théorique pour affirmer que quelque chose ne peut pas être fait dans la pratique. Il y a plusieurs dangers dans lesquels on peut tomber:
le résultat théorique a des hypothèses qui ne s'appliquent pas,
le problème dans la pratique n'est pas bien modélisé par le modèle théorique,
en pratique, une solution n'a pas besoin d'être parfaite pour être utile.
Vous n'avez pas donné de définition formelle de ce qu'est un virus, alors étendre votre affirmation sur l'exercice trivial peut être utile pour comprendre ce que vous voulez vraiment dire.
Une grande partie de ce que fait un logiciel antivirus consiste à détecter les virus connus (et leurs variantes), et cela se fait en comparant les chaînes (dans les fichiers, la mémoire, etc.) avec une liste finie de chaînes (signatures de virus). C'est pourquoi nous devons régulièrement mettre à jour la base de données du logiciel antivirus.
Il existe des capacités supplémentaires pour détecter les virus potentiels en fonction de leur "comportement", mais ces méthodes ne sont ni complètes ni sonores (et elles n'ont pas besoin d'être solides / complètes pour être utiles). La conception d'un logiciel antivirus semble relever davantage de l'ingénierie informatique que de l'informatique jusqu'à présent (bien que l'informatique et l'ingénierie informatique soient étroitement liées).
Généralement, ces études relèveraient d'une partie plus appliquée de la sécurité informatique (et plus généralement des systèmes: réseaux informatiques, systèmes d'exploitation, etc.) de l'informatique, mais l'utilisation d'idées d'autres parties de l'informatique (apprentissage automatique, etc.) est typique.
Vous voudrez peut-être vérifier L'art de la recherche et de la défense contre les virus informatiques .
la source