Entonces, estaba pensando en los virus recientemente y me preguntaba cómo se mantienen los antivirus. Teniendo en cuenta que cualquiera que haya estado codificando durante algunas semanas podría hackear algo que haga cosas desagradables a la PC de alguien, la cantidad sola haría que una simple lista de hashes sea prohibitiva, entonces, ¿cómo lo hacen los antivirus? ¿Monitorean la actividad del proceso y tienen una regla de 3 ataques para hacer cosas parecidas a virus? Y si es así, ¿qué impide que se active en cosas perfectamente inofensivas (como yo moviendo archivos en \ system32)?
Busqué en Google un poco, pero los lugares habituales no me ayudaron particularmente, y no pude encontrar un engañado aquí, así que pensé que sería bueno preguntar :)
fuente
Respuestas:
Este artículo de 2002 habla sobre la construcción de un motor antivirus.
También hay un artículo sobre técnicas heurísticas para detectar infecciones. También es una lectura interesante.
fuente
Hace aproximadamente un año asistí a una conferencia de Mikko Hyyppönen, uno de los principales investigadores de F-Secure. Mostró su red de pruebas automatizadas, donde crean máquinas virtuales para cada muestra que se les envía, analizan su estructura, la dejan correr, registran todo lo que hace, hacen referencias cruzadas con muestras anteriores y generan un resumen para que un humano lo revise más tarde. Si el humano concluye que es un virus, el sistema genera automáticamente la firma de detección y envía una actualización a los clientes. Me imagino que otros proveedores también tienen sistemas similares para mantener sus bases de datos de firmas actualizadas.
fuente
De Cómo funciona el software antivirus? (AntivirusWorld):
Un programa de software antivirus es un programa informático que se puede utilizar para escanear archivos para identificar y eliminar virus informáticos y otro software malicioso (malware).
El software antivirus generalmente usa dos técnicas diferentes para lograr esto:
Enfoque del diccionario de virus En el enfoque del diccionario de virus, cuando el software antivirus examina un archivo, se refiere a un diccionario de virus conocidos que han sido identificados por el autor del software antivirus. Si un fragmento de código en el archivo coincide con cualquier virus identificado en el diccionario, entonces el software antivirus puede eliminar el archivo, ponerlo en cuarentena para que otros programas no puedan acceder al mismo y su virus no pueda propagarse o intentar para reparar el archivo eliminando el virus mismo del archivo.
Para tener éxito a mediano y largo plazo, el enfoque del diccionario de virus requiere descargas periódicas en línea de entradas actualizadas del diccionario de virus. A medida que se identifican nuevos virus "en la naturaleza", los usuarios con mentalidad cívica e inclinaciones técnicas pueden enviar sus archivos infectados a los autores del software antivirus, que luego incluyen información sobre los nuevos virus en sus diccionarios.
El software antivirus basado en diccionarios generalmente examina los archivos cuando el sistema operativo de la computadora los crea, abre y cierra; y cuando los archivos se envían por correo electrónico. De esta manera, un virus conocido se puede detectar inmediatamente después de la recepción. Por lo general, el software también se puede programar para examinar todos los archivos en el disco duro del usuario de forma regular.
Aunque el enfoque del diccionario se considera efectivo, los autores de virus han intentado mantenerse un paso adelante de dicho software escribiendo "virus polimórficos", que encriptan partes de sí mismos o se modifican a sí mismos como un método de disfraz, para no coincidir con la firma del virus. en el diccionario.
Enfoque de comportamiento sospechoso El enfoque de comportamiento sospechoso, por el contrario, no intenta identificar virus conocidos, sino que monitorea el comportamiento de todos los programas. Si un programa intenta escribir datos en un programa ejecutable, por ejemplo, esto se marca como comportamiento sospechoso y el usuario recibe una alerta y se le pregunta qué hacer.
A diferencia del enfoque de diccionario, el enfoque de comportamiento sospechoso por lo tanto proporciona protección contra virus nuevos que aún no existen en ningún diccionario de virus. Sin embargo, también suena una gran cantidad de falsos positivos, y los usuarios probablemente se vuelven insensibles a todas las advertencias. Si el usuario hace clic en "Aceptar" en cada advertencia, entonces el software antivirus es obviamente inútil para ese usuario. Este problema ha empeorado especialmente en los últimos 7 años, ya que muchos más diseños de programas no maliciosos optaron por modificar otros archivos .exes sin tener en cuenta este problema positivo falso. Por lo tanto, el software antivirus más moderno utiliza esta técnica cada vez menos.
Otras formas de detectar virus Algunos antivirus tratarán de emular el comienzo del código de cada nuevo ejecutable que se esté ejecutando antes de transferir el control al ejecutable. Si el programa parece estar usando un código auto modificable o aparece como un virus (inmediatamente trata de encontrar otros ejecutables), se podría suponer que el ejecutable ha sido infectado con un virus. Sin embargo, este método produce muchos falsos positivos.
Otro método de detección es usar un sandbox. Un sandbox emula el sistema operativo y ejecuta el ejecutable en esta simulación. Una vez que el programa ha finalizado, el sandbox analiza los cambios que podrían indicar un virus. Debido a problemas de rendimiento, este tipo de detección normalmente solo se realiza durante los análisis bajo demanda.
Cuestiones de interés
Los macrovirus, posiblemente los virus informáticos más destructivos y generalizados, podrían evitarse de manera mucho más económica y efectiva, y sin la necesidad de que todos los usuarios compren software antivirus, si Microsoft solucionara las fallas de seguridad en Microsoft Outlook y Microsoft Office relacionadas con el ejecución del código descargado y la capacidad de las macros de documentos para propagarse y causar estragos.
La educación del usuario es tan importante como el software antivirus; simplemente capacitar a los usuarios en prácticas informáticas seguras, como no descargar y ejecutar programas desconocidos de Internet, ralentizaría la propagación de virus, sin la necesidad de un software antivirus.
Los usuarios de computadoras no siempre deben ejecutar con acceso de administrador a su propia máquina. Si simplemente se ejecutaran en modo de usuario, algunos tipos de virus no podrían propagarse.
El enfoque del diccionario para detectar virus a menudo es insuficiente debido a la creación continua de nuevos virus, aunque el enfoque de comportamiento sospechoso es ineficaz debido al problema de falsos positivos; por lo tanto, la comprensión actual del software antivirus nunca conquistará los virus informáticos.
Existen varios métodos para encriptar y empaquetar software malicioso que harán que incluso los virus conocidos sean indetectables para el software antivirus. La detección de estos virus "camuflados" requiere un potente motor de desempaquetado, que puede descifrar los archivos antes de examinarlos. Desafortunadamente, muchos programas antivirus populares no tienen esto y, por lo tanto, a menudo no pueden detectar virus cifrados.
Las compañías que venden software antivirus parecen tener un incentivo financiero para que los virus se escriban y se propaguen, y para que el público entre en pánico por la amenaza.
(Me gusta este artículo, y solo copié y pegué de AntivirusWorld).
fuente
Phoshi, tu pregunta es muy interesante, pero te sugiero que comiences tu búsqueda con otra. Estoy advirtiendo esto porque las respuestas a la pregunta que has hecho pueden confundirte.
Le sugiero que comience pensando en qué considera un virus, cuál es su definición.
Los escritores de virus Elite son investigadores de seguridad, no niños de script. Su definición de virus es: "un virus es un código que puede multiplicarse". Eso es. Como puede ver, no hay características destructivas mencionadas aquí. Todos los virus son obligatorios como malignos: eso es FUD que obtienes de los fabricantes de antivirus propietarios para que puedan vender su software.
En mi humilde opinión, es aconsejable tratar los virus como parte de todo el ecosistema de software, no como "extraterrestres" malvados.
fuente
Una forma muy importante de ver a los virusses es al revés. ¿Cómo comprometen los virus los sistemas? Esto suele ser a través de vulnerabilidades de software. El software antivirus es consciente de estas vulnerabilidades y busca software que influya en estas vulnerabilidades. De cualquier manera, los viruss siempre HACEN algo. Por lo tanto, necesitan un proceso de trabajo para hacer lo que mejor saben hacer. A veces esto está en uno existente, a veces se crean uno mismo.
Sin embargo, la mayoría de los virus funcionan de manera similar, lo que facilita que un detector de virus distinga entre ellos. ¡Hay muchos virus diferentes que hacen uso de la misma vulnerabilidad!
http://en.wikipedia.org/wiki/List_of_computer_viruses
fuente