¿Qué es la interfaz de escaneo antimalware (AMSI) en Windows 10?

 

en la actualidadPregúntele al administrador, Explicaré cómo se puede utilizar un nuevo conjunto de API en Windows 10 y Windows Server 2016 para bloquear actividades maliciosas.

Desde hace tiempo se reconoce que la protección antivirus basada en firmas por sí sola no puede proteger adecuadamente los dispositivos debido a la gran cantidad de virus que existen y la velocidad a la que mutan. Uno de los problemas de escanear archivos en el disco y compararlos con una base de datos conocida de amenazas es que los piratas informáticos utilizan diversas técnicas para ofuscar el código real que se ejecutará en la memoria. Veamos algunos ejemplos simples de las formas en que los piratas informáticos pueden evitar la detección.

Antimalware Scan Interface APIs in Windows 10 (Image Credit: Microsoft)

API de interfaz de escaneo antimalware en Windows 10 (Crédito de la imagen: Microsoft)

Al utilizar lenguajes dinámicos, como VBScript y Ruby, gran parte del trabajo se realiza en tiempo de ejecución y no en la etapa de compilación. Se pueden crear objetos agregando métodos y propiedades cuando se ejecuta el código; No necesitamos definir objetos de antemano. Al aplicar ese conocimiento, se puede escribir código para ocultar lo que se ejecutará en tiempo de ejecución, lo que ayudará a evitar la detección.

Scripting engines and shells, such as VBScript and PowerShell, are an ideal target because they are built into the operating system and used by system administrators, who hackers often target due to their likely overprivileged access to systems.

Avoiding Detection

Instead of simply using Write-Host ‘You have been hacked’ to output a message to the console, we can use string concatenation to change the script to avoid detection, but retrieve the same output at the console:

Function Hack-Me 
{ 
    Invoke-Expression (“Write-Host ‘You have ” + “been hacked’”) 
} 
Hack-Me

Once the AV signatures have been updated to detect the technique used above, something more sophisticated is required, such as Base64 encoding or algorithmic obfuscation. The following script encodes Write-Host ‘You have been hacked’ to Base64, and stores the results in a variable ($EncodedText):

$Text = “Write-Host ‘You have ” + “been hacked’” 
$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Text) 
$EncodedText =[Convert]::ToBase64String($Bytes)

We can then use the encoded text to obfuscate our intentions in a piece of malicious code:

Function Hack-Me 
{ 
$code = ‘VwByAGkAdABlAC0ASABvAHMAdAAgABggWQBvAHUAIABoAGEAdgBlACAAYgBlAGUAbgAgAGgAYQBjAGsAZQBkABkg’

$newcode = [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($code))

Invoke-Expression $newcode 
} 
Hack-Me

Como puede ver, este es un juego del gato y el ratón, y si bien lo que he mostrado arriba son ejemplos simples de cómo los piratas informáticos usan la ofuscación, le da una idea de sus métodos para evadir la detección.

Las soluciones antivirus utilizan emuladores para ejecutar código en un entorno aislado para intentar detectar cualquier comportamiento sospechoso mediante análisis heurístico. Pero al igual que otras defensas, los piratas informáticos tienen muchos trucos bajo la manga para evitar la detección, incluido el "empujón" (es decir, verificar si el código se está ejecutando en un entorno real o emulado) o agregar largos retrasos al código, lo que obliga al emulador a se acabó el tiempo. Y si bien los emuladores son parte de la mayoría de las soluciones antivirus, también consumen muchos recursos y no son difíciles de eludir.

Interfaz de escaneo antimalware

Cualquiera que sea el método que utilice un hacker para ofuscar sus productos, el motor de secuencias de comandos finalmente debe recibir código simple y, en este punto, las API de la interfaz de escaneo antimalware de Microsoft se pueden usar para escanear el código en la memoria. AMSI también puede escanear archivos, transmisiones y proporcionar verificaciones de reputación de URL/IP de origen de contenido. Cualquier aplicación puede utilizar las API, ya sea una solución antivirus o una aplicación de mensajería, para obtener una mejor visión del código en la memoria y la oportunidad de detener su ejecución antes de que cause algún daño. Windows Defender ya usa AMSI para brindar una mejor protección.

Como cualquier otra defensa, AMSI no es una panacea, y en Black Hat 2016 se encontraron formas de evitarla. Queda por ver si Microsoft ha podido tapar los agujeros encontrados por los investigadores, pero, aun así, la defensa en profundidad siempre es la mejor estrategia. Por ejemplo, eliminar privilegios administrativos de los usuarios, implementar control de aplicaciones y protección antivirus son componentes esenciales de cualquier plan de defensa en profundidad.

El cargo¿Qué es la interfaz de escaneo antimalware (AMSI) en Windows 10?apareció primero enpetri.

Etiquetas: