Kahadlok ug Pagdumot sa DevSecOps

Kami adunay 2 code analyzers, 4 dynamic testing tools, among kaugalingong crafts ug 250 scripts. Dili nga gikinahanglan ang tanan sa karon nga proseso, apan sa higayon nga nagsugod ka sa pagpatuman sa DevSecOps, kinahanglan nimo nga moadto sa katapusan.

Kahadlok ug Pagdumot sa DevSecOps

Tinubdan. Mga karakter nga gihimo ni Justin Roiland ug Dan Harmon.

Unsa ang SecDevOps? Unsa man ang bahin sa DevSecOps? Unsa ang mga kalainan? Seguridad sa Aplikasyon - bahin sa unsa kini? Ngano nga dili na molihok ang klasiko nga pamaagi? Kining tanan nga mga pangutana nahibalo sa tubag Yuri Shabalin gikan sa Seguridad sa Swordfish. Tubagon ni Yuriy ang tanan sa detalye ug analisahon ang mga problema sa pagbalhin gikan sa klasiko nga modelo sa Seguridad sa Application hangtod sa proseso sa DevSecOps: kung giunsa ang husto nga pagduol sa panagsama sa luwas nga proseso sa pag-uswag sa proseso sa DevOps ug dili mabuak ang bisan unsang butang, kung giunsa ang pag-agi sa mga nag-unang yugto sa pagsulay sa seguridad, unsa nga mga himan ang magamit, kung giunsa kini magkalainlain ug kung giunsa kini pag-configure sa husto aron malikayan ang mga lit-ag.


Mahitungod sa mamumulong: Yuri Shabalin - Chief Security Architect sa kompanya Seguridad sa Swordfish. Responsable alang sa pagpatuman sa SSDL, alang sa kinatibuk-ang paghiusa sa mga himan sa pagtuki sa aplikasyon ngadto sa usa ka pag-uswag ug pagsulay sa ekosistema. 7 ka tuig nga kasinatian sa seguridad sa impormasyon. Nagtrabaho sa Alfa-Bank, Sberbank ug Positive Technologies, nga nagpalambo sa software ug naghatag serbisyo. Speaker sa internasyonal nga mga komperensya ZerONights, PHDays, RISSPA, OWASP.

Seguridad sa Aplikasyon: bahin sa unsa kini?

Seguridad sa Aplikasyon mao ang seksyon sa seguridad nga responsable sa seguridad sa aplikasyon. Dili kini bahin sa imprastraktura o seguridad sa network, apan bahin sa kung unsa ang among gisulat ug kung unsa ang nagtrabaho sa mga developer - kini ang mga sayup ug kahuyangan sa aplikasyon mismo.

Direksyon SDL o SDLC - Siklo sa kinabuhi sa pagpalambo sa seguridad - Gipalambo sa Microsoft. Ang diagram nagpakita sa kanonikal nga SDLC nga modelo, ang nag-unang tahas nga mao ang pag-apil sa seguridad sa matag yugto sa kalamboan, gikan sa mga kinahanglanon, sa pagpagawas ug pagpagawas sa produksyon. Ang Microsoft nakaamgo nga adunay daghan kaayo nga mga bug sa prom, adunay daghan niini ug adunay kinahanglan nga buhaton mahitungod niini, ug ilang gisugyot kini nga pamaagi, nga nahimong kanonikal.

Kahadlok ug Pagdumot sa DevSecOps

Ang Application Security ug SSDL wala gitumong sa pag-ila sa mga kahuyangan, sama sa kasagarang gituohan, apan sa pagpugong sa ilang panghitabo. Sa paglabay sa panahon, ang kanonikal nga pamaagi gikan sa Microsoft gipauswag, naugmad, kini adunay mas lawom nga detalyado nga pagpaunlod.

Kahadlok ug Pagdumot sa DevSecOps

Ang kanonikal nga SDLC detalyado kaayo sa lainlaing mga pamaagi - OpenSAMM, BSIMM, OWASP. Ang mga pamaagi magkalahi, apan sa kasagaran managsama.

Pagtukod sa Seguridad Sa Modelo sa Pagkahamtong

Ganahan ko niini BSIMM - Pagtukod sa Seguridad Sa Modelo sa Pagkahamtong. Ang basehan sa pamaagi mao ang pagbahin sa proseso sa Application Security ngadto sa 4 ka domain: Governance, Intelligence, SSDL Touchpoints ug Deployment. Ang matag domain adunay 12 ka mga praktis, nga girepresentahan isip 112 ka mga kalihokan.

Kahadlok ug Pagdumot sa DevSecOps

Ang matag usa sa 112 nga mga kalihokan adunay 3 nga lebel sa pagkahamtong: beginner, intermediate ug advanced. Mahimo nimong tun-an ang tanan nga 12 nga mga praktis sa mga seksyon, pagpili sa mga butang nga hinungdanon kanimo, mahibal-an kung giunsa kini ipatuman ug anam-anam nga pagdugang mga elemento, pananglitan, static ug dinamikong pagtuki sa code o pagrepaso sa code. Naghimo ka og usa ka plano ug nagtrabaho sumala niini nga kalmado isip kabahin sa pagpatuman sa pinili nga mga kalihokan.

Ngano nga ang DevSecOps

Ang DevOps usa ka kinatibuk-ang dako nga proseso diin ang seguridad kinahanglan nga atimanon.

Sa sinugdanan DevOps naglakip sa mga pagsusi sa seguridad. Sa praktis, ang gidaghanon sa mga security team mas gamay kay sa karon, ug sila naglihok dili isip mga partisipante sa proseso, apan isip usa ka control ug oversight body nga nangayo niini ug nagsusi sa kalidad sa produkto sa katapusan sa pagpagawas. Kini usa ka klasiko nga pamaagi diin ang mga security team naa sa luyo sa usa ka paril gikan sa pag-uswag ug wala moapil sa proseso.

Kahadlok ug Pagdumot sa DevSecOps

Ang nag-unang problema mao nga ang seguridad sa impormasyon bulag sa kalamboan. Kasagaran kini usa ka matang sa IB circuit ug kini adunay 2-3 nga dagko ug mahal nga mga himan. Kausa sa matag unom ka bulan, ang source code o aplikasyon moabot aron sulayan, ug kausa sa usa ka tuig Mga Pentest. Ang tanan nga kini nagdala sa kamatuoran nga ang mga petsa sa pagpagawas alang sa industriya gi-post, ug usa ka dako nga gidaghanon sa mga kahuyangan gikan sa automated nga mga himan nahulog sa developer. Imposible nga i-disassemble ug ayohon kining tanan, tungod kay bisan sa miaging unom ka bulan ang mga resulta wala mabungkag, ug ania ang usa ka bag-ong batch.

Sa dagan sa trabaho sa among kompanya, nakita namon nga ang seguridad sa tanan nga mga lugar ug mga industriya nakasabut nga panahon na aron maabut ug magtuyok sa pag-uswag sa usa ka ligid - sa Agile. Ang paradigma sa DevSecOps hingpit nga mohaum sa agile development methodology, pagpatuman, suporta, ug pag-apil sa matag pagpagawas ug pag-uli.

Kahadlok ug Pagdumot sa DevSecOps

Pagbalhin ngadto sa DevSecOps

Ang labing importante nga pulong sa Security Development Lifecycle mao ang "proseso". Kinahanglan nimo nga masabtan kini sa dili pa maghunahuna bahin sa pagpalit sa mga himan.

Ang paglakip lang sa mga himan sa proseso sa DevOps dili igo - ang komunikasyon ug pagsinabtanay tali sa mga partisipante sa proseso hinungdanon.

Ang mga tawo mas importante kay sa mga himan

Kasagaran ang pagplano sa usa ka luwas nga proseso sa pag-uswag nagsugod sa pagpili ug pagpalit sa usa ka himan, ug natapos sa mga pagsulay sa paghiusa sa himan sa karon nga proseso, nga nagpabilin nga pagsulay. Kini modala ngadto sa makapasubo nga mga sangputanan, tungod kay ang tanan nga mga himan adunay ilang kaugalingon nga mga kinaiya ug mga limitasyon.

Ang kasagaran nga kaso mao kung ang departamento sa seguridad nagpili usa ka maayo, mahal nga himan nga adunay daghang mga bahin ug mianhi sa mga nag-develop aron matukod kini sa proseso. Apan dili kini molihok - ang proseso gidisenyo sa paagi nga ang mga limitasyon sa usa ka napalit na nga instrumento dili mohaum sa karon nga paradigm.

Una, ihulagway kung unsa nga resulta ang imong gusto ug unsa ang hitsura sa proseso. Makatabang kini nga masabtan ang mga tahas sa himan ug seguridad sa proseso.

Pagsugod sa kung unsa ang gigamit na

Sa dili pa mopalit ug mahalon nga mga himan, tan-awa kon unsay naa na nimo. Ang matag kompanya adunay mga kinahanglanon sa seguridad nga magamit sa pag-uswag, adunay mga tseke, mga pagsulay sa pagsulod - ngano nga dili nimo usbon kining tanan sa usa ka masabtan ug dali nga porma alang sa tanan?

Kasagaran ang mga kinahanglanon usa ka papel nga Talmud nga nahimutang sa usa ka estante. Adunay usa ka kaso sa dihang mianhi kami sa kompanya aron tan-awon ang mga proseso ug hangyoon sila nga ipakita ang mga kinahanglanon sa seguridad alang sa software. Ang espesyalista nga nagbuhat niini dugay nang nangita:

- Karon, sa usa ka lugar sa mga nota adunay usa ka agianan diin kini nga dokumento nahimutang.

Isip resulta, nadawat namo ang dokumento paglabay sa usa ka semana.

Para sa mga kinahanglanon, tseke ug uban pa, paghimo ug panid, pananglitan sa Pag-uswag - kini komportable alang sa tanan.

Mas sayon ​​nga i-reformat ang naa na ug gamiton sa pagsugod.

Gamita ang Security Champions

Kasagaran, sa usa ka kasagaran nga kompanya alang sa 100-200 nga mga developer, adunay usa ka opisyal sa seguridad nga naghimo sa daghang mga gimbuhaton ug wala’y pisikal nga oras aron masusi ang tanan. Bisan kung maningkamot siya sa iyang labing maayo, siya ra ang dili magsusi sa tanan nga code nga nahimo sa pag-uswag. Alang sa ingon nga mga kaso, usa ka konsepto ang naugmad - Mga Kampeon sa Seguridad.

Ang Security Champions usa ka tawo sulod sa development team nga interesado sa seguridad sa imong produkto.

Kahadlok ug Pagdumot sa DevSecOps

Ang Security Champion kay usa ka entry point sa development team ug usa ka security evangelist ang tanan giligid sa usa.

Kasagaran, kung ang usa ka opisyal sa seguridad moabut sa team sa pagpauswag ug itudlo ang usa ka sayup sa code, makadawat siya usa ka katingad-an nga tubag:

- Ug kinsa ka? First time ko nimo makita. Maayo ra ang tanan kanako - ang akong senior nga higala nagbutang "pag-apply" sa pagrepaso sa code, nagpadayon kami!

Kini usa ka tipikal nga sitwasyon, tungod kay adunay labaw nga pagsalig sa mga tigulang o mga kauban lang nga kanunay nga nakig-uban sa developer sa trabaho ug sa pagrepaso sa code. Kung, imbes usa ka security guard, ang Security Champion nagpunting sa sayup ug sa mga sangputanan, nan ang iyang pulong adunay labi ka gibug-aton.

Dugang pa, nahibal-an sa mga developer ang ilang code nga mas maayo kaysa bisan kinsa nga security guy. Alang sa usa ka tawo nga adunay labing menos 5 nga mga proyekto sa usa ka static nga himan sa pag-analisar, kasagaran lisud hinumdoman ang tanan nga mga nuances. Nahibal-an sa mga Kampeon sa Seguridad ang ilang produkto: kung unsa ang nakig-uban sa kung unsa ug kung unsa ang tan-awon sa una nga lugar - mas episyente sila.

Busa ikonsiderar ang pagpatuman sa Security Champions ug pagpalapad sa impluwensya sa security team. Alang sa kampeon sa iyang kaugalingon, kini usab mapuslanon: propesyonal nga pag-uswag sa usa ka bag-ong natad, pagpalapad sa teknikal nga kapunawpunawan, pagbomba sa teknikal, pagdumala ug kahanas sa pagpangulo, pagdugang sa kantidad sa merkado. Kini usa ka elemento sa social engineering, ang imong "mata" sa development team.

Mga yugto sa pagsulay

Paradigm 20 sa 80 nag-ingon nga 20% sa mga paningkamot naghatag 80% sa mga resulta. Kini nga 20% mga pamaagi sa pag-analisar sa aplikasyon nga mahimo ug kinahanglan nga awtomatiko. Ang mga pananglitan sa maong mga kalihokan mao ang static nga pagtuki − SAST, dinamikong pagtuki — DAST и kontrol sa open source. Isulti ko kanimo ang labi pa bahin sa mga kalihokan, ingon man bahin sa mga himan, kung unsang mga bahin ang kasagaran natong masugatan kung kini gipaila sa proseso, ug kung giunsa kini buhaton sa husto.

Kahadlok ug Pagdumot sa DevSecOps

Panguna nga mga problema sa himan

Akong ipasiugda ang mga problema nga angay alang sa tanan nga mga instrumento nga nanginahanglan atensyon. Analisahon nako sila sa mas detalyado aron dili na masubli pa.

Taas nga oras sa pag-analisar. Kung gikinahanglan ang 30 minuto gikan sa pasalig hangtod sa pagpagawas alang sa tanan nga mga pagsulay ug asembliya, nan ang mga pagsusi sa seguridad sa kasayuran molungtad usa ka adlaw. Busa walay usa nga mohinay sa proseso. Hunahunaa kini nga bahin ug paghimog mga konklusyon.

Taas nga Bakak nga Negatibo o Bakak nga Positibo. Ang tanan nga mga produkto managlahi, ang tanan naggamit sa lainlaing mga balangkas ug ilang kaugalingon nga istilo sa coding. Sa lain-laing mga base sa code ug mga teknolohiya, ang mga himan mahimong magpakita sa lain-laing lebel sa False Negative ug False Positive. Busa tan-awa kung unsa ang naa sa imong mga kompanya ug alang sa ang imong ang mga aplikasyon magpakita og maayo ug kasaligan nga resulta.

Walay integrasyon sa kasamtangan nga mga himan. Tan-awa ang mga himan sa termino sa mga panagsama sa imong gigamit na. Pananglitan, kung ikaw adunay Jenkins o TeamCity, susiha ang paghiusa sa mga himan niini nga software, ug dili sa GitLab CI, nga wala nimo gigamit.

Kakulang o sobra nga pagkakomplikado sa pag-customize. Kung ang himan walay API, nan nganong gikinahanglan kini? Ang tanan nga mahimo sa interface kinahanglan nga magamit pinaagi sa API. Sa tinuud, ang himan kinahanglan adunay katakus sa pag-customize sa mga tseke.

Walay roadmap sa pagpalambo sa produkto. Ang pag-uswag wala mohunong, kanunay namong gigamit ang bag-ong mga gambalay ug mga gimbuhaton, isulat pag-usab ang daan nga code ngadto sa bag-ong mga pinulongan. Gusto namong siguroon nga ang himan nga among gipalit mosuporta sa bag-ong mga frameworks ug mga teknolohiya. Busa, importante nga mahibal-an nga ang produkto adunay tinuod ug husto roadmap kalamboan.

Mga bahin sa proseso

Dugang sa mga bahin sa mga himan, hunahunaa ang mga bahin sa proseso sa pag-uswag. Pananglitan, ang pagpanghilabot sa kalamboan maoy kasagarang sayop. Atong tan-awon kung unsa ang ubang mga bahin ang kinahanglan nga tagdon ug kung unsa ang kinahanglan nga hatagan pagtagad sa security team.

Aron dili makabalda sa pag-uswag ug pagpagawas sa mga deadline, paghimo lain-laing mga lagda ug lainlain pagpakita sa mga stopper - kriterya sa paghunong sa proseso sa pagtukod sa presensya sa mga kahuyangan - alang sa lain-laing mga palibot. Pananglitan, among nasabtan nga ang kasamtangan nga sanga moadto sa usa ka development stand o UAT, mao nga dili kami mohunong ug moingon:

- Adunay ka mga kahuyangan dinhi, dili ka na moadto bisan diin pa!

Niini nga punto, importante nga isulti sa mga developer nga adunay mga isyu sa seguridad nga bantayan.

Ang presensya sa mga kahuyangan dili babag sa dugang nga pagsulay: manwal, integrasyon o manwal. Sa laing bahin, kinahanglan natong usbon ang seguridad sa produkto, ug aron ang mga developers dili maka-iskor sa unsay nakit-an sa seguridad. Busa, usahay buhaton namo kini: sa baroganan, sa dihang kini mogawas sa development environment, among gipahibalo lang ang development:

- Guys, naa moy mga problema, palihog tagda sila.

Sa yugto sa UAT, nagpakita kami pag-usab sa mga pasidaan bahin sa mga kahuyangan, ug sa yugto sa paggawas sa prom kami nag-ingon:

"Mga lalaki, gipasidan-an ka namo sa makadaghang higayon, wala ka'y ​​gibuhat bisan unsa - dili ka namo buhian niini.

