ES2882125T3 - Sistema y procedimiento para identificar ataques en Internet - Google Patents

Sistema y procedimiento para identificar ataques en Internet Download PDF

Info

Publication number
ES2882125T3
ES2882125T3 ES15795226T ES15795226T ES2882125T3 ES 2882125 T3 ES2882125 T3 ES 2882125T3 ES 15795226 T ES15795226 T ES 15795226T ES 15795226 T ES15795226 T ES 15795226T ES 2882125 T3 ES2882125 T3 ES 2882125T3
Authority
ES
Spain
Prior art keywords
code
dom
traffic
rendered
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES15795226T
Other languages
English (en)
Inventor
Nicolò Pastore
Carmine Giangregorio
Paolo Rimmaudo
Matteo Paolo Bogana
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cleafy SpA
Original Assignee
Cleafy SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cleafy SpA filed Critical Cleafy SpA
Priority claimed from PCT/IB2015/058307 external-priority patent/WO2016075577A1/en
Application granted granted Critical
Publication of ES2882125T3 publication Critical patent/ES2882125T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/032Protect output to user by software means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

Un sistema (1) para identificar ataques Man-in-the-Browser y/o Man-in-the-Middle en Internet, que comprende: - un inspector de tráfico (2) en comunicación de señales con al menos un ordenador cliente (3) que tiene un navegador web (4) que reside en el mismo para navegar por Internet, y con un servidor web (5) que tiene una aplicación web (6) que reside en el mismo, - estando configurado dicho inspector de tráfico (2) para recibir al menos una solicitud asociada a dicha aplicación web (6) desde dicho navegador web (4) usando el protocolo HTTP o HTTPS, y para enviar dicha solicitud a dicho navegador web (5) usando el protocolo HTTP o HTTPS cuando lo solicite un usuario de dicho ordenador cliente (3) por medio de dicho navegador web (4), - estando configurado dicho inspector de tráfico (2) para recibir un código de servidor DOM relacionado con solicitud desde dicho servidor web (5) usando el protocolo HTTP o HTTPS, caracterizado por que comprende: - un analizador de tráfico (7) que tiene una aplicación de algoritmo (8) que reside en el mismo, siendo dicho analizador de tráfico (7) distinto del inspector de tráfico (2) y estando en comunicación de señales con dicho inspector de tráfico (2), - siendo dicho analizador de tráfico (7) externo a la al menos una solicitud HTTP/HTTPS recibida y enviada por el inspector de tráfico (2) de modo que dicho analizador de tráfico (7) está configurado para actuar de forma independiente a la al menos una solicitud HTTP/HTTPS, - estando configurado dicho inspector de tráfico (2) para añadir una porción de código de agente a dicho código de servidor DOM para generar así un código de cliente DOM y enviar dicho código de cliente DOM a dicho navegador web (4), y por que - dicho inspector de tráfico (2) está configurado para recibir un código renderizado DOM asociado a dicho código de cliente DOM desde dicho navegador web (4), - dicho inspector de tráfico (2) está configurado para enviar al menos dicho código de cliente DOM y dicho código renderizado DOM a dicho analizador de tráfico (7), - dicha aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7) está configurada para procesar dicho código renderizado DOM y compararlo con dicho código de cliente DOM para identificar al menos una diferencia de código, y está configurada para procesar dicho código renderizado DOM para compararlo con dicho código de cliente DOM usando una función de comparación para generar al menos una señal de identificación de ataque Man-in-the-Browser y/o Man-in-the-Middle cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM.

Description

