{"id":29957,"date":"2019-10-31T21:32:53","date_gmt":"2019-10-31T18:32:53","guid":{"rendered":"https:\/\/prohoster.info\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1\/"},"modified":"2019-10-31T21:32:53","modified_gmt":"2019-10-31T18:32:53","slug":"skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","title":{"rendered":"Escaneo de vulnerabilidades y desarrollo seguro. Parte 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Escaneo de vulnerabilidades y desarrollo seguro. Parte 1\" src=\"\/wp-content\/uploads\/2019\/03\/d085cf1b23386d01188726e1590ad1a9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEn el marco de la actividad profesional, los desarrolladores, pentesters y expertos en seguridad deben enfrentarse a procesos como la Gesti\u00f3n de Vulnerabilidades (VM) y el SDLC (Secure).<br \/>\nBajo estas frases se esconden diversos conjuntos de pr\u00e1cticas y herramientas utilizadas, que est\u00e1n entrelazadas, aunque sus usuarios son diferentes.<\/p>\n<p>El progreso t\u00e9cnico a\u00fan no ha llegado a un punto en el que una herramienta pueda reemplazar al ser humano en el an\u00e1lisis de la seguridad de la infraestructura y el software.<br \/>\nEs interesante entender por qu\u00e9 es as\u00ed y qu\u00e9 problemas deben enfrentarse.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Procesos<\/h2>\n<p>\nEl proceso de Gesti\u00f3n de Vulnerabilidades est\u00e1 dise\u00f1ado para el monitoreo continuo de la seguridad de la infraestructura y la gesti\u00f3n de parches.<br \/>\nEl proceso de SDLC Seguro est\u00e1 destinado a apoyar la seguridad de la aplicaci\u00f3n durante el desarrollo y operaci\u00f3n.<\/p>\n<p>Una parte similar de estos procesos es el proceso de Evaluaci\u00f3n de Vulnerabilidades, que implica escaneos para detectar vulnerabilidades.<br \/>\nLa principal diferencia en el escaneo dentro de VM y SDLC es que en el primer caso el objetivo es detectar vulnerabilidades conocidas en software externo o en la configuraci\u00f3n. Por ejemplo, una versi\u00f3n desactualizada de Windows o una cadena de comunidad predeterminada para SNMP.<br \/>\nEn el segundo caso, el objetivo es identificar vulnerabilidades no solo en componentes externos (dependencias), sino principalmente en el c\u00f3digo del nuevo producto.<\/p>\n<p>Esto genera diferencias en herramientas y enfoques. En mi opini\u00f3n, la tarea de encontrar nuevas vulnerabilidades en la aplicaci\u00f3n es considerablemente m\u00e1s interesante, ya que no se limita a la identificaci\u00f3n de versiones, recolecci\u00f3n de banners, fuerza bruta de contrase\u00f1as, etc.<br \/>\nPara un escaneo automatizado de vulnerabilidades de aplicaciones de calidad, se necesitan algoritmos que tengan en cuenta la sem\u00e1ntica de la aplicaci\u00f3n, su prop\u00f3sito y amenazas espec\u00edficas.<\/p>\n<p>Un esc\u00e1ner de infraestructura, por otro lado, a menudo puede ser reemplazado por un temporizador, como expres\u00f3 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/avleonov\/\" class=\"user_link\">avleonov.<\/a><\/noindex>La idea es que, de manera puramente estad\u00edstica, puedes considerar que tu infraestructura es vulnerable si no la has actualizado, digamos, en un mes.<\/p>\n<h2>Herramientas<\/h2>\n<p>\nEl escaneo, al igual que el an\u00e1lisis de seguridad, puede realizarse tanto como una caja negra como una caja blanca.<\/p>\n<h4>Caja Negra<\/h4>\n<p>\nEn el escaneo de caja negra, la herramienta debe ser capaz de interactuar con el servicio a trav\u00e9s de las mismas interfaces que utilizan los usuarios.<\/p>\n<p>Los esc\u00e1neres de infraestructura (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, etc.) buscan puertos de red abiertos, recopilan \"banners\", determinan las versiones del software instalado y buscan en su base de conocimientos informaci\u00f3n sobre vulnerabilidades en esas versiones. Tambi\u00e9n intentan detectar errores de configuraci\u00f3n, como contrase\u00f1as predeterminadas o acceso no autorizado a datos, cifrados d\u00e9biles SSL, etc.<\/p>\n<p>Los esc\u00e1neres de aplicaciones web (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, etc.) tambi\u00e9n son capaces de identificar componentes conocidos y sus versiones (por ejemplo, CMS, frameworks, bibliotecas JS). Los pasos principales del esc\u00e1ner son el crawling y el fuzzing.<br \/>\nDurante el crawling, el esc\u00e1ner recopila informaci\u00f3n sobre las interfaces existentes de la aplicaci\u00f3n y los par\u00e1metros HTTP. Durante el fuzzing, se insertan datos mutados o generados en todos los par\u00e1metros descubiertos con la finalidad de provocar un error y detectar una vulnerabilidad.<\/p>\n<p>Estos esc\u00e1neres de aplicaciones pertenecen a las clases DAST e IAST, es decir, Dynamic y Interactive Application Security Testing.<\/p>\n<h4>Caja Blanca<\/h4>\n<p>\nCon el escaneo de caja blanca, hay m\u00e1s diferencias.<br \/>\nEn el marco del proceso de VM, a los esc\u00e1neres (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, etc.) a menudo se les da acceso a los sistemas, realizando un escaneo autenticado. De esta forma, el esc\u00e1ner puede extraer las versiones de los paquetes instalados y los par\u00e1metros de configuraci\u00f3n directamente del sistema, sin tener que adivinarlos a partir de los banners de los servicios de red.<br \/>\nEl escaneo resulta ser m\u00e1s preciso y completo.<\/p>\n<p>En cuanto al escaneo de caja blanca (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, etc.) de aplicaciones, generalmente se refiere al an\u00e1lisis est\u00e1tico del c\u00f3digo y al uso de herramientas correspondientes de la clase SAST \u2014 Static Application Security Testing.<\/p>\n<h2>Problemas<\/h2>\n<p>\n\u00a1Hay muchos problemas con el escaneo! Con la mayor\u00eda de ellos me enfrento personalmente en el marco de la prestaci\u00f3n de servicios para establecer procesos de escaneo y desarrollo seguro, as\u00ed como al llevar a cabo trabajos de an\u00e1lisis de seguridad.<\/p>\n<p>Destacar\u00e9 3 grupos principales de problemas, que se confirman tanto por mis conversaciones con ingenieros como con directores de departamentos de ciberseguridad en diversas empresas.<\/p>\n<h4>Problemas en el escaneo de aplicaciones web<\/h4>\n<p><\/p>\n<ol>\n<li><b>Dificultad de implementaci\u00f3n.<\/b> Los esc\u00e1neres deben ser desplegados, configurados y personalizados para cada aplicaci\u00f3n, dedicando un entorno de prueba para los escaneos e integr\u00e1ndolos en el proceso de CI\/CD para que sean efectivos. De lo contrario, ser\u00e1 un procedimiento formal in\u00fatil que solo generar\u00e1 falsas alarmas.<\/li>\n<li><b>Duraci\u00f3n del escaneo.<\/b> Los esc\u00e1neres, incluso en 2019, tienen dificultades con la deduplicaci\u00f3n de interfaces y pueden tardar d\u00edas en escanear mil p\u00e1ginas con 10 par\u00e1metros cada una, consider\u00e1ndolas diferentes, a pesar de que el mismo c\u00f3digo se encarga de ellas. Adem\u00e1s, la decisi\u00f3n de desplegar en producci\u00f3n dentro del ciclo de desarrollo debe tomarse r\u00e1pidamente.<\/li>\n<li><b>Recomendaciones escasas.<\/b> Los esc\u00e1neres proporcionan recomendaciones bastante generales, y no siempre el desarrollador puede entender r\u00e1pidamente c\u00f3mo reducir el nivel de riesgo, y lo m\u00e1s importante, si debe hacerlo de inmediato o si puede esperar.<\/li>\n<li><b>Impacto destructivo en la aplicaci\u00f3n.<\/b> Los esc\u00e1neres pueden llevar a cabo un ataque DoS contra la aplicaci\u00f3n y pueden crear una gran cantidad de entidades o modificar las existentes (por ejemplo, generar decenas de miles de comentarios en un blog), por lo que no se debe ejecutar un escaneo sin pensar en producci\u00f3n.<\/li>\n<li><b>Baja calidad en la detecci\u00f3n de vulnerabilidades.<\/b> Los esc\u00e1neres suelen utilizar un conjunto fijo de cargas \u00fatiles y pueden f\u00e1cilmente pasar por alto una vulnerabilidad que no encaja en el escenario de comportamiento conocido.<\/li>\n<li><b>Incomprensi\u00f3n de las funciones de la aplicaci\u00f3n por parte del esc\u00e1ner.<\/b> Los esc\u00e1neres en s\u00ed no saben qu\u00e9 es un 'banco en l\u00ednea', 'pago' o 'comentario'. Para ellos solo existen enlaces y par\u00e1metros, por lo que una gran cantidad de posibles vulnerabilidades en la l\u00f3gica de negocio queda completamente descubierta; no deducir\u00e1n un cargo duplicado, no ver\u00e1n datos ajenos por ID o aumentar\u00e1n el saldo a trav\u00e9s del redondeo.<\/li>\n<li><b>Incomprensi\u00f3n de la sem\u00e1ntica de las p\u00e1ginas por parte del esc\u00e1ner.<\/b> Los esc\u00e1neres no pueden leer FAQ, no pueden reconocer captchas, no deducir\u00e1n c\u00f3mo registrarse y que despu\u00e9s hay que volver a iniciar sesi\u00f3n, que no se debe presionar 'logout', y c\u00f3mo se deben firmar las solicitudes al cambiar los valores de los par\u00e1metros. Como resultado, gran parte de la aplicaci\u00f3n puede quedar sin escanear.<\/li>\n<\/ol>\n<h4>Problemas de escaneo del c\u00f3digo fuente.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Falsas alarmas.<\/b> El an\u00e1lisis est\u00e1tico es una tarea compleja que implica numerosos compromisos. A menudo, se sacrifica la precisi\u00f3n, incluso los esc\u00e1neres empresariales costosos generan una gran cantidad de falsos positivos.<\/li>\n<li><b>Dificultad de implementaci\u00f3n.<\/b> Para aumentar la precisi\u00f3n y la exhaustividad del an\u00e1lisis est\u00e1tico, es necesario desarrollar las reglas de escaneo, y la redacci\u00f3n de estas reglas puede resultar demasiado laboriosa. A veces es m\u00e1s f\u00e1cil encontrar todos los lugares en el c\u00f3digo con alg\u00fan error y corregirlos que escribir una regla para detectar tales casos.<\/li>\n<li><b>Falta de soporte para dependencias.<\/b> Los grandes proyectos dependen de una gran cantidad de bibliotecas y frameworks que ampl\u00edan las capacidades del lenguaje de programaci\u00f3n. Si la base de conocimientos del esc\u00e1ner no contiene informaci\u00f3n sobre los puntos peligrosos (\"sinks\") en estos frameworks, esto se convertir\u00e1 en un vac\u00edo, y el esc\u00e1ner no podr\u00e1 entender el c\u00f3digo.<\/li>\n<li><b>Duraci\u00f3n del escaneo.<\/b> La b\u00fasqueda de vulnerabilidades en el c\u00f3digo es una tarea compleja tambi\u00e9n en t\u00e9rminos de algoritmos. Por lo tanto, el proceso puede prolongarse y requerir recursos computacionales significativos.<\/li>\n<li><b>Bajo nivel de cobertura.<\/b> A pesar del consumo de recursos y la duraci\u00f3n del escaneo, los desarrolladores de herramientas SAST todav\u00eda deben recurrir a compromisos y no analizan todos los estados en los que puede encontrarse el programa.<\/li>\n<li><b>Reproducibilidad de los hallazgos.<\/b> Indicar una l\u00ednea espec\u00edfica y una pila de llamadas que conducen a una vulnerabilidad es genial, pero en realidad, a menudo el esc\u00e1ner no proporciona suficiente informaci\u00f3n para verificar la existencia de la vulnerabilidad externamente. El defecto puede estar en el c\u00f3digo muerto que es inalcanzable para un atacante.<\/li>\n<\/ol>\n<h4>Problemas de escaneo de infraestructura.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Inventario insuficiente.<\/b> En grandes infraestructuras, especialmente las geogr\u00e1ficamente distribuidas, a menudo es m\u00e1s dif\u00edcil entender qu\u00e9 hosts deben ser escaneados. En otras palabras, la tarea de escaneo est\u00e1 estrechamente relacionada con la gesti\u00f3n de activos.<\/li>\n<li><b>Pobre priorizaci\u00f3n.<\/b> Los esc\u00e1neres de red a menudo producen muchos resultados con defectos que, en la pr\u00e1ctica, no son explotables, pero formalmente se consideran de alto riesgo. El consumidor recibe un informe que es dif\u00edcil de interpretar y no est\u00e1 claro qu\u00e9 debe corregirse primero.<\/li>\n<li><b>Recomendaciones escasas.<\/b> En la base de conocimientos del esc\u00e1ner, a menudo solo hay informaci\u00f3n muy general sobre la vulnerabilidad y c\u00f3mo corregirla, por lo que los administradores tendr\u00e1n que equiparse con Google. La situaci\u00f3n es un poco mejor con los esc\u00e1neres whitebox, que pueden proporcionar un comando espec\u00edfico para la correcci\u00f3n.<\/li>\n<li><b>Trabajo manual.<\/b> En las infraestructuras puede haber muchos nodos, lo que significa que potencialmente hay muchas vulnerabilidades, cuyos informes deben ser analizados manualmente en cada iteraci\u00f3n.<\/li>\n<li><b>Cobertura deficiente.<\/b> La calidad del escaneo de la infraestructura depende directamente del volumen de la base de conocimientos sobre vulnerabilidades y versiones de software. Sin embargo, <noindex><a rel=\"nofollow\" href=\"https:\/\/avleonov.com\/2016\/11\/27\/fast-comparison-of-nessus-and-openvas-knowledge-bases\/\">resulta ser<\/a><\/noindex>, incluso los l\u00edderes del mercado tienen bases de conocimientos que no son exhaustivas, y en las bases de soluciones gratuitas hay mucha informaci\u00f3n que no poseen los l\u00edderes.<\/li>\n<li><b>Problemas con el parcheo.<\/b> La mayor\u00eda de las veces, el parcheo de vulnerabilidades en la infraestructura implica actualizar un paquete o cambiar un archivo de configuraci\u00f3n. El gran problema aqu\u00ed es que el sistema, especialmente uno legado, puede comportarse de forma impredecible como resultado de la actualizaci\u00f3n. En esencia, ser\u00e1 necesario realizar pruebas de integraci\u00f3n en la infraestructura en vivo en producci\u00f3n.<\/li>\n<\/ol>\n<h2>Enfoques<\/h2>\n<p>\n\u00bfQu\u00e9 hacer entonces?<br \/>\nEn las siguientes partes, hablar\u00e9 m\u00e1s sobre ejemplos y sobre c\u00f3mo abordar muchos de los problemas mencionados, mientras que ahora se\u00f1alar\u00e9 las principales direcciones en las que se puede trabajar:<\/p>\n<ol>\n<li><b>Agregaci\u00f3n de diversas herramientas de escaneo.<\/b> Con el uso adecuado de varios esc\u00e1neres, es posible lograr un aumento significativo en la base de conocimientos y la calidad de la detecci\u00f3n. Se pueden encontrar incluso m\u00e1s vulnerabilidades que sumando todas las que se detectan por separado, adem\u00e1s de poder evaluar con mayor precisi\u00f3n el nivel de riesgo y dar m\u00e1s recomendaciones.<\/li>\n<li><b>Integraci\u00f3n de SAST y DAST.<\/b> Se puede aumentar la cobertura de DAST y la precisi\u00f3n de SAST mediante el intercambio de informaci\u00f3n entre ellos. Desde los fuentes, se puede obtener informaci\u00f3n sobre las rutas existentes, y con DAST se puede comprobar si la vulnerabilidad es visible externamente.<\/li>\n<li><b>Machine Learning\u2122.<\/b> En 2015, yo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=a8l6zf8mFkc\">habl\u00e9<\/a><\/noindex> (y <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/beched\/data-mining-for-nmap-acceleration\">a\u00fan<\/a><\/noindex>) sobre la aplicaci\u00f3n de la estad\u00edstica para dar a los esc\u00e1neres la intuici\u00f3n de un hacker y acelerarlos. Esto definitivamente es un terreno f\u00e9rtil para el desarrollo del an\u00e1lisis autom\u00e1tico de la seguridad en el futuro.<\/li>\n<li><b>Integraci\u00f3n de IAST con pruebas autom\u00e1ticas y OpenAPI.<\/b> En el marco del pipeline CI\/CD, es posible crear un proceso de escaneo basado en herramientas que funcionan como proxy HTTP, as\u00ed como pruebas funcionales que operan sobre HTTP. Las pruebas y contratos de OpenAPI\/Swagger proporcionar\u00e1n al esc\u00e1ner la informaci\u00f3n faltante sobre los flujos de datos y permitir\u00e1n escanear la aplicaci\u00f3n en diferentes estados.<\/li>\n<li><b>Configuraci\u00f3n correcta.<\/b> Es necesario crear un perfil de escaneo adecuado para cada aplicaci\u00f3n e infraestructura, que considere la cantidad y naturaleza de las interfaces y las tecnolog\u00edas utilizadas.<\/li>\n<li><b>Personalizaci\u00f3n de esc\u00e1neres.<\/b> A menudo, no se puede escanear la aplicaci\u00f3n sin modificar el esc\u00e1ner. Un ejemplo es la pasarela de pago, en la que cada solicitud debe estar firmada. Sin desarrollar un conector para el protocolo de la pasarela, los esc\u00e1neres intentar\u00e1n enviar solicitudes con firmas incorrectas sin pensar. Tambi\u00e9n es necesario crear esc\u00e1neres especializados para tipos espec\u00edficos de vulnerabilidades, como <noindex><a rel=\"nofollow\" href=\"https:\/\/www.owasp.org\/index.php\/Testing_for_Insecure_Direct_Object_References_(OTG-AUTHZ-004)\">Insecure Direct Object Reference<\/a><\/noindex><\/li>\n<li><b>Gesti\u00f3n de riesgos.<\/b> El uso de diversos esc\u00e1neres e integraci\u00f3n con sistemas externos, como Gesti\u00f3n de Activos y Gesti\u00f3n de Amenazas, permitir\u00e1 utilizar m\u00faltiples par\u00e1metros para evaluar el nivel de riesgo, de modo que la direcci\u00f3n pueda obtener una imagen adecuada sobre el estado actual de la seguridad en el desarrollo o infraestructura.<\/li>\n<\/ol>\n<p>\u00a1Mantente atento y vamos a interrumpir el escaneo de vulnerabilidades!<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/444534\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c, \u043f\u0435\u043d\u0442\u0435\u0441\u0442\u0435\u0440\u0430\u043c, \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0438\u043a\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c\u0438, \u043a\u0430\u043a Vulnerability Management (VM), (Secure) SDLC. \u041f\u043e\u0434 \u044d\u0442\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u043e\u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f\u043c\u0438 \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u0430\u0431\u043e\u0440\u044b \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u043f\u043b\u0435\u0442\u0435\u043d\u044b \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439, \u0445\u043e\u0442\u044f \u0438\u0445 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0434\u043e\u0448\u0451\u043b \u0434\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u043d\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0441\u0442\u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0438 \u041f\u041e. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-29957","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:32:53+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:32:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Escaneo de vulnerabilidades y desarrollo seguro. Parte 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/es\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430. \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:url":"https:\/\/prohoster.info\/es\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:32:53+00:00","article:modified_time":"2019-10-31T18:32:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"29957","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-20 23:11:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:45:24","updated":"2026-01-20 23:11:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/29957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=29957"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/29957\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=29957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=29957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=29957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}