Kung maghisgot kita bahin sa code ug dynamics, nan kinahanglan nga ipakita ug pasidan-an ang bahin sa mga kahuyangan lamang sa mga bahin ug code nga gisulat sa kini nga bahin. Kung gibalhin sa developer ang buton sa 3 ka pixel ug gisultihan namon siya nga adunay siya usa ka SQL injection didto ug busa kinahanglan nga ayohon dayon, kini sayup. Tan-awa lang kung unsa ang nahisulat karon, ug sa pagbag-o nga moabut sa aplikasyon.

Ingnon ta nga kita adunay pipila ka mga depekto sa pag-andar - ang paagi nga ang aplikasyon dili kinahanglan molihok: ang salapi dili ibalhin, kung imong i-klik ang buton, wala’y pagbalhin sa sunod nga panid, o ang produkto dili ma-load. Mga Depekto sa Seguridad - kini ang parehas nga mga depekto, apan dili sa konteksto sa aplikasyon, apan seguridad.

Dili tanan nga mga isyu sa kalidad sa software mga isyu sa seguridad. Apan ang tanan nga mga problema sa seguridad adunay kalabotan sa kalidad sa software. Sherif Mansour, Expedia.

Tungod kay ang tanan nga mga kahuyangan parehas nga mga depekto, kini kinahanglan nga mahimutang sa parehas nga lugar sama sa tanan nga mga depekto sa pag-uswag. Mao nga kalimti ang bahin sa mga taho ug makahadlok nga mga PDF nga wala’y nagbasa.

Kahadlok ug Pagdumot sa DevSecOps

Sa diha nga ako nagtrabaho alang sa usa ka kompanya sa pag-uswag, nakadawat ako usa ka taho gikan sa mga himan sa pagtuki sa static. Giablihan nako kini, nahadlok, naghimo og kape, gibuklad ang 350 nga mga panid, gisirhan kini ug nagpadayon sa pagtrabaho. Ang dagkong mga taho kay patay nga mga taho. Kasagaran dili sila moadto bisan asa, ang mga email matangtang, makalimtan, mawala, o ang negosyo nag-ingon nga kini nagpameligro.

Unsay buhaton? Gibag-o lang namo ang nakumpirma nga mga depekto nga among nakit-an sa usa ka porma nga kombenyente alang sa pag-uswag, pananglitan, idugang kini sa backlog sa Jira. Ang mga depekto gihatagan og prayoridad ug giwagtang sa han-ay sa prayoridad uban sa mga depekto sa pag-andar ug mga depekto sa pagsulay.

Static Analysis - SAST

Kini ang code analysis alang sa mga kahuyangan., apan dili kini parehas sa SonarQube. Gisusi namon dili lamang ang mga pattern o istilo. Ang pagtuki naggamit ug daghang mga pamaagi: pinaagi sa vulnerability tree, pinaagi sa dagan sa datos, pinaagi sa pag-analisar sa mga file sa pag-configure. Kana ang tanan alang sa code mismo.

Mga bentaha sa pamaagi: pag-ila sa mga kahuyangan sa code sa sayo nga yugto sa kalamboankung walay mga baroganan ug mga himan nga andam, ug incremental nga katakus sa pag-scan: nag-scan sa usa ka seksyon sa code nga nausab, ug ang bahin lamang nga atong ginabuhat karon, nga makapamenos sa oras sa pag-scan.

Минусы mao ang kakulang sa suporta alang sa gikinahanglan nga mga pinulongan.

Gikinahanglan nga mga panagsama, nga kinahanglan anaa sa mga himan, sa akong suhetibong opinyon:

  • Himan sa panagsama: Jenkins, TeamCity ug Gitlab CI.
  • Development environment: Intellij IDEA, Visual Studio. Mas sayon ​​​​alang sa usa ka developer nga dili mosaka sa usa ka dili masabtan nga interface nga kinahanglan pa nga hinumdoman, apan aron makita ang tanan nga kinahanglan nga mga panagsama ug mga kahuyangan nga iyang nakit-an mismo sa trabahoan sa iyang kaugalingon nga palibot sa pag-uswag.
  • Pagrepaso sa code: SonarQube ug pagrepaso sa manwal.
  • Mga tigsubay sa depekto: Jira ug Bugzilla.

Ang hulagway nagpakita sa pipila sa labing maayo nga mga representante sa static nga pagtuki.

Kahadlok ug Pagdumot sa DevSecOps

Dili ang mga himan ang hinungdanon, apan ang proseso, mao nga adunay mga solusyon sa Open Source nga maayo usab alang sa pagpadagan sa proseso.

Kahadlok ug Pagdumot sa DevSecOps

Ang SAST Open Source dili makit-an ang daghang mga kahuyangan o komplikado nga DataFlow, apan mahimo kini ug kinahanglan gamiton kung maghimo usa ka proseso. Nakatabang sila nga masabtan kung giunsa ang proseso matukod, kinsa ang motubag sa mga bug, kinsa ang magreport, kinsa ang magreport. Kung gusto nimo buhaton ang inisyal nga yugto sa pagtukod sa seguridad sa imong code, gamita ang mga solusyon sa Open Source.

Giunsa kini pag-integrate kung naa ka sa sinugdanan sa panaw, wala kay bisan unsa: ni CI, o Jenkins, o TeamCity? Hunahunaa ang paghiusa sa proseso.

Paghiusa sa lebel sa CVS

Kung ikaw adunay Bitbucket o GitLab, mahimo nimo ang paghiusa sa lebel Kadungan nga Bersyon nga Sistema.

Pinaagi sa panghitabo pagbitad hangyo, pasalig. Gi-scan nimo ang code ug gipakita sa status sa pagtukod nga ang pagsusi sa seguridad gipasa o napakyas.

Tambag Siyempre, gikinahanglan kanunay ang feedback. Kung gibuhat ra nimo kini sa bahin sa seguridad, ibutang kini sa usa ka kahon ug wala’y gisulti bisan kinsa bahin niini, ug dayon gilabay ang usa ka hugpong sa mga bug sa katapusan sa bulan, kini dili husto ug dili maayo.

Paghiusa sa sistema sa pagrepaso sa code

Kas-a, among gibutang ang AppSec technical user isip default reviewer sa daghang importanteng proyekto. Depende kung ang mga sayup nakit-an sa bag-ong code o wala’y mga sayup, ang tigrepaso nagbutang sa kahimtang sa hangyo sa pagbitad aron "dawaton" o "kinahanglan trabaho" - OK ra ang tanan, o kinahanglan nimo nga tapuson ug i-link kung unsa gyud aron ma-finalize. Alang sa paghiusa sa bersyon nga gipagawas, gipugngan namon ang paghiusa kung ang pagsulay sa IS wala mapasar. Among gilakip kini sa manual code review, ug ang ubang mga partisipante sa proseso nakakita sa mga kahimtang sa seguridad alang niining partikular nga proseso.

Paghiusa sa SonarQube

Daghan ang adunay kalidad nga ganghaan sa natad sa kalidad sa code. Parehas ra dinhi - mahimo nimo ang parehas nga mga ganghaan para lang sa mga instrumento sa SAST. Adunay parehas nga interface, parehas nga kalidad nga ganghaan, kini ra ang tawgon ganghaan sa seguridad. Ug usab, kung ikaw adunay usa ka proseso nga gi-set up gamit ang SonarQube, dali nimo ma-integrate ang tanan didto.

Paghiusa sa lebel sa CI

Dinhi, usab, ang tanan yano ra:

  • Sama sa mga autotest, mga pagsulay sa yunit.
  • Dibisyon sa mga yugto sa pag-uswag: dev, pagsulay, prod. Mahimong iapil ang lainlaing mga hugpong sa mga lagda, o lainlain nga mga kondisyon sa kapakyasan: gipahunong namon ang asembliya, wala namon gipahunong ang asembliya.
  • Synchronous/Asynchronous Run. Naghulat kami sa katapusan sa mga pagsulay sa seguridad o wala kami maghulat. Sa ato pa, gilusad lang namo sila ug nagpadayon, ug unya nakakuha kami usa ka status nga ang tanan maayo o daotan.

Tanan kini sa usa ka perpekto nga pink nga kalibutan. Sa tinuud nga kinabuhi, dili kini ang kahimtang, apan naningkamot kami. Ang resulta sa paghimo sa mga pagsusi sa seguridad kinahanglan nga susama sa mga resulta sa mga pagsulay sa yunit.

Pananglitan, nagkuha kami usa ka dako nga proyekto ug nakahukom nga karon among i-scan kini gamit ang SAST - OK. Giduso namo kini nga proyekto ngadto sa SAST, naghatag kini kanamo og 20 ka mga kahuyangan, ug naghimo kami og hugot nga desisyon nga maayo ang tanan. Ang 000 nga mga kahuyangan mao ang among teknikal nga utang. Atong ibutang ang utang sa usa ka kahon, hinay-hinayon nato kini ug sugdan ang mga bug sa mga depekto nga tracker. Pag-abang og kompanya, buhata ang tanan sa among kaugalingon, o tabangi kami sa mga Security Champions, ug ang teknikal nga utang mokunhod.

Ug ang tanan nga bag-ong nagpakita nga mga kahuyangan sa bag-ong code kinahanglan nga tangtangon sa parehas nga paagi sama sa mga sayup sa usa ka yunit o sa mga autotest. Sa relatibo nga pagkasulti, ang asembliya nagsugod, nagpalayo, duha ka pagsulay ug duha ka pagsulay sa seguridad nahulog. OK - miadto kami, gitan-aw kung unsa ang nahitabo, gitul-id ang usa, gitul-id ang ikaduha, nagmaneho sa sunod nga higayon - maayo ang tanan, wala’y bag-ong mga kahuyangan nga nagpakita, ang mga pagsulay wala mapakyas. Kung kini nga buluhaton mas lawom ug kinahanglan nimo nga masabtan kini pag-ayo, o ang pag-ayo sa mga kahuyangan makaapekto sa daghang mga lut-od sa kung unsa ang naa sa ilawom sa hood: ang usa ka bug gidala sa tracker nga depekto, kini giuna ug giayo. Ikasubo, ang kalibutan dili perpekto ug ang mga pagsulay usahay mapakyas.

Usa ka pananglitan sa usa ka ganghaan sa seguridad usa ka analogue sa usa ka kalidad nga ganghaan, sa mga termino sa presensya ug gidaghanon sa mga kahuyangan sa code.

Kahadlok ug Pagdumot sa DevSecOpsNag-uban kami sa SonarQube - ang plugin na-install, ang tanan sayon ​​​​kaayo ug cool.

Paghiusa sa palibot sa pag-uswag

Mga kapilian sa panagsama:

  • Pagsugod og scan gikan sa development environment bisan sa wala pa ang commit.
  • Tan-awa ang mga resulta.
  • Pagtuki sa mga resulta.
  • Pag-synchronize sa server.

Ingon niini ang hitsura sa pagkuha sa mga resulta gikan sa server.

Kahadlok ug Pagdumot sa DevSecOps

Sa atong development environment Intellect IDEA nagpakita lang kini og dugang nga butang nga nag-ingon nga ang maong mga kahuyangan nakit-an sa panahon sa pag-scan. Mahimo nimong usbon dayon ang code, tan-awa ang mga rekomendasyon ug flow graph. Ang tanan nga kini nahimutang sa trabahoan sa developer, nga sayon ​​​​kaayo - dili nimo kinahanglan nga sundon ang nahabilin nga mga link ug tan-awon ang dugang nga butang.

Open Source

