Aprender nuevo lenguaje de seguridad informática: HAKA (Parte:Reglas)

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone

En el último artículo aprendimos más acerca de Haka, un lenguaje de seguridad orientado a código abierto con ayuda de expertos de servicios de seguridad informática.

http://noticiasseguridad.com/importantes/aprender-nuevo-lenguaje-de-seguridad-informatica-haka/

En este artículo vamos a cubrir como escribir las reglas de seguridad en Haka con ayuda de profesor de hacking ético. Haka ofrece una forma sencilla de escribir reglas de seguridad para filtrar, modificar, crear e inyectar paquetes. Según expertos de auditoría de seguridad informática, cuando se detecta un flujo con algo malicioso, pueden informar los usuarios o pueden dejar el flujo. Los usuarios pueden definir escenarios más complejos para mitigar el impacto de un ataque. Por ejemplo, se puede alterar peticiones http y obligar a los navegadores obsoletos para actualizar o falsificar paquetes específicos para engañar herramientas de análisis de tráfico.

La siguiente regla es una regla de filtrado de paquetes básico que bloquea todas las conexiones de una dirección de red.

local ipv4 = require(“protocol/ipv4”)

local tcp = require(“protocol/tcp_connection”)

local net = ipv4.network(“192.168.101.0/24”)

haka.rule{

   hook = tcp.events.new_connection,

   eval = function (flow, pkt)

       haka.log(“tcp connection %s:%i -> %s:%i”,

           flow.srcip, flow.srcport,

           flow.dstip, flow.dstport)

       if net:contains(flow.dstip) then

           haka.alert{

               severity = “low”,

               description = “connection refused”,

               start_time = pkt.ip.raw.timestamp

           }

           flow:drop()

     end

   end

}

Las primeras líneas del código cargan los disectores de protocolo, Ipv4 y TCP explica profesor de hacking ético, Mike Stevens. La primera línea se encarga de paquetes IPv4. Después usamos un disector de TCP de estado que mantiene una tabla de conexión y gestiona flujos de TCP. Las siguientes líneas, definen la dirección de red que debe ser bloqueada.

La regla de seguridad se define a través de palabras clave haka.rule. Según experto de servicios de auditoría informática, reglas de haka son muy útiles. Una regla de seguridad está hecha de un gancho y una función de evaluación eval. El gancho es un evento que activará la evaluación de la regla de seguridad. En este ejemplo, la regla de seguridad se evaluará en cada intento de establecimiento de conexión TCP. Los parámetros pasados a la función de evaluación dependen del evento explica el experto de servicios de seguridad informática. En el caso del evento new_connection, eval toma dos parámetros: flow y pkt. Lo primero de ellos tiene detalles sobre la conexión y el segundo es una tabla que contiene todos los campos del paquete TCP.

Según recomendación de profesor de hacking ético, en el núcleo de la regla de seguridad debemos registrar en haka.log primero alguna información acerca de la conexión actual. Luego, comprobamos si la dirección de origen pertenece a la gama de direcciones IP’s no autorizadas. Si la prueba tiene éxito, elevamos una alerta (haka.alert) y liberamos la conexión. Menciona Roberto Talles, experto de auditoría de seguridad informática que tenga en cuenta que se informa sólo algunos detalles de la alerta. Se puede añadir más información, como el origen y el servicio de destino.

Utilizamos hakapcap herramienta para probar nuestra filter.lua regla en un archivo de pcap trace filter.pcap:

$ hakapcap filter.lua filter.pcap

Haka
Hak

 

De aquí en adelante, en los resultados sale algo de información sobre disectores cargados y reglas registrados. El resultado muestra que Haka logró bloquear conexiones dirigidas a dirección 192.168.101.62:

En el ejemplo anterior, hemos definido una sola regla para bloquear las conexiones. Uno puede escribir un conjunto de reglas de firewall usando la palabra clave haka.group mencionó profesor de hacking ético. En este caso, la configuración, se puede elegir un comportamiento por defecto (por ejemplo, bloquear todas las conexiones) si ninguno de la regla de seguridad autoriza explícitamente el tráfico.

En el próximo artículo vamos cubrir más sobre inyección de paquetes con la ayuda de expertos de servicios de seguridad informática.

Conocimiento pertenece al mundo
Tweet about this on TwitterShare on FacebookShare on LinkedInShare on Google+Share on StumbleUponShare on TumblrShare on RedditPin on PinterestEmail this to someone