En el artículo de hoy, intentaré explicarlo en detalle el funcionamiento de un antivirus clásico.
No soy un programador antivirus, ni siquiera investigador en la seguridad de TI, sino solo un curioso simple que quiere obtener Más detalles que:
«El antivirus está buscando una firma de virus en un archivo»
Si es así, sientes que sería interesante saber más., está en el lugar correcto, e incluso puede participar si sabe más.
empezamos.
Tabla de contenido
¿Cómo funciona un antivirus?
El antivirus al iniciar la computadora
Estamos de acuerdo en que si el antivirus comienza después de los programas maliciosos, se vuelve totalmente inútil.
¿Cómo se lanza el antivirus aún antes de los otros programas?
Bueno, simplemente hay una orden de lanzamiento.
Aquí está el orden de lanzamiento de los componentes del software cuando inicia su sistema:
infraestructura FSFIlTTERSistema FSFilterfsfilter inferiorfsfilter Protección de copiaFSFilter Security EnhancerFSFilter Abrir archivo
FSFILTER Administración de cuotas físicasFSFILTER CIRTUCCIÓNFSFILTER COMPRESIONFSFILTERFSFILTER HSMFSFILTER SISTEMA DE ARCHIVO DE CLUCTORFSFILTER SISTEMA DE SISTEMAFSFILTER CONTENIDO DE CONTENIDOFSFILTER Copia de seguridad continuaFSFILTER REPLICACIÓNFSFILTER ANTI-VIR Estadounidensefsfilter UndeleteFSFILTER TOPFILTROFILTRObasepuntoClase de tecladoClase de tecladoVideo initvideoSistema de archivosRegistro de eventostransmisionesNDIS WRAPPERCOM INFRAESTRUCTURAPLUGLIDACIÓNPNP_TDINdisTDInetbiosgroupshellsvcgroupSpoolerGroupAUDIOGROUPsmartcardgroupNetworkProvidernetddegroupBase extensaampliablela configuración de PCIMS TransactionsFuente en la parte.
Bueno, es muchas cosas, y no lo hago. ¿Qué significan la mayoría de ellos?
por contras, c Ela nos muestra que el antivirus (antivirus FSFilter) comienza antes de las claves USB y otros dispositivos de este tipo (pluglay), antes del audio de video e incluso antes de estar conectados a la red (NetworkProvider).
Nuestro antivirus es, por lo tanto, activo tan pronto como comienza el sistema, e incluso si agregamos otros procesos después al inicio, no podrá comenzar antes del antivirus.
"Sí, pero... si el El programa malicioso se pasa para un antivirus y también se coloca en este antivirus FSFilter? "
Solicitudes de Windows Vista (y superior) que los controladores de código fuente (controladores) se firmen numéricamente. Y para que se necesite un certificado
nuestro pobre programa malicioso, por supuesto, no obtendrá este certificado.
interrupciones de entrada / salida
El antivirus comienza así que antes de la Otros procesos, ya que es bueno.
Pero el antivirus también detiene a un virus antes de funcionar cuando el sistema ya está iniciado. Entonces, ¿cómo actúa antes del lanzamiento de cualquier programa?
Si ahora queríamos desarrollar un programa que verifica los programas lanzados, usaríamos ingenuamente un código similar al siguiente ejemplo:
Si NewProgrammelanceance ejecutado entoncesSi el programa () == Malicious entoncesPRONTEPROGRAMA ()final Sifinal SiFIN SiEl problema está presente desde el principio: si se inicia el programa, ¡ya es demasiado tarde!
Imagina un ransomware que cifra todos tus archivos Desde su lanzamiento, el antivirus siempre puede decirnos que ha encontrado un programa malicioso, será demasiado tarde.
Por lo tanto, necesitamos lo que se llama un controlador de filtro, "Piloto de filtro" en francés. Se habló antes con FSFilter Anti-Virus.
Un controlador de filtro es un controlador que se extiende o mejora la función de un dispositivo.
Aquí, el dispositivo en cuestión será el disco duro. (Sistema de archivos) en el que se está almacenando el programa listo para comenzar.
Podemos filtrar las operaciones de entrada / salida para uno o más sistemas de archivos. Filtrar significa aquí: observar, guardar, editar o prevenir un evento.
Este filtro nos permitirá intervenir desde el momento en que el usuario realiza una acción, normalmente cuando se duplica clics en el programa para ejecutar.
Para entender, tome el siguiente diagrama:
en la parte superior, estamos en el modo de usuario (modo de usuario). Como usuario, tiene dos formas de acceder a un archivo: ya sea que le lee (lo inicia) o lo escribe (lo creas / copia).
Estas dos formas se denominan entradas / salidas, o entrada / salida (E / S) en inglés.
Admito que viene, por ejemplo, desde duplicado en un programa. Usted realiza una solicitud de lectura (entrada) del archivo.
desde allí, el kernel toma la mano (modo kernel), ya no tiene ningún poder.
La entrada / salida El gerente (gerente de E / S) tiene en cuenta su solicitud y la envía al administrador de filtros.
El administrador de filtros filtrará la solicitud a través de los filtros instalados que caerá aquí en el filtro B, que es el de El antivirus.
En este momento, se realiza una exploración rápida, y si el archivo se detecta como malicioso, el filtro indica para detener la consulta. El archivo no se ejecuta, el antivirus inicia la alerta y Windows indica que no se pudo acceder al programa.
Si no, si el antivirus no detecta nada sospechoso, se valida la consulta, llega a la archivo del sistema de archivos (o escribiendo) el archivo en el disco.
Todo esto sucede en unos pocos milisegundos entre el momento. O haces clic en un programa y cuando aparece en la pantalla.
¿Cómo están las exploraciones?
Ahora que sabemos que el antivirus comienza primero, y tiene el privilegio de verificar y posiblemente cancelar archivos en archivos, están interesados en las exploraciones.
Tenemos 3 tipos principales de escaneos:
escaneos por firmas
Este es el escaneo más simple que viene a la mente de inmediato: calculamos una firma única para cada programa, y verificamos si Es una firma de un programa malicioso.
Esta firma se utiliza para Lo que se llama hash.
un hash es una huella de un archivo o un dato en general. Esta huella es única se puede calcular fácilmente implementando dicha función de hash.
Por ejemplo, puedo ver los hashs de un archivo Virustotal (utilidad en línea para escanear sus programas con varios antivirus a ambos): hay Varias funciones de refugio, las más conocidas son MD5 y SHA256.
Por lo tanto, hemos calculado un hash de nuestro programa de escáner y ya tenemos un dato viral base que contenía cientos de miles de hashs de malware.
Primer problema: ¿Cómo escanear un programa cuando 300,000 diferentes firmas de malware? De hecho, debería tomar 10 minutos por archivo!
En realidad, tenemos dos algoritmos utilizados para eso:
Boyer-Moore: para buscar una cadena en otra. AHO-CORASICK: Para buscar varios modelos al mismo tiempo.
Ejemplo del uso del algoritmo AHO-CORACICK en inglés.
Parece que el segundo se usa comúnmente. En el software comercial antivirus porque permite analizar rápidamente un archivo sin probar los cientos de miles de firmas uno por uno.
Segundo problema: el escáner es bueno, escanear rápido, es perfecto, pero... a Un pequeño cambio en el archivo cambia el hash, por lo que la firma.
ver: ¿Cuál es realmente el mejor antivirus?
En realidad, aquí es donde la exploración por firmas plantea el problema, es Fácil (algunos programas automatizan esto) para cambiar la firma de un programa malicioso para hacerlo totalmente saludable.
escaneos heurísticos
Las exploraciones heurísticas se utilizan para compensar el problema de la exploración de la firma: nosotros Trate de adivinar si un programa es malicioso observando su comportamiento y no su firma.
estos Las exploraciones aún están divididas en tres subtipos.
Emulación del programa
Esto también se llama "Ejecución en una caja de arena" (Sandbox). En realidad, está ejecutando el programa directamente en un entorno de ejecución seguro para observar lo que hace.
Análisis del programa
En este caso, vamos a intentar descompilar el programa y observar su origen. Código para comprender mejor su comportamiento. Por lo tanto, es un escaneo más completo y detallado que se busca en busca de acciones potencialmente maliciosas.
Detección de firma genérica
Esta técnica también sirve para llenar el problema de las firmas. Cambiando. También es una detección también llamada detección genética en la que clasificaremos los virus por las familias.
son de la misma familia si tienen huellas dactilares similares (ADN). El ejemplo de los gemelos es interesante: tenemos dos gemelos casi idénticos, pero su ADN es diferente.
Las exploraciones proactivas
Las exploraciones proactivas son las que podrían llamar "en el tiempo real".
Cuando se ejecuta un programa y, por lo tanto, está en RAM (RAM), observamos si sus acciones no son maliciosas. Si resulta maliciosamente como eliminando masivamente eliminando archivos, se lanza y evita continuar.
Todos los programas lanzados se verifican en ejecuciones y a intervalos regulares. También es así que los programas maliciosos que ocultan sus actividades maliciosas antes de ser ejecutadas.
La diferencia entre este escaneo y los demás es que revisa los programas. Después de lanzarse.
ADICIONAL Características
Antivirus Hoy en día contienen características adicionales, como revisar los enlaces visitados en el navegador (verificamos la URL o el contenido de la página).
Existen antivirus móviles, así como La protección de los datos personales (copia de seguridad de datos), la protección de los correos electrónicos, etc.
Para terminar, ¿invita a leer, que es realmente el mejor antivirus? Para ver un vistazo a quien es el mejor (?) Antivirus.
Imagen de IntellFreepress.
E-BOOK PDF 6 Errores adorados por informatorios informáticos
que siempre lo harán vulnerable en Linelates Miths del antivirus perfecto... esto que Los piratas saben en yoetc...
Descargo mi guía gratuita ×
¿A qué dirección de correo electrónico le gustaría recibir la guía?
artículos Similar
¿Por qué los antivirus no son sus amigos
El título es un poco provocativo que admito, pero el antivirus puede tener lados negativos negativos? Comencemos con los beneficios del antivirus: el antivirus comienza cuando inicia su computadora, se inicia antes de otros programas con "controladores de filtro" para elegir el pedido de...
¿Cuál es realmente el mejor antivirus? [2022]
"Un antivirus es inútil".
"¡Un antivirus es inútil, un verdadero colador que solo trae virus!" Todos conocemos a una persona que nos rodea que dice eso, tal vez lo digas tú mismo. La variante de esta declaración se levanta de la siguiente manera: "No necesito antivirus, lo sé...