Kini ang akong paborito nga hilisgutan. Ang tanan naggamit sa mga librarya sa Open Source - nganong magsulat ka usa ka hugpong sa mga saklay ug mga bisikleta kung mahimo nimo makuha ang usa ka andam nga librarya diin ang tanan gipatuman na?

Kahadlok ug Pagdumot sa DevSecOps

Siyempre, tinuod kini, apan ang mga librarya gisulat usab sa mga tawo, naglakip usab sa pipila ka mga risgo, ug adunay mga kahuyang nga matag karon ug unya, o kanunay, gitaho. Busa, adunay sunod nga lakang sa Application Security - kini ang pagtuki sa mga sangkap sa Open Source.

Pagtuki sa Open Source - OSA

Ang himan naglakip sa tulo ka dagkong mga lakang.

Pagpangita mga kahuyangan sa mga librarya. Pananglitan, nahibal-an sa himan nga naggamit kami usa ka klase nga librarya, ug kana sa CVE o sa mga bug tracker adunay pipila ka mga kahuyangan nga may kalabutan niini nga bersyon sa librarya. Kon mosulay ka sa paggamit niini, ang himan magpasidaan kanimo nga ang librarya mahuyang ug magtambag kanimo sa paggamit sa laing bersyon diin walay mga kahuyangan.

Pagtuki sa kaputli sa lisensya. Dili pa kaayo kini popular sa amon, apan kung nagtrabaho ka sa usa ka langyaw nga nasud, nan didto ka matag karon ug unya makakuha usa ka pag-atake alang sa paggamit sa usa ka bukas nga gigikanan nga sangkap nga dili magamit o mabag-o. Sumala sa palisiya sa lisensyado nga librarya, dili namo kini mahimo. O, kung giusab namo kini ug gigamit kini, kinahanglan namon nga i-post ang among code. Siyempre, walay usa nga gusto nga mag-post sa code sa ilang mga produkto, apan mahimo usab nimo mapanalipdan ang imong kaugalingon gikan niini.

Pag-analisar sa mga sangkap nga gigamit sa usa ka palibot sa industriya. Hunahunaa ang usa ka hypothetical nga kahimtang nga sa katapusan nahuman na namon ang pag-uswag ug gipagawas ang pinakabag-o nga pagpagawas sa among microservice sa industriya. Siya nagpuyo didto talagsaon - usa ka semana, usa ka bulan, usa ka tuig. Wala kami nagkolekta niini, wala kami nagpahigayon mga pagsusi sa seguridad, ingon og maayo ang tanan. Apan sa kalit, duha ka semana pagkahuman sa pagpagawas, usa ka kritikal nga pagkahuyang sa sangkap nga Open Source migawas, nga among gigamit sa kini nga partikular nga asembliya, sa palibot sa industriya. Kung dili namo irekord kung unsa ug asa among gigamit, nan kini nga pagkahuyang dili makita. Ang ubang mga himan adunay katakus sa pag-monitor sa mga kahuyangan sa mga librarya nga gigamit karon sa prom. Kini mapuslanon kaayo.

Mga Feature:

  • Nagkalainlain nga mga palisiya alang sa lainlaing mga yugto sa pag-uswag.
  • Pag-monitor sa mga sangkap sa usa ka palibot sa industriya.
  • Pagkontrol sa mga librarya sa contour sa organisasyon.
  • Suporta alang sa lain-laing mga sistema sa pagtukod ug mga pinulongan.
  • Pag-analisar sa mga imahe sa Docker.

Pipila ka mga pananglitan sa mga lider sa natad nga nakigbahin sa pagtuki sa Open Source.

Kahadlok ug Pagdumot sa DevSecOps
Ang libre lang kay Pagsusi sa Dependency gikan sa OWASP. Mahimo nimo kini i-on sa una nga mga yugto, tan-awa kung giunsa kini molihok ug kung unsa ang gisuportahan niini. Sa panguna, kini tanan mga produkto sa panganod, o on-premise, apan sa luyo sa ilang base moadto gihapon sila sa Internet. Wala nila ipadala ang imong mga librarya, apan ang mga hash o ilang mga kantidad nga ilang gikalkula, ug mga fingerprint sa ilang server aron makadawat mga balita sa presensya sa mga kahuyangan.

Paghiusa sa Proseso

Kontrol sa librarya sa perimeternga gi-download gikan sa gawas nga mga tinubdan. Adunay kami mga eksternal ug internal nga mga repositoryo. Pananglitan, kami adunay Nexus sa sulod sa Event Central, ug gusto namon nga masiguro nga wala’y mga kahuyangan nga adunay "kritikal" o "taas" nga kahimtang sa sulod sa among repository. Mahimo nimong i-set up ang proxy gamit ang Nexus Firewall Lifecycle tool aron ang ingon nga mga kahuyangan maputol ug dili maapil sa internal nga repository.

Paghiusa sa CI. Sa parehas nga lebel nga adunay mga autotest, mga pagsulay sa yunit ug pagbahinbahin sa mga yugto sa pag-uswag: dev, pagsulay, prod. Sa matag yugto, mahimo nimong i-download ang bisan unsang mga librarya, magamit ang bisan unsang butang, apan kung adunay usa ka butang nga lisud nga adunay "kritikal" nga kahimtang, kinahanglan nimo nga madani ang atensyon sa mga nag-develop niini sa yugto sa pagsulod sa prom.

Paghiusa sa artifact: Nexus ug JFrog.

Paghiusa sa palibot sa pag-uswag. Ang mga himan nga imong gipili kinahanglan adunay panagsama sa mga palibot sa pag-uswag. Ang developer kinahanglan nga adunay access sa mga resulta sa pag-scan gikan sa iyang trabahoan, o ang abilidad sa pag-scan ug pagsusi sa code alang sa mga kahuyangan sa dili pa kini buhaton sa CVS.

Paghiusa sa CD. Kini usa ka cool nga bahin nga gusto gyud nako ug bahin sa nahisgotan na nako - pag-monitor sa pagtungha sa bag-ong mga kahuyangan sa usa ka palibot sa industriya. Kini molihok sama niini.

