¿Qué son los programas maliciosos?
El malware siempre ha sido motivo de gran preocupación para losantivirusy codificación. En estos días, el malware ha evolucionado a un nivel excepcionalmente sofisticado, lo que dificulta bastante su detección. Esteretraso en la detecciónde malware permite que sepropague más, pero se puede solucionar silos antiviruspueden escanear el malware en un breve período de tiempo. Sin embargo, si el malware usa tácticas de camuflaje como:
- Cifrado ,
- oligomorfismo,
- polimorfismo y
- metamorfismo;
Pueden hacer que su detección sea desde difícil hasta aparentemente imposible.
Técnicas utilizadas para detectar malware
Durante los primeros días de los lenguajes de programación, los especialistas informáticos solían crear virus por diversión y luego, poco a poco, estos virus se usaban indebidamente para muchas cosas, como robar números de cuentas bancarias y sus contraseñas, además de que también se usaban para vengar a las personas. . Así que la creación de virus ya no quedó como una actividad de exhibición sino que se convirtió en una mala práctica. Para ocultarse, los creadores de malware primero intentaron usar técnicas de sigilo.
-
Técnicas de sigilo
Estas son las técnicas que ocultan cualquier tipo de cambio realizado por el malware en el sistema infectado. Los virus sigilosos pueden infectar un sistema informático cuando el usuario abre un enlace adjunto malicioso de correos electrónicos o sitios web. Estos virus sigilosos reducen el rendimiento de todo el sistema. Sin embargo, su detección es aparentemente difícil debido a estas dos adaptaciones.
- Ocultan el tamaño del archivo que infectaron originalmente.
- Se alejan temporalmente del archivo infectado y se copian a sí mismos en un archivo presente en otra unidad, reemplazando su ubicación anterior con un archivo limpio.
El funcionamiento anterior del malware se basa en dos aspectos principales del camuflaje sigiloso que ocultan los rastros del malware y ocultan el código principal de los humanos y los programas antivirus. Sin embargo, los creadores de malware no pudieron disfrutar de su ventaja durante mucho tiempo, ya que los antivirus pudieron abordarlo más tarde, lo que dio paso a la evolución camuflada del malware.
-
Fue la primera técnica de camuflaje en la que los autores de malware tienden a mejorar el código de su programa para que no sea detectado, lo que permitió que sus virus penetraran más profundamente en la computadora. Esta técnica utiliza un bucle de descifrado además del cuerpo principal del código. El trabajo principal del bucle de descifrado es ocultar el funcionamiento del cuerpo principal del código. Sin el descifrador, el cuerpo principal del código no tiene sentido ya que el descifrador es responsable de cifrar y descifrar el código. Algunas formas sofisticadas de encriptación implican el uso de un valor constante o un valor variable deslizante generado por un algoritmo especial.
Los escáneres de virus a veces no pueden detectar los virus cifrados, ya que primero tienen que descifrar el código para descifrar todo el código, pero luego los antivirus han revolucionado y han comenzado a detectar el código de descifrado proporcionando evidencia indirecta para la detección de virus. -
Oligomorfismo
El próximo avance en la ocultación de malware es el oligomorfismo que utiliza código oligomórfico para lanzar especialmente los virus informáticos. En lugar de utilizar un solo descifrador, el oligomorfismo utiliza n descifradores . Durante este proceso, el cuerpo principal tiende a elegir un descifrador aleatorio de n descifradores , lo que hace que la detección sea tediosa para los detectores de virus. Sin embargo, dado que la cantidad máxima de descifradores predefinidos no es más que unos pocos cientos para un código en particular, algunos antivirus avanzados pueden hacer posible su detección, ya que utilizaron un enfoque de escaneo comodín (baja probabilidad y alto impacto) para detectarlos . Este enfoque lleva mucho tiempo, pero aún detecta el virus.
-
Polimorfismo
Es una forma muy complicada de oligomorfismo y encriptación. La única diferencia entre el oligomorfismo y el polimorfismo es que en el polimorfismo se utiliza un número ilimitado de descifradores . Varias técnicas de polimorfismo se basan en dificultar el análisis de virus cambiando la apariencia del virus. El descifrador cambia constantemente su apariencia de una copia a otra y este proceso se lleva a cabo con mucha habilidad para que los detectores de virus no puedan explotar ninguna copia con fines de detección. El polimorfismo puede engañar muy fácilmente a la detección basada en firmas que comúnmente realizan la mayoría de los antivirus, por lo que el uso del aprendizaje automático y el análisis basado en el comportamientopara su detección es fundamental. El aprendizaje automático se centra en el comportamiento anormal de un archivo en lugar de sus firmas. Además, no importa qué tan bien esté diseñado el código, pero después de que el código realice una cantidad suficiente de emulaciones, el código cifrado subyacente se revelará mediante una simple coincidencia de strings.
-
metamorfismo
Es una raza de virus completamente diferente que no tiene una parte encriptada pero, al igual que los virus polimórficos, tiene un motor de mutación. Este motor modifica todo el cuerpo del virus en lugar de solo modificar el descifrador. En los virus metamórficos, después de su mutación, pueden tener un código, un tamaño corporal y una estructura diferentes, pero su comportamiento sigue siendo el mismo . El virus metamórfico tiene cuatro componentes principales del motor de mutación que son:
- desensamblador
- Analizador de código
- Transformador de código
- Ensamblador
El funcionamiento del virus metamórfico se lleva a cabo de la siguiente manera:
- Paso 1: el virus primero localiza su código y luego lo convierte en instrucciones de ensamblaje (tarea realizada por el desensamblador interno).
- Paso 2: El analizador de código proporciona un transformador de código con la información requerida. Esta información incluye:
- Estructura y diagrama de flujo del programa.
- El período de vida de las variables y los registros, etc.
- Paso 3: Un transformador de código es el corazón del motor de mutación que cambia la secuencia binaria de códigos.
- Paso 4: Luego, el ensamblador convierte el código ensamblador del virus en código binario de máquina.
Un buen virus metamórfico es casi imposible de atrapar . Solo el uso de análisis basados en el comportamiento y el aprendizaje automático pueden abordar este problema por completo. Aunque hasta ahora se han abordado varios virus metamórficos, aún no se ha diseñado una metodología concreta para combatirlos.
Publicación traducida automáticamente
Artículo escrito por gaurisharma360 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA