{"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\/pt\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","title":{"rendered":"Escaneamento de vulnerabilidades e desenvolvimento seguro. Parte 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Escaneamento de vulnerabilidades e desenvolvimento seguro. Parte 1\" src=\"\/wp-content\/uploads\/2019\/03\/d085cf1b23386d01188726e1590ad1a9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNo \u00e2mbito das atividades profissionais, desenvolvedores, pentesters e especialistas em seguran\u00e7a enfrentam processos como Gest\u00e3o de Vulnerabilidades (VM) e (Secure) SDLC.<br \/>\nEssas express\u00f5es ocultam diferentes conjuntos de pr\u00e1ticas e ferramentas utilizadas, as quais est\u00e3o entrela\u00e7adas, embora seus consumidores sejam distintos.<\/p>\n<p>O progresso t\u00e9cnico ainda n\u00e3o chegou ao ponto de substituir a an\u00e1lise de seguran\u00e7a de infraestrutura e software por uma \u00fanica ferramenta.<br \/>\n\u00c9 interessante entender por que isso acontece e quais problemas precisam ser enfrentados.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Processos<\/h2>\n<p>\nO processo de Gest\u00e3o de Vulnerabilidades ('Vulnerability Management') visa o monitoramento cont\u00ednuo da seguran\u00e7a da infraestrutura e da gest\u00e3o de patches.<br \/>\nO processo de SDLC Seguro ('Secure SDLC') destina-se a apoiar a seguran\u00e7a da aplica\u00e7\u00e3o durante o desenvolvimento e a opera\u00e7\u00e3o.<\/p>\n<p>Uma parte semelhante desses processos \u00e9 o processo de Avalia\u00e7\u00e3o de Vulnerabilidades \u2014 varrimento de vulnerabilidades.<br \/>\nA principal diferen\u00e7a entre a varredura em VM e SDLC \u00e9 que, no primeiro caso, o objetivo \u00e9 descobrir vulnerabilidades conhecidas em software de terceiros ou na configura\u00e7\u00e3o. Por exemplo, uma vers\u00e3o desatualizada do Windows ou uma string comunit\u00e1ria padr\u00e3o para SNMP.<br \/>\nNo segundo caso, o objetivo \u00e9 identificar vulnerabilidades n\u00e3o apenas em componentes de terceiros (depend\u00eancias), mas, acima de tudo, no c\u00f3digo do novo produto.<\/p>\n<p>Isso gera diferen\u00e7as nas ferramentas e abordagens. A meu ver, a tarefa de encontrar novas vulnerabilidades em uma aplica\u00e7\u00e3o \u00e9 muito mais interessante, uma vez que n\u00e3o se resume a identificar vers\u00f5es, coletar banners, tentar senhas, etc.<br \/>\nPara uma varredura automatizada de vulnerabilidades de aplica\u00e7\u00f5es de qualidade, s\u00e3o necess\u00e1rios algoritmos que considerem a sem\u00e2ntica da aplica\u00e7\u00e3o, sua finalidade e amea\u00e7as espec\u00edficas.<\/p>\n<p>As ferramentas de varredura de infraestrutura, por outro lado, podem muitas vezes ser substitu\u00eddas por um cron\u00f4metro, como disse <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/avleonov\/\" class=\"user_link\">avleonov.<\/a><\/noindex>O sentido \u00e9 que, estatisticamente, voc\u00ea pode considerar sua infraestrutura vulner\u00e1vel se n\u00e3o a atualizou, digamos, h\u00e1 um m\u00eas.<\/p>\n<h2>Ferramentas<\/h2>\n<p>\nA varredura, assim como a an\u00e1lise de seguran\u00e7a, pode ser feita tanto de forma black box quanto white box.<\/p>\n<h4>Black Box<\/h4>\n<p>\nNo escaneamento black box, a ferramenta deve ser capaz de interagir com o servi\u00e7o atrav\u00e9s das mesmas interfaces que os usu\u00e1rios utilizam.<\/p>\n<p>Os scanners de infraestrutura (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, etc.) procuram portas de rede abertas, coletam \"banners\", identificam vers\u00f5es de software instalado e buscam em seu banco de dados informa\u00e7\u00f5es sobre vulnerabilidades nessas vers\u00f5es. Eles tamb\u00e9m tentam detectar erros de configura\u00e7\u00e3o, como senhas padr\u00e3o ou acesso aberto a dados, e criptografias fracas SSL, entre outros.<\/p>\n<p>Os scanners de aplica\u00e7\u00f5es web (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, etc.) tamb\u00e9m conseguem identificar componentes conhecidos e suas vers\u00f5es (por exemplo, CMS, frameworks, bibliotecas JS). As etapas principais do scanner incluem crawling e fuzzing.<br \/>\nDurante o crawling, o scanner coleta informa\u00e7\u00f5es sobre interfaces existentes da aplica\u00e7\u00e3o e par\u00e2metros HTTP. Durante o fuzzing, dados mutacionados ou gerados s\u00e3o inseridos em todos os par\u00e2metros detectados com o objetivo de provocar um erro e descobrir uma vulnerabilidade.<\/p>\n<p>Esses scanners de aplica\u00e7\u00f5es pertencem \u00e0s classes DAST e IAST \u2014 respectivamente, Dynamic e Interactive Application Security Testing.<\/p>\n<h4>White Box<\/h4>\n<p>\nNo scan whitebox, as diferen\u00e7as s\u00e3o maiores.<br \/>\nNo processo de VM, os scanners (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, etc.) frequentemente recebem acesso aos sistemas, realizando um scan autenticado. Assim, o scanner pode baixar as vers\u00f5es de pacotes instalados e os par\u00e2metros de configura\u00e7\u00e3o diretamente do sistema, sem precisar adivinhar atrav\u00e9s dos banners dos servi\u00e7os de rede.<br \/>\nO scan se torna mais preciso e completo.<\/p>\n<p>Por outro lado, ao falar sobre o scan whitebox (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, etc.) de aplica\u00e7\u00f5es, geralmente se refere \u00e0 an\u00e1lise est\u00e1tica de c\u00f3digo e ao uso de ferramentas apropriadas da classe SAST \u2014 Static Application Security Testing.<\/p>\n<h2>Problemas<\/h2>\n<p>\nExistem muitos problemas com a varredura! A maioria deles enfrento pessoalmente ao fornecer servi\u00e7os de constru\u00e7\u00e3o de processos de escaneamento e desenvolvimento seguro, bem como na realiza\u00e7\u00e3o de an\u00e1lises de seguran\u00e7a.<\/p>\n<p>Destaco 3 principais grupos de problemas, que s\u00e3o confirmados em conversas com engenheiros e gerentes de seguran\u00e7a da informa\u00e7\u00e3o em diversas empresas.<\/p>\n<h4>Problemas de varredura de aplica\u00e7\u00f5es web<\/h4>\n<p><\/p>\n<ol>\n<li><b>Dificuldade de implementa\u00e7\u00e3o.<\/b> Os scanners precisam ser configurados e personalizados para cada aplica\u00e7\u00e3o, criando um ambiente de teste para os scans e integrando no processo CI\/CD, para que sejam eficazes. Caso contr\u00e1rio, tratar\u00e1-se de um procedimento formal in\u00fatil, que s\u00f3 emitir\u00e1 alarmes falsos.<\/li>\n<li><b>Dura\u00e7\u00e3o da varredura.<\/b> Os scanners, mesmo em 2019, t\u00eam dificuldades em deduplicar interfaces e podem gastar dias escaneando mil p\u00e1ginas com 10 par\u00e2metros em cada uma, considerando-as diferentes, apesar de serem controladas pelo mesmo c\u00f3digo. Assim, a decis\u00e3o de implantar em produ\u00e7\u00e3o durante o ciclo de desenvolvimento precisa ser r\u00e1pida.<\/li>\n<li><b>Recomenda\u00e7\u00f5es escassas.<\/b> Os scanners fornecem recomenda\u00e7\u00f5es bastante gerais, e nem sempre o desenvolvedor consegue rapidamente entender como reduzir o n\u00edvel de risco e, principalmente, se isso precisa ser feito imediatamente ou se pode esperar.<\/li>\n<li><b>Impacto destrutivo na aplica\u00e7\u00e3o.<\/b> Os scanners podem facilmente realizar um ataque DoS na aplica\u00e7\u00e3o, al\u00e9m de podem criar um grande n\u00famero de entidades ou modificar as existentes (por exemplo, criar dezenas de milhares de coment\u00e1rios em um blog), portanto, n\u00e3o se deve acionar um scan em produ\u00e7\u00e3o sem pensar.<\/li>\n<li><b>Baixa qualidade na detec\u00e7\u00e3o de vulnerabilidades.<\/b> Os scanners normalmente usam um conjunto fixo de cargas \u00fateis (\u2018payloads\u2019) e podem facilmente perder uma vulnerabilidade que n\u00e3o se encaixa no seu cen\u00e1rio de comportamento conhecido da aplica\u00e7\u00e3o.<\/li>\n<li><b>Incompreens\u00e3o das fun\u00e7\u00f5es da aplica\u00e7\u00e3o pelo scanner.<\/b> Os scanners n\u00e3o sabem o que s\u00e3o \u2018internet banking\u2019, \u2018pagamento\u2019, \u2018coment\u00e1rio\u2019. Para eles, existem apenas links e par\u00e2metros, ent\u00e3o uma enorme gama de poss\u00edveis vulnerabilidades de l\u00f3gica de neg\u00f3cios fica completamente descoberta; eles n\u00e3o conseguir\u00e3o detectar um pagamento duplicado, visualizar dados alheios por ID ou inflacionar o saldo atrav\u00e9s de arredondamentos.<\/li>\n<li><b>Incompreens\u00e3o da sem\u00e2ntica das p\u00e1ginas pelo scanner.<\/b> Os scanners n\u00e3o conseguem ler FAQs, n\u00e3o reconhecem CAPTCHAs, n\u00e3o conseguem deduzir sozinhos como se registrar, que \u00e9 necess\u00e1rio fazer logout e como assinar solicita\u00e7\u00f5es ao modificar valores dos par\u00e2metros. Como resultado, a maior parte da aplica\u00e7\u00e3o pode permanecer completamente n\u00e3o escaneada.<\/li>\n<\/ol>\n<h4>Problemas na varredura do c\u00f3digo-fonte.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Alarmes falsos.<\/b> A an\u00e1lise est\u00e1tica \u00e9 uma tarefa complexa, que requer muitos compromissos. Muitas vezes, \u00e9 necess\u00e1rio sacrificar a precis\u00e3o, e at\u00e9 mesmo scanners corporativos caros geram uma enorme quantidade de falsos positivos.<\/li>\n<li><b>Dificuldade de implementa\u00e7\u00e3o.<\/b> Para aumentar a precis\u00e3o e a abrang\u00eancia da an\u00e1lise est\u00e1tica, \u00e9 necess\u00e1rio aprimorar as regras de varredura, e a escrita dessas regras pode ser muito trabalhosa. \u00c0s vezes, \u00e9 mais f\u00e1cil encontrar todos os locais no c\u00f3digo com algum bug e corrigi-los do que redigir uma regra para detectar tais casos.<\/li>\n<li><b>Falta de suporte a depend\u00eancias.<\/b> Grandes projetos dependem de muitas bibliotecas e frameworks que expandem as capacidades da linguagem de programa\u00e7\u00e3o. Se na base de conhecimento do scanner n\u00e3o h\u00e1 informa\u00e7\u00f5es sobre locais perigosos ('sinks') nessas estruturas, isso se tornar\u00e1 um ponto cego, e o scanner n\u00e3o conseguir\u00e1 entender o c\u00f3digo.<\/li>\n<li><b>Dura\u00e7\u00e3o da varredura.<\/b> Buscar vulnerabilidades no c\u00f3digo \u00e9 uma tarefa complicada em termos de algoritmos. Portanto, o processo pode se prolongar e exigir recursos computacionais significativos.<\/li>\n<li><b>Baixa cobertura.<\/b> Apesar do consumo de recursos e da dura\u00e7\u00e3o da varredura, os desenvolvedores de ferramentas SAST ainda precisam recorrer a compromissos e n\u00e3o analisam todos os estados em que o programa pode estar.<\/li>\n<li><b>Reproduzibilidade das descobertas.<\/b> Indicar uma linha espec\u00edfica e uma pilha de chamadas que levam \u00e0 vulnerabilidade \u00e9 \u00f3timo, mas muitas vezes o scanner n\u00e3o fornece informa\u00e7\u00f5es suficientes para verificar a vulnerabilidade externamente. Afinal, a falha pode estar em c\u00f3digo morto, que \u00e9 inacess\u00edvel para um atacante.<\/li>\n<\/ol>\n<h4>Problemas na varredura da infraestrutura.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Invent\u00e1rio insuficiente.<\/b> Em grandes infraestruturas, especialmente aquelas geograficamente distribu\u00eddas, muitas vezes \u00e9 mais dif\u00edcil entender quais hosts precisam ser escaneados. Em outras palavras, a tarefa de varredura est\u00e1 intimamente relacionada \u00e0 tarefa de gest\u00e3o de ativos.<\/li>\n<li><b>Prioriza\u00e7\u00e3o deficiente.<\/b> Scanners de rede frequentemente geram muitos resultados com vulnerabilidades que na pr\u00e1tica n\u00e3o s\u00e3o explor\u00e1veis, mas formalmente t\u00eam um alto n\u00edvel de risco. O consumidor recebe um relat\u00f3rio que \u00e9 dif\u00edcil de interpretar, tornando confuso o que deve ser corrigido primeiro.<\/li>\n<li><b>Recomenda\u00e7\u00f5es escassas.<\/b> Na base de conhecimento do scanner, muitas vezes h\u00e1 apenas informa\u00e7\u00f5es muito gerais sobre vulnerabilidades e suas corre\u00e7\u00f5es, ent\u00e3o os administradores ter\u00e3o que recorrer ao Google. A situa\u00e7\u00e3o \u00e9 um pouco melhor com scanners whitebox, que podem fornecer um comando espec\u00edfico para corre\u00e7\u00e3o.<\/li>\n<li><b>Trabalho manual.<\/b> Em infraestruturas pode haver muitos n\u00f3s, e, portanto, potencialmente muitas vulnerabilidades, cujos relat\u00f3rios precisam ser analisados manualmente a cada itera\u00e7\u00e3o.<\/li>\n<li><b>Cobertura insuficiente.<\/b> A qualidade da varredura da infraestrutura depende diretamente do volume da base de conhecimento sobre vulnerabilidades e vers\u00f5es de software. No entanto, <noindex><a rel=\"nofollow\" href=\"https:\/\/avleonov.com\/2016\/11\/27\/fast-comparison-of-nessus-and-openvas-knowledge-bases\/\">se revela<\/a><\/noindex>, mesmo os l\u00edderes de mercado t\u00eam uma base de conhecimento n\u00e3o abrangente, e nas bases de solu\u00e7\u00f5es gratuitas existem muitas informa\u00e7\u00f5es que n\u00e3o est\u00e3o dispon\u00edveis para os l\u00edderes.<\/li>\n<li><b>Problemas com patching.<\/b> Na maioria das vezes, o patching de vulnerabilidades na infraestrutura \u00e9 uma atualiza\u00e7\u00e3o de pacote ou uma modifica\u00e7\u00e3o de arquivo de configura\u00e7\u00e3o. Um grande problema aqui \u00e9 que o sistema, especialmente os legados, pode se comportar de maneira imprevis\u00edvel ap\u00f3s a atualiza\u00e7\u00e3o. Basicamente, ser\u00e1 necess\u00e1rio realizar testes de integra\u00e7\u00e3o em uma infraestrutura ativa em produ\u00e7\u00e3o.<\/li>\n<\/ol>\n<h2>Abordagens<\/h2>\n<p>\nO que fazer?<br \/>\nMais detalhes sobre exemplos e como lidar com muitos dos problemas mencionados ser\u00e3o dados nas pr\u00f3ximas partes, enquanto isso, indico as principais dire\u00e7\u00f5es nas quais voc\u00ea pode trabalhar:<\/p>\n<ol>\n<li><b>Agrega\u00e7\u00e3o de v\u00e1rias ferramentas de varredura.<\/b> Com o uso adequado de m\u00faltiplos scanners, \u00e9 poss\u00edvel aumentar significativamente a base de conhecimento e a qualidade da detec\u00e7\u00e3o. \u00c9 poss\u00edvel encontrar at\u00e9 mais vulnerabilidades do que a soma de todas as scanners executados separadamente, e, ao mesmo tempo, avaliar com mais precis\u00e3o o n\u00edvel de risco e oferecer mais recomenda\u00e7\u00f5es.<\/li>\n<li><b>Integra\u00e7\u00e3o entre SAST e DAST.<\/b> \u00c9 poss\u00edvel aumentar a cobertura do DAST e a precis\u00e3o do SAST atrav\u00e9s da troca de informa\u00e7\u00f5es entre eles. A partir do c\u00f3digo-fonte, \u00e9 poss\u00edvel obter informa\u00e7\u00f5es sobre rotas existentes, e com a ajuda do DAST, verificar se a vulnerabilidade \u00e9 vis\u00edvel externamente.<\/li>\n<li><b>Machine Learning\u2122.<\/b> Em 2015, eu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=a8l6zf8mFkc\">falou<\/a><\/noindex> (e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/beched\/data-mining-for-nmap-acceleration\">ainda<\/a><\/noindex>) falei sobre a aplica\u00e7\u00e3o de estat\u00edsticas para dar aos scanners a intui\u00e7\u00e3o de um hacker e acelerar o seu desempenho. Isso definitivamente \u00e9 um alimento para o desenvolvimento da an\u00e1lise autom\u00e1tica de seguran\u00e7a no futuro.<\/li>\n<li><b>Integra\u00e7\u00e3o de IAST com testes automatizados e OpenAPI.<\/b> No contexto do pipeline CI\/CD, \u00e9 poss\u00edvel criar um processo de varredura baseado em ferramentas que funcionam como proxy HTTP e testes funcionais que operam via HTTP. Testes e contratos OpenAPI\/Swagger fornecem ao scanner as informa\u00e7\u00f5es ausentes sobre os fluxos de dados, permitindo a varredura do aplicativo em diferentes estados.<\/li>\n<li><b>Configura\u00e7\u00e3o correta.<\/b> Para cada aplicativo e infraestrutura, \u00e9 necess\u00e1rio criar um perfil de varredura apropriado, levando em considera\u00e7\u00e3o a quantidade e a natureza das interfaces e as tecnologias utilizadas.<\/li>\n<li><b>Customiza\u00e7\u00e3o de scanners.<\/b> Frequentemente, um aplicativo n\u00e3o pode ser escaneado sem ajustes no scanner. Por exemplo, um gateway de pagamento, onde cada solicita\u00e7\u00e3o deve ser assinada. Sem a escrita de um conector para o protocolo do gateway, os scanners ir\u00e3o incessantemente fazer solicita\u00e7\u00f5es com a assinatura incorreta. Al\u00e9m disso, \u00e9 necess\u00e1rio criar scanners 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>Gest\u00e3o de riscos.<\/b> O uso de diferentes scanners e a integra\u00e7\u00e3o com sistemas externos, como Gest\u00e3o de Ativos e Gest\u00e3o de Amea\u00e7as, permitir\u00e1 usar uma variedade de par\u00e2metros para avaliar o n\u00edvel de risco, de modo que a ger\u00eancia consiga obter uma vis\u00e3o precisa da atual situa\u00e7\u00e3o de seguran\u00e7a do desenvolvimento ou da infraestrutura.<\/li>\n<\/ol>\n<p>Fique ligado e vamos interromper a varredura de vulnerabilidades!<br \/>\n<br \/>Fonte: <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.3 - 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\/pt\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47 Varredura de vulnerabilidades e desenvolvimento seguro. Parte 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/29957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=29957"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/29957\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=29957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=29957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=29957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}