DESCRIPCIÓN
Sistema y procedimiento para identificar ataques en Internet
CAMPO DE LA INVENCIÓN
La presente divulgación se refiere a un sistema y un procedimiento para detectar y contrarrestar ataques en Internet.
En particular, la presente divulgación se refiere a un sistema y un procedimiento para detectar y contrarrestar los ataques Man-in-the-Browser (hombre en el navegador) y/o Man-in-the-Middle (intermediario). En otras palabras, la presente invención permite la supervisión y protección de una aplicación web (o un servidor web) contra ataques dirigidos al navegador web de un cliente.
Análisis de la técnica relacionada
Se sabe que el software antivirus se utiliza en la técnica para contrarrestar ataques de seguridad informática, incluidos los ataques Man-in-the-Browser y/o Man-in-the-Middle. Man-in-the-Browser es un tipo de ataque que consiste en la manipulación directa del navegador web para cambiar los contenidos que normalmente se muestran al usuario cuando visita un sitio web. Los ataques Man-in-the-Browser se llevan a cabo utilizando software malicioso instalado en el ordenador sin el conocimiento del usuario. Dicho software malicioso (por ejemplo, un troyano tipo proxy) interactúa con la memoria de los procesos del navegador web para redirigir el flujo normal de llamadas al sistema (usado por el navegador web) a determinadas funciones de software malicioso, que tienen el propósito, por ejemplo, de introducir código HTML adicional en la página web descargada. Cabe destacar que, en el caso del ataque Man-in-the-Browser, se establece una conexión con el servidor web original del sitio que ha sido atacado, lo que dificulta la detección del ataque. Por lo tanto, el navegador web y la aplicación web no pueden identificar el contenido que ha agregado el software malicioso al contenido que ha descargado realmente el navegador web. Se han reconocido varios ataques Man-in-the-Browser, incluido el robo de datos de tarjetas de crédito de sitios de banca electrónica y comercio electrónico y transacciones fraudulentas que a menudo se inician automáticamente sin interacción con el usuario. En los documentos US2009/327411 y US2012/291129 se divulga otra técnica anterior sobre cómo mitigar los ataques Man-in-the-Browser y/o Man-in-the-Middle.
Más en detalle, cuando un usuario solicita una página web (es decir, una aplicación web) a través de un navegador web, el servidor web que aloja la página web envía un código fuente HTML (un modelo de objetos de documento, DOM) al navegador web. El código DOM se transfiere al motor de renderización del navegador web para mostrarlo al usuario. Por ejemplo, en un PC infectado con software malicioso, el código DOM recibido por el navegador web desde el servidor web es cambiado por el software malicioso antes de que sea procesado por el motor de renderización del navegador web. Para ello, el software malicioso introduce un código adicional (por ejemplo, una secuencia de comandos) en el código DOM que ha recibido desde el servidor web para cambiar el contenido que se muestra al usuario. Los cambios realizados por el software malicioso en el código DOM descargado desde el servidor web son cambios en los códigos HTML y/o javascript y/o en cualquier otro contenido o recurso web. Como se mencionó anteriormente, el navegador web está conectado al servidor web original, con cambios que pueden incluir alteraciones gráficas y/o de comportamiento. Por lo tanto, se muestra al usuario una página Web modificada, que reproduce la página Web solicitada originalmente por el cliente. El cliente permite involuntariamente el acceso a sus propios datos personales o autoriza transacciones fraudulentas en su propia cuenta.
Por ejemplo, en el campo de la banca, un ordenador infectado con software malicioso típicamente inicia sesión en el sitio de banca en línea usando un protocolo HTTPS y descarga los datos de la página web. Sin embargo, el software malicioso altera estos datos en tiempo real, añadiendo secuencias de comandos de manipulación de transacciones y realizando, por ejemplo, transferencias automáticas de dinero. La secuencia de comandos también puede redirigir las transferencias de dinero que el usuario realmente ordenó a otros destinatario, o de manera más sencilla, solicitar datos de tarjetas de crédito y/o añadir campos adicionales para que el usuario los complete con datos adicionales.
Problema de la técnica anterior
Un software antivirus, instalado en los PC o en dispositivos de usuario cliente (por ejemplo, teléfonos inteligentes, tabletas, etc.) es poco eficaz contra este tipo de amenaza a la seguridad informática. El software antivirus solo puede identificar parte de los ataques Man-in-the-Browser que se producen a través de Internet. También se conocen navegadores web que cumplen con estrictas normas de seguridad o tienen software de seguridad de Internet. Sin embargo, ninguna de las soluciones de la técnica anterior puede contrarrestar eficazmente el ataque Man-in-the-Browser.
SUMARIO DE LA INVENCIÓN
Es un objetivo de la presente invención proporcionar un sistema para evitar ataques en Internet.
Otro objetivo de la presente invención es proporcionar un procedimiento que emplee dicho sistema para evitar ataques Man-in-the-Browser.
Otro objetivo de esta invención es proporcionar un sistema para detectar los cambios realizados por un software malicioso en los códigos HTML y/o javascript del DOM de la página web y/o recurso web que ha descargado un usuario y certificar que los contenidos y/o el DOM del recurso web y/o página transmitidos a un cliente determinado son en realidad lo que se muestra o utiliza.
Otro objetivo más de la presente invención es proporcionar un procedimiento para evitar ataques en Internet. Ventajas de la invención
Un modo de realización proporciona un sistema que se interpone en solicitudes HTTP y/o HTTPS realizadas por un usuario entre el navegador web y la aplicación web que se está supervisando.
Un modo de realización adicional proporciona un sistema y un procedimiento que emplea dicho sistema para identificar cualquier alteración del código DOM que se haya descargado realmente desde la aplicación web. Esto permitirá la identificación de un ataque Man-in-the-Browser, para garantizar que la página web solicitada se muestre correctamente al usuario.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Las características y ventajas de la presente divulgación se desprenderán de la siguiente descripción detallada de un posible modo de realización práctico, ilustrado como ejemplo no limitativo en el conjunto de dibujos, en los que: - la figura 1 muestra un modo de realización de un sistema para identificar y evitar ataques en Internet, de acuerdo con la presente divulgación;
- la figura 2 muestra un modo de realización adicional de un sistema para evitar ataques en Internet, de acuerdo con la presente divulgación;
- la figura 3 muestra un diagrama de flujo del procedimiento para evitar ataques en Internet, de acuerdo con la presente divulgación;
- la figura 4 muestra un diagrama de flujo de una etapa particular del procedimiento para evitar ataques en Internet, de acuerdo con la presente divulgación;
- la figura 5 muestra un diagrama de flujo de una subetapa particular del procedimiento para evitar ataques en Internet, con referencia a la figura 4.
DESCRIPCIÓN DETALLADA
Incluso cuando esto no se indique expresamente, las características individuales descritas con referencia a los modos de realización particulares se entenderán como auxiliares y/o intercambiables con otras características descritas con referencia a otros modos de realización ejemplares.
La presente invención se refiere a un sistema 1 para identificar ataques en Internet, en particular ataques Man-in-the-Browser.
Con referencia a las figuras 1 y 2, el sistema 1 comprende un inspector de tráfico 2 en comunicación de señales con al menos un ordenador cliente 3 que tiene un navegador web 4 que reside en el mismo para navegar por Internet.
El inspector de tráfico 2 está en comunicación de señales con un servidor web 5 que tiene una aplicación web 6 que reside en el mismo.
En un aspecto, un usuario puede usar el navegador web 4 en el ordenador cliente 3 para solicitar una aplicación web 6 (por ejemplo, una página web) que reside en un servidor web 5. En otras palabras, un usuario (o cliente) usa el navegador web 4 instalado en el ordenador cliente 3 para acceder a una página web. Obviamente, durante el uso, el ordenador cliente 3 se conectará a una red de Internet a través de un equipo telefónico alámbrico o móvil o cualquier otro procedimiento de comunicación conocido.
El inspector de tráfico 2 está configurado para recibir al menos una solicitud asociada a la aplicación web 6 desde el navegador web 4 y para enviar dicha solicitud al servidor web 5.
El inspector de tráfico 2 está configurado para recibir un código de servidor DOM relacionado con una solicitud desde el servidor web 5. Es decir, la solicitud es generada por el navegador web 4 cuando el usuario usa el navegador web 4 para solicitar un URL (localizador uniforme de recurso) que identifica de manera única la dirección de un recurso de Internet (es decir, la aplicación web 6) que reside en el servidor web 5.
Preferentemente, el inspector de tráfico 2 está configurado para recibir al menos la solicitud asociada a la aplicación web 6 desde el navegador web 4 usando el protocolo HTTP o HTTPS y para enviar dicha solicitud al servidor web 5.
De acuerdo con un modo de realización preferente, el inspector de tráfico 2 está diseñado para instalarse como un componente de software en la aplicación web 6 y/o como un módulo de software tipo cortafuegos y/o equilibrador de carga y/o aparato de red y/o un dispositivo de hardware y/o un módulo de software en el servidor web 5 que aloja la aplicación web 6.
Preferentemente, el inspector de tráfico 2 se instala en la misma red que la aplicación web 6 (por ejemplo, en las instalaciones) o se proporciona como un servicio externo (por ejemplo, SaaS o Cloud).
El sistema 1 comprende un analizador de tráfico 7 con una aplicación de algoritmo 8 que reside en el mismo. Dicho analizador de tráfico 7 está en comunicación de señales con el inspector de tráfico 2.
De acuerdo con una disposición preferente, el inspector de tráfico 2 y/o el analizador de tráfico son componentes de software. Más preferentemente, el inspector de tráfico y/o el analizador de tráfico son componentes de un servidor dedicado.
Preferentemente, el inspector de tráfico 2 y el analizador de tráfico 7 se comunican enviando tareas, y estas tareas pueden transmitirse a través de uno o más protocolos de comunicación conocidos, tales como TCP, UDP, HTTP(S) e IMAP.
De forma ventajosa, el analizador de tráfico es externo al flujo de datos de las solicitudes HTTP/HTTPS y puede actuar de forma independiente a dicho flujo de datos.
El inspector de tráfico 2 está configurado para añadir una porción de código de agente al código de servidor DOM, para generar así un código de cliente DOM. Además, inspector de tráfico 2 está configurado para enviar el código de cliente DOM al navegador web 4.
En referencia a lo anterior, el código de servidor DOM (por ejemplo, el código HTML) es recibido y procesado por el motor de renderización del navegador web 4 de modo que el contenido de la aplicación web 6 pueda mostrarse al usuario como hipertexto (por ejemplo, una página web).
Además, el inspector de tráfico 2 está configurado para recibir un código renderizado DOM asociado al código de cliente DOM desde el navegador web 4.
En otras palabras, el código renderizado DOM es el resultado del procesamiento del código de cliente DOM por parte del motor de renderización del navegador web 4.
Por lo tanto, el código de cliente DOM es el código que puede ser potencialmente alterado por software malicioso para ataques Man-in-the-Browser o Man-in-the-Middle. Como se mencionó anteriormente, el software malicioso manipula las funciones internas del navegador (lo que también se conoce como hooking) al cambiar el código de cliente DOM antes de que se transfiera al motor de renderización del navegador web 4. Por lo tanto, si se modifica el código de cliente DOM, también se modifica el código renderizado DOM.
De acuerdo con una disposición preferente, el código de servidor DOM es un código HTML y/o un código javascript asociado a la solicitud.
Preferentemente, la porción de código de agente es un código HTML y/o un código javascript.
Cabe destacar que el código de cliente DOM comprende al menos el código de servidor DOM y la porción de código de agente.
De acuerdo con un modo de realización preferente, la porción de código de agente es un código predeterminado, que está configurado preferentemente para proporcionar al menos una instrucción al navegador web para enviar el código renderizado DOM al inspector de tráfico 2.
El inspector de tráfico 2 está configurado para enviar al menos el código de cliente DOM y el código renderizado DOM al analizador de tráfico 7.
La aplicación de algoritmo 8 en el analizador de tráfico 7 está configurada para procesar el código renderizado DOM y compararlo con el código de cliente DOM para identificar al menos una diferencia de código. Preferentemente, la aplicación de algoritmo 8 está configurada para generar una señal indicativa de ataque (por ejemplo, alerta MitB), cuando identifica al menos una diferencia de código que puede estar relacionada con un ataque de Internet, tal como un ataque Man-in-the-Browser (MitB).
De acuerdo con una disposición preferente, la aplicación de algoritmo 8 procesa el código renderizado DOM para proporcionar una estimación del código de cliente DOM esperado. Más en detalle, la aplicación de algoritmo 8 está configurada para proporcionar una estimación del código de cliente DOM esperado que ha sido procesado por el motor de renderización del navegador web 4 para generar el código renderizado DOM. El código de cliente DOM esperado se compara con el código de cliente DOM original (es decir, el que recibió originalmente el ordenador cliente 3) para identificar la compatibilidad entre los dos códigos. En otras palabras, los dos códigos de cliente DOM (el esperado/el original) son idénticos y coincidentes si no se ha realizado ningún cambio en el código de cliente DOM antes de la renderización, o similares y compatibles si las diferencias de código no son causadas por la presencia de software malicioso.
De acuerdo con la presente invención, los dos códigos de cliente DOM (el esperado/el original) serán incompatibles cuando la aplicación de algoritmo 8 identifica al menos una diferencia de código que puede estar relacionada con un ataque en Internet (tal como un ataque MitB).
Preferentemente, la aplicación de algoritmo 8 se implementa manualmente por un programador o por medio de un sistema de aprendizaje y, por lo tanto, es variable con el tiempo (polimorfismo). Más preferentemente, el sistema de aprendizaje mediante el cual se implementa la aplicación de algoritmo 8 se basa, por ejemplo, en el análisis estadístico del comportamiento particular del navegador web 4 (por ejemplo, suplantación de agente de usuario).
Como se usa en la presente invención, el término "aplicación de algoritmo" pretende designar un programa o una serie de programas que se están ejecutando en el analizador de tráfico 7 para permitir la comparación del código de cliente DOM con el código renderizado DOM para verificar la incompatibilidad entre los mismos. En particular, la aplicación de algoritmo 8 es un programa o una serie de programas que pueden procesar el código renderizado DOM para compararlo con el código de cliente DOM. Por ejemplo, el algoritmo usa una función predeterminada y configurada de forma apropiada para proporcionar una estimación del código de cliente DOM esperado (es decir, el código que potencialmente ha sido cambiado por el software malicioso) que ha sido recibido y procesado por el motor de renderización del navegador web 4. Esta función predeterminada cambia con el tiempo (polimorfismo) debido a un mecanismo de aprendizaje que tiene en cuenta el comportamiento del navegador web particular para el que se ha implementado. Esto significa que la función predeterminada es específica de cada navegador web 4, ya que cada navegador web 4 renderiza el código de cliente DOM en su manera específica. En otras palabras, la función predeterminada del algoritmo 8 realiza una "función inversa" del código renderizado DOM. Por lo tanto, una vez que ha recibido el código renderizado DOM, puede proporcionar una estimación del código de cliente DOM esperado que ha sido realmente procesado por el navegador web 4. Esto es posible porque la función predeterminada tiene en cuenta el comportamiento del navegador web 4. El código de cliente d Om esperado, estimado por la función predeterminada, se compara con el código de cliente DOM mediante una función de comparación, tal como plain-text diff (diferencia de texto sin formato), para generar un conjunto de códigos de fragmentos que contienen las diferencias detectadas entre el código de cliente DOM y el código de cliente DOM esperado. Dichos fragmentos son las partes de código que potencialmente han sido introducidas por el software malicioso.
Tal como se usa en el presente documento, el término "text diff' pretende ser una aplicación que puede comparar dos textos (por ejemplo, textos de código HTML) y extraer diferencias de los mismos.
En otras palabras, "text diff' es un programa (es decir, una función de comparación) que resalta las diferencias entre dos archivos mediante la comparación de texto sin formato entre sus dos códigos respectivos (por ejemplo, mediante superposición de texto, detección de palabras clave, revisión ortográfica).
De acuerdo con un modo de realización preferente, la aplicación de algoritmo 8 reside en el inspector de tráfico 2 y/o el ordenador cliente 3 y/o el servidor web 5. Preferentemente, la aplicación de algoritmo 8 se divide en subfunciones ejecutadas en una pluralidad de componentes de software. Preferentemente, dichas subfunciones se ejecutan en el inspector de tráfico 2 y/o el analizador de tráfico 7 y/o el ordenador cliente (por ejemplo, el navegador web 4) y/o el servidor web 5.
De acuerdo con un modo de realización preferente, antes de realizar una comparación "text diff' de los dos códigos DOM, el analizador de tráfico 7 o el inspector de tráfico 2 procesa el código de cliente DOM y el código renderizado DOM para estandarizar los dos códigos y permitir la comparación entre los mismos.
Este proceso incluye, por ejemplo, la eliminación de los espacios en blanco y de los retornos de carro, y la gestión de la codificación de caracteres.
En aras de la brevedad, en lo sucesivo la referencia a la comparación entre el código de cliente DOM y el código renderizado DOM abarcará todas las etapas realizadas por la aplicación de algoritmo 8, tal como la aplicación de la función predeterminada, la comparación "text diff" y la estandarización del código DOM.
Como se mencionó anteriormente, la comparación (posiblemente mediante "text diff") entre el código de cliente DOM y los códigos renderizados DOM permite la extracción de diferencias de código, también conocidas como fragmentos.
Cada fragmento se identifica de forma única mediante su Hash MD5.
Además, cada fragmento está asociado a los metadatos básicos que formarán la agrupación para el análisis, tal como el agente de usuario (es decir, el tipo de navegador web 4 que usa el usuario). Esto es necesario porque cada agente de usuario (es decir, el navegador web 4) procesa el código de cliente DOM recibido antes, durante o después del procesamiento o proceso de renderización de una manera diferente.
Por ejemplo, algunos fragmentos identifican cambios menores (por ejemplo, eliminación de espacios en blanco, sangría de código, reordenación de parámetros en las etiquetas individuales) o cambios estructurales (por ejemplo, adición de etiquetas de cierre cuando no las hay, formateo de código cuando el código contiene errores en su formato HTML original).
Algunos otros fragmentos identifican cambios realizados por el navegador web 4, tales como las secuencias de comandos contenidas en el recurso web o la página web, o las secuencias de comandos generadas por el propio recurso o página, que modifican el código en el recurso o página web renderizados. Estos fragmentos también se conocen como fragmentos de aplicación.
Algunos fragmentos más, conocidos como fragmentos externos, pueden generarse, por ejemplo, mediante complementos de navegador, a saber, software malicioso que actúa mediante la técnica Man-in-the-Browser o se introducen mediante técnicas Man-in-the-Middle.
Como se mencionó anteriormente, el software malicioso manipula las funciones internas del navegador (lo que también se conoce como hooking) al cambiar el código de cliente DOM antes de que se transfiera al motor de renderización del navegador web 4.
Las diferencias extraídas (es decir, fragmentos) se analizan mediante la función de comparación y otras funciones de la aplicación de algoritmo 8.
Estas diferencias (o fragmentos) pueden ser de tipo inserción o eliminación.
Preferentemente, cada uno de estos fragmentos se evalúa con respecto a un valor de referencia (por ejemplo, un valor de referencia basado en estadísticas), que está organizado por agrupaciones específicas (por ejemplo, fragmentos clasificados por agente de usuario o por sistema operativo).
El analizador de tráfico 7 puede configurarse para enviar al menos la señal de identificación de ataque a un inspector de tráfico 2 y/o para guardar la información de señal y/o enviar la señal a un sistema externo.
De acuerdo con una disposición, el sistema 1 comprende un administrador de ordenador 9 en comunicación de señales con el inspector de tráfico 2 y el analizador de tráfico 7, y configurado para permitir que un usuario programe y supervise el funcionamiento del inspector de tráfico 2 y el analizador de tráfico 7.
Preferentemente, el inspector de tráfico 2 está configurado para recibir la señal de identificación de ataque y enviar al menos la señal de identificación de ataque al navegador web 4.
Preferentemente, el analizador de tráfico 7 está configurado para enviar la señal de identificación de ataque a un administrador de ordenador y/o un sistema externo.
De acuerdo con un modo de realización preferente, la aplicación de algoritmo 8 en el analizador de tráfico 7 está configurada para comparar al menos el código de cliente DOM y el código renderizado DOM procesado para generar al menos un código de identificación de ataque cuando el código de cliente DOM es incompatible con el código renderizado DOM.
De acuerdo con un modo de realización preferente, el administrador de ordenador 9 es un panel de control, a través del cual el usuario puede:
- supervisar el estado del sistema 1 y/o
- ver, inspeccionar y/o supervisar solicitudes y tráfico en tiempo real, y/o
- ver, inspeccionar y/o supervisar el historial de solicitudes y de tráfico, y/o
- supervisar, configurar y gestionar señales de identificación de ataques (por ejemplo, alertas de seguridad) o señales de información, y/o
- mostrar, gestionar y/o realizar cambios en las configuraciones de sistema 1 y los componentes de sistema. De forma ventajosa, el sistema 1 proporciona una visión general completa de lo que sucede durante una sesión, porque analiza las solicitudes individuales.
De manera ventajosa, el sistema 1 de la presente invención permite una identificación y neutralización eficaz y segura de ataques Man-in-the-Browser y/o Man-in-the-Middle, lo que permite una supervisión completa de solicitudes de usuario.
La presente invención también se refiere a un procedimiento para identificar ataques Man-in-the-Browser y/o Man-in-the-Middle en Internet usando el sistema 1 de la presente invención, que comprende las etapas de: - generar una solicitud para una aplicación web 6 o un recurso web por medio de un navegador web 4 usando un URI o URL,
- enviar la solicitud a un servidor web 5 usando un inspector de tráfico 2,
- recibir el código de servidor DOM que ha sido generado automáticamente por el servidor web 5 de acuerdo con la solicitud, mediante el inspector de tráfico 2 ,
- añadir una porción de código de agente al código de servidor DOM, mediante el inspector de tráfico 2, para generar así un código de cliente DOM y enviar el código de cliente DOM al navegador web 4,
- recibir y procesar el código de cliente DOM mediante el navegador web 4 para generar automáticamente un código renderizado DOM y enviar el código renderizado DOM al inspector de tráfico 2,
- recibir el código renderizado DOM mediante el inspector de tráfico 2 y enviar automáticamente el código de cliente DOM y el código renderizado DOM a un analizador de tráfico 7,
- recibir, procesar y comparar al menos el código de cliente DOM y el código renderizado DOM, mediante una aplicación de algoritmo 8 que reside en el analizador de tráfico 7, para generar al menos una señal de identificación de ataque cuando el código de cliente DOM es incompatible con el código renderizado DOM.
De acuerdo con el modo de realización preferente, la etapa de enviar la solicitud comprende la etapa de:
- enviar la solicitud mediante un protocolo HTTP o HTTPS,
- siendo la porción de código de agente un código HTML y/o javascript, u otro tipo de código y/o lenguaje que puede ser interpretado por un navegador web,
- comprendiendo el código de cliente DOM al menos el código de servidor DOM y la porción de código predeterminada.
De acuerdo con un modo de realización preferente, la etapa de recibir y procesar el código de cliente DOM para la generación automática del código DOM renderizado comprende las etapas de:
- recibir el código de cliente DOM mediante el navegador web 4,
- procesar el código de servidor DOM contenido en el código de cliente DOM mediante el navegador web 4 para generar automáticamente un código renderizado DOM,
- procesar la porción de código de agente contenida en el código de cliente DOM mediante el navegador web 4 para enviar el código renderizado DOM al inspector de tráfico 2.
De acuerdo con un modo de realización preferente, la etapa de recibir y comparar al menos el código de cliente DOM y el código renderizado DOM, mediante la aplicación de algoritmo 8 que reside en el analizador de tráfico 7, para generar al menos una señal de identificación de ataque cuando el código de cliente DOM es incompatible con el código renderizado DOM comprende la etapa de:
- enviar la señal de identificación de ataque al inspector de tráfico 2 y/o al navegador web 4 y/o al administrador de ordenador 9 y/o una unidad externa.
De acuerdo con un modo de realización preferente, la etapa de recibir y comparar al menos el código de cliente DOM y el código renderizado DOM, mediante la aplicación de algoritmo 8 que reside en el analizador de tráfico 7, para generar al menos una señal de identificación de ataque cuando el código de cliente DOM es incompatible con el código renderizado DOM comprende la etapa de:
- recibir y comparar al menos el código de cliente DOM y el código renderizado de DOM, mediante la aplicación de algoritmo 8 que reside en el analizador de tráfico 7, ejecutando una función de comparación para generar al menos una señal de identificación de ataque cuando el código de cliente DOM es incompatible con el código renderizado DOM.
A continuación se describe un ejemplo de aplicación del procedimiento de la presente invención.
Ejemplo de aplicación del procedimiento - figura 3
El procedimiento incluye las siguientes etapas:
- El usuario solicita un recurso o página del sitio web o aplicación de interés, desde el ordenador cliente 3 (bloque 301), usando un URI o URL (ID de recurso). El navegador web 4 genera una solicitud HTTP o HTTPS para la transmisión directa a un inspector de tráfico 2 instalado en el mismo sitio que la aplicación web 6 o disponible en un entorno en la nube.
- El inspector de tráfico 2 actúa como un sistema proxy inverso, lee el nombre de equipo anfitrión (hostname) y comprueba el nombre de equipo anfitrión, la dirección, el URL o el URI originales de la ubicación de la aplicación web 6 que se está supervisando y protegiendo en relación con sus claves de configuración. El inspector de tráfico 2 envía la solicitud HTTP o HTTPS al servidor web 5 y obtiene el código de servidor DOM (incluidas cookies, cabeceras y otra información) de la página solicitada (bloque 302).
- El inspector de tráfico 2 genera aleatoriamente un UID (es decir, un código de usuario) (bloque 303). Si el usuario ya ha realizado solicitudes, el inspector de tráfico 2 lee el UID que ha sido enviado por el ordenador cliente 3, por ejemplo a través de una cookie contenida y registrada previamente en el navegador web 4 del bloque de usuario 303a), o genera y envía uno nuevo (bloque 303b).
- El inspector de tráfico 2 asigna aleatoriamente un HID único (es decir, un código de solicitud) a cada solicitud HTTP o HTTPS individual (bloque 304).
- El inspector de tráfico 2 carga (bloque 305) y añade (bloque 306) una porción de código de agente (por ejemplo, una secuencia de comandos) en el servidor DOM de la página solicitada. La secuencia de comandos mencionada anteriormente puede ser un código HTML y/o Javascript que proporciona una serie de funciones y una serie de banderas. Como se usa en el presente documento, el término "bandera" pretende designar una variable (por ejemplo, una variable booleana) que puede asumir cualquiera de dos estados (por ejemplo, "verdadero" o "falso", "activo" o "inactivo", " 1" o "0") e indica mediante su valor si un evento dado se ha producido realmente o si el sistema está en un determinado estado o no. Las banderas se usan en un código para que determinadas operaciones se lleven a cabo automáticamente solo cuando se alcanza un estado determinado o se ha producido un evento determinado. La secuencia de comandos o código de agente puede diferenciarse de acuerdo con el UID o la IP desde la que se realizó la solicitud o de acuerdo con cualquier otra variable que se pueda establecer en el sistema 1, de modo que se puedan añadir secuencias de comandos personalizadas para usuarios individuales de grupos de usuarios.
- El inspector de tráfico 2 envía el cliente DOM, compuesto por el servidor DOM y el código de agente o secuencia de comandos, al navegador web 4 (bloque 307).
- El navegador web 4 del usuario recibe el cliente DOM, renderiza la página e inicia automáticamente la operación de la secuencia de comandos o código de agente (bloque 308).
- Una vez que el navegador web 4 ha completado el proceso de renderización o ha ejecutado la secuencia de comandos o el código de agente, envía datos al inspector de tráfico 2 por medio de una ruta dedicada, que puede ser fija (por ejemplo, http(s)://webapplication/check) o variable (por ejemplo, http(s)://webapplication/fj1c3f4), siendo dichos datos, por ejemplo:
a. Banderas para comprobar el comportamiento de renderización e identificar, por ejemplo, un BOT o un evento de inhabilitación de javascript (bloque 309);
b. el código renderizado DOM (bloque 310);
- El inspector de tráfico 2 recibe dichos datos por medio de la ruta dedicada fija o variable y los empaqueta de forma asíncrona (bloque 311) y los envía (bloque 312) al analizador de tráfico, por ejemplo creando una tarea. La tarea comprende, por ejemplo, los siguientes datos:
a. Metadatos (por ejemplo, IP, agente de usuario, fecha/hora de solicitud, longitud de contenido, emisor, equipo anfitrión, UID, HID);
b. cliente DOM;
c. DOM renderizado.
- El analizador de tráfico 7 adquiere los datos e inicia un análisis basándose en la aplicación de algoritmo 8 (bloque 313).
- La aplicación de algoritmo 8 procesa el código renderizado DOM y reconstruye una estimación del código de cliente DOM esperado. Además, hace una comparación entre el código de cliente DOM y el código de cliente DOM esperado, extrae las diferencias (aditivas o sustractivas) y las clasifica de forma independiente (bloque 314). Cada una de estas diferencias se conoce como fragmento (bloque 315).
- La aplicación de algoritmo 8 procesa las diferencias para evaluar el nivel de riesgo de los fragmentos identificados (bloque 316). Determinados fragmentos son generados por el navegador de usuario y se denominan fragmentos de comportamiento de navegador (por ejemplo, ordenación de parámetros, adición de etiquetas no cerradas), otros fragmentos son fragmentos externos añadidos por un complemento o por software malicioso (por ejemplo, Zeus), otros son fragmentos de aplicación, que son generados y añadidos por la aplicación web.
- Una vez que analizador de tráfico 7 ha completado su análisis, asigna un nivel de riesgo a la solicitud HTTP o HTTPS y, posiblemente, toma contramedidas, tales como alertas, advertencias o bloqueo de tráfico (bloque 317). - Todos los datos se almacenan y están disponibles para el gestor de la aplicación web 6 por medio del administrador de ordenador 9 (bloque 318).
A continuación se describe un ejemplo de aplicación de las etapas llevadas a cabo por la aplicación de algoritmo 8 de la presente invención.
El algoritmo de aplicación 8, que también hace referencia a la figura 4, tiene una operación matemática basada en estadísticas, que incluye las siguientes etapas:
- Crear la clave de agrupación para la solicitud (bloque 401). La clave se crea, por ejemplo, aplicando una función hash (por ejemplo, hash md5) a variables de entorno específicas de agrupación (por ejemplo, navegador, versión de navegador, sistema operativo (OS), versión del sistema operativo, país). Un ejemplo es el siguiente: clave_agrupación = md5(navegador versión OS país)
- Crear la clave de ruta para la solicitud (bloque 402). La clave se crea, por ejemplo, aplicando una función hash (por ejemplo, hash md5) al URL de la solicitud HTTP o HTTPS. Un ejemplo es el siguiente:
clave_ruta = md5(solicitud_ruta)
- Unir la clave de agrupación y la clave de ruta para la solicitud, definiendo así la clave de solicitud (bloque 403). Ejemplo:
clave_solicitud = clave_agrupación clave_ruta
- Incrementar el valor de clave_solicitud (bloque 404). Ejemplo:
incrementar(clave_solicitud, 1 )
- Normalizar el código de cliente DOM (bloque 405) y el código renderizado DOM (bloque 406). Ejemplo: renderizado_dom_normalizado = normalizar (renderizado_dom)
cliente_dom_normalizado = normalizar(cliente_dom)
- Ejecutar la función de comparación para comparar el código renderizado DOM normalizado y el código de cliente d Om normalizado (bloque 407) para obtener la lista de fragmentos (bloque 408). Por ejemplo: conjunto_fragmentos = comparar (renderizado_dom_normalizado, cliente_dom_normalizado)
- Realizar, para cada elemento del conjunto_fragmentos, las siguientes etapas (bloque 409).
A este respecto y con referencia a la figura 5, hay una etapa en la que se crea una clave para el fragmento identificado (bloque 501). La clave se crea aplicando una función hash (por ejemplo, hash md5) a variables específicas de fragmento (por ejemplo, contenido, tipo [insertar, eliminar], tamaño). Un ejemplo es el siguiente:
a. clave_fragmento = md5(conjunto_fragmentos[N](tipo) conjunto_fragmentos[N](len) conjunto_fragmentos[N](contenido))
b. Unir la clave de fragmento y la clave de solicitud para obtener una clave de fragmento de estadística (bloque 502) clave_fragmento_estadística = clave_solicitud clave_fragmento
c. Incrementar el valor de clave_fragmento_estadística (bloque 503):
d. incrementar(clave_fragmento_estadística, 1 )
d. Comparar el valor de clave_solicitud con el valor de clave_fragmento_estadística para definir el nivel de riesgo del fragmento identificado (bloque 504). Por ejemplo, la comparación es la siguiente:
i. si extraer_valor_de(clave_fragmento_estadística) == extraer_valor_de(clave_solicitud) entonces nivel de riesgo bajo
Si se ha identificado un fragmento de comportamiento (bloque 505).
ii. si extraer_valor_de(clave_fragmento_estadística) < extraer_valor_de(clave_solicitud) entonces nivel de riesgo medio
Si se ha identificado un fragmento de aplicación o un fragmento externo (por ejemplo, un complemento de navegador) (bloque 506).
iii. si extraer_valor_de(clave_fragmento_estadística) « extraer_valor_de(clave_solicitud) entonces nivel de riesgo alto
Si se ha identificado un fragmento externo Man-in-the-Browser o Man-in-the-Middle de alto riesgo (bloque 507). En otras palabras, la característica peculiar de la aplicación de algoritmo 8 consiste en la comparación del número de apariciones de un fragmento dentro de la agrupación.
Si el número de apariciones está razonablemente cerca del valor de referencia, el fragmento es un fragmento de comportamiento relacionado con navegador y/o un fragmento generado por un complemento de uso masivo. En este caso, el algoritmo asigna un nivel de riesgo bajo o nulo.
Sin embargo, si el número de apariciones se aparta del valor de referencia, entonces hay una diferencia inesperada y no trivial.
Dependiendo de varios factores (por ejemplo, la longitud del código modificado, el tipo de código inyectado), la aplicación de algoritmo 8 asigna un nivel de riesgo de medio a muy alto.
De forma ventajosa, el sistema 1 proporciona una visión general completa de lo que sucede durante una sesión, porque analiza las solicitudes individuales.
Por ejemplo, el procedimiento implementado por el sistema 1 puede detectar:
- Si la solicitud proviene de un usuario humano o de un BOT;
- Si la solicitud tiene tiempos "razonables" o "no razonables";
- El agente de usuario y la IP de la que proviene la solicitud;
- El UID del que proviene la solicitud.
De forma ventajosa, el procedimiento de la presente invención permite un seguimiento completo del usuario (es decir, el usuario cliente) y un seguimiento de la sesión.
De acuerdo con un modo de realización preferente, el procedimiento comprende las etapas de:
- eliminar automáticamente fragmentos maliciosos, proporcionando comentarios en el navegador web 4 del usuario,
- obtener capturas de pantalla y análisis de comportamiento del usuario en la página,
- analizar la ruta de usuario en el sitio web a través de la línea de tiempo de solicitud,
- modificar el código de servidor DOM cambiando valores de atributo, valores de enlace, formularios, campos y/o funciones de un código HTML y/o Javascript,
- modificar el código de servidor DOM añadiendo, modificando y/o reorganizando su contenido.
De manera ventajosa, la presente invención permite una identificación y neutralización eficaz y segura de ataques Man-in-the-Browser y/o Man-in-the-Middle como se define en las reivindicaciones adjuntas, lo que permite una supervisión completa de solicitudes de usuario.
Los expertos en la técnica apreciarán obviamente que se puede realizar una serie de cambios y variantes como se describe anteriormente para cumplir requisitos particulares, sin apartarse del alcance de la invención definida en las siguientes reivindicaciones.

Claims (9)

REIVINDICACIONES
1. Un sistema (1) para identificar ataques Man-in-the-Browser y/o Man-in-the-Middle en Internet, que comprende: - un inspector de tráfico (2) en comunicación de señales con al menos un ordenador cliente (3) que tiene un navegador web (4) que reside en el mismo para navegar por Internet, y con un servidor web (5) que tiene una aplicación web (6) que reside en el mismo,
- estando configurado dicho inspector de tráfico (2 ) para recibir al menos una solicitud asociada a dicha aplicación web (6) desde dicho navegador web (4) usando el protocolo HTTP o HTTPS, y para enviar dicha solicitud a dicho navegador web (5) usando el protocolo HTTP o h Tt PS cuando lo solicite un usuario de dicho ordenador cliente (3) por medio de dicho navegador web (4),
- estando configurado dicho inspector de tráfico (2) para recibir un código de servidor DOM relacionado con solicitud desde dicho servidor web (5) usando el protocolo HTTP o HTTPS,
caracterizado por que comprende:
- un analizador de tráfico (7) que tiene una aplicación de algoritmo (8) que reside en el mismo, siendo dicho analizador de tráfico (7) distinto del inspector de tráfico (2) y estando en comunicación de señales con dicho inspector de tráfico (2 ),
- siendo dicho analizador de tráfico (7) externo a la al menos una solicitud HTTP/HTTPS recibida y enviada por el inspector de tráfico (2) de modo que dicho analizador de tráfico (7) está configurado para actuar de forma independiente a la al menos una solicitud HTTP/HTTPS,
- estando configurado dicho inspector de tráfico (2 ) para añadir una porción de código de agente a dicho código de servidor DOM para generar así un código de cliente DOM y enviar dicho código de cliente DOM a dicho navegador web (4),
y por que
- dicho inspector de tráfico (2) está configurado para recibir un código renderizado DOM asociado a dicho código de cliente DOM desde dicho navegador web (4),
- dicho inspector de tráfico (2) está configurado para enviar al menos dicho código de cliente DOM y dicho código renderizado DOM a dicho analizador de tráfico (7),
- dicha aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7) está configurada para procesar dicho código renderizado DOM y compararlo con dicho código de cliente DOM para identificar al menos una diferencia de código, y está configurada para procesar dicho código renderizado d Om para compararlo con dicho código de cliente DOM usando una función de comparación para generar al menos una señal de identificación de ataque Man-in-the-Browser y/o Man-in-the-Middle cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM.
2. Un sistema (1) como se reivindica en la reivindicación 1, en el que dicho código de servidor DOM es un código HTML y/o Javascript asociado a dicha solicitud, dicha porción de código de agente es un código HTML y/o Javascript, dicho código de cliente DOM comprende al menos dicho código de servidor DOM y dicha porción de código de agente.
3. Un sistema (1) como se reivindica en la reivindicación 1, en el que dicha porción de código de agente está configurada para indicar a dicho navegador web (4) que envíe dicho código renderizado DOM a dicho inspector de tráfico (2 ).
4. Un sistema (1) como se reivindica en la reivindicación 1, que comprende un administrador de ordenador (9) en comunicación de señales con dicho analizador de tráfico (7) y configurado para permitir que un usuario programe y supervise el funcionamiento de dicho analizador de tráfico (7).
5. Un sistema (1) como se reivindica en la reivindicación 1, en el que dicho analizador de tráfico (7) está configurado para generar una señal de identificación de ataque cuando dicha aplicación de algoritmo (8) identifica dicha al menos una diferencia de código, y para enviar dicha señal de identificación de ataque a dicho inspector de tráfico (2) y/o a dicho navegador web (4) y/o a dicho administrador de ordenador (9) y/o a una unidad externa, y/o para guardar dicha señal de identificación de ataque en una base de datos.
6. Un procedimiento para identificar ataques Man-in-the-Browser y/o Man-in-the-Middle en Internet usando un sistema (1 ) como se reivindica en las reivindicaciones precedentes, que comprende las etapas de:
- generar una solicitud (301) para una aplicación web (6) o un recurso web por medio de un navegador web (4) usando un URI o URL,
- enviar dicha solicitud (302) usando un protocolo HTTP o HTTPS a un servidor web (5) usando un inspector de tráfico (2 ), caracterizado por:
- recibir dicho código de servidor DOM mediante dicho inspector de tráfico (2), código que ha sido generado automáticamente por dicho servidor web (5) de acuerdo con dicha solicitud,
- añadir (306) una porción de código de agente a dicho código de servidor DOM, mediante dicho inspector de tráfico (2), para generar así un código de cliente DOM y enviar (307) dicho código de cliente DOM a dicho navegador web (4), siendo dicha porción de código de agente un código HTML y/o Javascript u otro tipo de código y/o lenguaje que pueda ser interpretado por un navegador web,
- recibir y procesar (308) dicho código de cliente DOM mediante dicho navegador web (4) para generar automáticamente un código renderizado DOM y enviar (310) dicho código renderizado DOM a dicho inspector de tráfico (2), comprendiendo dicho código de cliente DOM al menos dicho código de servidor DOM y la porción de código predeterminada,
- recibir (311) dicho código renderizado DOM mediante dicho inspector de tráfico (2) y enviar automáticamente (312) dicho código de cliente DOM y dicho código renderizado DOM a un analizador de tráfico (7) externo a la solicitud HTTP/HTTPS y distinto de dicho inspector de tráfico (2) y que está configurado para actuar de forma independiente a la solicitud HTTP/HTTPS,
- recibir (313), procesar y comparar (314, 315, 316) al menos dicho código de cliente DOM y dicho código renderizado DOM mediante una aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7), para generar (317) al menos una señal de identificación de ataque cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM.
7. Un procedimiento como se reivindica en la reivindicación 6, en el que dicha etapa de recibir y procesar (308) dicho código de cliente DOM para la generación automática de dicho código renderizado DOM comprende las etapas de:
- recibir dicho código de cliente DOM mediante dicho navegador web (4),
- procesar dicho código de servidor DOM contenido en dicho código de cliente DOM mediante dicho navegador web (4) para generar automáticamente dicho código renderizado DOM,
- procesar dicha porción de código de agente contenida en dicho código de cliente DOM mediante dicho navegador web (4) para enviar dicho código renderizado DOM a dicho inspector de tráfico (2).
8. Un procedimiento como se reivindica en la reivindicación 6, en el que dicha etapa de recibir (313) y comparar (314, 315, 316) al menos dicho código de cliente DOM y dicho código renderizado DOM, mediante dicha aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7), para generar al menos una señal de identificación de ataque cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM comprende la etapa de:
- enviar dicha señal de identificación de ataque a dicho inspector de tráfico (2) y/o dicho navegador web (4) y/o un administrador de ordenador (9) y/o una unidad externa.
9. Un procedimiento como se reivindica en la reivindicación 6, en el que dicha etapa de recibir (313) y comparar (314, 315, 316) al menos dicho código de cliente DOM y dicho código renderizado DOM, mediante dicha aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7), para generar al menos una señal de identificación de ataque cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM comprende la etapa de:
- recibir y comparar al menos dicho código de cliente DOM y dicho código renderizado DOM, mediante dicha aplicación de algoritmo (8) que reside en dicho analizador de tráfico (7) ejecutando una función de comparación para generar al menos una señal de identificación de ataque cuando dicho código de cliente DOM es incompatible con dicho código renderizado DOM.
ES15795226T 2014-11-13 2015-10-28 Sistema y procedimiento para identificar ataques en Internet Active ES2882125T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462079337P 2014-11-13 2014-11-13
EP14192969 2014-11-13
PCT/IB2015/058307 WO2016075577A1 (en) 2014-11-13 2015-10-28 System and method for identifying internet attacks

