Ahultasunen azterketa eta garapen segurua. 1. zatia

Ahultasunen azterketa eta garapen segurua. 1. zatia

Beren jarduera profesionalen baitan, garatzaileek, pentesterek eta segurtasun espezialistek, besteak beste, Vulnerability Management (VM), (Secure) SDLC bezalako prozesuei aurre egin behar diete.
Esaldi horien azpian erabiltzen diren praktika eta tresna multzo desberdinak daude, elkarri lotuta daudenak, nahiz eta haien erabiltzaileak desberdinak diren.

Aurrerapen teknikoa oraindik ez da iritsi tresna batek pertsona bat ordezkatzeko azpiegituren eta softwarearen segurtasuna aztertzeko.
Interesgarria da ulertzea zergatik den horrela eta zein arazo dituen.

Prozesuak

Ahultasunen kudeaketa prozesua azpiegituren segurtasunaren eta adabakien kudeaketa etengabe kontrolatzeko diseinatuta dago.
Secure SDLC prozesua ("garapen seguruaren zikloa") aplikazioen segurtasuna mantentzeko diseinatuta dago garapenean eta funtzionamenduan.

Prozesu horien antzeko zati bat ahultasunen ebaluazioaren prozesua da: ahultasunen ebaluazioa, ahultasunen eskaneatzea.
VM eta SDLC eskanearen arteko desberdintasun nagusia da lehen kasuan hirugarrenen softwarean edo konfigurazioan ezagutzen diren ahuleziak detektatzea dela helburua. Adibidez, Windows-en bertsio zaharkitua edo SNMPrako komunitate-kate lehenetsia.
Bigarren kasuan, hirugarrenen osagaietan ez ezik (mendekotasunak), produktu berriaren kodean, batez ere, ahultasunak detektatzea da helburua.

Horrek tresna eta ikuspegi desberdintasunak sortzen ditu. Nire ustez, aplikazio batean ahultasun berriak aurkitzeko lana askoz ere interesgarriagoa da, ez baita hatz-marken bertsioak ateratzea, pankartak biltzea, pasahitzak bortxatzea eta abar.
Aplikazioaren ahultasunen kalitate handiko eskaneatu automatizaturako, aplikazioaren semantika, helburua eta mehatxu zehatzak kontuan hartzen dituzten algoritmoak behar dira.

Azpiegitura eskaner bat sarritan ordezkatu daiteke tenporizadore batekin, nik esan bezala avleonov. Kontua da, estatistikoki, zure azpiegitura zaurgarritzat jo dezakezula hilabete batez eguneratu ez baduzu, esate baterako.

Tresnak

Eskaneatzea, segurtasun-analisia bezala, kutxa beltza edo kutxa zuria erabiliz egin daiteke.

Black Box

Kutxa beltza eskaneatzen denean, tresnak zerbitzuarekin lan egin ahal izan behar du erabiltzaileek berarekin lan egiten duten interfaze berdinen bidez.

Azpiegitura-eskanerrek (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, etab.) sareko ataka irekiak bilatzen dituzte, "banderrak" biltzen dituzte, instalatutako softwarearen bertsioak zehazten dituzte eta bertsio hauetako ahultasunei buruzko informazioa bilatzen dute beren ezagutza-basean. Gainera, konfigurazio akatsak detektatzen saiatzen dira, hala nola pasahitzak lehenetsiak edo datu irekien sarbidea, SSL zifratze ahulak, etab.

Web-aplikazioen eskanerrek (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, etab.) osagai ezagunak eta haien bertsioak ere identifikatu ditzakete (adibidez, CMS, frameworkak, JS liburutegiak). Eskanerraren urrats nagusiak arakatzea eta nahastea dira.
Arakatzean, eskanerrak lehendik dauden aplikazioen interfazeei eta HTTP parametroei buruzko informazioa biltzen du. Fuzzing zehar, mutatutako edo sortutako datuak detektatu diren parametro guztietan txertatzen dira, errore bat eragiteko eta ahultasun bat detektatzeko.

Aplikazio-eskanerrak DAST eta IAST klaseetakoak dira - Aplikazioen segurtasun-proba dinamikoak eta interaktiboak, hurrenez hurren.

Kutxa zuria

Desberdintasun gehiago daude whitebox eskaneatzearekin.
VM prozesuaren barruan, eskanerrek (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, etab.) sarritan sistemetarako sarbidea ematen zaie autentifikatutako eskaneatu bat eginez. Horrela, eskanerrak instalatutako paketeen bertsioak eta konfigurazio-parametroak zuzenean deskarga ditzake sistematik, sareko zerbitzuen pankartak asmatu gabe.
Eskaneatzea zehatzagoa eta osatuagoa da.

Aplikazioen whitebox eskaneatzeaz (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, etab.) hitz egiten badugu, normalean kode estatikoko analisiaz eta SAST klaseko tresna egokien erabileraz ari gara - Static Application Security Testing.

Problems

Arazo asko daude eskaneatzearekin! Horietako gehienei pertsonalki aurre egin behar diet eskaneatzeko eta garapen seguruko prozesuak eraikitzeko zerbitzu bat eskaintzeko, baita segurtasun-analisi lanak egiterakoan ere.

