ES2818588T3 - Método y dispositivo para evitar que el servidor sea atacado - Google Patents

Método y dispositivo para evitar que el servidor sea atacado Download PDF

Info

Publication number
ES2818588T3
ES2818588T3 ES17805550T ES17805550T ES2818588T3 ES 2818588 T3 ES2818588 T3 ES 2818588T3 ES 17805550 T ES17805550 T ES 17805550T ES 17805550 T ES17805550 T ES 17805550T ES 2818588 T3 ES2818588 T3 ES 2818588T3
Authority
ES
Spain
Prior art keywords
page
script
request
server
verification request
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
ES17805550T
Other languages
English (en)
Inventor
Yaran Lu
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.)
Advanced New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Application granted granted Critical
Publication of ES2818588T3 publication Critical patent/ES2818588T3/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • G06F16/8373Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/838Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

Un método implementado por ordenador para evitar que un servidor sea atacado, el método que comprende: en respuesta a recibir una solicitud de la página enviada por un navegador, obtener (201) una URL de página en la solicitud de la página; extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, en donde se usa una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en la pluralidad de secuencias de comandos de la página (202); enviar (203) la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecute la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos; en respuesta a recibir la solicitud de verificación de la página enviada por el navegador, determinar (204) si una solicitud de verificación de la página ha expirado; en respuesta a la determinación de que la solicitud de verificación de la página ha expirado, generar (205a) la información de aviso de error que indica la expiración de la página; o en respuesta a la determinación de que la solicitud de verificación de la página no ha expirado, verificar (205b) si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido; y si el parámetro de ejecución de la secuencia de comandos no es válido, rechazar la solicitud de la página (206b)

Description

DESCRIPCIÓN
Método y dispositivo para evitar que el servidor sea atacado
Campo técnico
La presente descripción se refiere al campo de las tecnologías de seguridad de red y, en particular, a un método y dispositivo para evitar que un servidor sea atacado.
Antecedentes
A medida que las tecnologías de Internet se desarrollan rápidamente, la garantía de seguridad de la red atrae más atención. Generalmente, la seguridad de la red se relaciona con cómo evitar que un servidor de la red sea atacado. Para atacar un servidor, un atacante utiliza una solicitud de servicio para ocupar recursos de servicio excesivos del servidor, lo que conduce a una sobrecarga del servidor. Además, el servidor no puede responder a otras solicitudes y, en consecuencia, los recursos del servidor pueden agotarse. Como tal, el atacante hace que el servidor se niegue a proporcionar servicios.
Actualmente, un navegador envía primero una solicitud de servicio al servidor. La solicitud de servicio incluye un valor simbólico en la cookie (datos almacenados por el servidor en un dispositivo terminal local de un usuario) cifrado mediante el uso del algoritmo de compendio de mensajes 5 (MD5). Después de recibir la solicitud de servicio, el servidor verifica el valor simbólico cifrado para determinar si la solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. Sin embargo, el valor simbólico cifrado se obtiene al ejecutar un código de secuencia de comandos estático y el código de secuencia de comandos estático se expone en un texto sin formato. Por lo tanto, el atacante puede obtener la lógica directamente en el código de secuencia de comandos estático y analizar el método de cifrado del valor simbólico. Como tal, el atacante puede omitir un mecanismo de detección del servidor al simular la solicitud de servicio del usuario habitual y luego atacar el servidor. Por lo tanto, la protección de seguridad para el servidor existente es baja.
El documento US 2016/119304 A1 describe métodos y sistemas para optimizar la segregación entre clientes operados por humanos y clientes operados por máquinas que acceden a recursos informáticos.
La descripción de Internet en https://stackover-flow.com/questions/24881707/script-to-load-random-page-on-pageload-refresh describe técnicas para tener una página en un directorio raíz seleccionado al azar para cargar cada vez que la página se carga por primera vez y con las recargas posteriores.
El documento US 2014/0259145 A1 describe un aparato que distingue a los clientes mediante las solicitudes realizadas a un servidor de aplicaciones web a través de un cortafuegos de aplicaciones web, que inyecta código del lado del cliente en las respuestas con un desafío aleatorio que necesita una respuesta única para ser devuelta en una cookie.
Resumen
En vista del problema anterior, se propone la presente descripción para proporcionar un método y dispositivo para evitar que un servidor sea atacado, para superar el problema anterior o al menos resolver parcialmente el problema anterior.
Para lograr el objetivo anterior, la presente descripción proporciona las siguientes soluciones técnicas.
De acuerdo con un aspecto, una implementación de la presente descripción proporciona un método para evitar que un servidor sea atacado, y el método incluye lo siguiente: asignar dinámica y aleatoriamente una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, al recibir la solicitud de la página enviada por un navegador y en donde la asignación dinámica y aleatoria de una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página comprende obtener una URL de página en la solicitud de la página; y extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, en donde se usa una lógica de adquisición de parámetros de ejecución de secuencias de comandos diferente en la pluralidad de secuencias de comandos de la página; enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecute la secuencia de comandos de la página para obtener un parámetro de ejecución de secuencia de comandos; determinar si la solicitud de verificación de la página ha expirado, al recibir una solicitud de verificación de la página enviada por el navegador; y si ha expirado, generar la información de aviso de error que indique la expiración de la página; o si no ha expirado, verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido; y si no es válido, rechazar la solicitud de la página.
De acuerdo con otro aspecto, una implementación de la presente descripción proporciona además un dispositivo para evitar que un servidor sea atacado, y el dispositivo incluye una unidad de asignación, configurada para asignar dinámica y aleatoriamente una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la páginas correspondientes a la solicitud de la página, cuando se recibe la solicitud de la página enviada por un navegador y en donde la asignación dinámica y aleatoria de una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página comprende obtener una URL de página en la solicitud de la página; y extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, en donde se usa una lógica de adquisición de parámetros de ejecución de secuencias de comandos diferente en la pluralidad de secuencias de comandos de la página; una unidad de envío, configurada para enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecute la secuencia de comandos de la página para obtener un parámetro de ejecución de secuencia de comandos; una unidad de determinación, configurada para determinar si una solicitud de verificación de la página ha expirado, cuando se recibe la solicitud de verificación de la página enviada por el navegador; una unidad de salida, configurada para generar la información de aviso de error que indique la expiración de la página, si la solicitud de verificación de la página ha expirado; una unidad de verificación, configurada para verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido, si la solicitud de verificación de la página no ha expirado; y una unidad de rechazo, configurada para rechazar la solicitud de la página si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página no es válido.
En base a lo anterior, las soluciones técnicas proporcionadas en las implementaciones de la presente descripción tienen al menos las siguientes ventajas.
De acuerdo con el método y dispositivo para evitar que un servidor sea atacado proporcionado en las implementaciones de la presente descripción, al recibir la solicitud de verificación de la página enviada por el navegador, el servidor determina primero si la solicitud de verificación de la página ha expirado. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. Si el parámetro de ejecución de la secuencia de comandos no es válido, el servidor rechaza la solicitud de la página para evitar que el servidor sea atacado. Actualmente, el servidor verifica un valor simbólico cifrado para determinar si una solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. En comparación con esto, en la presente descripción, el servidor verifica el parámetro de ejecución de la secuencia de comandos para evitar que el servidor sea atacado. El parámetro de ejecución de la secuencia de comandos se obtiene en base a la secuencia de comandos de la página asignada de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro de un período de tiempo predeterminado. Además, cuando el tiempo de solicitud de la solicitud de verificación de la página excede el período de tiempo predeterminado, el servidor rechaza la solicitud de la página. El navegador necesita volver a cargar una solicitud de verificación de la página para enviar la solicitud de verificación de la página nuevamente, y un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada se obtiene al ejecutar una secuencia de comandos de la página reextraída. Por lo tanto, el atacante no puede atacar al servidor en las implementaciones de la presente descripción. Como tal, la seguridad del servidor se mejora en las implementaciones de la presente descripción.
Breve descripción de los dibujos
Al leer las descripciones detalladas de las siguientes implementaciones preferidas, un experto en la técnica puede comprender otras ventajas y beneficios. Los dibujos adjuntos se utilizan únicamente con el propósito de ilustrar las implementaciones preferidas y no se consideran una limitación de la presente descripción. Además, se utilizan los mismos símbolos de referencia para representar los mismos componentes en todos los dibujos adjuntos. En los dibujos adjuntos:
La Figura 1 es un diagrama de flujo que ilustra un método para evitar que un servidor sea atacado, según una implementación de la presente descripción;
La Figura 2 es un diagrama de flujo que ilustra otro método para evitar que un servidor sea atacado, de acuerdo con una implementación de la presente descripción;
La Figura 3 es un diagrama de bloques de composición que ilustra un dispositivo para evitar que un servidor sea atacado, de acuerdo con una implementación de la presente descripción;
La Figura 4 es un diagrama de bloques de composición que ilustra otro dispositivo para evitar que un servidor sea atacado, de acuerdo con una implementación de la presente descripción; y
La Figura 5 es un diagrama de bloques que ilustra un sistema para evitar que un servidor sea atacado, de acuerdo con una implementación de la presente descripción.
Descripción de las implementaciones
A continuación, se describen las implementaciones de ejemplo de la presente descripción con más detalle con referencia a los dibujos adjuntos. Aunque los dibujos adjuntos muestran implementaciones de ejemplo de la presente descripción, debe entenderse que la presente descripción puede implementarse de diversas formas y no estará limitada por las implementaciones descritas aquí. En cambio, estas implementaciones se proporcionan para proporcionar una comprensión más completa de la presente descripción y para transmitir completamente el alcance de la presente descripción a un experto en la técnica.
Para aclarar las ventajas de las soluciones técnicas de la presente descripción, a continuación, se describe la presente descripción en detalle con referencia a los dibujos adjuntos y las implementaciones.
Una implementación de la presente descripción proporciona un método para evitar que un servidor sea atacado. Como se muestra en la Figura 1, el método incluye las siguientes etapas.
101. Asignar de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, cuando se recibe una solicitud de la página enviada por un navegador.
La solicitud de la página incluye una URL de página y la URL de página es una página que corresponde a la secuencia de comandos de la página solicitada por el navegador. En esta implementación de la presente descripción, una URL de página corresponde a una pluralidad de secuencias de comandos de la página. Se utiliza una lógica de adquisición de parámetros de ejecución de secuencias de comandos diferente en las secuencias de comandos de la página correspondientes a la misma URL de página. Se obtiene una pluralidad de parámetros de ejecución de secuencias de comandos diferentes cuando se ejecutan una pluralidad de secuencias de comandos de la página correspondientes a la misma URL de página. Los resultados de ejecución de la página de la pluralidad de secuencias de comandos de la página correspondientes a la misma URL de página son los mismos, es decir, las páginas generadas después de que el navegador carga y ejecuta las secuencias de comandos de la página son las mismas. Vale la pena señalar que en esta implementación de la presente descripción, la secuencia de comandos de la página correspondiente a la solicitud de la página se puede asignar de forma dinámica y aleatoria a partir de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página mediante el uso de un número aleatorio generado en base a un tiempo actual o un número aleatorio generado en base a un tiempo para enviar la solicitud de la página. No se impone ninguna limitación específica en esta implementación de la presente descripción.
Por ejemplo, si un usuario ingresa una URL de AMAZON en una barra de direcciones del navegador y presiona una tecla Intro, el servidor recibe una solicitud de la página enviada por el navegador. Una URL de página en la solicitud de la página es AMAZON. Luego, el servidor asigna de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página. Es decir, el servidor asigna de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a AMAZON.
102. Enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador.
Además, el navegador carga y ejecuta la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos. Después de cargar y ejecutar la secuencia de comandos de la página, el navegador muestra la página correspondiente y obtiene el parámetro de ejecución de la secuencia de comandos. Los parámetros de ejecución de la secuencia de comandos son algunos parámetros adicionales en la página y no afectan la página mostrada. En esta implementación de la presente descripción, cuando se ejecutan secuencias de comandos de la página correspondientes a la misma URL de página, se generan diferentes parámetros de ejecución de secuencia de comandos en diferentes resultados de ejecución de secuencia de comandos de la página.
Por ejemplo, una determinada URL de página corresponde a tres secuencias de comandos de la página. La lógica de adquisición de parámetros de ejecución de secuencia de comandos en una secuencia de comandos de la página es obtener un valor simbólico cifrado en la información de la cookie. La lógica de adquisición de parámetros de ejecución de la secuencia de comandos en otra secuencia de comandos de la página es obtener valores cifrados de las coordenadas actuales del mouse del usuario. La lógica de adquisición del parámetro de ejecución de la secuencia de comandos en la secuencia de comandos de la página restante es obtener un valor cifrado de una hora actual. Vale la pena señalar que, en esta implementación de la presente descripción, la lógica para ejecutar la secuencia de comandos de la página y el método de cifrado del parámetro de ejecución de la secuencia de comandos no están limitados, siempre que se utilice una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página en la presente descripción para distinguir entre diferentes secuencias de comandos de la página.
103. Determinar si una solicitud de verificación de la página ha expirado al recibir la solicitud de verificación de la página enviada por el navegador.
La solicitud de verificación de la página se puede enviar mediante el uso de la página obtenida en base a la carga y ejecución en la etapa 102. Específicamente, la solicitud se puede enviar al hacer clic en un determinado enlace en la página, seleccionar un determinado botón de comando, ingresar algunas palabras clave, etc. No se impone ninguna limitación específica en esta implementación de la presente descripción. La solicitud de verificación de la página incluye el parámetro de ejecución de la secuencia de comandos y el parámetro de ejecución de la secuencia de comandos es un parámetro cifrado.
En esta implementación de la presente descripción, un proceso específico para determinar si la solicitud de verificación de la página ha expirado puede ser el siguiente: Primero, el servidor obtiene un tiempo de solicitud de la solicitud de verificación de la página y un tiempo para que el navegador ejecute la secuencia de comandos de la página a partir de la solicitud de verificación de la página. Luego, el servidor determina si el tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma de un período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página. El servidor determina que la solicitud de verificación de la página ha expirado, si el tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página. El servidor determina que la solicitud de verificación de la página no ha expirado, si el tiempo de solicitud de la solicitud de verificación de la página no es posterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página.
El período de tiempo predeterminado se puede establecer en función de los requisitos reales, por ejemplo, 10 minutos, 20 minutos o 40 minutos. No se impone ninguna limitación en esta implementación de la presente descripción. Vale la pena señalar que un atacante puede atacar el servidor al simular el comportamiento del usuario habitual, y el atacante necesita tiempo para simular el comportamiento del usuario habitual. Por lo tanto, en esta implementación de la presente descripción, bajo la condición de que el usuario pueda enviar una solicitud al servidor normalmente, cuanto más corto sea el período de tiempo predeterminado, menos probable es que el atacante ataque al servidor.
Por ejemplo, si el tiempo de solicitud de la solicitud de verificación de la página obtenido de la solicitud de verificación de la página es 13:15, el tiempo para que el navegador ejecute la secuencia de comandos de la página es 12:34 y el período de tiempo predeterminado es una hora, el servidor determina que el tiempo de solicitud de la solicitud de verificación de la página es anterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página, es decir, 13:15 es anterior a 13:34. Por lo tanto, la solicitud de verificación de la página no ha expirado. Si el tiempo de solicitud de la solicitud de verificación de la página es 14:12, el servidor puede utilizar el método de determinación anterior para concluir que la solicitud de verificación de la página ha expirado.
104a. Si ha expirado, generar la información de aviso de error que indica la expiración de la página.
En esta implementación de la presente descripción, la información de aviso de error que indica la expiración de la página se genera si la solicitud de verificación de la página ha expirado, para avisar al usuario de que la página actual ha expirado. Si el usuario aún desea realizar una operación en la página, el usuario debe actualizar la página. Actualizar la página equivale a enviar una solicitud de la página al servidor. Después de recibir la solicitud, el servidor asigna de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página. Es decir, después de la etapa 104a, si recibe una instrucción de actualización del usuario, el servidor salta a la etapa 101 para realizar la etapa 101 de nuevo.
104b. Si no ha expirado, verificar si un parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido.
La etapa 104b es paralela a la etapa 104a. El servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido, si la solicitud de verificación de la página no ha expirado. En esta implementación de la presente descripción, el servidor puede verificar, en base a la secuencia de comandos de la página ejecutada para obtener el parámetro de ejecución de la secuencia de comandos, si el parámetro de ejecución de la secuencia de comandos es válido. Un proceso específico de la etapa 104b puede ser el siguiente: primero, el servidor obtiene un parámetro de secuencia de comandos local basado en la secuencia de comandos de la página, y luego determina si el parámetro de secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página; si es así, indica que el parámetro de ejecución de la secuencia de comandos es válido; si no, indica que el parámetro de ejecución de la secuencia de comandos no es válido.
Por ejemplo, después de recibir la solicitud de verificación de la página enviada por el navegador, si la lógica de adquisición del parámetro de ejecución de la secuencia de comandos en la secuencia de comandos de la página extraída de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página es para obtener un valor simbólico en la información de la cookie que se cifra mediante el uso de un algoritmo de compendio de mensajes 5 (MD5), y la solicitud de verificación de la página está en un período de validez, el servidor determina, en base a la lógica de adquisición del parámetro de ejecución de la secuencia de comandos en la secuencia de comandos de la página, si la verificación en el parámetro de la secuencia de comandos puede tener éxito. Es decir, el servidor determina, en base al valor cifrado MD5 del símbolo en la información de la cookie correspondiente almacenada en el servidor, si la verificación del parámetro de la secuencia de comandos enviado por el navegador puede tener éxito.
105b. Si no es válido, rechazar la solicitud de la página.
En esta implementación de la presente descripción, la solicitud de la página se rechaza si el parámetro de ejecución de la secuencia de comandos no es válido después de la verificación. Posteriormente, si el usuario aún desea realizar una operación en la página, el usuario debe actualizar la página. Actualizar la página equivale a enviar una solicitud de la página al servidor. Después de recibir la solicitud, el servidor asigna de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página. Es decir, después de la etapa 105b, si recibe una instrucción de actualización del usuario, el servidor salta a la etapa 101 para realizar la etapa 101 de nuevo. Vale la pena señalar que en la presente descripción, la solicitud de la página puede rechazarse mediante el uso de la información de identidad del usuario en la solicitud de verificación de la página, y la información de identidad del usuario es la información de la cookie generada por el servidor. Después de recibir la información de la cookie enviada por el servidor, el navegador almacena una clave/valor en la información de la cookie en un archivo de texto en un directorio determinado. El navegador envía la información de la cookie al servidor cuando solicita una página web la próxima vez. Si la solicitud de verificación de la página enviada por el navegador ha expirado, o el parámetro de ejecución de la secuencia de comandos no es válido después de la verificación, el servidor puede configurar un servicio correspondiente a la información de la cookie en la solicitud de verificación de la página para "rechazar", con el fin de rechazar la solicitud de la página.
En el método para evitar que un servidor sea atacado proporcionado en esta implementación de la presente descripción, al recibir la solicitud de verificación de la página enviada por el navegador, el servidor determina primero si la solicitud de verificación de la página ha expirado. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. Si el parámetro de ejecución de la secuencia de comandos no es válido, el servidor rechaza la solicitud de la página para evitar que el servidor sea atacado. Actualmente, el servidor verifica un valor simbólico cifrado para determinar si una solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. En comparación con esto, en la presente descripción, el servidor verifica el parámetro de ejecución de la secuencia de comandos para evitar que el servidor sea atacado. El parámetro de ejecución de la secuencia de comandos se obtiene en base a la secuencia de comandos de la página asignada de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro del período de tiempo predeterminado. Además, cuando el tiempo de solicitud de la solicitud de verificación de la página excede el período de tiempo predeterminado, el servidor rechaza la solicitud de la página. El navegador necesita volver a cargar una solicitud de verificación de la página para enviar la solicitud de verificación de la página nuevamente, y un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada se obtiene al ejecutar una secuencia de comandos de la página reextraída. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
Una implementación de la presente descripción proporciona otro método para evitar que un servidor sea atacado. Como se muestra en la Figura 2, el método incluye las siguientes etapas.
201. Obtener una URL de página en una solicitud de la página al recibir la solicitud de la página enviada por un navegador.
202. Extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página.
Se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en la pluralidad de secuencias de comandos de la página. En esta implementación de la presente descripción, antes de la etapa 202, el método incluye además configurar las secuencias de comandos de la página correspondientes a cada URL de página en la librería de secuencias de comandos predeterminada. La librería de secuencias de comandos predeterminada almacena una pluralidad de secuencias de comandos de la página correspondientes respectivamente a diferentes URL de página. Se utiliza una lógica de adquisición de parámetros de secuencia de comandos diferente en las secuencias de comandos de la página correspondientes a cada URL de página. En esta implementación de la presente descripción, la secuencia de comandos de la página se usa para ejecutar y cargar una página que el navegador solicita y obtener un parámetro de ejecución de la secuencia de comandos a partir de un resultado de ejecución. Cuando se ejecutan las secuencias de comandos de la página correspondientes a la misma URL de página, se generan diferentes parámetros de ejecución de secuencias de comandos a partir de la ejecución de diferentes secuencias de comandos de la página.
Vale la pena señalar que, debido a que la única diferencia entre las secuencias de comandos de la página es que se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente, las páginas generadas al cargar y ejecutar las secuencias de comandos de la página son las mismas. La única diferencia de la ejecución de las secuencias de comandos de la página es que los parámetros de ejecución de la secuencia de comandos generados son diferentes.
203. Enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador.
Además, el navegador ejecuta la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos. Después de cargar y ejecutar la secuencia de comandos de la página, el navegador muestra la página correspondiente y obtiene el parámetro de ejecución de la secuencia de comandos. Los parámetros de ejecución de la secuencia de comandos son algunos parámetros adicionales en la página y no afectan la página mostrada.
204. Determinar si una solicitud de verificación de la página ha expirado al recibir la solicitud de verificación de la página enviada por el navegador.
En esta implementación de la presente descripción, la etapa 204 incluye determinar si un tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma de un período de tiempo predeterminado y un tiempo para que el navegador ejecute la secuencia de comandos de la página; y en caso afirmativo, determinar que la solicitud de verificación de la página ha expirado; o en caso negativo, determinar que la solicitud de verificación de la página no ha expirado. El período de tiempo predeterminado se utiliza para limitar un tiempo en el que el navegador puede enviar la solicitud de la página al servidor, y el período de tiempo predeterminado se puede establecer en función de los requisitos reales.
Vale la pena señalar que un atacante puede atacar el servidor al simular el comportamiento del usuario habitual, y el atacante necesita tiempo para simular el comportamiento del usuario habitual. Por lo tanto, en esta implementación de la presente descripción, bajo la condición de que el usuario pueda enviar una solicitud al servidor normalmente, cuanto más corto sea el período de tiempo predeterminado, menos probable es que el atacante ataque al servidor.
205a. Si ha expirado, generar la información de aviso de error que indica la expiración de la página.
205b. Si no ha expirado, verificar si un parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido.
La etapa 205b es paralela a la etapa 205a. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. En esta implementación de la presente descripción, la solicitud de la página incluye además información de identificador de la secuencia de comandos de la página ejecutada por el navegador. La etapa 205b incluye lo siguiente: buscar en la librería de secuencias de comandos predeterminada una secuencia de comandos de la página correspondiente a la información del identificador, donde la librería de secuencias de comandos predeterminada almacena además la información del identificador correspondiente a cada secuencia de comandos de la página; y verificar, en base a la secuencia de comandos de la página correspondiente a la información del identificador, si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. La secuencia de comandos de la página ejecutada por el navegador es la secuencia de comandos de la página enviada por el servidor al navegador en la etapa 203. Al enviar la secuencia de comandos de la página al navegador, el servidor también envía la información del identificador correspondiente a la secuencia de comandos de la página al navegador. Al enviar la solicitud de verificación de la página al servidor, el navegador también envía la información del identificador de la secuencia de comandos de la página al servidor. A continuación, el servidor obtiene una secuencia de comandos de la página correspondiente de la librería de secuencias de comandos predeterminada en base a la información del identificador de la secuencia de comandos de la página y verifica, en base a la secuencia de comandos de la página obtenida, si el parámetro de ejecución de la secuencia de comandos es correcto.
En esta implementación de la presente descripción, la verificación, basada en la secuencia de comandos de la página correspondiente a la información del identificador, si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido incluye obtener un parámetro de secuencia de comandos local basado en la secuencia de comandos de la página correspondiente a la información del identificador; determinar si el parámetro de la secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página; y en caso afirmativo, determinar que el parámetro de ejecución de la secuencia de comandos es válido; o en caso negativo, determinar que el parámetro de ejecución de la secuencia de comandos no es válido.
206b. Si no es válido, rechazar la solicitud de la página.
En esta implementación de la presente descripción, si el parámetro de ejecución de la secuencia de comandos no es válido después de la verificación, se rechaza la solicitud de la página. Posteriormente, si el usuario aún desea realizar una operación en la página, el usuario debe actualizar la página. Actualizar la página equivale a enviar una solicitud de la página al servidor. Después de recibir la solicitud, el servidor asigna de forma dinámica y aleatoria una secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página. Es decir, después de rechazar la solicitud de la página, si recibe una instrucción de actualización del usuario, el servidor salta a la etapa 201 para realizar la etapa 201 nuevamente, y vuelve a extraer aleatoriamente una secuencia de comandos de la página después de realizar la etapa 201 nuevamente. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
En esta implementación de la presente descripción, un escenario mostrado en la Figura 5 se puede aplicar, pero no se limita a esto. El escenario incluye lo siguiente: en la etapa 1 de la Figura 5, el navegador envía primero la solicitud de la página al servidor. La solicitud de la página incluye la URL de la página. Después de recibir la solicitud de la página, el servidor extrae aleatoriamente la secuencia de comandos de la página correspondiente a la URL de la página de la librería de secuencias de comandos predeterminada y luego envía la secuencia de comandos de la página al navegador. Es decir, el servidor envía la secuencia de comandos de la página extraída aleatoriamente al navegador mediante el uso de la etapa 2 en la Figura 5. Después de recibir la secuencia de comandos de la página enviada por el servidor, el navegador ejecuta la secuencia de comandos de la página y obtiene el parámetro de ejecución de la secuencia de comandos obtenido al ejecutar la secuencia de comandos de la página. Luego, el navegador envía la solicitud de verificación de la página al servidor. La solicitud de verificación de la página incluye el parámetro de ejecución de la secuencia de comandos. Es decir, el navegador envía la solicitud de verificación de la página al servidor mediante el uso de la etapa 3 en la Figura 5. Después de recibir la solicitud de verificación de la página, el servidor determina primero si el tiempo de la solicitud de verificación de la página es posterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página. El servidor verifica si el parámetro de ejecución de la secuencia de comandos es válido, si el tiempo de la solicitud de verificación de la página es anterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página. Si no es válido, el servidor rechaza la solicitud de la página. El parámetro de ejecución de la secuencia de comandos en la presente descripción se obtiene al ejecutar la secuencia de comandos de la página que corresponde a la URL de la página y se extrae aleatoriamente de la librería de secuencias de comandos predeterminada, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro del período de tiempo predeterminado. Además, cuando la solicitud de verificación de la página ha expirado, el navegador debe volver a cargar una solicitud de verificación de la página, y se obtiene un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada mediante la ejecución de una secuencia de comandos de la página reextraída correspondiente a la URL de la página. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
En otro método para evitar que un servidor sea atacado proporcionado en esta implementación de la presente descripción, cuando recibe la solicitud de verificación de la página enviada por el navegador, el servidor determina primero si la solicitud de verificación de la página ha expirado. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. Si el parámetro de ejecución de la secuencia de comandos no es válido, el servidor rechaza la solicitud de la página para evitar que el servidor sea atacado. Actualmente, el servidor verifica un valor simbólico cifrado para determinar si una solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. En comparación con esto, en la presente descripción, el servidor verifica el parámetro de ejecución de la secuencia de comandos para evitar que el servidor sea atacado. El parámetro de ejecución de la secuencia de comandos se obtiene en base a la secuencia de comandos de la página asignada de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro del período de tiempo predeterminado. Además, cuando el tiempo de solicitud de la solicitud de verificación de la página excede el período de tiempo predeterminado, el servidor rechaza la solicitud de la página. El navegador necesita volver a cargar una solicitud de verificación de la página para enviar la solicitud de verificación de la página nuevamente, y un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada se obtiene al ejecutar una secuencia de comandos de la página reextraída. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
Además, una implementación de la presente descripción proporciona un dispositivo para evitar que un servidor sea atacado. Como se muestra en la Figura 3, el dispositivo incluye una unidad de asignación 31, una unidad de envío 32, una unidad de determinación 33, una unidad de salida 34, una unidad de verificación 35 y una unidad de rechazo 36.
La unidad de asignación 31 se configura para asignar dinámica y aleatoriamente una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, cuando se recibe la solicitud de la página enviada por un navegador. La unidad de envío 32 se configura para enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecuta la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos.
La unidad de determinación 33 se configura para determinar si una solicitud de verificación de la página ha expirado, cuando se recibe la solicitud de verificación de la página enviada por el navegador.
La unidad de salida 34 se configura para generar la información de aviso de error que indica la expiración de la página si ha expirado.
La unidad de verificación 35 se configura para verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido, si la solicitud de verificación de la página no ha expirado.
La unidad de rechazo 36 se configura para rechazar la solicitud de la página si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página no es válido.
Vale la pena señalar que, para otras descripciones correspondientes de las unidades de función en el dispositivo para evitar que un servidor sea atacado en esta implementación de la presente descripción, se puede hacer referencia a las descripciones correspondientes del método mostrado en la Figura 1. Los detalles se omiten aquí por simplicidad. Sin embargo, debería quedar claro que el dispositivo en esta implementación puede implementar correspondientemente todo el contenido en la implementación del método.
De acuerdo con el método y dispositivo para evitar que un servidor sea atacado proporcionado en las implementaciones de la presente descripción, al recibir la solicitud de verificación de la página enviada por el navegador, el servidor determina primero si la solicitud de verificación de la página ha expirado. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. Si el parámetro de ejecución de la secuencia de comandos no es válido, el servidor rechaza la solicitud de la página para evitar que el servidor sea atacado. Actualmente, el servidor verifica un valor simbólico cifrado para determinar si una solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. En comparación con esto, en la presente descripción, el servidor verifica el parámetro de ejecución de la secuencia de comandos para evitar que el servidor sea atacado. El parámetro de ejecución de la secuencia de comandos se obtiene en base a la secuencia de comandos de la página asignada de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro de un período de tiempo predeterminado. Además, cuando el tiempo de solicitud de la solicitud de verificación de la página excede el período de tiempo predeterminado, el servidor rechaza la solicitud de la página. El navegador necesita volver a cargar una solicitud de verificación de la página para enviar la solicitud de verificación de la página nuevamente, y un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada se obtiene al ejecutar una secuencia de comandos de la página reextraída. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
Además, una implementación de la presente descripción proporciona otro dispositivo para evitar que un servidor sea atacado. Como se muestra en la Figura 4, el dispositivo incluye una unidad de asignación 41, una unidad de envío 42, una unidad de determinación 43, una unidad de salida 44, una unidad de verificación 45 y una unidad de rechazo 46.
La unidad de asignación 41 se configura para asignar dinámica y aleatoriamente una secuencia de comandos de la página correspondiente a una solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, cuando se recibe la solicitud de la página enviada por un navegador. La unidad de envío 42 se configura para enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecuta la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos.
La unidad de determinación 43 se configura para determinar si una solicitud de verificación de la página ha expirado, cuando se recibe la solicitud de verificación de la página enviada por el navegador.
La unidad de salida 44 se configura para generar la información de aviso de error que indica la expiración de la página, si la solicitud de verificación de la página ha expirado.
La unidad de verificación 45 se configura para verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido, si la solicitud de verificación de la página no ha expirado.
La unidad de rechazo 46 se configura para rechazar la solicitud de la página si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página no es válido.
Además, la unidad de asignación 41 incluye un módulo de obtención 411, configurado para obtener una URL de página en la solicitud de la página; y un módulo de extracción 412, configurado para extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, donde se usa una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en la pluralidad de secuencias de comandos de la página.
Además, la unidad de determinación 43 incluye un módulo de determinación 431, configurado para determinar si un tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma de un período de tiempo predeterminado y un tiempo para que el navegador ejecute la secuencia de comandos de la página; y un módulo de determinación 432, configurado para determinar que la solicitud de verificación de la página ha expirado, si el tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página; o un módulo de determinación 432, configurado para determinar que la solicitud de verificación de la página no ha expirado, si el tiempo de solicitud de la solicitud de verificación de la página no es posterior a la suma del período de tiempo predeterminado y el tiempo para que el navegador ejecute la secuencia de comandos de la página.
En esta implementación de la presente descripción, la solicitud de la página incluye además la información del identificador de la secuencia de comandos de la página ejecutada por el navegador, y la unidad de verificación 45 incluye un módulo de búsqueda 451, configurado para buscar en la librería de secuencias de comandos predeterminada una secuencia de comandos de la página correspondiente a la información del identificador, donde la librería de secuencias de comandos predeterminada almacena además la información del identificador correspondiente a cada secuencia de comandos de la página; y un módulo de verificación 452, configurado para verificar, en base a la secuencia de comandos de la página correspondiente a la información del identificador, si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. En esta implementación de la presente descripción, el módulo de verificación 452 se configura para obtener un parámetro de secuencia de comandos local basado en el secuencia de comandos de la página correspondiente a la información del identificador.
El módulo de verificación 452 se configura para determinar si el parámetro de la secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página.
El módulo de verificación 452 se configura para determinar que el parámetro de ejecución de la secuencia de comandos es válido, si el parámetro de la secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página.
El módulo de verificación 452 se configura para determinar que el parámetro de ejecución de la secuencia de comandos no es válido, si el parámetro de la secuencia de comandos local es diferente del parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página.
El dispositivo incluye además una unidad de configuración 47, configurada para configurar las secuencias de comandos de la página correspondientes a cada URL de página en la librería de secuencias de comandos predeterminada.
Vale la pena señalar que, para otras descripciones correspondientes de las unidades de función en otro dispositivo para evitar que un servidor sea atacado en esta implementación de la presente descripción, se puede hacer referencia a las descripciones correspondientes del método mostrado en la Figura 2. Los detalles se omiten aquí por simplicidad. Sin embargo, debería quedar claro que el dispositivo en esta implementación puede implementar correspondientemente todo el contenido en la implementación del método.
De acuerdo con el método y dispositivo para evitar que un servidor sea atacado proporcionado en las implementaciones de la presente descripción, al recibir la solicitud de verificación de la página enviada por el navegador, el servidor determina primero si la solicitud de verificación de la página ha expirado. Si la solicitud de verificación de la página no ha expirado, el servidor verifica si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido. Si el parámetro de ejecución de la secuencia de comandos no es válido, el servidor rechaza la solicitud de la página para evitar que el servidor sea atacado. Actualmente, el servidor verifica un valor simbólico cifrado para determinar si una solicitud de servicio enviada por el navegador es válida para evitar que el servidor sea atacado. En comparación con esto, en la presente descripción, el servidor verifica el parámetro de ejecución de la secuencia de comandos para evitar que el servidor sea atacado. El parámetro de ejecución de la secuencia de comandos se obtiene en base a la secuencia de comandos de la página asignada de forma dinámica y aleatoria de la pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página, y se utiliza una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en las secuencias de comandos de la página. Por lo tanto, incluso si un atacante obtiene la lógica de la secuencia de comandos en el código dinámico, el atacante no puede analizar el método de cifrado del parámetro de ejecución de la secuencia de comandos dentro del período de tiempo predeterminado. Además, cuando el tiempo de solicitud de la solicitud de verificación de la página excede el período de tiempo predeterminado, el servidor rechaza la solicitud de la página. El navegador necesita volver a cargar una solicitud de verificación de la página para enviar la solicitud de verificación de la página nuevamente, y un parámetro de ejecución de la secuencia de comandos en la solicitud de verificación de la página recargada se obtiene al ejecutar una secuencia de comandos de la página reextraída. Por lo tanto, el atacante no puede atacar al servidor en esta implementación de la presente descripción. Como tal, la seguridad del servidor se mejora en esta implementación de la presente descripción.
El dispositivo para evitar que un servidor sea atacado incluye un procesador y una memoria. La unidad de asignación, la unidad de envío, la unidad de determinación, la unidad de salida, la unidad de verificación, la unidad de rechazo y la unidad de configuración se almacenan en la memoria como unidades de programa. El procesador ejecuta las unidades de programa almacenadas en la memoria para implementar las funciones correspondientes.
El procesador incluye un núcleo y el núcleo invoca una unidad de programa correspondiente desde la memoria. Puede haber uno o más núcleos para mejorar la seguridad del servidor al ajustar un parámetro del núcleo.
La memoria puede incluir un almacenamiento no persistente, una memoria de acceso aleatorio (RAM), y/o una memoria no volátil en un medio legible por ordenador, por ejemplo, una memoria de solo lectura (ROM) o una memoria flash (RAM flash). La memoria incluye al menos un chip de almacenamiento.
La presente descripción proporciona además un producto de programa informático, y cuando se ejecuta en un aparato de procesamiento de datos, el producto es aplicable para inicializar el código del programa que incluye las siguientes etapas: al recibir una solicitud de la página enviada por un navegador, asignar dinámica y aleatoriamente un secuencia de comandos de la página correspondiente a la solicitud de la página de una pluralidad de secuencias de comandos de la página correspondientes a la solicitud de la página; enviar la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecute la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos; al recibir una solicitud de verificación de la página enviada por el navegador, determinar si la solicitud de verificación de la página ha expirado; y si ha expirado, generar la información de aviso de error que indique la expiración de la página; o si no ha expirado, verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido; y si no es válido, rechazar la solicitud de la página.
Un experto en la técnica debería comprender que las implementaciones de la presente descripción pueden proporcionarse como un método, un sistema o un producto de programa informático. Por lo tanto, la presente descripción puede usar una forma de implementaciones solo de hardware, implementaciones solo de software o implementaciones con una combinación de software y hardware. Además, la presente descripción puede usar una forma de un producto de programa informático que se implementa en uno o más medios de almacenamiento utilizables por ordenador (que incluyen, pero no se limitan a, un almacenamiento de disco magnético, un CD-ROM, una memoria óptica, etc.) que incluyen el código de programa utilizable por ordenador.
La presente descripción se describe con referencia a los diagramas de flujo y/o diagramas de bloques del método y dispositivo para evitar que un servidor sea atacado y el producto de programa informático de acuerdo con las implementaciones de la presente descripción. Debe entenderse que las instrucciones del programa informático pueden usarse para implementar cada proceso y/o cada bloque en los diagramas de flujo y/o los diagramas de bloque y una combinación de un proceso y/o un bloque en los diagramas de flujo y/o los diagramas de bloque. Estas instrucciones del programa informático se pueden proporcionar a un ordenador de propósito general, un ordenador dedicado, un procesador incorporado o un procesador de otro dispositivo de procesamiento de datos programable para generar una máquina, de modo que las instrucciones ejecutadas por el ordenador o el procesador del otro dispositivo de procesamiento de datos programable generan un aparato para implementar una función específica en uno o más procesos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques.
Estas instrucciones del programa informático pueden almacenarse en una memoria legible por ordenador que puede indicar al ordenador u otro dispositivo de procesamiento de datos programable que trabaje de una manera específica, por lo que las instrucciones almacenadas en la memoria legible por ordenador generan un artefacto que incluye un aparato de instrucciones. El aparato de instrucciones implementa una función específica en uno o más procesos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques.
Estas instrucciones del programa informático se pueden cargar en el ordenador u otro dispositivo de procesamiento de datos programable, por lo que se realizan una serie de operaciones y etapas en el ordenador u otro dispositivo programable, generando así el procesamiento implementado por ordenador. Por lo tanto, las instrucciones ejecutadas en el ordenador u otro dispositivo programable proporcionan etapas para implementar una función específica en uno o más procesos en los diagramas de flujo y/o en uno o más bloques en los diagramas de bloques. En una configuración típica, un dispositivo informático incluye uno o más procesadores (CPU), una interfaz de entrada/salida, una interfaz de red y una memoria.
La memoria puede incluir un almacenamiento no persistente, una memoria de acceso aleatorio (RAM), y/o una memoria no volátil en un medio legible por ordenador, por ejemplo, una memoria de solo lectura (ROM) o una memoria flash (RAM flash). La memoria es un ejemplo del medio legible por ordenador.
El medio legible por ordenador incluye medios persistentes, no persistentes, móviles e inmóviles que pueden almacenar información mediante el uso de cualquier método o tecnología. La información puede ser una instrucción legible por ordenador, una estructura de datos, un módulo de programa u otros datos. Un medio de almacenamiento de ordenador incluye, pero no se limita a, una memoria de acceso aleatorio de cambio de fase (PRAM), una memoria de acceso aleatorio estática (SRAM), una memoria de acceso aleatorio dinámica (DRAM), una memoria de acceso aleatorio (RAM) de otro tipo, una memoria de solo lectura (ROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), una memoria flash u otra tecnología de memoria, una memoria de solo lectura de disco compacto (CD-ROM), un disco digital versátil (DVD) u otro almacenamiento óptico, un casete magnético, una cinta magnética, un almacenamiento de disco magnético, otro dispositivo de almacenamiento magnético o cualquier otro medio no transitorio. El medio de almacenamiento de ordenar se puede utilizar para almacenar información accesible por el dispositivo informático. En base a la definición de la presente memoria descriptiva, el medio legible por ordenador no incluye medios legibles por ordenador transitorios (medios transitorios), por ejemplo, una señal de datos modulada y un portador.
Las descripciones anteriores son solo implementaciones de la presente descripción, y no pretenden limitar la presente descripción. Un experto en la técnica puede realizar diversas modificaciones y cambios a la presente descripción. La invención se especifica en las reivindicaciones adjuntas.

Claims (9)

  1. REIVINDICACIONES
    i. Un método implementado por ordenador para evitar que un servidor sea atacado, el método que comprende:
    en respuesta a recibir una solicitud de la página enviada por un navegador, obtener (201) una URL de página en la solicitud de la página;
    extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, en donde se usa una lógica de adquisición de parámetros de ejecución de secuencia de comandos diferente en la pluralidad de secuencias de comandos de la página (202); enviar (203) la secuencia de comandos de la página asignada de forma dinámica y aleatoria al navegador, de modo que el navegador ejecute la secuencia de comandos de la página para obtener un parámetro de ejecución de la secuencia de comandos;
    en respuesta a recibir la solicitud de verificación de la página enviada por el navegador, determinar (204) si una solicitud de verificación de la página ha expirado;
    en respuesta a la determinación de que la solicitud de verificación de la página ha expirado, generar (205a) la información de aviso de error que indica la expiración de la página; o
    en respuesta a la determinación de que la solicitud de verificación de la página no ha expirado, verificar (205b) si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido; y
    si el parámetro de ejecución de la secuencia de comandos no es válido, rechazar la solicitud de la página (206b)
  2. 2. El método de acuerdo con la reivindicación 1, en donde la lógica de adquisición del parámetro de ejecución de la secuencia de comandos comprende obtener un valor simbólico en la información de la cookie cifrada.
  3. 3. El método de acuerdo con la reivindicación 1, en donde antes de extraer aleatoriamente una secuencia de comandos de la página de una pluralidad de secuencias de comandos de la página que existen en una librería de secuencias de comandos predeterminada y que corresponden a la URL de la página, el método comprende, además:
    configurar las secuencias de comandos de la página correspondientes a cada URL de página en la librería de secuencias de comandos predeterminada y la información del identificador correspondiente a las secuencias de comandos de la página.
  4. 4. El método de acuerdo con la reivindicación 1, en donde determinar si la solicitud de verificación de la página ha expirado comprende:
    determinar si un tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma de un período de tiempo predeterminado y un tiempo para que el navegador ejecute la secuencia de comandos de la página; y
    en respuesta a determinar que el tiempo de solicitud de la solicitud de verificación de la página es posterior a la suma de un período de tiempo predeterminado y un tiempo para que el navegador ejecute la secuencia de comandos de la página, determinar que la solicitud de verificación de la página ha expirado; o
    en respuesta a determinar que el tiempo de solicitud de la solicitud de verificación de la página no es posterior a la suma de un período de tiempo predeterminado y un tiempo para que el navegador ejecute la secuencia de comandos de la página, determinar que la solicitud de verificación de la página no ha expirado.
  5. 5. El método de acuerdo con cualquiera de las reivindicaciones 1 a 4, en donde la solicitud de la página comprende además la información del identificador de la secuencia de comandos de la página ejecutada por el navegador, y en donde verificar si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido comprende:
    buscar en la librería de secuencias de comandos predeterminada una secuencia de comandos de la página correspondiente a la información del identificador, en donde la librería de secuencias de comandos predeterminada almacena además la información del identificador correspondiente a cada secuencia de comandos de la página; y
    verificar, en base a la secuencia de comandos de la página correspondiente a la información del identificador, si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido.
  6. 6. El método de acuerdo con la reivindicación 5, en donde verificar, en base a la secuencia de comandos de la página correspondiente a la información del identificador, si el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página es válido comprende:
    obtener un parámetro de secuencia de comandos local basado en la secuencia de comandos de la página correspondiente a la información del identificador;
    determinar si el parámetro de la secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página; y
    en respuesta a la determinación de que el parámetro de la secuencia de comandos local es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página, determinar que el parámetro de ejecución de la secuencia de comandos es válido; o
    en respuesta a determinar que el parámetro de la secuencia de comandos local no es el mismo que el parámetro de ejecución de la secuencia de comandos incluido en la solicitud de verificación de la página, determinar que el parámetro de ejecución de secuencia de comandos no es válido.
  7. 7. El método de acuerdo con cualquiera de las reivindicaciones 1 a 6, en donde rechazar la solicitud de página se basa en una información de identidad del usuario incluida en la solicitud de verificación de la página.
  8. 8. El método de acuerdo con la reivindicación 7, en donde la información de identidad del usuario comprende la información de cookies generada por el servidor.
  9. 9. Un dispositivo para evitar que un servidor sea atacado, el dispositivo que comprende una pluralidad de módulos configurados para realizar el método de cualquiera de las reivindicaciones 1 a 8.
ES17805550T 2016-05-31 2017-04-18 Método y dispositivo para evitar que el servidor sea atacado Active ES2818588T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610377847.0A CN107454041B (zh) 2016-05-31 2016-05-31 防止服务器被攻击的方法及装置
PCT/CN2017/080862 WO2017206605A1 (zh) 2016-05-31 2017-04-18 防止服务器被攻击的方法及装置

Publications (1)

Publication Number Publication Date
ES2818588T3 true ES2818588T3 (es) 2021-04-13

Family

ID=60479720

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17805550T Active ES2818588T3 (es) 2016-05-31 2017-04-18 Método y dispositivo para evitar que el servidor sea atacado

Country Status (16)

Country Link
US (2) US10965689B2 (es)
EP (1) EP3468128B1 (es)
JP (1) JP6859518B2 (es)
KR (1) KR102242219B1 (es)
CN (1) CN107454041B (es)
AU (1) AU2017273371B2 (es)
BR (1) BR112018074497B1 (es)
CA (1) CA3024889C (es)
ES (1) ES2818588T3 (es)
MX (1) MX2018014378A (es)
PH (1) PH12018502495A1 (es)
PL (1) PL3468128T3 (es)
RU (1) RU2734027C2 (es)
SG (1) SG11201810205XA (es)
TW (1) TW201743237A (es)
WO (1) WO2017206605A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454041B (zh) 2016-05-31 2020-06-02 阿里巴巴集团控股有限公司 防止服务器被攻击的方法及装置
CN109936575B (zh) * 2019-03-07 2021-11-12 北京融链科技有限公司 页面访问方法、装置、存储介质及处理器
CN113761489B (zh) * 2020-06-02 2024-01-26 共道网络科技有限公司 验证方法、装置及设备、存储介质
CN112600863A (zh) * 2021-03-04 2021-04-02 南京敏宇数行信息技术有限公司 一种安全远程访问系统及方法
US20240036987A1 (en) * 2022-07-27 2024-02-01 Dell Products L.P. Self-healing data protection system matching system attributes to relevant scripts using weighted attributes

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541996A (en) 1994-12-12 1996-07-30 Itt Corporation Apparatus and method for a pseudo-random number generator for high precision numbers
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US7373510B2 (en) * 2000-09-12 2008-05-13 International Business Machines Corporation System and method for implementing a robot proof Web site
US7127608B2 (en) * 2001-01-12 2006-10-24 Siemens Medical Solutions Health Services Corporation System and user interface supporting URL processing and concurrent application operation
US20020184507A1 (en) * 2001-05-31 2002-12-05 Proact Technologies Corp. Centralized single sign-on method and system for a client-server environment
US7949729B2 (en) 2001-05-31 2011-05-24 Oracle International Corp. System and method for displaying dynamic page content in a page-caching browser
US6941512B2 (en) * 2001-09-10 2005-09-06 Hewlett-Packard Development Company, L.P. Dynamic web content unfolding in wireless information gateways
US20040039994A1 (en) * 2002-08-22 2004-02-26 Duffy Colm Donal System and process for communication between Java server pages and servlets
US7376732B2 (en) * 2002-11-08 2008-05-20 Federal Network Systems, Llc Systems and methods for preventing intrusion at a web host
US20070282874A1 (en) 2003-08-19 2007-12-06 Rapid Intelligence Pty Ltd. Content System
US7516153B2 (en) 2005-11-29 2009-04-07 Att Intellectual Property I, L.P. Rendering dynamic data in a web browser
US8924889B2 (en) 2005-12-02 2014-12-30 Hillcrest Laboratories, Inc. Scene transitions in a zoomable user interface using a zoomable markup language
CN101030860A (zh) * 2007-02-15 2007-09-05 华为技术有限公司 一种防御通过自动软件对服务器进行攻击的方法和设备
CN101594343B (zh) * 2008-05-29 2013-01-23 国际商业机器公司 安全提交请求的装置和方法、安全处理请求的装置和方法
CN101437030B (zh) * 2008-11-29 2012-02-22 成都市华为赛门铁克科技有限公司 一种防止服务器被攻击的方法、检测装置及监控设备
US20100180082A1 (en) 2009-01-12 2010-07-15 Viasat, Inc. Methods and systems for implementing url masking
KR101061255B1 (ko) 2009-04-17 2011-09-01 주식회사 파이오링크 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법
CN101834866B (zh) * 2010-05-05 2013-06-26 北京来安科技有限公司 一种cc攻击防护方法及其系统
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
RU2477929C2 (ru) * 2011-04-19 2013-03-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ предотвращения инцидентов безопасности на основании рейтингов опасности пользователей
CN102981812A (zh) * 2011-09-07 2013-03-20 深圳市金蝶中间件有限公司 网页脚本语言的执行方法及装置
CN103139138B (zh) * 2011-11-22 2016-02-03 飞塔公司 一种基于客户端检测的应用层拒绝服务防护方法及系统
JP2013125497A (ja) 2011-12-16 2013-06-24 Sony Corp 情報処理装置、情報処理方法およびプログラム
TWI506471B (zh) 2011-12-27 2015-11-01 Univ Nat Taiwan Science Tech 跨網站攻擊防範系統及方法
CN103209158A (zh) * 2012-01-12 2013-07-17 深圳市宇初网络技术有限公司 一种第三方验证方法以及系统
US20130318056A1 (en) * 2012-05-23 2013-11-28 Sap Ag Lightweight Integrity Protection for Web Storage-Driven Content Caching
US20140053056A1 (en) * 2012-08-16 2014-02-20 Qualcomm Incorporated Pre-processing of scripts in web browsers
US20140259145A1 (en) * 2013-03-08 2014-09-11 Barracuda Networks, Inc. Light Weight Profiling Apparatus Distinguishes Layer 7 (HTTP) Distributed Denial of Service Attackers From Genuine Clients
CN104636664B (zh) * 2013-11-08 2018-04-27 腾讯科技(深圳)有限公司 基于文档对象模型的跨站脚本攻击漏洞检测方法及装置
CN103795786A (zh) * 2014-01-20 2014-05-14 杭州百富电子技术有限公司 具有web服务功能的嵌入式集中器系统
TW201547247A (zh) * 2014-06-13 2015-12-16 Vivotek Inc 網頁認證方法與系統
US9825928B2 (en) * 2014-10-22 2017-11-21 Radware, Ltd. Techniques for optimizing authentication challenges for detection of malicious attacks
CN107454041B (zh) 2016-05-31 2020-06-02 阿里巴巴集团控股有限公司 防止服务器被攻击的方法及装置

