{"id":916,"date":"2023-03-25T12:12:55","date_gmt":"2023-03-25T11:12:55","guid":{"rendered":"http:\/\/localhost\/neus-cslab\/?page_id=916"},"modified":"2024-12-11T12:39:49","modified_gmt":"2024-12-11T11:39:49","slug":"inspectorlog","status":"publish","type":"page","link":"https:\/\/dtstc.ugr.es\/neus-cslab\/recursos\/inspectorlog\/","title":{"rendered":"Inspectorlog"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"916\" class=\"elementor elementor-916\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0ad7cb7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0ad7cb7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-a16bc3b\" data-id=\"a16bc3b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d44b774 elementor-widget elementor-widget-image\" data-id=\"d44b774\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"453\" height=\"327\" src=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/PT_portviewer.png\" class=\"attachment-large size-large wp-image-2494\" alt=\"\" srcset=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/PT_portviewer.png 453w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/PT_portviewer-300x217.png 300w\" sizes=\"(max-width: 453px) 100vw, 453px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d18887 elementor-widget elementor-widget-progress\" data-id=\"4d18887\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"progress.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<span class=\"elementor-title\" id=\"elementor-progress-bar-4d18887\">\n\t\t\t\tProgreso\t\t\t<\/span>\n\t\t\n\t\t<div aria-labelledby=\"elementor-progress-bar-4d18887\" class=\"elementor-progress-wrapper\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"98\">\n\t\t\t<div class=\"elementor-progress-bar\" data-max=\"98\">\n\t\t\t\t<span class=\"elementor-progress-text\"><\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-progress-percentage\">98%<\/span>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-7137eec\" data-id=\"7137eec\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-69ba774 elementor-widget elementor-widget-heading\" data-id=\"69ba774\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">InspectorLOG v3.6<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-805acf0 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"805acf0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-barcode\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tTipo contribuci\u00f3n\/resultado\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tHerramienta p\u00fablica (en proceso de publicaci\u00f3n)\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e69aa0 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"6e69aa0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-file-contract\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tDescripci\u00f3n\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tHerramienta SIDS para detecci\u00f3n de ataques basados en URI mediante firmas sobre archivos de traza del servicio<br>Acepta diferentes formatos de trazas y firmas en formato Snort, Nemesida y CRS<br> \t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8526dd0 elementor-position-right elementor-vertical-align-bottom elementor-widget elementor-widget-image-box\" data-id=\"8526dd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"360\" height=\"103\" src=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2022\/03\/descarga.png\" class=\"attachment-full size-full wp-image-767\" alt=\"\" srcset=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2022\/03\/descarga.png 360w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2022\/03\/descarga-300x86.png 300w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/figure><div class=\"elementor-image-box-content\"><p class=\"elementor-image-box-description\">Este resultado ha sido parcialmente financiado por  MCIN\/ AEI\/10.13039\/501100011033\/<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-046446f elementor-position-right elementor-vertical-align-bottom elementor-widget elementor-widget-image-box\" data-id=\"046446f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img decoding=\"async\" width=\"777\" height=\"243\" src=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/04\/feder-ja.png\" class=\"attachment-full size-full wp-image-2001\" alt=\"\" srcset=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/04\/feder-ja.png 777w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/04\/feder-ja-300x94.png 300w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/04\/feder-ja-768x240.png 768w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><\/figure><div class=\"elementor-image-box-content\"><p class=\"elementor-image-box-description\">Este resultado ha sido parcialmente financiado por  FEDER\/ Junta de Andaluc\u00eda<\/p><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f87668f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f87668f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-74dd240\" data-id=\"74dd240\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fe98fbf elementor-widget elementor-widget-heading\" data-id=\"fe98fbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Presentaci\u00f3n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f8f9f1 elementor-widget elementor-widget-text-editor\" data-id=\"8f8f9f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los SIDS m\u00e1s habituales (p.ej. Snort, Suricata) operan sobre tr\u00e1fico en tiempo real o capturas en formato pcap, no estando disponibles en la actualidad herramientas que apliquen las firmas correspondientes sobre trazas en formato texto. Por tanto, para la detecci\u00f3n de ataques a partir de las trazas de HTTP usando ese tipo de firmas ha sido necesario desarrollar una herramienta espec\u00edfica. En sus primeras versiones, se implementaba una funcionalidad b\u00e1sica y \u00fanicamente se procesaban firmas en formato <em>Snort<\/em>. En las sucesivas versiones, sus funcionalidades y capacidades han sido complementadas, pudiendo usar tambi\u00e9n las firmas p\u00fablicas usadas por <em>Nemesida<\/em> y <em>ModSecurity<\/em>. Inspectorlog \u00fanicamente <strong>considera el URI<\/strong> y, en su caso, <strong>el m\u00e9todo<\/strong> contenido en cada petici\u00f3n. Es decir, la detecci\u00f3n se realiza \u00fanicamente sobre esos campos de los archivos de traza.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">En su versi\u00f3n actual (v3.6) se encuentra implementada mediante dos programas: <strong>inspectorlog<\/strong> y <strong>ms-inspectorlog <\/strong>que aplican, respectivamente, las firmas tipo <em>Snort<\/em> y <em>Nemesida<\/em> por un lado y las reglas compatibles con <em>ModSecurity<\/em>, por otro. Para esto \u00faltimo utiliza la librer\u00eda <em>libmodsecurity3<\/em>.<strong><br \/><\/strong><\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Ambos programas toman como entradas un conjunto de firmas de ataque, en el formato correspondiente, y un archivo de trazas HTTP. A la salida se pueden generar diversos listados conteniendo los registros que han activado alguna regla, junto con detalles sobre las reglas activadas,\u00a0 as\u00ed como listados de los registros que no activan ninguna de las reglas, es decir, presumiblemente leg\u00edtimos. Es decir, permite la obtenci\u00f3n de <strong>listados de peticiones limpias<\/strong> y <strong>listados de peticiones de ataque<\/strong>.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">La herramienta ha ido evolucionando para posibilitar <strong>diferentes formatos de entrada<\/strong> para las trazas y capacidades cada vez m\u00e1s pr\u00f3ximas a las de sus correspondientes versiones sobre tr\u00e1fico real. Sin embargo, dada la naturaleza de la entrada, presenta algunas limitaciones relevantes, especialmente en lo que se refiere a los criterios relacionados con los flujos (<em>flowbits<\/em>, <em>flow<\/em>). Esta limitaci\u00f3n es insalvable. En la versi\u00f3n actual, los campos de las reglas que determinan las posiciones relativas entre los diferentes componentes de las reglas (<em>p.e.<\/em> <em>distance<\/em>) son obviados.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Inspectorlog se encuentra en constante desarrollo, incorpor\u00e1ndose nuevos elementos y capacidades a medida que va evolucionando. Ha sido <strong>validada<\/strong> con resultados satisfactorios sobre varios conjuntos de trazas, tanto p\u00fablicas como privadas, pudiendo explicarse las pocas discrepancias existentes en base a las limitaciones descritas.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fcb13c8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fcb13c8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a2891f\" data-id=\"7a2891f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-38cb526 elementor-widget elementor-widget-heading\" data-id=\"38cb526\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Funcionamiento<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bed7987 elementor-widget elementor-widget-text-editor\" data-id=\"bed7987\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">El funcionamiento de <strong>InspectorLog<\/strong> se basa en la b\u00fasqueda de las firmas asociadas a cada regla en las URI a partir de la comparaci\u00f3n de cadenas, incluyendo la b\u00fasqueda de expresiones regulares.\u00a0 Para ello se utiliza una arquitectura modular (Fig. 1) en la que el n\u00facleo es el m\u00f3dulo de detecci\u00f3n, cuya funci\u00f3n es aplicar secuencialmente el conjunto de reglas seleccionadas a cada una de las peticiones en las trazas.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5dc4e6a elementor-widget elementor-widget-image\" data-id=\"5dc4e6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"wp-caption\">\n\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"340\" src=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-768x340.png\" class=\"attachment-medium_large size-medium_large wp-image-2538\" alt=\"\" srcset=\"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-768x340.png 768w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-300x133.png 300w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-1024x453.png 1024w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-1536x679.png 1536w, https:\/\/dtstc.ugr.es\/neus-cslab\/wp-content\/uploads\/2023\/05\/inspectorlog-1-2048x906.png 2048w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t<figcaption class=\"widget-image-caption wp-caption-text\">Fig. 1: Diagrama de bloques de InspectorLog<\/figcaption>\n\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1897453 elementor-widget elementor-widget-text-editor\" data-id=\"1897453\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">La herramienta toma como entrada un archivo de traza y un conjunto de reglas (firmas) y genera a la salida listados con las URI consideradas leg\u00edtimas y con las URI de ataque. El procesamiento realizado es:<\/p>\n<p style=\"text-align: justify; text-indent: -20pt; line-height: normal; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <i>Inicializaci\u00f3n:\u00a0 <\/i>Durante la inicializaci\u00f3n de la herramienta\u00a0 se leen una a una las reglas en los archivos correspondientes. Se extraen los diferentes campos de cada regla (m\u00f3dulo <em>parser reglas<\/em>) y se filtran para extraer \u00fanicamente las que afectan al servicio HTTP (m\u00f3dulo <em>filtrado reglas<\/em>). En funci\u00f3n del tipo de formato para las trazas, se filtran tambi\u00e9n los m\u00e9todos no considerados por la herramienta.\u00a0 Finalmente, se genera una base de datos de firmas (bloque <em>firmas<\/em>) a partir de la extracci\u00f3n de los patrones y condiciones a buscar (m\u00f3dulo <em>extracci\u00f3n patrones<\/em>).<\/p>\n<p style=\"text-align: justify; text-indent: -20pt; line-height: normal; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <i>An\u00e1lisis<\/i>: Una vez inicializadas las reglas y par\u00e1metros de b\u00fasqueda, se leen uno a uno los registros en el archivo de traza, extrayendo los campos de inter\u00e9s de entre los disponibles seg\u00fan el formato de entrada (m\u00f3dulo <em>parser trazas<\/em>). En funci\u00f3n de las opciones activas, se filtran las peticiones por c\u00f3digo de respuesta (CR&lt;300 o CR&lt;400) (m\u00f3dulo <em>filtrado CR<\/em>). A continuaci\u00f3n se normalizan los URI (m\u00f3dulo <em>normalizaci\u00f3n URI<\/em>), especialmente en relaci\u00f3n al denominado <i>percent encoding<\/i>. Esta normalizaci\u00f3n se realiza de forma iterativa, de tal forma que en la primera iteraci\u00f3n no se realiza ninguna modificaci\u00f3n y en cada iteraci\u00f3n\u00a0 posterior se decodifican las secuencias de <em>percent encoding<\/em>. El proceso se repite mientras existan caracteres codificados. Cada una de las iteraciones genera una petici\u00f3n a la salida que es procesada por el detector (m\u00f3dulo <em>detecci\u00f3n<\/em>), que aplica las firmas una a una en busca de los patrones establecidos en cada una. En caso de detecci\u00f3n en alguna de las iteraciones, se genera un registro de ataque en el que, opcionalmente, se incluye informaci\u00f3n sobre la detecci\u00f3n (firmas activadas). En caso contrario se considera que el registro es leg\u00edtimo y se a\u00f1ade al listado correspondiente.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">La normalizaci\u00f3n de URI es necesaria, a pesar de que el RFC 3986 establece un formato est\u00e1ndar para la representaci\u00f3n de los caracteres, porque son muchos los sistemas que no tienen en cuenta esta recomendaci\u00f3n. Adicionalmente, algunos ataques usan la representaci\u00f3n mediante <em>percent encoding<\/em> como m\u00e9todo de ocultaci\u00f3n. Es m\u00e1s, hemos constatado que se hace de forma iterativa (se usa %25 para codificar el s\u00edmbolo &#8216;%&#8217; y ocultar sucesivas codificaciones). Por otra parte, durante el an\u00e1lisis de las reglas Talos y ETOpen hemos detectado incoherencias en relaci\u00f3n al uso de <em>percent encoding<\/em>. Para solucionar estos problemas hemos establecido, como se ha indicado anteriormente, un procesamiento opcional que, en caso de detectar el uso de <em>percent encoding<\/em> en un URI, aplica todas las reglas, procede a decodificar los caracteres y vuelve a aplicar todas las reglas, repiti\u00e9ndose el proceso mientras existan caracteres codificados.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Una opci\u00f3n similar se contempla para el caso de may\u00fasculas\/min\u00fasculas en las reglas y en la codificaci\u00f3n de los caracteres. En este caso, al activar la opci\u00f3n correspondiente se convierten todos los caracteres a min\u00fascula para el procesamiento.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los campos de las reglas considerados para el an\u00e1lisis, en el caso de reglas en formato Snort, son: <em>content, pcre, http_uri, http_method, dsize, urilen<\/em> y <em>nocase<\/em>. De cada regla se almacenan tambi\u00e9n los campos<em> msg, reference, classtype<\/em> y <em>sid <\/em>para mostrarlos a la salida, seg\u00fan las opciones establecidas, con cada activaci\u00f3n de la regla en el informe de detecci\u00f3n correspondiente.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">La operaci\u00f3n de la herramienta <strong>ms-inspectorlog<\/strong> se basa en la librer\u00eda <em><strong>libmodsecurity3<\/strong><\/em>, que incorpora funciones para la carga de las reglas y la detecci\u00f3n. Por tanto, el diagrama funcional se simplifica. En este caso, el bloque de inicializaci\u00f3n corresponde a la llamada a la funci\u00f3n correspondiente de la librer\u00eda. De la misma forma, el m\u00f3dulo de detecci\u00f3n se encuentra implementado en dicha librer\u00eda y se ejecuta sobre cada petici\u00f3n. En este caso no se aplica el m\u00f3dulo de normalizaci\u00f3n de URI, por estar incorporado el procesamiento asociado en la funci\u00f3n de la librer\u00eda.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6212ceb elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6212ceb\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b1626b\" data-id=\"7b1626b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b753410 elementor-widget elementor-widget-heading\" data-id=\"b753410\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Uso y formatos<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-520cf06 elementor-widget elementor-widget-text-editor\" data-id=\"520cf06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<span style=\"color: #038daa; font-size: 120%;\"><strong>Inspectorlog<\/strong><\/span>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Analiza archivos de trazas conteniendo URIs en los formatos de entrada definidos y aplica las reglas contenidas en los archivos del directorio de reglas (<em>snort<\/em>) o el archivo indicado (<em>nemesida<\/em>), informando sobre las uris y alertas asociadas.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">COMANDO:<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lucida Console','Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">\u00a0inspectorlog -l logFile [-t &lt;list|elist|apache|wellness|uri|telist&gt;] [-b (labeled uris)] -a attack_output [-r ruleDir(snort)] [-m rulefile(nemeside)] [-o clean_log_output] [-f (raw_attacks)] [-n (nocase)] [-e (extended_alerts)] [-w (encoding warnings)] [-c (response code filtering)] [-x (strict response code filt)]<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">PAR\u00c1METROS:<\/p>\n\n<table style=\"width: auto !important; margin-left: 40pt; box-sizing: border-box; margin-bottom: 0px; border: 0px solid #038daa;\">\n<tbody>\n<tr style=\"padding: 0px;\">\n<td style=\"width: 30%; text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-l logFile<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Archivo de traza a procesar<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-t &lt;list|apache|wellness|uri| elist| telist&gt;<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Formato del archivo de traza. Por defecto, se usa formato <span style=\"font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem;\">apache<\/span>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-b<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Se usan identificadores (labels) para cada petici\u00f3n en archivo de traza.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-a attack_output<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Archivo de salida (ataques). Por defecto en formato U2URI.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-r ruleDir(snort)<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Directorio con los archivos de reglas de Snort. Se procesan TODOS los archivos en el directorio.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-m rulefile(nemeside)<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Archivo de reglas Nemesida.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-o clean_log_output<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Archivo de salida con los elementos de la traza que no han generado alertas (filtrado, en su caso). Formato de salida id\u00e9ntico al de entrada.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-f<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Generar el listado de ataques sin informaci\u00f3n de detecci\u00f3n. El formato de salida ser\u00e1 id\u00e9ntico al de entrada.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"width: auto !important; text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-n<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Aplicar las reglas ignorando may\u00fasculas y min\u00fasculas en todos los casos. En caso contrario, se usar\u00e1 la regla de acuerdo a la etiqueta \u00ab<em>nocase<\/em>\u00bb existente o al switch de la expresi\u00f3n regular correspondiente.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-e<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Activar informaci\u00f3n extendida de las alertas (se incluye mensaje de alerta y <em>sid<\/em>). Por defecto s\u00f3lo se indica el <em>sid<\/em>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-w<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Generar avisos cuando no se puedan decodificar caracteres <em>percent encoded<\/em>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-c<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Filtrado por c\u00f3digo de respuesta para CR &gt;=400.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-x<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Filtrado estricto por c\u00f3digo de respuesta (para CR &gt;=300).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<span style=\"color: #038daa; font-size: 120%;\"><strong>ms-inspectorlog<\/strong><\/span>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Analiza archivos de trazas conteniendo URIs en los formatos de entrada definidos y aplica reglas compatibles con ModSecurity (p.e. CRS), informando sobre las uris y alertas asociadas.<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">COMANDO:<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lucida Console','Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">ms-inspectorlog -l logFile [-t&lt;list|elist|apache|wellness|uri|telist&gt; &lt;list|elist|apache|wellness|uri|telist&gt;] [-b (labeled uris)] -a attack_output -r modsecurity_conf_file [-o clean_log_output] [-e (extended_alerts)] [-w (encoding warnings)] [-c (response code filtering)]\u00a0 [-x (strict response code filt)] [-d detailed_log_output]<\/p>\n<p style=\"text-align: justify; text-indent: 20pt; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">PAR\u00c1METROS:<\/p>\n\n<table style=\"width: auto !important; margin-left: 40pt; box-sizing: border-box; margin-bottom: 0px; border: 0px solid #038daa;\">\n<tbody>\n<tr style=\"padding: 0px;\">\n<td style=\"width: 30%; text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-l logFile<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Archivo de traza a procesar<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-t &lt;list|apache|wellness|uri|elist|telist&gt;<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Formato del archivo de traza. Por defecto, se usa formato <span style=\"font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem;\">apache<\/span>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-b<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Se usan identificadores (labels) para cada petici\u00f3n en archivo de traza.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-a attack_output<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Archivo de salida (ataques). Por defecto en formato U2URI.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-r modsecurity_conf_file<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">Archivo de configuraci\u00f3n de ModSecurity.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-o clean_log_output<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Archivo de salida con los elementos de la traza que no han generado alertas (filtrado, en su caso). Formato de salida id\u00e9ntico al de entrada.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-e<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Activar informaci\u00f3n extendida de las alertas (se incluye mensaje de alerta y <em>sid<\/em>). Por defecto s\u00f3lo se indica el <em>sid<\/em>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-w<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Generar avisos cuando no se puedan decodificar caracteres <em>percent encoded<\/em>.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-c<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Filtrado por c\u00f3digo de respuesta para CR &gt;=400.<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-x<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Filtrado estricto por c\u00f3digo de respuesta (para CR &gt;=300).<\/td>\n<\/tr>\n<tr style=\"border: 0px;\">\n<td style=\"text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\">-d detailed_log_output<\/td>\n<td style=\"text-align: justify; line-height: normal; font-family: 'Lato',serif; font-style: normal; font-weight: 300; border: 0px; padding-top: 0px; padding-bottom: 5px;\">(opcional) Archivo de traza de libModSecurity.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bbcec4 elementor-widget elementor-widget-heading\" data-id=\"3bbcec4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Formatos<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca38cbe elementor-widget elementor-widget-text-editor\" data-id=\"ca38cbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #038daa; font-size: 120%;\"><strong>Archivos de trazas<\/strong><\/span><\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los formatos disponibles en la versi\u00f3n actual para el archivo de traza son:<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>apache<\/em>: Formato est\u00e1ndar de Apache.<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>wellness<\/em>: Variante del formato Apache con datos adicionales.<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>list<\/em>: Lista de URIs sin m\u00e9todo ni campos adicionales.<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>elist<\/em>: Lista de uris con 5 campos: petici\u00f3n uri\u00a0 protocolo codigo_respuesta tama\u00f1o_respuesta.<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>telist<\/em>: Idem elist con campos delimitados por tabuladores.<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; <em>uri<\/em>: La primera l\u00ednea contiene el n\u00famero de uris en el archivo. Cada l\u00ednea incluye la longitud y el uri.<\/p><p><span style=\"color: #038daa; font-size: 100%; margin-left: 20pt;\"><strong>Ejemplos<\/strong><\/span><\/p><table style=\"width: auto !important; margin-left: 20pt; box-sizing: border-box; margin-bottom: 0px; border: 1px solid #038daa;\"><tbody><tr style=\"padding: 0px;\"><td style=\"width: 30%; text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\"><div style=\"color: #0a3824; line-height: 120%; font-size: 1.2rem;\"><p>\u00a0<\/p><p style=\"margin-left: 20pt;\">\/* TIPO APACHE (12 campos) *\/<\/p><p style=\"margin-left: 20pt;\">IP USERIDENTIFIER USERID [TIMESTAMP DIF] \u00abMETHOD URI PROTOCOL\u00bb RESP_CODE RESP_SIZE \u00ab-\u00bb \u00abREFERER\u00bb<\/p><p style=\"margin-left: 20pt;\">172.16.16.210 &#8211; &#8211; [02\/May\/2017:12:21:07 +0200]\u00a0 \u00abGET http:\/\/127.0.0.1\/finger HTTP\/1.1\u00bb 404 289 \u00ab-\u00bb \u00abWget\/1.17.1 (linux-gnu)\u00bb<br \/>37.152.139.155 &#8211; &#8211; [07\/Nov\/2013:17:00:31 -0800] \u00abGET \/2003\/padron.html HTTP\/1.1\u00bb 200 11800 \u00ab-\u00bb \u00abJava\/1.7.0_15\u00bb \u00abajedreznd.com\u00bb<\/p><p style=\"margin-left: 20pt;\">\/* TIPO WELLNESS (10 campos) *\/<\/p><p style=\"margin-left: 20pt;\">TIMESTAMP NODE PLACE IP:PORT {server} \u00abMETHOD URI VER\u00bb RESP_CODE RESP_SIZE<\/p><p style=\"margin-left: 20pt;\">2017-06-22T06:25:15.356441+02:00 A-SQU-BAL-HAP03 haproxy[5518]: 10.128.2.64:46469 {www.wtelecom.es} \u00abGET \/ HTTP\/1.1\u00bb main_http_frontend WT_www_be\/A-WTE-INF-WEB03<\/p><p style=\"margin-left: 20pt;\">\/* TIPO LIST *\/<\/p><p style=\"margin-left: 20pt;\">URI<\/p><p style=\"margin-left: 20pt;\">\/2003\/padron.html<\/p><p style=\"margin-left: 20pt;\">\/* TIPO ELIST (campos delimitados por espacios) \/ TELIST (campos delimitados por tabuladores) *\/<\/p><p style=\"margin-left: 20pt;\">METHOD URI PROTOCOL\u00bb RESP_CODE RESP_SIZE<\/p><p style=\"margin-left: 20pt;\">GET \/ingenieros\/node HTTP\/1.1&#8243; 200 26091<\/p><p style=\"margin-left: 20pt;\">\/* TIPO URI (1a linea con numero de uris) *\/<\/p><p style=\"margin-left: 20pt;\">17 \/2003\/padron.html<\/p><p>\u00a0<\/p><\/div><\/td><\/tr><\/tbody><\/table><p><span style=\"color: #038daa; font-size: 120%;\"><strong>Archivos de reglas<\/strong><\/span><\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Se consideran tres formatos:<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; Reglas est\u00e1ndar de Snort (Talos\/VRT\/suricata\/ETOpen)<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; Reglas de nemesida (archivo de texto, descargado desde <a href=\"https:\/\/rlinfo.nemesida-security.com\/\">https:\/\/rlinfo.nemesida-security.com\/<\/a>)<\/p><p style=\"text-align: justify; text-indent: -20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align; margin: 5.0pt 20pt 1pt 40pt;\">&#8211; Reglas y archivos de configuraci\u00f3n en el formato definido por ModSecurity (CRS)<\/p><p>\u00a0<\/p><table style=\"width: auto !important; margin-left: 20pt; box-sizing: border-box; margin-bottom: 0px; border: 1px solid #038daa;\"><tbody><tr style=\"padding: 0px;\"><td style=\"background-color: #038daa; color: #ffffff; margin: 0px; padding-top: 0px; padding-bottom: 0px;\">Reglas formato SNORT<\/td><\/tr><tr><td><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Se procesan las reglas en el <strong>formato est\u00e1ndar de Snort<\/strong> (Talos\/VRT\/suricata\/ET).<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">S\u00f3lo se consideran los siguientes campos para la aplicaci\u00f3n de las reglas: <span style=\"font-family: 'Lucida Console', 'Lato',serif; font-size: 1.3rem;\">http_method, http_uri, content, pcre, dsize, urilen, nocase <\/span>.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los campos <span style=\"font-family: 'Lucida Console', 'Lato',serif; font-size: 1.3rem;\">msg, reference, classtype, sid<\/span> se procesan a efectos de referencia e indexaci\u00f3n.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los restantes campos son ignorados.<\/p><\/td><\/tr><tr><td style=\"background-color: #038daa; color: #ffffff; margin: 0px; padding-top: 0px; padding-bottom: 0px;\">Reglas formato Nemesida<\/td><\/tr><tr><td><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">El archivo de reglas de Nemesida (Nemesida Community Edition) es un archivo de texto obtenido a partir de https:\/\/rlinfo.nemesida-security.com\/ en el que se eliminan las l\u00edneas que no contienen reglas y el formato html. El resultado presenta el siguiente formato:<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lucida Console', 'Lato',serif; font-size: 1.3rem; font-style: normal; font-weight: 300; justify-content: align;\">RID TIPO FIRMA ETIQUETA SCORE ZONA_COMPARACI\u00d3N<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lucida Console', 'Lato',serif; font-size: 1.3rem; font-style: normal; font-weight: 300; justify-content: align;\">1 RL nwaftest Other 12 BODY|URL|ARGS|HEADERS<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">donde TIPO puede ser RL, RLx, WL o WLx para indicar una regla de lista negra (firma de ataque), de lista negra usando una expresi\u00f3n regular, lista blanca (petici\u00f3n leg\u00edtima en todos los casos) o lista blanca usando una expresi\u00f3n regular, respectivamente.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Para posibilitar la compatibilidad con las reglas en formato Snort, se asigna un SID a cada regla Nemesida a partir del RID sum\u00e1ndole 3000000.<\/p><\/td><\/tr><\/tbody><\/table><p><span style=\"color: #038daa; font-size: 120%;\"><strong>Formato de salida (U2URI)<\/strong><\/span><\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">La salida relativa a los ataques se realiza a un archivo y contiene informaci\u00f3n una primera secci\u00f3n con informaci\u00f3n sobre las reglas cargadas y su procesamiento. A continuaci\u00f3n, cada l\u00ednea corresponde a un registro clasificado como ataque con el siguiente formato:<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lucida Console', 'Lato',serif; font-size: 1.3rem; font-style: normal; font-weight: 300; justify-content: align;\">Packet [numero_linea][etiqueta]\\tUri [uri_analizado]\\tNattacks [num_alertas]\\t[info_alerta_1]\\t &#8230; \\t[info_alerta_n]<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Los campos se encuentran delimitados por tabuladores y la [etiqueta] \u00fanicamente estar\u00e1 presente si existe en el archivo de traza de entrada.<br \/>La informaci\u00f3n sobre cada alerta depende de la opci\u00f3n -e (extendida), incluyendo siempre el SID de la regla activada y, opcionalmente, el mensaje asociado a la misma.<\/p><p style=\"text-align: justify; text-indent: 20pt; line-height: 150%; font-family: 'Lato',serif; font-style: normal; font-weight: 300; justify-content: align;\">Finalmente, se incluye una l\u00ednea con informaci\u00f3n sobre el n\u00famero de registros (procesados, con alertas y n\u00famero de alertas).<\/p><p>Las l\u00edneas que no contienen informaci\u00f3n relativa a un paquete comienzan por el car\u00e1cter &#8216;#&#8217; para facilitar su filtrado.<\/p><p><span style=\"color: #038daa; font-size: 100%; margin-left: 20pt;\"><strong>Ejemplo<\/strong><\/span><\/p><table style=\"width: auto !important; margin-left: 20pt; box-sizing: border-box; margin-bottom: 0px; border: 1px solid #038daa;\"><tbody><tr style=\"padding: 0px;\"><td style=\"width: 30%; text-align: left; line-height: normal; font-family: 'Lucida Console','Lato',serif; font-size: 1.4rem; border: 0px; padding-top: 0px; padding-bottom: 5px;\"><p>\u00a0<\/p><div style=\"color: #0a3824; line-height: 100%; font-size: 1.0rem;\"><p style=\"margin-left: 20pt;\"># inspectorlog v3.6.0.1<\/p><p style=\"margin-left: 20pt;\">#&#8212;&#8211; Initializing Rules (SNORT) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p><p style=\"margin-left: 20pt;\"># Rules directory : \u00ab\/data\/uri-data\/biblio-ds\/tmp\/reglas\u00bb<\/p><p style=\"margin-left: 20pt;\"># Opening SNORT rule file .\/tmp\/reglas\/http_uri-er-20220224-m2.rules&#8230; done<\/p><p style=\"margin-left: 20pt;\"># Rules: read [5918], erroneous [8], URI [5910]<\/p><p style=\"margin-left: 20pt;\">#&#8212;&#8211; Statistics (SNORT) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p><p style=\"margin-left: 20pt;\"># Read [9514] Snort rules, [9500] http-related, [13] with errors<\/p><p style=\"margin-left: 20pt;\">#&#8212;&#8211; Analysis results &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/p><p style=\"margin-left: 20pt;\"># Alerts &amp; signatures generated from: \/data\/bin\/inspectorlog -l raw-logs\/apachelog-20170101.ltxt -t telist -b -r .\/tmp\/reglas\/ -a rev3\/attack-uris\/apachelog-20170101-attacks.u2uri -n<\/p><p style=\"margin-left: 20pt;\">Packet [629][01-01-A000629] Uri [\/politecnica\/sites\/all\/modules\/calendar\/css\/calendar_multiday.css?o8r51f] Nattacks [1] Signatures [882]<\/p><p style=\"margin-left: 20pt;\">Packet [763][01-01-A000763] Uri [\/sites\/wdn4.mu.xs\/files\/Biblioteca_Universitaria\/calendario_web_sabados_2015-16.jpg] Nattacks [1] Signatures [882]<\/p><p style=\"margin-left: 20pt;\">Packet [805][01-01-A000805] Uri [\/comunicacion\/sites\/all\/modules\/calendar\/css\/calendar_multiday.css?o86dyb] Nattacks [1] Signatures [882]<br \/>&#8230;<\/p><p style=\"margin-left: 20pt;\"># N. packets [35934], [44] with alerts, N. Alerts [49]<\/p><div>\u00a0<\/div><\/div><\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-48e19e7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"48e19e7\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bad0918\" data-id=\"bad0918\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a521e42 elementor-widget elementor-widget-heading\" data-id=\"a521e42\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Documentos t\u00e9cnicos \/ recursos<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2e12eec elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2e12eec\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-987b3dd\" data-id=\"987b3dd\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-052518c elementor-widget elementor-widget-text-editor\" data-id=\"052518c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tLa herramienta est\u00e1 disponible en github en la direcci\u00f3n:\n<pre><a href=\"https:\/\/gitlab.com\/neus_cslab\/inspectorlog\">https:\/\/gitlab.com\/neus_cslab\/inspectorlog<\/a><\/pre>\n&nbsp;\n\n<span style=\"color: #038daa; font-size: 120%;\"><strong>Publicaciones<\/strong><\/span><br>\n\n<div class=\"teachpress_pub_list\"><form name=\"tppublistform\" method=\"get\"><a name=\"tppubs\" id=\"tppubs\"><\/a><\/form><div class=\"teachpress_publication_list\"><div class=\"tp_publication tp_publication_inproceedings\"><div class=\"tp_pub_info\"><p class=\"tp_pub_author\"> D\u00edaz-Verdejo, J.;  Mu\u00f1oz-Calle, J.;  Alonso, R. Estepa;  Alonso, A. Estepa<\/p><p class=\"tp_pub_title\"><a class=\"tp_title_link\" onclick=\"teachpress_pub_showhide('491','tp_links')\" style=\"cursor:pointer;\">InspectorLog : A New Tool for Offline Attack Detection over Web Log<\/a> <span class=\"tp_pub_type tp_  inproceedings\">Proceedings Article<\/span> <\/p><p class=\"tp_pub_additional\"><span class=\"tp_pub_additional_in\">En: <\/span><span class=\"tp_pub_additional_booktitle\">Proceedings of the 21st International Conference on Security and Cryptography (SECRYPT 2024), <\/span><span class=\"tp_pub_additional_pages\">pp. 692\u2013697, <\/span><span class=\"tp_pub_additional_year\">2024<\/span>, <span class=\"tp_pub_additional_isbn\">ISBN: 9789897587092<\/span>.<\/p><p class=\"tp_pub_menu\"><span class=\"tp_abstract_link\"><a id=\"tp_abstract_sh_491\" class=\"tp_show\" onclick=\"teachpress_pub_showhide('491','tp_abstract')\" title=\"Mostrar resumen\" style=\"cursor:pointer;\">Resumen<\/a><\/span> | <span class=\"tp_resource_link\"><a id=\"tp_links_sh_491\" class=\"tp_show\" onclick=\"teachpress_pub_showhide('491','tp_links')\" title=\"Mostrar enlaces y recursos\" style=\"cursor:pointer;\">Enlaces<\/a><\/span> | <span class=\"tp_bibtex_link\"><a id=\"tp_bibtex_sh_491\" class=\"tp_show\" onclick=\"teachpress_pub_showhide('491','tp_bibtex')\" title=\"Mostrar entrada BibTeX \" style=\"cursor:pointer;\">BibTeX<\/a><\/span><\/p><div class=\"tp_bibtex\" id=\"tp_bibtex_491\" style=\"display:none;\"><div class=\"tp_bibtex_entry\"><pre>@inproceedings{Diaz-Verdejo2024a,<br \/>\r\ntitle = {InspectorLog : A New Tool for Offline Attack Detection over Web Log},<br \/>\r\nauthor = {J. D\u00edaz-Verdejo and J. Mu\u00f1oz-Calle and R. Estepa Alonso and A. Estepa Alonso},<br \/>\r\ndoi = {10.5220\/0012764000003767},<br \/>\r\nisbn = {9789897587092},<br \/>\r\nyear  = {2024},<br \/>\r\ndate = {2024-01-01},<br \/>\r\nurldate = {2024-01-01},<br \/>\r\nbooktitle = {Proceedings of the 21st International Conference on Security and Cryptography (SECRYPT 2024)},<br \/>\r\nnumber = {Secrypt},<br \/>\r\npages = {692\u2013697},<br \/>\r\nabstract = {InspectorLog is a novel tool for offline analysis of HTTP logs. The tool processes web server logs to identify attacks using diverse rule sets, focusing primarily on the URI field. It is compatible with standard rule formats from systems such as Snort, Nemesida, and ModSecurity. This paper describes InspectorLog functionalities, architecture and applications to the scientific community. We also experimentally validate InspectorLog by comparing its detection power with that of the IDS from which rules are taken. Inspector log fills a gap in available tools in cybersecurity practices in forensic analysis, dataset sanitization, and signature tuning. Future enhancements are planned to support additionalWeb Application Firewalls (WAFs), new rule types, and HTTP protocol methods, aiming to broaden its scope and utility in the ever-evolving domain of network security.},<br \/>\r\nkeywords = {},<br \/>\r\npubstate = {published},<br \/>\r\ntppubtype = {inproceedings}<br \/>\r\n}<br \/>\r\n<\/pre><\/div><p class=\"tp_close_menu\"><a class=\"tp_close\" onclick=\"teachpress_pub_showhide('491','tp_bibtex')\">Cerrar<\/a><\/p><\/div><div class=\"tp_abstract\" id=\"tp_abstract_491\" style=\"display:none;\"><div class=\"tp_abstract_entry\">InspectorLog is a novel tool for offline analysis of HTTP logs. The tool processes web server logs to identify attacks using diverse rule sets, focusing primarily on the URI field. It is compatible with standard rule formats from systems such as Snort, Nemesida, and ModSecurity. This paper describes InspectorLog functionalities, architecture and applications to the scientific community. We also experimentally validate InspectorLog by comparing its detection power with that of the IDS from which rules are taken. Inspector log fills a gap in available tools in cybersecurity practices in forensic analysis, dataset sanitization, and signature tuning. Future enhancements are planned to support additionalWeb Application Firewalls (WAFs), new rule types, and HTTP protocol methods, aiming to broaden its scope and utility in the ever-evolving domain of network security.<\/div><p class=\"tp_close_menu\"><a class=\"tp_close\" onclick=\"teachpress_pub_showhide('491','tp_abstract')\">Cerrar<\/a><\/p><\/div><div class=\"tp_links\" id=\"tp_links_491\" style=\"display:none;\"><div class=\"tp_links_entry\"><ul class=\"tp_pub_list\"><li><i class=\"ai ai-doi\"><\/i><a class=\"tp_pub_list\" href=\"https:\/\/dx.doi.org\/10.5220\/0012764000003767\" title=\"DOI de seguimiento:10.5220\/0012764000003767\" target=\"_blank\">doi:10.5220\/0012764000003767<\/a><\/li><\/ul><\/div><p class=\"tp_close_menu\"><a class=\"tp_close\" onclick=\"teachpress_pub_showhide('491','tp_links')\">Cerrar<\/a><\/p><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Progreso 98% InspectorLOG v3.6 Tipo contribuci\u00f3n\/resultado Herramienta p\u00fablica (en proceso de publicaci\u00f3n) Descripci\u00f3n Herramienta SIDS para detecci\u00f3n de ataques basados en URI mediante firmas sobre archivos de traza del servicioAcepta diferentes formatos de trazas y firmas en formato Snort, Nemesida y CRS Este resultado ha sido parcialmente financiado por MCIN\/ AEI\/10.13039\/501100011033\/ Este resultado ha sido [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":430,"parent":911,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":""},"class_list":["post-916","page","type-page","status-publish","has-post-thumbnail","hentry","entry","has-media"],"_links":{"self":[{"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/pages\/916","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/comments?post=916"}],"version-history":[{"count":162,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/pages\/916\/revisions"}],"predecessor-version":[{"id":3072,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/pages\/916\/revisions\/3072"}],"up":[{"embeddable":true,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/pages\/911"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/media\/430"}],"wp:attachment":[{"href":"https:\/\/dtstc.ugr.es\/neus-cslab\/wp-json\/wp\/v2\/media?parent=916"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}