Pag-scan sa pagkahuyang ug luwas nga pag-uswag. Bahin 1

Pag-scan sa pagkahuyang ug luwas nga pag-uswag. Bahin 1

Isip kabahin sa ilang propesyonal nga mga kalihokan, ang mga developers, pentesters, ug mga security specialist kinahanglang mag-atubang sa mga proseso sama sa Vulnerability Management (VM), (Secure) SDLC.
Ubos niini nga mga hugpong sa mga pulong anaa ang lain-laing mga hugpong sa mga praktis ug mga himan nga gigamit nga nalambigit, bisan tuod ang ilang mga tiggamit managlahi.

Ang teknikal nga pag-uswag wala pa makaabot sa punto diin ang usa ka himan makapuli sa usa ka tawo aron analisahon ang seguridad sa imprastraktura ug software.
Makapainteres nga masabtan kung nganong ingon niini ug unsa nga mga problema ang giatubang sa usa.

Ang mga proseso

Ang proseso sa Vulnerability Management gidisenyo alang sa padayon nga pagmonitor sa seguridad sa imprastraktura ug pagdumala sa patch.
Ang proseso sa Secure SDLC (“secure development cycle”) gidisenyo aron mamentinar ang seguridad sa aplikasyon sa panahon sa pagpalambo ug operasyon.

Ang susamang bahin niini nga mga proseso mao ang proseso sa Vulnerability Assessment - vulnerability assessment, vulnerability scanning.
Ang panguna nga kalainan tali sa pag-scan sa VM ug SDLC mao nga sa una nga kaso ang katuyoan mao ang pag-ila sa nahibal-an nga mga kahuyangan sa software o pag-configure sa ikatulo nga partido. Pananglitan, usa ka outdated nga bersyon sa Windows o ang default nga community string para sa SNMP.
Sa ikaduha nga kaso, ang tumong mao ang pag-ila sa mga kahuyangan dili lamang sa mga sangkap sa ikatulo nga partido (dependencies), apan sa panguna sa code sa bag-ong produkto.

Naghimo kini og mga kalainan sa mga himan ug mga pamaagi. Sa akong opinyon, ang tahas sa pagpangita sa bag-ong mga kahuyangan sa usa ka aplikasyon labi ka makapaikag, tungod kay wala kini moabut sa mga bersyon sa fingerprinting, pagkolekta sa mga banner, brute-forcing password, ug uban pa.
Alang sa taas nga kalidad nga awtomatiko nga pag-scan sa mga kahuyangan sa aplikasyon, gikinahanglan ang mga algorithm nga nagkonsiderar sa mga semantiko sa aplikasyon, katuyoan niini, ug piho nga mga hulga.

Ang usa ka scanner sa imprastraktura kanunay nga mapulihan sa usa ka timer, sama sa akong giingon avleonov. Ang punto mao nga, sa lunsay nga istatistika, mahimo nimong hunahunaon nga huyang ang imong imprastraktura kung wala nimo kini gi-update, ingnon ta, sulod sa usa ka bulan.

Mga himan

Ang pag-scan, sama sa pagtuki sa seguridad, mahimo gamit ang itom nga kahon o puti nga kahon.

Black Box

Kung ang pag-scan sa blackbox, ang himan kinahanglan nga makahimo sa pagtrabaho sa serbisyo pinaagi sa parehas nga mga interface diin ang mga tiggamit nagtrabaho niini.

Ang mga scanner sa imprastraktura (Tenable Nessus, Qualys, MaxPatrol, Rapid7 Nexpose, ug uban pa) nangita alang sa bukas nga mga pantalan sa network, pagkolekta sa "mga banner," pagtino sa mga bersyon sa na-install nga software, ug pangitaa ang ilang base sa kahibalo alang sa kasayuran bahin sa mga kahuyangan sa kini nga mga bersyon. Gisulayan usab nila nga makit-an ang mga sayup sa pag-configure sama sa default nga mga password o bukas nga pag-access sa datos, huyang nga mga cipher sa SSL, ug uban pa.

Ang mga scanner sa aplikasyon sa web (Acunetix WVS, Netsparker, Burp Suite, OWASP ZAP, ug uban pa) mahimo usab nga mailhan ang nahibal-an nga mga sangkap ug ang ilang mga bersyon (pananglitan, CMS, frameworks, JS library). Ang mga nag-unang lakang sa scanner mao ang pag-crawl ug pag-fuzzing.
Atol sa pag-crawl, ang scanner nagkolekta og impormasyon mahitungod sa kasamtangan nga mga interface sa aplikasyon ug mga parameter sa HTTP. Atol sa fuzzing, mutated o namugna data gisal-ut ngadto sa tanan nga namatikdan nga mga parameter aron sa paghagit sa usa ka sayop ug makamatikod sa usa ka kahuyang.

Ang ingon nga mga scanner sa aplikasyon nahisakop sa mga klase sa DAST ug IAST - Dynamic ug Interactive Application Security Testing, matag usa.

Puti nga kahon

Adunay daghang mga kalainan sa pag-scan sa whitebox.
Isip kabahin sa proseso sa VM, ang mga scanner (Vulners, Incsecurity Couch, Vuls, Tenable Nessus, ug uban pa) sagad gihatagan og access sa mga sistema pinaagi sa paghimo og authenticated scan. Sa ingon, ang scanner maka-download sa na-install nga mga bersyon sa pakete ug mga parameter sa pag-configure direkta gikan sa sistema, nga dili matag-an kini gikan sa mga banner sa serbisyo sa network.
Ang pag-scan mas tukma ug kompleto.

Kung maghisgot kami bahin sa pag-scan sa whitebox (CheckMarx, HP Fortify, Coverity, RIPS, FindSecBugs, ug uban pa) sa mga aplikasyon, nan kasagaran nga naghisgot kami bahin sa pag-analisar sa static nga code ug ang paggamit sa angay nga mga himan sa klase sa SAST - Static Application Security Testing.

Mga problema

Adunay daghang mga problema sa pag-scan! Kinahanglan nakong atubangon ang kadaghanan kanila sa personal isip kabahin sa paghatag og serbisyo alang sa pagtukod og pag-scan ug luwas nga mga proseso sa pag-uswag, ingon man usab sa pagpahigayon sa trabaho sa pagtuki sa seguridad.

Akong ipasiugda ang 3 nga nag-unang mga grupo sa mga problema, nga gipamatud-an sa mga panag-istoryahanay sa mga inhenyero ug mga pinuno sa serbisyo sa seguridad sa kasayuran sa lainlaing mga kompanya.

Mga Isyu sa Pag-scan sa Web Application

  1. Kalisud sa pagpatuman. Kinahanglan nga i-deploy, i-configure, i-customize ang mga scanner para sa matag aplikasyon, maggahin ug test environment para sa mga scan ug ipatuman sa proseso sa CI/CD para kini mahimong epektibo. Kay kon dili, kini mahimong usa ka walay pulos nga pormal nga pamaagi nga magpatungha lamang ug bakak nga mga positibo
  2. Gidugayon sa pag-scan. Bisan sa 2019, ang mga scanner naghimo sa usa ka dili maayo nga trabaho sa pag-deduplicate sa mga interface ug mahimong mogugol sa mga adlaw sa pag-scan sa usa ka libo nga mga panid nga adunay 10 nga mga parameter sa matag usa, nga giisip kini nga lahi, bisan kung ang parehas nga code ang responsable alang kanila. Sa parehas nga oras, ang desisyon sa pag-deploy sa produksiyon sa sulod sa siklo sa pag-uswag kinahanglan himuon dayon
  3. Dili maayo nga mga rekomendasyon. Ang mga scanner naghatag og patas nga kinatibuk-ang mga rekomendasyon, ug ang developer dili kanunay nga makasabut dayon gikan kanila kung unsaon pagpakunhod sa lebel sa risgo, ug labaw sa tanan, kung kini kinahanglan nga buhaton karon, o dili pa ba kini makahadlok.
  4. Makadaot nga epekto sa aplikasyon. Ang mga scanner mahimo’g maayo nga maghimo usa ka pag-atake sa DoS sa usa ka aplikasyon, ug mahimo usab nga maghimo usa ka daghang gidaghanon sa mga entidad o magbag-o sa mga naa na (pananglitan, paghimo og libu-libo nga mga komento sa usa ka blog), mao nga dili ka kinahanglan nga wala’y paghunahuna nga maglansad sa usa ka pag-scan sa produksiyon.
  5. Ubos nga kalidad sa vulnerability detection. Ang mga scanner kasagarang mogamit ug usa ka pirmi nga han-ay sa mga payload ug daling masipyat sa usa ka kahuyang nga dili mohaum sa nailhan nga senaryo sa kinaiya sa aplikasyon.
  6. Ang scanner wala makasabut sa mga gimbuhaton sa aplikasyon. Ang mga scanner mismo wala mahibal-an kung unsa ang "Internet banking", "payment", "comment". Alang kanila, adunay mga link ug mga parameter lamang, mao nga ang usa ka dako nga layer sa posible nga mga kahuyangan sa lohika sa negosyo nagpabilin nga hingpit nga wala’y tabon; dili sila maghunahuna nga maghimo usa ka doble nga pagsulat, pag-espiya sa datos sa uban pinaagi sa ID, o pagdugang sa balanse pinaagi sa paglibot.
  7. Ang scanner wala makasabut sa mga semantiko sa mga panid. Ang mga scanner dili makabasa sa mga FAQ, dili makaila sa mga captcha, ug sa ilang kaugalingon dili nila mahibal-an kung unsaon pagrehistro ug dayon pag-login pag-usab, nga dili nimo ma-klik ang "logout," ug kung unsaon pagpirma sa mga hangyo kung mag-usab sa parameter mga mithi. Ingon usa ka sangputanan, kadaghanan sa aplikasyon mahimong dili ma-scan.