3 arazo-multzo nagusi nabarmenduko ditut, hainbat enpresatako ingeniariekin eta informazio-segurtasun zerbitzuetako arduradunekin izandako elkarrizketekin baieztatzen direnak.

Web aplikazioak eskaneatzeko arazoak

  1. Ezartzeko zailtasuna. Eskanerrak hedatu, konfiguratu, pertsonalizatu behar dira aplikazio bakoitzerako, azterketa-ingurune bat esleitu eta CI/CD prozesuan inplementatu behar da hori eraginkorra izan dadin. Bestela, positibo faltsuak soilik sortuko dituen alferrikako prozedura formal bat izango da
  2. Eskanearen iraupena. 2019an ere, eskanerrek lan txarra egiten dute interfazeak desduplikatzen eta egunak eman ditzakete mila orri eskaneatzen bakoitzean 10 parametro dituzten, desberdinak kontuan hartuta, kode bera den arren. Aldi berean, garapen zikloaren barruan ekoizpenera hedatzeko erabakia azkar hartu behar da
  3. Gomendio eskasak. Eskanerrek gomendio nahiko orokorrak ematen dituzte, eta garatzaileak ezin du beti azkar ulertu arrisku-maila nola murriztu, eta, batez ere, oraintxe bertan egin behar den ala ez ote den beldurrik.
  4. Eragin suntsitzailea aplikazioan. Eskanerrek DoS eraso bat egin dezakete aplikazio baten aurka, eta entitate ugari sor ditzakete edo lehendik daudenak alda ditzakete (adibidez, blog batean hamarnaka iruzkin sortu), beraz, ez zenuke pentsatu gabe abiarazi eskaneatu bat produkzioan.
  5. Ahultasunaren detekzioaren kalitate baxua. Eskanerrek normalean karga sorta finko bat erabiltzen dute eta erraz galdu dezakete aplikazioaren portaera ezagunean sartzen ez den ahultasun bat.
  6. Eskanerrak ez ditu aplikazioaren funtzioak ulertzen. Eskanerrek beraiek ez dakite zer diren "Interneteko bankua", "ordainketa", "iruzkindu". Beraientzat, estekak eta parametroak baino ez daude, beraz, negozio-logikako ahultasun posibleen geruza handi bat guztiz agerian geratzen da; ez dute pentsatuko baliogabetze bikoitza egitea, beste norbaiten datuak IDaren bidez zelatatzea edo borobiltzearen bidez saldoa handitzea.
  7. Eskanerrak ez du orrialdeen semantika ulertzen. Eskanerrek ezin dituzte irakurri ohiko galderak, ezin dituzte captcha-ak ezagutu, eta bere kabuz ez dute asmatuko nola erregistratu eta gero berriro saioa hasi, ezin duzula sakatu "saioa amaitu" eta eskaerak nola sinatu parametroa aldatzean. balioak. Ondorioz, baliteke aplikazio gehiena ez eskaneatzea.

Arazoak iturburu kodea eskaneatzeko

  1. Positibo faltsuak. Azterketa estatikoa lan konplexua da, eta truke-off asko dakartza. Zehaztasuna askotan sakrifikatu behar da, eta enpresa eskaner garestiek ere positibo faltsu ugari sortzen dituzte
  2. Ezartzeko zailtasuna. Analisi estatikoaren zehaztasuna eta osotasuna areagotzeko, beharrezkoa da eskaneatzeko arauak fintzea, eta arau horiek idaztea lan-eskaintza handia izan daiteke. Batzuetan errazagoa da akatsen bat duten kodean toki guztiak aurkitzea eta konpontzea horrelako kasuak detektatzeko arau bat idaztea baino.
  3. Mendekotasun-laguntza falta. Proiektu handiak programazio-lengoaiaren gaitasunak zabaltzen dituzten liburutegi eta esparru ugariren mende daude. Eskanerraren ezagutza-baseak esparru hauetako "konketa"-ei buruzko informaziorik ez badu, puntu itsu bihurtuko da eta eskanerrak ez du kodea ulertuko.
  4. Eskanearen iraupena. Kodean ahuleziak aurkitzea lan konplexua da algoritmoei dagokienez. Beraz, prozesuak denbora luzea izan dezake eta baliabide informatiko garrantzitsuak behar ditu.
  5. Estaldura baxua. Baliabideen kontsumoa eta eskaneatzeko denbora izan arren, SAST tresnaren garatzaileek oraindik konpromisoak hartu behar dituzte eta ez dituzte programak egon daitezkeen egoera guztiak aztertu.
  6. Aurkikuntzen errepikagarritasuna. Ahultasun bat eragiten duen linea eta dei pila zehatza seinalatzea bikaina da, baina, egia esan, askotan eskanerrak ez du informazio nahikoa ematen kanpotik ahultasun bat dagoen egiaztatzeko. Azken finean, akatsa kode hilean ere egon daiteke, erasotzaile batentzat ailegatu ezin dena