Publications (1)

Publication Number Publication Date
ES2882125T3 true ES2882125T3 (es) 2021-12-01

Family

ID=54476706

Family Applications (1)

Application Number Title Priority Date Filing Date
ES15795226T Active ES2882125T3 (es) 2014-11-13 2015-10-28 Sistema y procedimiento para identificar ataques en Internet

Country Status (4)

Country Link
US (2) US20170324772A1 (es)
EP (1) EP3219072B1 (es)
CN (1) CN107209831B (es)
ES (1) ES2882125T3 (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3195171B1 (en) * 2014-07-31 2019-11-06 Namogoo Technologies Ltd. Detecting and removing injected elements from content interfaces
US20170195293A1 (en) * 2015-12-31 2017-07-06 Check Point Software Technologies Ltd. System and method to detect and prevent phishing attacks
US9954894B2 (en) * 2016-03-04 2018-04-24 Microsoft Technology Licensing, Llc Webpage security
US10382266B1 (en) * 2016-03-16 2019-08-13 Equinix, Inc. Interconnection platform with event-driven notification for a cloud exchange
US10313418B2 (en) * 2016-06-20 2019-06-04 Ramp Holdings, Inc. Chunked HTTP video cache routing
US10275596B1 (en) * 2016-12-15 2019-04-30 Symantec Corporation Activating malicious actions within electronic documents
US10289836B1 (en) * 2018-05-18 2019-05-14 Securitymetrics, Inc. Webpage integrity monitoring
US11102237B2 (en) 2018-05-25 2021-08-24 Jpmorgan Chase Bank, N.A. Method and system for improved malware detection
CN109409080B (zh) * 2018-10-09 2021-03-19 北京北信源信息安全技术有限公司 一种浏览器https审计方法和装置
US10929878B2 (en) * 2018-10-19 2021-02-23 International Business Machines Corporation Targeted content identification and tracing
US11368477B2 (en) 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616008B (zh) * 2008-06-27 2012-07-04 国际商业机器公司 保护网络应用数据的方法和系统
US8225401B2 (en) * 2008-12-18 2012-07-17 Symantec Corporation Methods and systems for detecting man-in-the-browser attacks
US8752208B2 (en) * 2011-05-13 2014-06-10 Imperva Inc. Detecting web browser based attacks using browser digest compute tests launched from a remote source
US9584543B2 (en) * 2013-03-05 2017-02-28 White Ops, Inc. Method and system for web integrity validator
US9225737B2 (en) * 2013-03-15 2015-12-29 Shape Security, Inc. Detecting the introduction of alien content
US8869281B2 (en) * 2013-03-15 2014-10-21 Shape Security, Inc. Protecting against the introduction of alien content
CN103458037A (zh) * 2013-09-06 2013-12-18 南京南自信息技术有限公司 一种在资源受限环境下提供复杂网页应用的方法和设备
US9270647B2 (en) * 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US9075990B1 (en) * 2014-07-01 2015-07-07 Shape Security, Inc. Reliable selection of security countermeasures

Also Published As

Publication number Publication date
US11044268B2 (en) 2021-06-22
CN107209831B (zh) 2021-02-05
EP3219072B1 (en) 2021-06-09
CN107209831A (zh) 2017-09-26
US20160142428A1 (en) 2016-05-19
EP3219072A1 (en) 2017-09-20
US20170324772A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
ES2882125T3 (es) Sistema y procedimiento para identificar ataques en Internet
US10708287B2 (en) Analyzing client application behavior to detect anomalies and prevent access
CN107209830B (zh) 用于识别并抵抗网络攻击的方法
US10728274B2 (en) Method and system for injecting javascript into a web page
KR101672791B1 (ko) 모바일 웹 애플리케이션 환경에서의 취약점 탐지 방법 및 시스템
EP3021550A1 (en) System and method for identifying internet attacks
US11973780B2 (en) Deobfuscating and decloaking web-based malware with abstract execution
EP3547121B1 (en) Combining device, combining method and combining program
JP2015511338A (ja) サービスプロバイダによって提供されたipデータの信頼性を保証するための方法およびシステム
CN111163095B (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
Heiderich et al. Dompurify: Client-side protection against xss and markup injection
US20190222587A1 (en) System and method for detection of attacks in a computer network using deception elements
CN111163094B (zh) 网络攻击检测方法、网络攻击检测装置、电子设备和介质
Mitropoulos et al. How to train your browser: Preventing XSS attacks using contextual script fingerprints
US20180302437A1 (en) Methods of identifying and counteracting internet attacks
US20130074160A1 (en) Method of controlling information processing system, computer-readable recording medium storing program for controlling apparatus
Shalini et al. Prevention of cross-site scripting attacks (xss) on web applications in the client side
KR101688390B1 (ko) 웹 사이트의 악성코드 탐지 및 차단 시스템
US20160335232A1 (en) Remote script execution for secure and private browsing
KR20210076455A (ko) Xss 공격 검증 자동화 방법 및 그 장치
Nilsson Security in Behaviour Driven Authentication for Web Applications
JP6498413B2 (ja) 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム
Huttunen Browser cross-origin timing attacks
Räis et al. Hands-on laboratory on web content injection attacks