{"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\/et\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","title":{"rendered":"Haavatavuste skaneerimine ja turvaline arendus. Osa 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Haavatavuste skaneerimine ja turvaline arendus. Osa 1\" src=\"\/wp-content\/uploads\/2019\/03\/d085cf1b23386d01188726e1590ad1a9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProfessionaalse tegevuse k\u00e4igus seisavad arendajad, pentesterid ja turvamehed silmitsi selliste protsessidega nagu haavatavuste haldamine (VM) ja (turvaline) SDLC.<br \/>\nNende fraaside taga peituvad erinevad praktika- ja t\u00f6\u00f6riistakogumid, mis on omavahel seotud, kuigi nende kasutajad on erinevad.<\/p>\n<p>Tehniline edusamm ei ole veel j\u00f5udnud sinnamaani, et \u00fcks t\u00f6\u00f6riist suudaks asendada inimest infrastruktuuri ja tarkvara turvalisuse anal\u00fc\u00fcsimisel.<br \/>\nOn huvitav m\u00f5ista, miks see nii on ja milliste probleemidega silmitsi seistakse.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Protsessid<\/h2>\n<p>\nHaavatavuste haldamise protsess (Vulnerability Management) on ette n\u00e4htud infrastruktuuri turvalisuse pidevaks j\u00e4lgimiseks ja patch-haldamiseks.<br \/>\nSecure SDLC protsess (turvaline arendusts\u00fckkel) on m\u00f5eldud rakenduse turvalisuse toetamiseks arenduse ja kasutuse ajal.<\/p>\n<p>Selle protsessi sarnane osa on haavatavuste hindamise protsess, mis h\u00f5lmab haavatavuste skaneerimist.<br \/>\nPeamine erinevus VM ja SDLC skaneerimise vahel on see, et esimeses juhtumis on eesm\u00e4rgiks tuvastada teadaolevaid haavatavusi kolmandate osapoolte tarkvaras v\u00f5i konfiguratsioonis. N\u00e4iteks vananenud Windowsi versioon v\u00f5i SNMP vaikeparool.<br \/>\nTeises juhtumis on eesm\u00e4rgiks avastada haavatavusi mitte ainult kolmandate osapoolte komponentides (s\u00f5ltuvustes), vaid eelk\u00f5ige uue toote koodis.<\/p>\n<p>See tekitab erinevusi t\u00f6\u00f6riistades ja l\u00e4henemistes. Minu arvates on uute haavatavuste leidmise \u00fclesanne rakenduses oluliselt huvitavam, kuna see ei piira end versioonide s\u00f5rmeenamiste, bannerite kogumise, paroolide proovima ja nii edasi.<br \/>\nKvaliteetsete automatiseeritud rakenduste haavatavuste skaneerimise jaoks on vajalikud algoritmid, mis arvestavad rakenduse semantikat, selle otstarvet ja spetsiifilisi ohte.<\/p>\n<p>Infrastruktuuri skannerit on sageli v\u00f5imalik asendada ajastiga, nagu v\u00e4ljendas <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/avleonov\/\" class=\"user_link\">avleonov.<\/a><\/noindex>. M\u00d5TE on selles, et statistiliselt v\u00f5ite arvestada oma infrastruktuuri haavatavaks, kui te ei ole seda uuendanud n\u00e4iteks kuu aega.<\/p>\n<h2>T\u00f6\u00f6riistad<\/h2>\n<p>\nSkaneerimist, nagu ka turvalisuse anal\u00fc\u00fcsi, saab teostada nii musta kasti kui ka valge kasti meetodil.<\/p>\n<h4>Black Box<\/h4>\n<p>\nBlackbox skaneerimise puhul peab t\u00f6\u00f6riist suudma suhelda teenusega l\u00e4bi samade liideste, mida kasutavad kasutajad.<\/p>\n<p>Infrastruktuuri skannerid (nt Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose jne) otsivad avatud v\u00f5rguporte, koguvad \"b\u00e4nnereid\", m\u00e4\u00e4ravad paigaldatud tarkvara versioonid ja otsivad oma teadmistebaasist teavet nende versioonide haavatavuste kohta. Samuti p\u00fc\u00fcavad nad avastada konfiguratsiooni vigu, nagu vaikeparoolid v\u00f5i avatud juurdep\u00e4\u00e4s andmetele, n\u00f5rgad SSL-kr\u00fcptod jne.<\/p>\n<p>Veebirakenduste skannerid (nt Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP jne) oskavad samuti tuvastada tuntud komponente ja nende versioone (nt CMS, raamistikud, JS-raamatukogud). Skanneri peamised sammud on kraulimine ja fuzzing.<br \/>\nKraulimise k\u00e4igus kogub skanner teavet olemasolevate rakenduse liideste ja HTTP-parameetrite kohta. Fuzzingu k\u00e4igus sisestatakse k\u00f5ikidesse avastatud parameetritesse muudetud v\u00f5i genereeritud andmed, et provotseerida viga ja avastada haavatavus.<\/p>\n<p>Sellised rakenduste skannerid kuuluvad DAST ja IAST klassidesse \u2014 vastavalt d\u00fcnaamiline ja interaktiivne rakenduste turvatestimine.<\/p>\n<h4>Valge kasti<\/h4>\n<p>\nValge kasti skannimisega on rohkem erinevusi.<br \/>\nVM protsessi raames antakse skanneritele (nt Vulners, Incsecurity Couch, Vuls, Tenable Nessus jne) sageli juurdep\u00e4\u00e4s s\u00fcsteemidele, tehes autentitud skanni. Nii saab skanner laadida paigaldatud paketid ja konfiguratsiooni parameetrid otse s\u00fcsteemist, mitte ei arva neid v\u00f5rgu teenuste b\u00e4nnereilt.<br \/>\nSkannimine on t\u00e4psem ja t\u00e4ielikum.<\/p>\n<p>Kui r\u00e4\u00e4kida valge kasti skannimisest (nt CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs jne) rakenduste puhul, siis r\u00e4\u00e4gitakse tavaliselt koodi staatilisest anal\u00fc\u00fcsist ja vastavate SAST klassi t\u00f6\u00f6riistade kasutamisest \u2014 staatiline rakenduste turvatestimine.<\/p>\n<h2>Probleemid<\/h2>\n<p>\nSkannimisega seondub palju probleeme! Enamikuga neist puutun ma isiklikult kokku teenuse osutamise raames skannimise ja turvalise arendamise protsesside loomisel ning turvaanal\u00fc\u00fcsi teostamisel.<\/p>\n<p>Toon v\u00e4lja 3 peamist probleemigruppi, mida kinnitavad ka vestlused inseneride ja IT-turbeosakondade juhtidega erinevates ettev\u00f5tetes.<\/p>\n<h4>Veebirakenduste skannimise probleemid<\/h4>\n<p><\/p>\n<ol>\n<li><b>Rakendamise keerukus.<\/b> Skannerid tuleb konfigureerida ja kohandada igas rakenduses, et luua testikeskkond skannimiseks ning integreerida see CI\/CD protsessi, et see oleks t\u00f5hus. Vastasel juhul on see kasutu formaalne protseduur, mis toob v\u00e4lja vaid valeh\u00e4ireid.<\/li>\n<li><b>Skannimise kestus.<\/b> Skannerid ei suuda isegi 2019. aastal h\u00e4sti hallata liideste dedupikatsiooni ja v\u00f5ivad mitu p\u00e4eva skannida tuhat lehte, millel on 10 parameetrit, pidamata neid erinevateks, hoolimata sellest, et need on \u00fchesuguse koodi all. Samas on toote tootmisfaasi viimise otsus arendusprotsessi k\u00e4igus vajalik kiiresti teha.<\/li>\n<li><b>Piinlikud soovitused.<\/b> Skannerid annavad piisavalt \u00fcldisi soovitusi, ning arendajal ei pruugi alati kiirelt selguda, kuidas v\u00e4hendada riski, ja mis veelgi olulisem, kas seda tuleks teha kohe v\u00f5i oodata.<\/li>\n<li><b>Destruktiivne m\u00f5ju rakendusele.<\/b> Skannerid v\u00f5ivad p\u00f5hjustada rakendusele DoS-r\u00fcnnaku ning v\u00f5ivad genereerida suures koguses entiteete v\u00f5i muuta olemasolevaid (nt luua k\u00fcmneid tuhandeid blogikommentaare), seet\u00f5ttu ei tohiks skannimist tootmisfasXin ilma p\u00f5hjuseta alustada.<\/li>\n<li><b>Madala kvaliteediga haavatavuste avastamine.<\/b> Skannerid kasutavad tavaliselt fikseeritud kogumit koormusi (\u201epayloads\u201c) ning v\u00f5ivad kergesti j\u00e4tta avastamata haavatavuse, mis ei sobitu nende tuntud rakenduse k\u00e4itumise stsenaariumisse.<\/li>\n<li><b>Skanneri arusaam rakenduse funktsioonidest.<\/b> Skannerid ei tea iseenesest, mis on \u201einternetipank\u201c, \u201emakse\u201c, \u201ekommentaar\u201c. Nende jaoks eksisteerivad vaid lingid ja parameetrid, mist\u00f5ttu palju v\u00f5imalikke \u00e4riloogika haavatavusi j\u00e4\u00e4b t\u00e4ielikult katmata, nad ei suuda tuvastada kahekordset arveldamist, vaadata kellegi andmeid ID kaudu v\u00f5i muuta saldot \u00fcmardamise kaudu.<\/li>\n<li><b>Skanneri arusaam lehtede semantikast.<\/b> Skannerid ei oska lugeda KKK-sid, ei oska tuvastada captchasid, nad ei m\u00f5ista iseenesest, kuidas registreerida ning et tuleb uuesti sisse logida, et \u201elog outi\u201c nuppu ei tohi vajutada ning kuidas peaks muutma parameetrite v\u00e4\u00e4rtuste allkirjastamist. Tulemuseks v\u00f5ib enamik rakendusest \u00fcldse skannimata j\u00e4\u00e4da.<\/li>\n<\/ol>\n<h4>Probleemid l\u00e4htekoodi skannimisel.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Valeh\u00e4ired.<\/b> Statiline anal\u00fc\u00fcs on keeruline \u00fclesanne, mille lahendamisel tuleb sageli teha mitmeid kompromisse. Tihti tuleb ohverdada t\u00e4psus, ja isegi kallid ettev\u00f5tte skannerid esitavad tohutult valeh\u00e4ireid.<\/li>\n<li><b>Rakendamise keerukus.<\/b> Statilise anal\u00fc\u00fcsi t\u00e4psuse ja t\u00e4ielikkuse suurendamiseks on vaja t\u00e4iustada skaneerimisreegleid, ning nende reeglite kirjutamine v\u00f5ib olla liiga t\u00f6\u00f6mahukas. M\u00f5nikord on lihtsam leida k\u00f5ik kohad koodis, kus on mingi bugi, ja neid parandada, kui kirjutada reegel selle tuvastamiseks.<\/li>\n<li><b>S\u00f5ltuvuste toetuse puudumine.<\/b> Suured projektid s\u00f5ltuvad suurest hulgast raamatutest ja raamistikest, mis laiendavad programmeerimiskeele v\u00f5imalusi. Kui skanneri teadmistebaasis pole teavet nende raamistike ohtlike kohtade (\u201esinks\u201c) kohta, muutub see pime koht, ja skanner ei suuda isegi koodi m\u00f5ista.<\/li>\n<li><b>Skannimise kestus.<\/b> Haavatavuste leidmine koodist on keeruline \u00fclesanne ka algoritmide m\u00f5istes. Seet\u00f5ttu v\u00f5ib protsess venida ja n\u00f5uda samas olulisi arvutusressursse.<\/li>\n<li><b>Madala katvuse probleem.<\/b> Hoolimata ressursside tarbimisest ja skaneerimise pikkusest peavad SAST-t\u00f6\u00f6riistade arendajad siiski tegema kompromisse ning anal\u00fc\u00fcsima mitte k\u00f5iki olekuid, milles programm v\u00f5ib viibida.<\/li>\n<li><b>Leidude korduvuse k\u00fcsimus.<\/b> Konkreetse rea ja kutsumise jungli n\u00e4itamine, mis toob kaasa haavatavuse, on suurep\u00e4rane, kuid sageli ei anna skanner piisavalt teavet, et kontrollida haavatavuse olemasolu v\u00e4ljastpoolt. L\u00f5ppude l\u00f5puks v\u00f5ib puudus olla ka surnud koodis, mis on r\u00fcndaja jaoks k\u00e4ttesaamatu.<\/li>\n<\/ol>\n<h4>Infrastruktuuri skaneerimise probleemid.<\/h4>\n<p><\/p>\n<ol>\n<li><b>Ebapiisav inventuur.<\/b> Suurtel infrastruktuuridel, eriti geograafiliselt jagatud, on tihti k\u00f5ige raskem m\u00f5ista, milliseid hoste tuleb skandeerida. Teisis\u00f5nu, skaneerimise \u00fclesanne on tihedalt seotud varade haldamise \u00fclesandega.<\/li>\n<li><b>Halb prioriteetimine.<\/b> V\u00f5rgu skannerid esitavad sageli palju tulemusi puudustega, mis praktikas ei ole ekspluateeritavad, kuid formaalselt on nende riskitase k\u00f5rge. Tarbija saab aruande, mida on raske t\u00f5lgendada, ja pole selge, mida tuleb k\u00f5igepealt parandada.<\/li>\n<li><b>Piinlikud soovitused.<\/b> Skannimise teadmistebaasis on sageli ainult v\u00e4ga \u00fcldine teave haavatavuste ja nende parandamise viiside kohta, seega peavad administraatorid kasutama Google'i. Olukord on veidi parem valgekarvaliste skanneritega, mis v\u00f5ivad anda konkreetse k\u00e4su parandamiseks.<\/li>\n<li><b>K\u00e4sit\u00f6\u00f6.<\/b> Infrastruktuurides v\u00f5ib olla palju s\u00f5lmi, mis t\u00e4hendab potentsiaalselt palju puuduj\u00e4\u00e4ke, mille aruanded tuleb igas iteratsioonis k\u00e4sitsi l\u00e4bi vaadata ja anal\u00fc\u00fcsida.<\/li>\n<li><b>Halb katvus.<\/b> Infrastruktuuri skannimise kvaliteet s\u00f5ltub otseselt teadmistest haavatavuste ja tarkvaraversioonide kohta. Siiski, <noindex><a rel=\"nofollow\" href=\"https:\/\/avleonov.com\/2016\/11\/27\/fast-comparison-of-nessus-and-openvas-knowledge-bases\/\">testimine.<\/a><\/noindex>, isegi turuliidritel ei ole teadmistest t\u00e4ielikku \u00fclevaadet ning tasuta lahenduste andmebaasides on palju teavet, mida turuliidritel ei ole.<\/li>\n<li><b>Patchimise probleemid.<\/b> K\u00f5ige sagedamini h\u00f5lmab haavatavuste patchimine infrastruktuuris paketi v\u00e4rskendamist v\u00f5i konfiguratsioonifaili muutmist. Suur probleem on see, et s\u00fcsteem, eriti vanad s\u00fcsteemid, v\u00f5ivad v\u00e4rskendamise t\u00f5ttu ettearvamatult k\u00e4ituda. Sisuliselt tuleb teha integraatsiooniteste elavas infrastruktuuris tootmises.<\/li>\n<\/ol>\n<h2>L\u00e4hteviisid.<\/h2>\n<p>\nKuidas siis olla?<br \/>\nRohkem n\u00e4iteid ja seda, kuidas paljude nimetatud probleemidega v\u00f5idelda, selgitan j\u00e4rgmistes osades, aga praegu toon v\u00e4lja peamised suunad, millega saab t\u00f6\u00f6tada:<\/p>\n<ol>\n<li><b>Erinevate skannimisvahendite agregatsioon.<\/b> Korralikult kasutades mitmeid skannere, on v\u00f5imalik saavutada m\u00e4rkimisv\u00e4\u00e4rne teadmisteteabe ja detekteerimise kvaliteedi suurenemine. V\u00f5ib leida isegi rohkem haavatavusi, kui kogutud k\u00f5ikides skannerites eraldi, samal ajal saades t\u00e4psemalt hinnata riski taset ja anda rohkem soovitusi.<\/li>\n<li><b>SAST ja DAST integreerimine.<\/b> DAST katvust ja SAST t\u00e4psust saab suurendada nende vahelise teabe vahetamise kaudu. Algfailidest saab teavet olemasolevate marsruutide kohta ning DAST abil saab kontrollida, kas haavatavus on v\u00e4ljastpoolt n\u00e4htav.<\/li>\n<li><b>Machine Learning\u2122.<\/b> Aastal 2015 andsin ma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=a8l6zf8mFkc\">sellest,<\/a><\/noindex> (ja <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/beched\/data-mining-for-nmap-acceleration\">veel<\/a><\/noindex>) statistika rakendamise kohta, et anda skanneritele h\u00e4kkeri intuitsioon ja kiirendada nende m\u00e4rkimisprotsesse. See on kindlasti toiduks tulevase automaatse turvaseisu anal\u00fc\u00fcsi arendamiseks.<\/li>\n<li><b>IAST integreerimine automaattestide ja OpenAPI-ga.<\/b> CI\/CD-pipeline'i raames on v\u00f5imalik luua skaneerimisprotsess, mis p\u00f5hineb HTTP-proksina t\u00f6\u00f6tavatel t\u00f6\u00f6riistadel ja funktsionaalsetel testidel, mis t\u00f6\u00f6tavad HTTP-p\u00f5hiselt. OpenAPI\/Swagger testid ja lepingud annavad skaneerijale vajalikku teavet andmevoogude kohta ja v\u00f5imaldavad skannida rakendust erinevates olekutes.<\/li>\n<li><b>\u00d5ige konfigureerimine.<\/b> Iga rakenduse ja infrastruktuuri jaoks tuleb luua sobiv skaneerimisprofiil, mis arvestab liideste arvu ja iseloomu ning kasutatavaid tehnoloogiaid.<\/li>\n<li><b>Skaneerijate kohandamine.<\/b> Tihti ei ole rakendust v\u00f5imalik skaneerida ilma skaneerija t\u00e4iendava t\u00f6\u00f6tlemiseta. N\u00e4iteks makse v\u00e4rav, kus iga p\u00e4ring peab olema allkirjastatud. Ilma v\u00e4rava protokolli konnektori kirjutamiseta skaneerijad saadavad vale allkirjaga p\u00e4ringud. Samuti on vajalik kirjutada spetsialiseeritud skaneerijad teatud t\u00fc\u00fcpi puuduste, n\u00e4iteks: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.owasp.org\/index.php\/Testing_for_Insecure_Direct_Object_References_(OTG-AUTHZ-004)\">Ohtlik otseobjekti viide.<\/a><\/noindex><\/li>\n<li><b>Riskide juhtimine.<\/b> Erinevate skaneerijate kasutamine ja v\u00e4liste s\u00fcsteemidega, nagu varahalduse ja \u00e4hvarduste juhtimise integreerimine, v\u00f5imaldab kasutada riskitaseme hindamiseks mitmesuguseid parameetreid, nii et juhtkond saab objektiivse \u00fclevaate arenduse v\u00f5i infrastruktuuri turvaseisundist.<\/li>\n<\/ol>\n<p>J\u00e4tkake j\u00e4lgimist ja laske meil turvalisuse skaneerimises muutusi teha!<br \/>\n<br \/>Allikas: <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.1.1 - 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\/et\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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 Haavatavuste skaneerimine ja turvaline arendus. Osa 1 | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/et\/blog\/skanirovanie-na-uyazvimosti-i-bezopasnaya-razrabotka-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/29957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=29957"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/29957\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=29957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=29957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=29957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}