Azpiegitura eskaneatzeko arazoak

  1. Inbentario nahikoa ez. Azpiegitura handietan, batez ere geografikoki bereizita daudenetan, zailena izaten da zein ostalari eskaneatu jakitea. Beste era batera esanda, eskaneatzeko zeregina oso lotuta dago aktiboen kudeaketa zereginarekin
  2. Lehenespen eskasa. Sareko eskanerrek askotan emaitza asko ematen dituzte praktikan ustiatu ezin diren akatsekin, baina formalki arrisku maila altua da. Kontsumitzaileak interpretatzeko zaila den txosten bat jasotzen du, eta ez dago argi zer zuzendu behar den lehenik.
  3. Gomendio eskasak. Eskanerraren ezagutza-baseak ahultasunari eta hura konpontzeko moduari buruzko informazio oso orokorra baino ez du jasotzen, beraz, administratzaileek Google-rekin armatu beharko dute. Egoera apur bat hobea da whitebox eskanerrekin, konpontzeko komando zehatz bat eman dezaketenak
  4. Eskuz egina. Azpiegiturek nodo asko izan ditzakete, hau da, akats asko izan daitezke, eta horien txostenak iterazio bakoitzean eskuz analizatu eta aztertu behar dira.
  5. Estaldura eskasa. Azpiegitura eskaneatzeko kalitatea ahultasunei eta software-bertsioei buruzko ezagutza-basearen tamainaren araberakoa da zuzenean. non, bihurtzen da, merkatuko liderrak ere ez dute ezagutza-base integralik, eta doako soluzioen datu-baseek buruzagiek ez duten informazio asko dute.
  6. Adabakiarekin arazoak. Gehienetan, azpiegituraren ahuleziak adabakiak pakete bat eguneratzea edo konfigurazio fitxategia aldatzea dakar. Hemen arazo handia da sistema batek, batez ere ondarea, ezusteko portaera izan dezakeela eguneratze baten ondorioz. Funtsean, ekoizpenean zuzeneko azpiegituretan integrazio probak egin beharko dituzu.

Planteamenduak

Nola egin dezaket hori?
Adibideei buruz eta zerrendatutako arazo askori nola aurre egin hurrengo zatietan esango dizut, baina oraingoz lan egin dezakezun ildo nagusiak adieraziko dizkizut:

  1. Hainbat eskaneatzeko tresnaren agregazioa. Hainbat eskanerren erabilera zuzena erabiliz, ezagutza-basea eta detekzio-kalitatea nabarmen handitzea lor dezakezu. Bereiz abiarazitako eskaner guztiak baino are ahultasun gehiago aurki ditzakezu, arrisku maila zehatzago ebaluatu eta gomendio gehiago egin ditzakezun bitartean.
  2. SAST eta DAST integrazioa. DASTen estaldura eta SASTen zehaztasuna areagotzea posible da haien artean informazioa trukatuz. Iturrietatik lehendik dauden ibilbideei buruzko informazioa lor dezakezu, eta DAST erabiliz ahultasuna kanpotik ikusten den egiaztatu dezakezu
  3. Machine Learningβ„’. 2015ean I esan (eta gehiago) estatistikak erabiltzeari buruz eskanerrak hackerren intuizioa emateko eta bizkortzeko. Zalantzarik gabe, etorkizunean segurtasun-analisi automatizatua garatzeko bazka da.
  4. IAST-en integrazioa autotestekin eta OpenAPIekin. CI/CD kanalizazioaren barruan, HTTP proxy gisa funtzionatzen duten tresnetan eta HTTP bidez lan egiten duten proba funtzionaletan oinarritutako eskaneatu prozesu bat sor daiteke. OpenAPI/Swagger probak eta kontratuek eskanerari datu-fluxuei buruzko falta den informazioa emango diote eta aplikazioa hainbat egoeratan eskaneatu ahal izango dute.
  5. Konfigurazio zuzena. Aplikazio eta azpiegitura bakoitzerako, eskaneatzeko profil egoki bat sortu behar duzu, interfazeen kopurua eta izaera eta erabilitako teknologiak kontuan hartuta.
  6. Eskanerraren pertsonalizazioa. Askotan ezin da aplikazio bat eskaneatu eskanerra aldatu gabe. Adibide bat eskaera bakoitza sinatu behar den ordainketa pasabide bat da. Atebideko protokoloan konektorerik idatzi gabe, eskanerrek sinadura okerreko eskaerak burugabe bonbardatuko dituzte. Akats mota jakin baterako eskaner espezializatuak idaztea ere beharrezkoa da, adibidez Zuzeneko objektuen erreferentzia ez segurua
  7. Arriskuen kudeaketa. Hainbat eskaner erabiltzeak eta kanpoko sistemekin integratzeak, hala nola Aktiboen Kudeaketa eta Mehatxuen Kudeaketa, parametro asko erabiltzea ahalbidetuko du arrisku-maila ebaluatzeko, kudeaketak garapenaren edo azpiegituraren egungo segurtasun-egoeraren irudi egokia lor dezan.

Egon adi eta eten dezagun ahultasunen eskaneamendua!

Iturria: www.habr.com

Gehitu iruzkin berria