Also Published As

Publication number Publication date
RU2018146848A (ru) 2020-07-09
CA3024889C (en) 2021-06-22
AU2017273371A1 (en) 2018-12-06
PL3468128T3 (pl) 2020-11-16
US20200137075A1 (en) 2020-04-30
PH12018502495A1 (en) 2019-04-08
CA3024889A1 (en) 2017-12-07
AU2017273371B2 (en) 2020-12-24
KR20190015327A (ko) 2019-02-13
BR112018074497B1 (pt) 2021-11-30
SG11201810205XA (en) 2018-12-28
RU2734027C2 (ru) 2020-10-12
EP3468128A1 (en) 2019-04-10
EP3468128B1 (en) 2020-08-19
CN107454041A (zh) 2017-12-08
US10965689B2 (en) 2021-03-30
JP6859518B2 (ja) 2021-04-14
TW201743237A (zh) 2017-12-16
KR102242219B1 (ko) 2021-04-21
JP2019519849A (ja) 2019-07-11
RU2018146848A3 (es) 2020-07-09
MX2018014378A (es) 2019-08-12
US10986101B2 (en) 2021-04-20
US20190109861A1 (en) 2019-04-11
CN107454041B (zh) 2020-06-02
BR112018074497A2 (pt) 2019-05-28
WO2017206605A1 (zh) 2017-12-07
EP3468128A4 (en) 2019-04-24

Similar Documents

Publication Publication Date Title
ES2818588T3 (es) Método y dispositivo para evitar que el servidor sea atacado
US10073916B2 (en) Method and system for facilitating terminal identifiers
CN105337949B (zh) 一种SSO认证方法、web服务器、认证中心和token校验中心
ES2644593T3 (es) Método y dispositivo de autentificación de identidad
US9934310B2 (en) Determining repeat website users via browser uniqueness tracking
CN107003976A (zh) 基于可准许活动规则确定可准许活动
US11750649B2 (en) System and method for blocking phishing attempts in computer networks
US9864870B2 (en) Restricting network spidering
TWI701932B (zh) 一種身份認證方法、伺服器及用戶端設備
CN114238959A (zh) 基于零信任安全系统的用户访问行为评估方法及系统
CN110581841B (zh) 一种后端反爬虫方法
US11557005B2 (en) Addressing propagation of inaccurate information in a social networking environment
US11418570B2 (en) Robust computing device identification framework
Merelo-Guervós et al. Designing and Modeling a Browser-Based DistributedEvolutionary Computation System
US9098266B1 (en) Data layer service availability
CN116975839A (zh) 基于struts2组件的资源共享方法、设备及介质