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
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.
0 comments:
Post a Comment