Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I. INTRODUCCIÓN
Los protocolos de comunicación constituyen la espina
mediante el secuestro de los paquetes de solicitud [5], el uso
de proxies [3],
[6] y cortafuegos y ataques de repetición, en los que los
atacantes pueden lanzarlos fácilmente de forma remota
sin establecer una conexión física con sus víctimas. La
tendencia reciente de los ataques denunciados muestra un
aumento significativo de las amenazas planteadas por vul-
nerabilidades en los protocolos de comunicación [7], [8].
Aparte de esto, los investigadores de Barracuda
informaron en enero de 2020 de que el secuestro de
conversaciones había aumentado un 400% en 4 meses [9].
En muchos protocolos de comunicación (incluida la
implementación de los protocolos más utilizados, como
FTP [10], HTTP [11], [12] y MQTT [11], [13]), la
autenticación suele producirse antes del inicio de la
sesión. Esto los hace vulnerables a los ataques antes
mencionados, como el secuestro de sesión MITM o los
ataques de confusión de contexto, en los que los atacantes
pueden redirigir la petición. Para contrarrestarlos,
buscamos técnicas que garanticen la autenticación
continua para cada búsqueda en una sesión mediante el
aprovechamiento inteligente de las características de la
capa de aplicación.
En este trabajo, presentamos Verify-Pro, un marco que
mejora la autenticación del servidor a través de la
modificación dinámica y continua de las propiedades de
un objetivo (binario de programa), manteniendo al mismo
tiempo la funcionalidad básica del protocolo de
comunicación subyacente. Además, Verify-Pro genera
dinámicamente respuestas de servidor personalizadas
utilizando dialectos de protocolo para cada solicitud, lo
que dificulta al atacante lanzar un ataque efectivo contra
un protocolo de comunicación que se autoadapta
constantemente. En este documento, definimos dialecto
de protocolo como variaciones de la implementación del
protocolo a nivel binario para incorporar medidas de
seguridad adicionales. Las variaciones pueden consistir
en la mutación de paquetes de mensajes, la generación de
diferentes transacciones de solicitud-respuesta basadas
en algunas condiciones ambientales, etcétera.
Proporcionamos una prueba de concepto de la
implementación de nuestra herramienta propuesta Verify-
Pro utilizando los protocolos FTP, HTTP y MQTT.
Nuestra contribución. Verify-Pro consta de tres
módulos principales: (1) Dialectos de protocolo (PD), (2)
Mecanismo de decisión de dialecto (DDM) y (3)
Verificación de respuesta del servidor (SRV). El módulo
PDs comprende varias transacciones personalizadas
utilizadas para la comunicación entre el cliente y el
servidor. Cuando el cliente lanza un comando (por
ejemplo, obtener archivo.txt en el protocolo FTP) para
recuperar un archivo del almacenamiento del servidor, se
activa el módulo DDM en el cliente, y la solicitud se
introduce como entrada en su red neuronal y se determina
un dialecto de respuesta "n".
para futuras verificaciones. Observamos que la selección de neuronal es desplegar un mecanismo personalizado para la
dialectos debe ser impredecible para los fisgones, con el fin selección del dialecto y evitar ataques de ingeniería inversa
de evitar el secuestro de sesiones MITM y los ataques de por parte de adversarios.
repetición. Con este fin, desplegamos un modelo de red • Diseñamos e implementamos el prototipo Verify-Pro en FTP,
neuronal preentrenado en ambos sistemas cliente-servidor HTTP y MQTT, y evaluamos su eficacia utilizando dialectos
equipado con un diseño personalizado (alterando la como huellas dactilares en una configuración del mundo real.
predicción de dialectos en un mecanismo construido a Los resultados de nuestra evaluación muestran que Verify-Pro
medida) para predecir un número de dialecto para iniciar la puede derrotar con éxito los ataques MITM de secuestro de
comunicación. Las estrategias aplicadas a la red neuronal sesión, repetición y confusión de contexto.
son i) Des- uniforme. Motivación. Los protocolos de comunicación se enfrentan a un
tribución de dialectos- ofrecen la ventaja de dificultar la
que el atacante pueda realizar ingeniería inversa en la red
neuronal (adivinar el número de dialecto), ya que todos los
dialectos están distribuidos uniformemente en las solicitudes
de muestra. Por otro lado, ii) la selección de dialecto basada
en la propiedad de coste ofrece un modelo de red neuronal
flexible para activar el dialecto con menor coste y hacer que el
sistema sea más eficiente (el menor coste para un dialecto da
como resultado ese número de dialecto...).
Di predicho con mayor frecuencia en las solicitudes de
muestras), y
iii) Pérdida consolidada- incluye un factor de compensación
a′′ que decide la sensibilidad a las propiedades antes descritas.
Hasta donde sabemos, este trabajo es el primero que utiliza
una red neuronal
como mecanismo de decisión (DDM) para activar los
dialectos que cambian dinámicamente las transacciones para
cada solicitud. El enfoque general y directo para el mecanismo
de decisión en cuestión es utilizar directamente una clave
"real" precompartida que podría utilizarse como índice para
seleccionar el dialecto de la biblioteca de dialectos. En
contraste con este enfoque, verify-pro, 1)
propone un mecanismo de decisión con propiedades a medida
para
diseñar un modelo de red neuronal personalizado para la
predicción del dialecto, 2) menor coste de despliegue y
mínima sobrecarga, 3) el uso de clave precompartida (clave
secreta) es vulnerable a ataques de fuerza bruta [14], mientras
que la ingeniería inversa de una red neuronal es
comparativamente más difícil de invertir y estos ataques
también pueden mitigarse [15], [16]. Dado que el cliente
necesita verificar la
dialecto del servidor en el que se envió la respuesta, el módulo
SRV del lado del cliente comprueba si el servidor responde a
la solicitud utilizando el dialecto "n" correcto.
Contribuciones. En resumen, hacemos las siguientes
aportaciones:
• Proponemos Verify-Pro, un marco automatizado para
aplicar dialectos de protocolos de comunicación como
huellas dactilares para autenticar servidores.
Aprovechamos diferentes implementaciones de dialectos
de protocolos para crear respuestas únicas que ayuden a
autenticar servidores durante la comunicación y mejoren
la seguridad.
• Verify-Pro utiliza un modelo de red neuronal para
seleccionar un dialecto único de respuesta que se utilizará
para cada solicitud. El motivo detrás del modelo de red
2
número de ataques como los proxies y los ataques de VIII se analizan los trabajos relacionados. La última sección
secuestro de sesión-MITM, que se convierten en la presenta el alcance futuro con una conclusión sobre el
principal amenaza para la seguridad de las experimento realizado.
comunicaciones. En este trabajo, creamos, analizamos y II. ANTECEDENTES
evaluamos las estrategias que son diversas y que se
desplazan y cambian repetidamente con el tiempo para El Protocolo de Transferencia de Ficheros (FTP), tal y
aumentar la complejidad, el tiempo y el coste para los como se define en el RFC 959 [10], es un protocolo basado en
atacantes, incrementando así la resiliencia del sistema. texto que se utiliza ampliamente para transferir ficheros entre
Los métodos de huella digital existentes se limitan a ordenadores a través de una red TCP/IP, como Internet. FTP
aumentar la complejidad frente a posibles ataques porque promueve el intercambio de datos entre las personas dentro de
las propiedades del sistema de red existentes (por sus oficinas y a través de Internet. El FTP se basa en una
ejemplo, dirección IP, apretones de manos a tres bandas arquitectura cliente-servidor que utiliza conexiones de control
TCP, números de puerto) están confinadas a la mutación. y datos separadas entre el cliente y el servidor. El FTP tiene
La falta de autenticación adicional para validar la un mecanismo de autenticación por defecto como el nombre
identidad en la sesión permite a los atacantes MITM de usuario y
redirigir las peticiones a entidades maliciosas, lo que da
lugar a mensajes malformados. Esta vulnerabilidad puede
evitarse aplicando una autenticación continua para cada
solicitud.
Para ello, diseñamos una herramienta de recursos
limitados (por ejemplo, de bajo coste), Verify-Pro, que
crea una serie de variaciones utilizando dialectos de
protocolo como huellas digitales que aprovechan más
características de la capa de aplicación. Los dialectos de
protocolo pueden aumentar las variaciones de las
propiedades del sistema para mejorar la seguridad de la
comunicación. Diseñamos un módulo de decisión de
dialectos (DDM) para garantizar la transmutación de los
dialectos utilizados en cada transacción. Verify- Pro
permite que el cliente y el servidor, que conocen los
mismos patrones de variación de dialectos de protocolo,
se comuniquen entre sí con precisión. Además, el uso de
un modelo de árbol de decisión basado en datos (SRV)
impide la superposición de respuestas enviadas desde
dialectos diferentes o de paquetes enviados por un
atacante.
Nuestros resultados experimentales demuestran que las
técnicas que utilizamos identifican con éxito (y también
rechazan- cierran la conexión de toda la sesión) a los
atacantes que tienden a enviar mensajes no deseados o
malformados. Además, demostramos que después de
identificar con éxito que el mensaje procede de un
atacante, cerramos la conexión de toda la sesión, lo que
ayuda al destinatario a no recibir posteriores paquetes de
mensajes (re sponses) de los atacantes. Creemos que
extraer el módulo DDM y adaptarlo a la evolución del
dialecto tiene un coste elevado y hace que el atacante
invierta más tiempo.
Organización. El resto de este documento se organiza
como sigue: Sección I: Introducción y motivación. En la
Sección II se describen los antecedentes de los protocolos
de comunicación. En la Sección III se analizan el modelo
de amenazas y los supuestos. En la sección IV se describe
el sistema. La Sección V trata de la implementación. La
Sección VI analiza la seguridad. Sección
VII se analiza la evaluación de nuestro experimento y su
usabilidad. Sección
3
antes de iniciar la sesión. Los mensajes enviados por el problemas de confusión de origen [18]. Intrínsecamente,
remitente se denominan solicitudes (por ejemplo, get file.txt), asumimos que los adversarios típicos husmean en la Wi-Fi
y ordenan al receptor que transfiera los datos en función de la local y se localizan en la red Wi-Fi abierta sin una fuerte
solicitud. El RFC de FTP define diez comandos. Cada protección de seguridad. Además, los ataques pueden ser
comando tiene un uso único y una sintaxis diferente para ser lanzados por pasarelas o proxies.
enviado como petición. Cuando el remitente escribe una Los modelos de amenazas mencionados apoyan una prueba de
solicitud (get hello.txt), la conexión de control se utiliza para concepto para Verify-Pro como una nueva dirección prometedora
transferir estos comandos al servidor, y una vez que el para utilizar dialectos como huellas dactilares para proporcionar
receptor lee la solicitud, los archivos se transfieren sólo a autenticación de servidor entre el
través de la conexión de datos si el archivo está presente en el
almacenamiento del servidor. Los datos se transmiten
normalmente como un flujo de bytes a través del canal de
datos al cliente. En este documento, nos centramos
únicamente en el comando GET, en el que el formato de
solicitud del cliente es:
5
como resultado de la divergencia en la predicción de correctamente con el cliente. Sin embargo, diferentes sistemas
dialectos) para seleccionar el dialecto para iniciar la cliente-servidor pueden implementar el protocolo de comunicación
comunicación. Durante la comunicación real, varios dialectos de formas ligeramente diferentes, por tres razones principales:
serán seleccionados dinámicamente por el módulo DDM, y 1. Las RFC no siempre ofrecen un único formato posible a la hora
esto, a su vez, da una mejor ventaja sobre las de especificar los paquetes de solicitud-respuesta. Por ejemplo, en
implementaciones por defecto de los protocolos de el protocolo FTP los identificadores de comando no distinguen
comunicación, ya que las peticiones-respuestas siguen entre mayúsculas y minúsculas y también las variaciones normales
cambiando dinámicamente para cada transacción y confunde a del código fuente binario, lo que significa que el
los atacantes intermedios, como resultado de la aplicación de
nuestra autenticación continua. Cuando el cliente lanza un
paquete de solicitud (por ejemplo, obtener archivo.txt en FTP)
para recuperar un archivo del almacenamiento del servidor, se
activa el módulo DDM en el cliente, y la solicitud se introduce
como entrada en su red neuronal para obtener un número de
dialecto específico en el que puede enviar su solicitud al
servidor y se determina un dialecto de respuesta "n" para su
futura verificación. Obsérvese que la solicitud de comando
(por ejemplo, obtener archivo.txt en FTP) en todos los
dialectos tiene el mismo formato y, además, la dialectalización
de nuestro protocolo comienza realmente a partir de la
respuesta del servidor. Obsérvese que el modelo de red
neuronal utilizado en los sistemas cliente-servidor es el
mismo, por lo que, dado el contexto, para la petición "Ri ",
tanto el cliente como el servidor deberían predecir el mismo
número de dialecto "Di ". Tras la predicción del número de
dialecto por parte del servidor, se envía al cliente una
respuesta "Resp" adaptada al dialecto. El módulo SRV del
lado del cliente verifica si el servidor responde a la solicitud
utilizando el dialecto "n" "correcto". Verify-Pro tiene los
protocolos dialectos desplegados de una manera
descentralizada que utiliza el módulo DDM para activar el
dialecto para validar la respuesta del servidor. Para superar la
validación, los sistemas cliente-servidor deben compartir el
mismo modelo de red neuronal y los mismos dialectos de
protocolo de forma automatizada. El servidor responde a la
solicitud enviada por el cliente de forma única para cada
dialecto. Para lanzar un ataque con éxito, el atacante tiene que
falsificar las respuestas enviadas al cliente o reenviar las
peticiones a un servidor defectuoso. Esta es una tarea
imposible para los atacantes MITM, ya que estamos aplicando
la autenticación continua para cada solicitud en la sesión. La
idea central de Verify-pro es que, aunque el atacante observe
pasivamente el tráfico y controle las redes inalámbricas, no
puede predecir el número de dialecto para responder o iniciar
la comunicación, ya que importamos la biblioteca de dialectos
y el módulo DDM en máquinas cliente-servidor con dialectos
y esquemas de predicción personalizados.
mismo tiempo, garantizar que tanto el sistema del cliente Pérdida de uniformidad(l1) : min (P
i
como el del servidor predicen un dialecto idéntico D′′ para (yi )log2 (P (yi))) (1)
una solicitud determinada. i=1
′R′ . Para ello, desplegamos un modelo de red neuronal
El icoste como criterio de selección de dialecto. Definimos
preentrenado que confiere a la red neuronal ciertas el coste del dialecto como el número de peticiones-
propiedades flexibles y personalizadas. Los detalles del respuestas (el número (coste) se multiplica por 1000 para
conjunto de datos del módulo DDM se describen en el conseguir variaciones significativas) compartidas entre las
Apéndice X-A. máquinas cliente y servidor de un dialecto concreto.
Proceso de entrenamiento. Nuestro modelo es una DNN Suponemos un coste Cx para cada dialecto y P (yi ) es la
sencilla, capaz de asignar los vectores de características distribución de probabilidad de elegir un dialecto, por lo
de entrada x = x1 , ...xn (convirtiendo la "solicitud" del que nuestro objetivo es minimizar la suma de P (yi ) × Cx
protocolo en vectores), que constan de n muestras, a , que es el coste esperado. M se define como el número
una salida yi (que es el número de dialecto para una total de dialectos (clases). Esta propiedad ofrece la
solicitud determinada). La entrada de la red neuronal flexibilidad de hacer predicciones personalizadas
tiene un tamaño de n = 100 (vector para cada
solicitud), alimentada como un vector de características
de alta dimensión. El modelo tiene dos capas ocultas
con 128 neuronas cada una y función de activación
"relu" en cada capa, pero la última capa tiene 15
neuronas (esto representa que tenemos n = 15 como
número total de dialectos para el protocolo FTP) con
función de activación "softmax". El aumento del número
de capas ha dado buenos resultados y hace que el modelo
entrenado sea complejo.
Para el proceso de entrenamiento se utilizó el optimizador
ADAM. Los modelos se implementaron utilizando Python
y Keras con Tensorflow backend. Todo el procedimiento
de cálculo por capas desde las muestras de datos de
entrada hasta la predicción de salida se define como
inferencia. Cuando los datos de verdad terrestre no están
disponibles, consideramos que la función de pérdida L se
impone como un criterio que puede ser útil en la
generación de etiquetas (números de dialecto). La función
de pérdida del modelo consta de tres variantes:
Distribución uniforme de dialectos. Esta propiedad
implica que si tenemos un conjunto de peticiones de
entrada en el conjunto de d a t o s d e prueba, los números
de dialecto predichos deben distribuirse uniformemente.
Si el conjunto de datos de prueba tiene K entradas,
los dialectos previstos deben ser K/N , donde N es el
número de dialectos. Para conseguirlo
utilizamos la maximización de la entropía en la función de
pérdida para el entrenamiento. Aquí, la P (yi )
representa la aparición de un determinado número
dialecto de solicitudes yi . (calculado como el número
de apariciones de solicitudes con una determinada
probabilidad i dividido por el número de todas las
solicitudes de esa familia concreta), log2 es un
logaritmo con base 2, y M es el total de solicitudes con una
determinada probabilidad i dividido por el número de
todas las solicitudes de esa familia concreta).
número de dialectos (clases). Esta propiedad hace que el
modelo de red neuronal sea resistente, ya que el atacante
tendrá que invertir tiempo y esfuerzo para predecir o
9
en función del coste asignado individualmente a cada dialecto. respuesta como entrada al árbol de decisión, que verifica la
Por ejemplo, pretendemos que el dialecto 4 tenga una alta estructura de respuesta enviada por el servidor.
probabilidad de predicción, mientras que el dialecto 8 debe El árbol de decisión es uno de los algoritmos de clasificación más
tener la menor probabilidad. En este caso, asignamos un valor utilizados en el aprendizaje automático. Los árboles de decisión
más alto como coste al dialecto 4, mientras que el menor tienen una buena capacidad explicativa y son modelos
número (coste) para el dialecto 8. Tras el entrenamiento, el interpretables muy utilizados.
modelo predeciría el dialecto 4 con una frecuencia elevada. La
personalización con el coste hace que el sistema sea más
flexible para revisar la predicción con frecuencia y confundir
a los atacantes MITM.
M
Σ
Pérdida dialectal basada en el coste(l2) : min (P
(yi)(Cx)) (2)
i=1
13
el cliente. Siempre y cuando, si el cliente confirma que la certificado TLS [5]. Por lo tanto, la ruta de reenvío de datos sigue
respuesta fue del dialecto del servidor como - correcto, que siendo válida, lo que no crea ninguna incertidumbre para Alice.
en realidad estaba esperando de, entonces la comunicación Así, Mallory puede comunicarse con Alice y permanecer en el
será exitosa. Cualquier desviación de este proceso resulta en la enlace de comunicación el mayor tiempo posible entregando el
terminación de toda la sesión. tráfico con normalidad. En
14
caso, el adversario - Mallory debe crear un modelo sombra
para el
Módulo DDM y PDs en convencer a Alice para completar el
apretón de manos. Sin embargo, argumentamos que adaptarse
a estos módulos supone una complejidad de tiempo y costes
para el atacante-Mallory. Para cada solicitud Ri , las
respuestas Resp cambian dinámicamente debido al módulo
DDM. En concreto, si Mallory envía un paquete que no
contiene las reglas de comunicación inducidas por los PD,
Alice abortará la transacción sin completar
VII. EVALUACIÓN
A. Personalización de FTP
Como protocolo objetivo para nuestra evaluación de prueba
16
'GET nombrearchivo' se envía al servidor, el proto- col convergencia de la propiedad de coste y las propiedades de
FTP por defecto tiene un handshake petición-respuesta. distribución uniforme. Se utilizaron 128 × 128 × 15 capas,
Después de aplicar Verify- Pro en FTP, los módulos PDs una tasa de aprendizaje de 0,00001 y 40 épocas para el cálculo.
comprenden varias transacciones de comunicación en pérdida de coste y 100 épocas para la pérdida de entropía, tamaño
ambos lados. El módulo DDM en ambos sistemas cliente- de lote 128 como
servidor se utiliza para elegir un dialecto 'di ' para cada las configuraciones del sistema. A partir de la ecuación 3,
solicitud única 'Ri '. La solicitud 'Ri ' (solicitud sin utilizamos un factor de compensación a para mostrar la
dialecto) se envía al servidor, y el cliente espera la flexibilidad y la capacidad del algoritmo del módulo DDM
para adaptarse a distintos requisitos. Por ejemplo,
respuesta del servidor para verificar la identidad del
consideremos dos dialectos 1 y 7 con marcos de tiempo de
servidor. En el lado del servidor, utilizando la solicitud
muestreo medio de 0,0707 segundos y 8,112 segundos
'Ri ' recibida del cliente, el servidor utiliza el módulo
DDM para determinar el número de dialecto 'di ' para respectivamente (§ XII-B).
enviar una respuesta dialectal 'resp' al cliente. A su vez,
el cliente utiliza el módulo SRV para validar la respuesta
enviada por el servidor, lo que da lugar a la verificación
de la identidad.
Para demostrar la eficacia de nuestra herramienta (véase
el Apéndice XI-A), Verify-Pro, creamos un servidor FTP
atacante (servidor A) que no incluye ningún dialecto de
protocolo ni módulo DDM. Una vez que los sistemas
cliente y servidor A están en el bucle de comunicación, se
envía la petición objetivo desde un cliente auténtico a un
servidor malicioso. El servidor malicioso puede empezar
a fabricar y enviar respuestas maliciosas al cliente
genuino. El servidor malicioso falla en la fase de
evolución del dialecto, ya que se realiza una autenticación
continua para cada solicitud de la sesión. Dado que el
patrón dialectal del protocolo cliente cambia
dinámicamente con cada petición, al servidor malicioso le
resulta difícil entender el patrón de evolución dialectal
generado por el módulo DDM. Creemos que este método
se ajusta incluso a los esquemas de cifrado TLS para
aumentar también la confidencialidad. Demostramos que
nuestro método ayuda a defender los protocolos de
comunicación de vectores de ataque como el desvío de la
petición de destino, el uso de proxies o software de
interceptación maliciosos y los ataques de confusión de
contexto .
Análisis del rendimiento de Verify-Pro en FTP
Índice de rendimiento FTP Verify-Pro (FTP)
Utilización CPU <1% 1%
Tiempo/seg. del sistema 43,871 seg. 44,106 seg.
Modelo DDM tiempo/seg N/A (No DDM) 0,0723 seg.
Modelo SRV tiempo/seg N/A (No SRV) 0,000525 seg
(sólo en cliente)
18
incurre cuando el cliente verifica la información de cada
campo, como el comando, el nombre del archivo, etc.
Llegamos a la conclusión de que los desarrollos
correspondientes no repercuten en la ralentización del
proceso ni facilitan a los atacantes la obtención de un
modelo sombra. Nuestro módulo PDs no incurre en
ninguna sobrecarga. Los dialectos se crean como hilos
de tal forma que sólo se activará una instancia 'Ci ' para
un dialecto dado 'Di ' & para la solicitud única 'Ri '. Para
evitar posibles sesgos estadísticos, ejecutamos el
experimento varias veces y calculamos la sobrecarga
media (véase la Tabla II). Precisamente, concluimos
que la adición de los módulos PD, DDM, SRV incurre
en una sobrecarga del 0,536% (del tiempo del sistema),
lo cual es trivial; a su vez, la adición de estos módulos
refuerza la autenticación continua.
Además, la sobrecarga del tiempo de ejecución para todos
los dialectos excepto el dialecto 7 es < 1% (de media), lo
que es insignificante. El motivo de aumentar el tiempo de
ejecución del dialecto 7 es utilizarlo para la restricción en
la selección de dialectos basada en la propiedad de coste
(para representar cómo se pueden seleccionar dialectos
con menos tiempo de ejecución).
en lugar de los dialectos que tienen una gran sobrecarga
en tiempo de ejecución). Teniendo en cuenta la
sobrecarga de almacenamiento del módulo DDM cuando
un servidor está conectado a varios clientes, el despliegue
de varios modelos de redes neuronales ocupa grandes
cantidades de espacio en disco. Para contrarrestar este
problema, los usuarios avanzados pueden utilizar la poda
de redes neuronales [33], [34] para comprimir la red
neuronal profunda y producir la misma funcionalidad.
19
(a) a = 1 para (b) a = 0,8 para (c) a = 0,4 para (d) a = 0 para
pérdida l2 a = 0 pérdida l2 a = 0,2 pérdida l2 a = 0,6 pérdida l2 a = 1
para pérdida l1 para pérdida l1 para pérdida l1 para pérdida l1
Figura 5: Variaciones de los gráficos teniendo en cuenta el factor de compensación a. A medida que disminuye el factor de
compensación, la distribución empieza a repartirse entre más dialectos. Este gráfico muestra el número de dialectos en
el eje x y las solicitudes de muestra en el eje y.
21
Nombre dialectal Mutaciones realizadas escalable. Dadas sus ventajas en materia de seguridad, creemos
Mutación del mensaje de respuesta El mensaje de respuesta (archivo que Verify-Pro puede funcionar como una sólida capa de
HTML
en la Fig.7) se envía en 5 paquetes
protección adicional junto con los mecanismos de autenticación
desde el servidor existentes.
Cambio de campo Para una solicitud dadai′R′ , la re-
sponse se envía en dos paquetes con VIII. TRABAJOS RELACIONADOS
paquete 1- dos mensajes (ficheros
HTML) & paquete 2- sin cuerpo de
En esta sección, primero discutimos los esfuerzos existentes en
respuesta el análisis for- mal del método de huellas dactilares para identificar
bots y otros protocolos y luego comparamos nuestro enfoque con
Tabla V: Dialectos del protocolo HTTP.
los anteriores.
25
A. Descripción del conjunto de datos para los módulos
DDM y SRV
1) Descripción del conjunto de datos para DDM:
Utilizamos el corpus de palabras en lenguaje
natural (https://norvig.com/ngrams/) para crear un
conjunto de datos personalizado. Nuestra red
neuronal requiere que la entrada sea la "petición"
del protocolo de comunicación. Construimos un
nuevo conjunto de entrenamiento candidato
utilizando una lista de palabras del mundo real del
corpus NLP. Por ejemplo
un protocolo FTP. Nuestro conjunto de datos debe
tener un formato "get filename", añadimos un
comando - get y la extensión del archivo a las
palabras. Utilizamos este conjunto de datos
personalizado como principal conjunto de datos de
entrenamiento y evaluación. Esto nos permite
examinar las propiedades de generalización del
modelo para nuevos ejemplos no vistos. El
conjunto de datos sólo incluye la lista de peticiones
(p. ej., "obtener nombre de archivo"), ya que el
modelo se construye de forma no supervisada y
contiene un gran conjunto de 150.000 peticiones
de muestra sin etiquetar. En este trabajo, tendemos
a diseñar una red neuronal personalizada sin
ground truth. Basándonos en las propiedades que
utilizamos en las funciones de pérdida
(uniformidad, coste como criterio para la selección
de dialecto y pérdida consolidada), el modelo
tendrá que predecir los números de dialecto para
cada solicitud.
2) Descripción del conjunto de datos para SRV:
Nuestro objetivo es entrenar un clasificador
utilizando este tipo de datos y construir
eficazmente un árbol de decisión que clasifique las
muestras. Sólo necesitamos el patrón y el tipo de
datos de cada campo de la respuesta, y utilizamos
un script de python para generar el conjunto de
datos con 150.000 muestras. Creamos un conjunto
de datos estándar utilizando un script de python
(de 150 líneas de código) para generar cadenas y
enteros aleatorios en paquetes y campos concretos.
Cada dato tiene 31 características, y el número
total de etiquetas es de 15. En el mecanismo de
verificación SRV, el cliente sólo comprueba el
patrón (estructura de la respuesta) enviado por el
servidor (creamos respuestas diferentes para cada
dialecto del protocolo FTP para evitar el
solapamiento de dialectos).
26
XI. CONVERSACIONES FTP ORIGINAL Y FTP MODIFICADO XII. DETALLES COMPLETOS
Por defecto:
Cliente: get hello. txtd Descargar hello.txt del
almacenamiento en disco del servidor
Servidor: 226 Transferencia completada d Archivo
transferido
28
Comparación de las contramedidas existentes con Verify-
Pro
Contramedidas Dificultad Coste Au- continuo Características Compatibilidad con mul- Automatizaci
thentication protocolos individuales ón
Detección de spam [45], [46] Medio Medio × Características del nivel de No (sólo para SMTP) Sí
transporte
SNARE[39] Alta Alta × Funciones de red No Sí
GTID[47] Alta Alta × Flujos a nivel IP Sí Sí
Botlab[48] Medio Medio × Nivel de red No Sí
Verificar-Pro[este documento] Medio Bajo Funciones de la capa de Sí Sí
aplicación
29