Mga problema sa pag-scan sa source code

  1. Mga bakak nga positibo. Ang static nga pag-analisa usa ka komplikado nga buluhaton nga naglambigit sa daghang mga trade-off. Ang katukma kanunay kinahanglan nga isakripisyo, ug bisan ang mahal nga mga scanner sa negosyo nagpatunghag daghang mga sayup nga positibo
  2. Kalisud sa pagpatuman. Aron madugangan ang katukma ug pagkakompleto sa static nga pagtuki, gikinahanglan ang pagpino sa mga lagda sa pag-scan, ug ang pagsulat niini nga mga lagda mahimong sobra ka kusog sa pagtrabaho. Usahay mas dali nga makit-an ang tanan nga mga lugar sa code nga adunay usa ka matang sa bug ug ayohon kini kaysa pagsulat usa ka lagda aron mahibal-an ang ingon nga mga kaso
  3. Kakulang sa suporta sa pagsalig. Ang dagkong mga proyekto nagdepende sa daghang mga librarya ug mga frameworks nga nagpalapad sa mga kapabilidad sa programming language. Kung ang base sa kahibalo sa scanner wala’y kasayuran bahin sa mga "pag-unlod" sa kini nga mga balangkas, kini mahimong usa ka buta nga lugar ug ang scanner dili gani makasabut sa code.
  4. Gidugayon sa pag-scan. Ang pagpangita sa mga kahuyangan sa code usa ka komplikado nga buluhaton sa termino sa mga algorithm. Busa, ang proseso mahimo’g magdugay ug nanginahanglan hinungdanon nga mga kapanguhaan sa pag-compute.
  5. Ubos nga coverage. Bisan pa sa pagkonsumo sa kapanguhaan ug oras sa pag-scan, ang mga nag-develop sa tool sa SAST kinahanglan pa nga mohimo mga pagkompromiso ug analisa dili tanan nga nag-ingon nga ang programa mahimong naa sa
  6. Reproducibility sa mga findings. Ang pagtudlo sa espesipikong linya ug tawag nga stack nga mosangpot sa usa ka kahuyang dako, apan sa pagkatinuod, sa kasagaran ang scanner dili makahatag og igong impormasyon aron masusi ang presensya sa usa ka kahuyang gikan sa gawas. Human sa tanan, ang sayup mahimo usab nga naa sa dead code, nga dili maabot sa usa ka tig-atake

Mga problema sa pag-scan sa imprastraktura

  1. Dili igo nga imbentaryo. Sa dagkong mga imprastraktura, labi na kadtong nahimulag sa heyograpiya, kasagaran ang labing lisud nga mahibal-an kung unsang mga host ang i-scan. Sa laing pagkasulti, ang buluhaton sa pag-scan suod nga may kalabotan sa buluhaton sa pagdumala sa asset
  2. Dili maayo nga prioritization. Ang mga scanner sa network kanunay nga nagpatunghag daghang mga sangputanan nga adunay mga sayup nga dili mapahimuslan sa praktis, apan pormal nga taas ang lebel sa peligro niini. Ang konsumidor nakadawat og usa ka taho nga lisud hubaron, ug dili klaro kung unsa ang kinahanglan nga tul-iron una.
  3. Dili maayo nga mga rekomendasyon. Ang base sa kahibalo sa scanner sa kasagaran naglangkob lamang sa kinatibuk-an nga impormasyon mahitungod sa kahuyang ug unsaon pag-ayo niini, mao nga ang mga admin kinahanglan nga mag-armas sa ilang kaugalingon sa Google. Ang sitwasyon mas maayo sa mga whitebox scanner, nga mahimong mag-isyu sa usa ka piho nga sugo aron ayuhon
  4. Gibuhat sa kamot. Ang mga imprastraktura mahimong adunay daghang mga node, nga nagpasabut nga posible nga daghang mga sayup, mga taho nga kinahanglan i-parse ug analisahon nga mano-mano sa matag pag-uli.
  5. Dili maayo nga coverage. Ang kalidad sa pag-scan sa imprastraktura direkta nagdepende sa gidak-on sa base sa kahibalo bahin sa mga kahuyangan ug mga bersyon sa software. diin, namalik kini, bisan ang mga lider sa merkado walay komprehensibo nga base sa kahibalo, ug ang mga database sa mga libre nga solusyon adunay daghang impormasyon nga wala sa mga lider.
  6. Mga problema sa pag-patch. Kasagaran, ang pag-patching sa mga kahuyangan sa imprastraktura naglakip sa pag-update sa usa ka pakete o pagbag-o sa usa ka file sa pag-configure. Ang dako nga problema dinhi mao nga ang usa ka sistema, labi na ang usa ka kabilin, mahimong molihok nga dili matag-an ingon usa ka sangputanan sa usa ka pag-update. Sa panguna, kinahanglan nimo nga magpahigayon mga pagsulay sa panagsama sa live nga imprastraktura sa produksiyon.