Kahadlok ug Pagdumot sa DevSecOps

Kami adunay Mga Public Component Repositories - pipila ka mga himan sa gawas, ug ang among internal nga tipiganan. Gusto namon ang kasaligan nga mga sangkap lamang ang naa niini. Kung nag-proxy sa usa ka hangyo, among gisusi nga ang na-download nga librarya walay mga kahuyangan. Kung nahulog kini sa pipila ka mga palisiya nga among gitakda ug kinahanglan nga makig-coordinate sa pag-uswag, nan dili namon kini i-upload ug makakuha kami usa ka pagbalibad nga mogamit usa ka lahi nga bersyon. Tungod niini, kung adunay usa ka butang nga kritikal ug dili maayo sa librarya, nan ang developer dili makadawat sa librarya bisan sa yugto sa pag-instalar - pasagdi siya nga mogamit sa usa ka bersyon nga mas taas o mas ubos.

  • Kung nagtukod, gisusi namon nga wala’y bisan kinsa nga nadula sa bisan unsang daotan, nga ang tanan nga mga sangkap luwas ug wala’y nagdala bisan unsang peligro sa flash drive.
  • Kami adunay gisaligan nga mga sangkap sa repositoryo.
  • Kung nag-deploy, gisusi namon pag-usab ang package mismo: gubat, garapon, DL o Docker nga imahe alang sa kamatuoran nga kini nagsunod sa palisiya.
  • Kung mosulod sa industriyal nga palibot, among gibantayan kung unsa ang nahitabo sa industriyal nga palibot: ang mga kritikal nga kahuyangan makita o dili makita.

Dinamikong Pagtuki - DAST

Ang mga himan sa dinamikong pagtuki lahi sa sukaranan sa tanan nga giingon kaniadto. Kini usa ka matang sa pagsundog sa trabaho sa user sa aplikasyon. Kung kini usa ka aplikasyon sa web, nagpadala kami mga hangyo nga nagsundog sa trabaho sa kliyente, i-klik ang mga buton sa atubangan, ipadala ang artipisyal nga datos gikan sa porma: mga kinutlo, mga bracket, mga karakter sa lainlaing mga pag-encode aron tan-awon kung giunsa ang pagtrabaho ug pagproseso sa gawas. datos.

Ang parehas nga sistema nagtugot kanimo sa pagsusi sa mga kahuyangan sa template sa Open Source. Tungod kay wala mahibal-an sa DAST kung unsang Open Source ang among gigamit, gilabay lang niini ang mga "malisyoso" nga mga sumbanan ug gisusi ang mga tubag sa server:

- Oo, adunay problema sa deseryalisasyon dinhi, apan dili dinhi.

Adunay daghang mga peligro niini, tungod kay kung imong ipahigayon kini nga pagsulay sa seguridad sa parehas nga baruganan nga gitrabahoan sa mga tigsulay, mahimo’g mahitabo ang dili maayo nga mga butang.

  • Taas nga load sa application server network.
  • Walay integrasyon.
  • Ang abilidad sa pagbag-o sa mga setting sa gi-analisa nga aplikasyon.
  • Walay suporta alang sa gikinahanglan nga mga teknolohiya.
  • Kalisud sa pagpahimutang.

Adunay kami usa ka sitwasyon sa dihang sa katapusan gilusad namo ang AppScan: among gi-knock out ang pag-access sa aplikasyon sa dugay nga panahon, nakadawat og 3 ka mga account ug nalipay - sa katapusan, among susihon ang tanan! Naglunsad kami og scan, ug ang unang butang nga gihimo sa AppScan mao ang pagsulod sa admin panel, paglusot sa tanang mga buton, pag-ilis sa katunga sa data, ug dayon pagpatay sa server uban sa iyang kaugalingon. mail nga porma-mga hangyo. Pag-uswag uban sa Pagsulay miingon:

“Guys, gibiaybiay ba ko ninyo?! Gihatagan ka namo og mga asoy, ug imong gibutang ang baruganan!

Hunahunaa ang posible nga mga risgo. Sa tinuud, pag-andam og usa ka bulag nga baruganan alang sa pagsulay sa seguridad sa kasayuran, nga mahimulag gikan sa nahabilin nga kalikopan bisan sa usa ka paagi, ug kondisyonal nga susihon ang admin panel, labing maayo sa manual mode. Kini usa ka pentest - kadtong nahabilin nga porsyento sa mga paningkamot nga wala namo tagda karon.

Angayan nga ikonsiderar nga mahimo nimo kini gamiton ingon usa ka analogue sa pagsulay sa pagkarga. Sa una nga yugto, mahimo nimong i-on ang dinamikong scanner sa 10-15 nga mga hilo ug tan-awa kung unsa ang mahitabo, apan kasagaran, ingon nga gipakita sa praktis, wala’y maayo.

Pipila ka mga kapanguhaan nga kasagaran namong gigamit.

Kahadlok ug Pagdumot sa DevSecOps

Takus nga i-highlight Burp Suite mao ang "Swiss knife" alang sa bisan unsang propesyonal sa seguridad. Ang tanan naggamit niini ug kini sayon ​​​​kaayo. Usa ka bag-ong bersyon sa demo sa edisyon sa negosyo ang gipagawas na karon. Kung kaniadto kini usa lamang ka stand alone nga utility nga adunay mga plugin, karon ang mga developer sa katapusan naghimo usa ka dako nga server diin mahimo’g madumala ang daghang mga ahente. Nindot kini, girekomenda ko nga sulayan nimo kini.

Paghiusa sa Proseso

Ang panagsama maayo ug yano: magsugod sa pag-scan human sa malampuson nga pag-instalar mga aplikasyon sa baroganan ug pag-scan human sa malampuson nga pagsulay sa panagsama.

Kung ang mga panagsama dili molihok o adunay mga stub ug mock function, wala’y kahulogan ug wala’y kapuslanan - bisan unsa pa nga sumbanan ang among ipadala, ang server motubag gihapon sa parehas nga paagi.

  • Sa tinuud, usa ka bulag nga bangko sa pagsulay.
  • Sa dili pa ang pagsulay, isulat ang han-ay sa pag-login.
  • Ang pagsulay sa sistema sa administrasyon kay manwal lamang.

proseso

Usa ka gamay nga kinatibuk-an bahin sa proseso sa kinatibuk-an ug bahin sa trabaho sa matag himan, labi na. Ang tanan nga mga aplikasyon lahi - ang usa mas maayo nga nagtrabaho sa dinamikong pagtuki, ang lain nga adunay static nga pagtuki, ang ikatulo nga adunay OpenSource analysis, pentests, o uban pa sa kinatibuk-an, pananglitan, mga panghitabo nga adunay Waf.

Ang matag proseso kinahanglan nga kontrolon.

Aron masabtan kung giunsa ang proseso ug kung asa kini mapauswag, kinahanglan nimo nga kolektahon ang mga sukatan gikan sa tanan nga mahimo nimong makuha, lakip ang mga sukatan sa produksiyon, mga sukatan gikan sa mga himan ug mga tracker sa depekto.

Ang bisan unsang impormasyon makatabang. Kinahanglan nga tan-awon sa lainlaing mga seksyon kung diin kini o kana nga himan mas maayo nga gigamit, diin ang proseso labi nga naglugway. Mahimong angayan nga tan-awon ang oras sa pagtubag sa pag-uswag aron makita kung asa mapauswag ang proseso base sa oras. Ang dugang nga datos, mas daghang mga pagtibhang ang mabuhat gikan sa taas nga lebel hangtod sa mga detalye sa matag proseso.

Kahadlok ug Pagdumot sa DevSecOps

Tungod kay ang tanan nga static ug dinamikong analista adunay ilang kaugalingon nga mga API, ilang kaugalingon nga mga pamaagi sa paglansad, mga prinsipyo, ang uban adunay mga scheduler, ang uban wala - nagsulat kami usa ka himan AppSec Orkestra, nga nagtugot kanimo sa paghimo sa usa ka entry point sa tibuok proseso gikan sa produkto ug pagdumala niini gikan sa usa ka punto.

Ang mga manager, developer, ug security engineer adunay usa ka entry point diin makita nila kung unsa ang nagdagan, i-configure ug gipadagan ang mga scan, makakuha mga resulta sa pag-scan, ug isumite ang mga kinahanglanon. Gisulayan namon nga makalayo gikan sa mga piraso sa papel, gihubad ang tanan sa usa ka tawo nga gigamit sa pag-uswag - mga panid sa Confluence nga adunay status ug mga sukatan, mga depekto sa Jira o sa lainlaing mga tracker sa depekto, o pag-embed sa usa ka kasabay / asynchronous nga proseso sa CI / CD.

Panguna nga mga Takeaway

Ang mga himan dili igsapayan. Hunahunaa una ang proseso, dayon ipatuman ang mga himan. Ang mga himan maayo, apan mahal, aron makasugod ka sa proseso ug pag-ayo sa interaksyon ug pagsabot tali sa kalamboan ug seguridad. Gikan sa punto sa panglantaw sa seguridad, dili kinahanglan nga "ihunong" ang tanan sa usa ka laray. .

kalidad sa produkto - komon nga tumong seguridad ug kalamboan. Nagbuhat kami usa ka butang, gisulayan namon nga masiguro nga ang tanan molihok sa husto ug wala’y mga peligro sa reputasyon ug pagkawala sa pinansyal. Mao nga among gipasiugda ang pamaagi sa DevSecOps, SecDevOps aron ma-establisar ang komunikasyon ug mahimong mas maayo ang produkto.

Pagsugod sa naa na: mga kinahanglanon, arkitektura, partial nga pagsusi, pagbansay, mga giya. Dili kinahanglan nga gamiton dayon ang tanan nga mga praktis sa tanan nga mga proyekto - paglihok balik-balik. Walay usa nga sumbanan eksperimento ug sulayi ang lainlaing mga pamaagi ug solusyon.

Parehas nga timaan tali sa mga depekto sa IS ug mga depekto sa pag-andar.

I-automate ang tanannga nagalihok. Bisan unsa nga dili molihok, molihok ug awtomatiko. Kung adunay gibuhat pinaagi sa kamot, dili kini maayo nga bahin sa proseso. Tingali kini angay nga hunahunaon pag-usab ug awtomatiko usab kini.

Kung ang gidak-on sa IB team gamay ra - gamita ang Security Champions.

Tingali ang akong gihisgutan dili mohaum kanimo ug makahimo ka og usa ka butang nga imong kaugalingon - ug kana maayo. Apan pagpili sa mga himan base sa mga kinahanglanon sa imong proseso. Ayaw tan-awa ang giingon sa komunidad nga kini nga himan dili maayo ug kini usa nga maayo. Tingali kini mahimong sukwahi sa imong produkto.

Mga kinahanglanon sa himan.

  • Ubos nga Sayop nga Positibo.
  • Igong panahon sa pagtuki.
  • Dali nga paggamit.
  • Pagkaanaa sa mga panagsama.
  • Pagsabot sa product development roadmap.
  • Abilidad sa pag-customize sa mga himan.

Ang taho ni Yuriy gipili isip usa sa pinakamaayo sa DevOpsConf 2018. Aron masinati sa mas makaiikag nga mga ideya ug praktikal nga mga kaso, adto sa Skolkovo sa Mayo 27 ug 28 DevOpsConf sulod festival RIT++. Mas maayo pa, kung andam ka nga ipaambit ang imong kasinatian, nan pag-apply Isumite ang imong report sa Abril 21.

Source: www.habr.com

Idugang sa usa ka comment