Mga pamaagi

Unsaon pagkahimo?
Isulti ko kanimo ang labi pa bahin sa mga pananglitan ug kung giunsa ang pag-atubang sa daghang nalista nga mga problema sa mga mosunud nga bahin, apan sa pagkakaron ipakita nako ang mga nag-unang direksyon diin mahimo ka magtrabaho:

  1. Paghiusa sa lainlaing mga himan sa pag-scan. Sa husto nga paggamit sa daghang mga scanner, mahimo nimong makab-ot ang usa ka hinungdanon nga pagtaas sa base sa kahibalo ug ang kalidad sa pagtuki. Mahimo nimong makit-an ang labi pa nga mga kahuyangan kaysa sa kinatibuk-an sa tanan nga mga scanner nga gilain nga gilansad, samtang mahimo nimo nga mas tukma nga masusi ang lebel sa peligro ug maghimo daghang mga rekomendasyon
  2. Paghiusa sa SAST ug DAST. Posible nga madugangan ang pagsakup sa DAST ug ang katukma sa SAST pinaagi sa pagbayloay og kasayuran tali kanila. Gikan sa mga tinubdan makakuha ka og impormasyon bahin sa kasamtangan nga mga ruta, ug gamit ang DAST masusi nimo kung ang pagkahuyang makita gikan sa gawas
  3. Machine Learning™. Sa 2015 ako misulti (ug pa) mahitungod sa paggamit sa mga estadistika aron mahatagan ang mga scanner og intuition sa hacker ug mapadali kini. Kini siguradong kumpay alang sa pagpalambo sa automated security analysis sa umaabot.
  4. Paghiusa sa IAST sa mga autotest ug OpenAPI. Sulod sa pipeline sa CI/CD, posible nga maghimo ug proseso sa pag-scan base sa mga himan nga nagtrabaho isip HTTP proxy ug functional nga mga pagsulay nga nagtrabaho sa HTTP. Ang mga pagsulay ug kontrata sa OpenAPI/Swagger maghatag sa scanner sa nawala nga impormasyon bahin sa mga agos sa datos ug himoong posible nga ma-scan ang aplikasyon sa lainlaing mga estado.
  5. Sakto nga configuration. Alang sa matag aplikasyon ug imprastraktura, kinahanglan nimo nga maghimo usa ka angay nga profile sa pag-scan, nga gikonsiderar ang gidaghanon ug kinaiya sa mga interface ug ang mga teknolohiya nga gigamit.
  6. Pag-customize sa scanner. Kasagaran ang usa ka aplikasyon dili ma-scan kung wala’y pagbag-o sa scanner. Usa ka pananglitan mao ang gateway sa pagbayad, diin ang matag hangyo kinahanglan nga pirmahan. Kung wala’y pagsulat usa ka konektor sa protocol sa gateway, ang mga scanner wala’y hunahuna nga bombahan ang mga hangyo nga adunay sayup nga pirma. Kinahanglan usab nga isulat ang mga espesyal nga scanner alang sa usa ka piho nga klase sa depekto, sama sa Wala’y kasiguroan nga Sanggunian nga direkta nga Butang
  7. Pagdumala sa risgo. Ang paggamit sa lainlaing mga scanner ug panagsama sa mga eksternal nga sistema sama sa Asset Management ug Threat Management magtugot sa paggamit sa daghang mga parameter aron masusi ang lebel sa peligro, aron ang pagdumala makakuha usa ka igong litrato sa karon nga kahimtang sa seguridad sa pag-uswag o imprastraktura.

Magpabilin nga tuned ug atong bungkagon ang vulnerability scanning!

Source: www.habr.com

Idugang sa usa ka comment