Eagal agus Loathing DevSecOps

Bha 2 anailis còd againn, 4 innealan deuchainn fiùghantach, ar ciùird fhèin agus 250 sgriobt. Chan e gu robh feum air seo uile sa phròiseas gnàthach, ach aon uair ‘s gun do thòisich thu air DevSecOps a chuir an gnìomh, feumaidh tu a dhol chun deireadh.

Eagal agus Loathing DevSecOps

Stòr. Caractaran air an cruthachadh le Justin Roiland agus Dan Harmon.

Dè a th’ ann an SecDevOps? Dè mu dheidhinn DevSecOps? Dè na h-eadar-dhealachaidhean a th’ ann? Tèarainteachd tagraidh - cò mu dheidhinn a tha e? Carson nach eil an dòigh-obrach clasaigeach ag obair tuilleadh? Tha fios aig na ceistean sin uile air an fhreagairt Yuri Shabalin bho Tèarainteachd Iasg Claidheimh. Freagraidh Yuriy a h-uile dad gu mionaideach agus nì e mion-sgrùdadh air na duilgheadasan gluasaid bhon mhodal tèarainteachd tagraidh clasaigeach gu pròiseas DevSecOps: mar a dhèiligeas tu gu ceart ri amalachadh a ’phròiseas leasachaidh tèarainte ann am pròiseas DevOps agus gun a bhith a’ briseadh dad, mar a thèid thu tro na prìomh ìrean de dheuchainnean tèarainteachd, dè na h-innealan a ghabhas cleachdadh, mar a nì iad eadar-dhealaichte agus mar a nì thu rèiteachadh ceart gus duilgheadasan a sheachnadh.


Mu neach-labhairt: Yuri Shabalin - Prìomh ailtire tèarainteachd sa chompanaidh Tèarainteachd Iasg Claidheimh. Uallach airson buileachadh SSDL, airson amalachadh iomlan de dh’ innealan sgrùdaidh tagraidh ann an aon eag-shiostam leasachaidh is deuchainn. 7 bliadhna de eòlas ann an tèarainteachd fiosrachaidh. Ag obair aig Alfa-Bank, Sberbank agus Positive Technologies, a bhios a’ leasachadh bathar-bog agus a’ toirt seachad seirbheisean. Neach-labhairt aig co-labhairtean eadar-nàiseanta ZerONights, PHdays, RISSPA, OWASP.

Tèarainteachd tagraidh: cò mu dheidhinn a tha e?

Tèarainteachd tagraidh is e an roinn tèarainteachd air a bheil uallach airson tèarainteachd tagraidh. Chan ann mu dheidhinn bun-structar no tèarainteachd lìonra a tha seo, ach mu na sgrìobhas sinn agus na bhios luchd-leasachaidh ag obair air - is iad sin lochdan agus so-leòntachd an tagraidh fhèin.

Stiùireadh SDL no SDLC - Cuairt-beatha leasachadh tèarainteachd - Leasaichte le Microsoft. Tha an diagram a’ sealltainn a’ mhodail canonical SDLC, agus is e am prìomh obair aige com-pàirteachadh tèarainteachd aig a h-uile ìre de leasachadh, bho riatanasan, gu sgaoileadh agus sgaoileadh gu cinneasachadh. Thuig Microsoft gu bheil cus bhiteagan anns a’ phrom, gu bheil barrachd dhiubh ann agus feumar rudeigin a dhèanamh mu dheidhinn, agus mhol iad an dòigh-obrach seo, a thàinig gu bhith canonical.

Eagal agus Loathing DevSecOps

Chan eil Tèarainteachd Iarrtais agus SSDL ag amas air so-leòntachd a lorg, mar a thathas a’ creidsinn gu cumanta, ach air casg a chuir orra. Thar ùine, tha an dòigh-obrach canonical bho Microsoft air a leasachadh, air a leasachadh, tha bogadh mionaideach nas doimhne aige.

Eagal agus Loathing DevSecOps

Tha an SDLC canonical gu math mionaideach ann an grunn dhòighean-obrach - OpenSAMM, BSIMM, OWASP. Tha dòighean-obrach eadar-dhealaichte, ach mar as trice tha iad coltach.

Togalach tèarainteachd ann am modal aibidh

Is toil leam e as motha BSIMM - Togalach tèarainteachd ann am modal aibidh. Is e bunait a’ mhodh-obrach am pròiseas Tèarainteachd Iarrtais a roinn ann an 4 raointean: Riaghladh, Eòlas, SSDL Touchpoints agus Cleachdadh. Tha 12 cleachdaidhean aig gach raon, a tha air an riochdachadh mar 112 gnìomhachd.

Eagal agus Loathing DevSecOps

Tha gach aon de na 112 gnìomhachd 3 ìrean inbheachd: neach-tòiseachaidh, eadar-mheadhanach agus adhartach. Faodaidh tu sgrùdadh a dhèanamh air na 12 cleachdaidhean gu lèir ann an earrannan, tagh rudan a tha cudromach dhut, obraich a-mach mar a chuireas tu an gnìomh iad agus cuir ris na h-eileamaidean mean air mhean, mar eisimpleir, mion-sgrùdadh còd statach agus fiùghantach no ath-sgrùdadh còd. Bidh thu a’ dealbh plana agus ag obair a rèir sin gu socair mar phàirt de bhuileachadh nan gnìomhan taghte.

Carson a tha DevSecOps

Tha DevOps na phròiseas mòr iomlan anns am feumar aire a thoirt do thèarainteachd.

An toiseach, DevOps an sàs ann an sgrùdaidhean tèarainteachd. Ann an cleachdadh, bha an àireamh de sgiobaidhean tèarainteachd mòran nas lugha na an-dràsta, agus cha robh iad an sàs mar chom-pàirtichean sa phròiseas, ach mar bhuidheann smachd agus stiùiridh a bhios a 'dèanamh iarrtasan air agus a' sgrùdadh càileachd an toraidh aig deireadh an fhoillseachaidh. Is e dòigh-obrach clasaigeach a tha seo anns an robh sgiobaidhean tèarainteachd air cùl balla bho leasachadh agus nach do ghabh iad pàirt sa phròiseas.

Eagal agus Loathing DevSecOps

Is e am prìomh dhuilgheadas gu bheil tèarainteachd fiosrachaidh air leth bho leasachadh. Mar as trice is e seo seòrsa de chuairt IB agus tha 2-3 innealan mòra agus daor ann. Aon uair gach sia mìosan, thig an còd stòr no an tagradh airson deuchainn, agus uair sa bhliadhna Pentests. Tha seo uile a’ leantainn gu bheil cinn-latha fuasglaidh a’ ghnìomhachais air an cur dheth, agus tha àireamh mhòr de chugallachd bho innealan fèin-ghluasadach a’ tuiteam a-mach air an leasaiche. Tha e do-dhèanta seo a thoirt air falbh agus a chàradh, oir eadhon anns na sia mìosan roimhe sin cha deach na toraidhean a thoirt às a chèile, agus seo baidse ùr.

Ann an cùrsa obair a 'chompanaidh againn, tha sinn a' faicinn gu bheil tèarainteachd anns gach raon agus gnìomhachas a 'tuigsinn gu bheil an t-àm ann grèim fhaighinn air agus snìomh leis an leasachadh ann an aon chuibhle - ann an Agile. Tha paradigm DevSecOps a’ freagairt gu foirfe air modh-obrach leasachaidh lùthmhor, buileachadh, taic, agus com-pàirteachadh anns a h-uile sgaoileadh agus ath-aithris.

Eagal agus Loathing DevSecOps

Eadar-ghluasad gu DevSecOps

Is e am facal as cudromaiche ann an Cuairt-beatha Leasachadh Tèarainteachd "pròiseas". Feumaidh tu seo a thuigsinn mus smaoinich thu air innealan a cheannach.

Chan eil dìreach a bhith a’ toirt a-steach innealan ann am pròiseas DevOps gu leòr - tha conaltradh agus tuigse eadar com-pàirtichean pròiseas cudromach.

Tha daoine nas cudromaiche na innealan

Gu math tric bidh planadh pròiseas leasachaidh tèarainte a 'tòiseachadh le bhith a' taghadh agus a 'ceannach inneal, agus a' crìochnachadh le oidhirpean gus an inneal fhilleadh a-steach don phròiseas làithreach, a tha fhathast nan oidhirpean. Bidh seo a’ leantainn gu builean brònach, leis gu bheil na feartan agus na crìochan aca fhèin aig a h-uile inneal.

Is e cùis cumanta nuair a thagh an roinn tèarainteachd inneal math, daor le raon farsaing de fheartan agus thàinig iad chun luchd-leasachaidh gus a thoirt a-steach don phròiseas. Ach chan eil e ag obair a-mach - tha am pròiseas air a dhealbhadh ann an dòigh nach bi crìochan ionnstramaid a chaidh a cheannach mar-thà a 'freagairt ris a' phàtran làithreach.

An toiseach, thoir cunntas air an toradh a tha thu ag iarraidh agus cò ris a bhios am pròiseas coltach. Cuidichidh seo le bhith a’ tuigsinn dreuchdan an inneil agus tèarainteachd sa phròiseas.

Tòisich leis na tha air a chleachdadh mu thràth

Mus ceannaich thu innealan daor, thoir sùil air na tha agad mu thràth. Tha riatanasan tèarainteachd aig gach companaidh a tha a’ buntainn ri leasachadh, tha sgrùdaidhean ann, deuchainnean treòrachaidh - carson nach atharraich thu seo gu cruth a tha furasta a thuigsinn agus a tha goireasach don h-uile duine?

Mar as trice is e na riatanasan Talmud pàipear a tha na laighe air sgeilp. Bha cùis ann nuair a thig sinn chun chompanaidh gus sùil a thoirt air na pròiseasan agus iarraidh orra na riatanasan tèarainteachd airson a’ bhathar-bog a nochdadh. Bha an speisealaiche a rinn seo a 'coimhead airson ùine mhòr:

- A-nis, an àiteigin anns na notaichean bha slighe far a bheil an sgrìobhainn seo na laighe.

Mar thoradh air an sin, fhuair sinn an sgrìobhainn seachdain an dèidh sin.

Airson riatanasan, sgrùdaidhean agus barrachd, cruthaich duilleag, mar eisimpleir aig Co-fhaireachdainn - tha e goireasach dha na h-uile.

Tha e nas fhasa na tha ann mu thràth ath-leasachadh agus a chleachdadh airson tòiseachadh.

Cleachd Curaidhean Tèarainteachd

Mar as trice, ann an companaidh cuibheasach airson luchd-leasachaidh 100-200, tha aon oifigear tèarainteachd ann a bhios a ’coileanadh grunn ghnìomhan agus chan eil ùine gu corporra aige sgrùdadh a dhèanamh air a h-uile càil. Eadhon ged a dh’ fheuchas e a dhìcheall, cha dèan e leis fhèin sgrùdadh air a’ chòd gu lèir a thig an leasachadh. Airson leithid de chùisean, tha bun-bheachd air a leasachadh - Curaidhean tèarainteachd.

Tha Security Champions na neach taobh a-staigh an sgioba leasachaidh aig a bheil ùidh ann an tèarainteachd an toraidh agad.

Eagal agus Loathing DevSecOps

Tha Curaidh Tèarainteachd na àite inntrigidh don sgioba leasachaidh agus tha soisgeulaiche tèarainteachd uile air a roiligeadh a-steach do aon.

Mar as trice, nuair a thig oifigear tèarainteachd chun sgioba leasachaidh agus a’ comharrachadh mearachd sa chòd, gheibh e freagairt iongantach:

- Agus cò thusa? Chì mi thu airson a’ chiad uair. Tha a h-uile dad gu math leam - chuir mo phrìomh charaid “apply” air ath-sgrùdadh a ’chòd, gluaisidh sinn air adhart!

Is e suidheachadh àbhaisteach a tha seo, leis gu bheil tòrr a bharrachd earbsa ann an seann daoine no dìreach luchd-sgioba leis a bheil an leasaiche an-còmhnaidh ag eadar-obrachadh aig an obair agus ann an ath-sgrùdadh còd. Ma tha, an àite geàrd tèarainteachd, bidh an Curaidh Tèarainteachd a’ comharrachadh a’ mhearachd agus na builean, bidh barrachd cuideam air an fhacal aige.

Cuideachd, tha fios aig luchd-leasachaidh air a’ chòd aca nas fheàrr na fear tèarainteachd sam bith. Airson neach aig a bheil co-dhiù 5 pròiseactan ann an inneal mion-sgrùdadh statach, mar as trice tha e duilich cuimhneachadh air a h-uile nuances. Tha fios aig Curaidhean Tèarainteachd an toradh aca: dè a tha ag eadar-obrachadh le dè agus dè a choimheadas iad sa chiad àite - tha iad nas èifeachdaiche.

Mar sin smaoinich air cur an gnìomh Curaidhean Tèarainteachd agus leudachadh air buaidh na sgioba tèarainteachd. Airson a 'churaidh fhèin, tha seo feumail cuideachd: leasachadh proifeiseanta ann an raon ùr, a' leudachadh an sealladh teicnigeach, a 'pumpadh teicnigeach, sgilean stiùiridh agus ceannardais, a' meudachadh luach a 'mhargaidh. Is e seo eileamaid air choreigin de innleadaireachd sòisealta, do “shùilean” anns an sgioba leasachaidh.

Ìrean deuchainn

Paradigm 20 le 80 ag ràdh gu bheil 20% de na h-oidhirpean a 'toirt seachad 80% de na toraidhean. Tha an 20% seo nan cleachdaidhean mion-sgrùdadh tagraidh as urrainn agus a bu chòir a bhith fèin-ghluasadach. Is e eisimpleirean de ghnìomhachd mar sin mion-sgrùdadh statach - SAST, mion-sgrùdadh fiùghantach - DAST и smachd stòr fosgailte. Innsidh mi barrachd dhut mu ghnìomhachd, a bharrachd air innealan, dè na feartan a choinnicheas sinn mar as trice nuair a thèid an toirt a-steach don phròiseas, agus mar a nì thu e ceart.

Eagal agus Loathing DevSecOps

Prìomh dhuilgheadasan innealan

Comharraichidh mi na duilgheadasan a tha buntainneach airson a h-uile inneal a dh’ fheumas aire. Nì mi sgrùdadh nas mionaidiche orra gus nach dèan mi ath-aithris tuilleadh.

Ùine sgrùdaidh fada. Ma bheir e 30 mionaid bhon ghealladh chun fhoillseachadh airson a h-uile deuchainn agus co-chruinneachadh, bheir na sgrùdaidhean tèarainteachd fiosrachaidh latha. Mar sin cha chuir duine maill air a’ phròiseas. Beachdaich air an fheart seo agus tarraing co-dhùnaidhean.

Àrd False Negative or False Positive. Tha a h-uile toradh eadar-dhealaichte, bidh iad uile a’ cleachdadh frèaman eadar-dhealaichte agus an stoidhle còdaidh fhèin. Air bunaitean còd agus teicneòlasan eadar-dhealaichte, faodaidh innealan diofar ìrean de False Negative and False Positive a shealltainn. Mar sin faic dè tha ann do companaidhean agus airson do seallaidh tagraidhean toradh math agus earbsach.

Gun aonachadh leis na h-innealan a th’ ann mar-thà. Thoir sùil air na h-innealan a thaobh aonachadh leis na tha thu a’ cleachdadh mu thràth. Mar eisimpleir, ma tha Jenkins no TeamCity agad, thoir sùil air amalachadh innealan leis a ’bhathar-bog seo, agus chan ann le GitLab CI, nach bi thu a’ cleachdadh.

Dìth no cus iom-fhillteachd gnàthachaidh. Mura h-eil API aig an inneal, carson a tha feum air? Bu chòir a h-uile dad a ghabhas dèanamh san eadar-aghaidh a bhith ri fhaighinn tron ​​​​API. Mas fheàrr, bu chòir gum biodh comas aig an inneal seicichean a ghnàthachadh.

Gun clàr-rathaid leasachadh toraidh. Chan eil leasachadh a’ seasamh fhathast, bidh sinn an-còmhnaidh a’ cleachdadh frèaman is gnìomhan ùra, ag ath-sgrìobhadh seann chòd gu cànanan ùra. Tha sinn airson dèanamh cinnteach gun toir an t-inneal a cheannaicheas sinn taic do fhrèaman agus theicneòlasan ùra. Mar sin, tha e cudromach fios a bhith agad gu bheil toradh fìor agus ceart mhapa-rathaid leasachadh.

Feartan pròiseas

A bharrachd air feartan nan innealan, beachdaich air feartan a 'phròiseas leasachaidh. Mar eisimpleir, is e mearachd àbhaisteach a th’ ann a bhith a’ cur bacadh air leasachadh. Feuch gum faic sinn dè na feartan eile a bu chòir beachdachadh agus dè bu chòir don sgioba tèarainteachd aire a thoirt dha.

Gus nach cuir thu dragh air cinn-latha leasachaidh agus sgaoilidh, cruthaich riaghailtean eadar-dhealaichte agus eadar-dhealaichte stadan taisbeanaidh - slatan-tomhais airson stad a chuir air a’ phròiseas togail an làthair so-leòntachd - airson diofar àrainneachdan. Mar eisimpleir, tha sinn a’ tuigsinn gu bheil am meur gnàthach a’ dol gu ionad leasachaidh no UAT, mar sin cha bhith sinn a’ stad agus ag ràdh:

- Tha so-leòntachd agad an seo, cha tèid thu àite sam bith nas fhaide!

Aig an ìre seo, tha e cudromach innse do luchd-leasachaidh gu bheil cùisean tèarainteachd ann airson coimhead a-mach.

Chan eil làthaireachd so-leòntachd na bhacadh air tuilleadh dheuchainnean: làimhe, amalachadh no làimhe. Air an làimh eile, feumaidh sinn dòigh air choireigin tèarainteachd an toraidh a leasachadh, agus gus nach faigh an luchd-leasachaidh sgòr air na lorgas an tèarainteachd. Mar sin, uaireannan bidh sinn a’ dèanamh seo: aig an stand, nuair a thèid e a-steach don àrainneachd leasachaidh, bidh sinn dìreach a’ cur fios chun leasachadh:

- Guys, tha duilgheadasan agad, feuch an toir thu aire dhaibh.

Aig ìre UAT, bidh sinn a-rithist a’ nochdadh rabhaidhean mu chugallachd, agus aig an ìre fàgail anns a’ phrom bidh sinn ag ràdh:

“Guys, thug sinn rabhadh dhut grunn thursan, cha do rinn thu dad - cha leig sinn a-mach thu le seo.

Ma tha sinn a 'bruidhinn mu dheidhinn còd agus daineamaigs, tha e riatanach a bhith a' sealltainn agus a 'toirt rabhadh mu chugallachd a-mhàin de na feartan agus an còd a chaidh a sgrìobhadh dìreach anns an fheart seo. Ma ghluais an leasaiche am putan le 3 piogsail agus gun innis sinn dha gu bheil in-stealladh SQL aige an sin agus mar sin feumar a chàradh gu h-èiginneach, tha seo ceàrr. Seall a-mhàin air na tha sgrìobhte a-nis, agus air an atharrachadh a thig air an tagradh.

Canaidh sinn gu bheil beagan uireasbhaidh gnìomh againn - mar nach bu chòir don tagradh obrachadh: chan eil airgead air a ghluasad, nuair a phutas tu air a’ phutan, chan eil gluasad chun ath dhuilleig ann, no chan eil an toradh a ’luchdachadh. Duilgheadasan tèarainteachd - is iad sin na h-aon lochdan, ach chan ann ann an co-theacsa an tagraidh, ach tèarainteachd.

Chan eil a h-uile cùis càileachd bathar-bog nan cùisean tèarainteachd. Ach tha a h-uile duilgheadas tèarainteachd co-cheangailte ri càileachd a 'bhathar-bhog. Sherif Mansour, Expedia.

Leis gu bheil a h-uile so-leòntachd nan aon lochdan, bu chòir dhaibh a bhith suidhichte san aon àite ris a h-uile lochdan leasachaidh. Mar sin na dìochuimhnich mu aithisgean agus PDFs eagallach nach leugh duine sam bith.

Eagal agus Loathing DevSecOps

Nuair a bha mi ag obair airson companaidh leasachaidh, fhuair mi aithisg bho innealan sgrùdaidh statach. Dh'fhosgail mi e, bha e uabhasach, rinn mi cofaidh, chuir mi duilleagan 350 air falbh, dhùin mi e agus chaidh mi air adhart gu obair. Tha aithisgean mòra nan aithrisean marbh. Mar as trice cha tèid iad a dh'àite sam bith, thèid puist-d a dhubhadh às, a dhìochuimhneachadh, a chall, no tha an gnìomhachas ag ràdh gu bheil e a’ gabhail chunnartan.

Dè a nì thu? Bidh sinn dìreach ag atharrachadh na h-uireasbhaidhean dearbhte a lorg sinn gu cruth a tha iomchaidh airson leasachadh, mar eisimpleir, cuir ris an cùl-raon ann an Jira. Thathas a’ toirt prìomhachas do lochdan agus gan cuir às ann an òrdugh prìomhachais còmhla ri uireasbhaidhean gnìomh agus lochdan deuchainn.

Mion-sgrùdadh Statach - SAST

Is e seo mion-sgrùdadh còd airson so-leòntachd., ach chan eil e an aon rud ri SonarQube. Bidh sinn a’ sgrùdadh chan ann a-mhàin airson pàtrain no stoidhle. Bidh an anailis a’ cleachdadh grunn dhòighean-obrach: le craobh so-leòntachd, le sruth dàta, le bhith a’ dèanamh anailis air faidhlichean rèiteachaidh. Tha sin uile airson a’ chòd fhèin.

Buannachdan an dòigh-obrach: comharrachadh so-leòntachd ann an còd aig ìre thràth de leasachadhnuair nach eil seasamh ann agus innealan deiseil, agus comas scan mean air mhean: a 'sganadh earrann de chòd a tha air atharrachadh, agus a-mhàin am feart a tha sinn a' dèanamh an-dràsta, a tha a 'lùghdachadh an ùine sganaidh.

Минусы tha dìth taic dha na cànanan a tha a dhìth.

Amalachadh a tha a dhìth, a bu chòir a bhith anns na h-innealan, nam bheachd-sa:

  • Inneal amalachaidh: Jenkins, TeamCity agus Gitlab CI.
  • Àrainneachd leasachaidh: Intellij IDEA, Visual Studio. Tha e nas fhasa do leasaiche gun a bhith a’ dìreadh a-steach do eadar-aghaidh do-thuigsinn a dh’ fheumar a chuimhneachadh fhathast, ach a bhith a’ faicinn a h-uile aonachadh agus so-leòntachd riatanach a lorg e aig an àite-obrach na àrainneachd leasachaidh fhèin.
  • Lèirmheas còd: SonarQube agus lèirmheas làimhe.
  • Lorgairean lochdan: Jira agus Bugzilla.

Tha an dealbh a 'sealltainn cuid de na riochdairean as fheàrr de mhion-sgrùdadh statach.

Eagal agus Loathing DevSecOps

Chan e na h-innealan a tha cudromach, ach am pròiseas, agus mar sin tha fuasglaidhean Open Source ann a tha math cuideachd airson a’ phròiseas a ruith.

Eagal agus Loathing DevSecOps

Cha lorg SAST Open Source àireamh mhòr de chugallachd no DataFlow iom-fhillte, ach faodar agus bu chòir an cleachdadh nuair a thathar a’ togail pròiseas. Bidh iad a 'cuideachadh le bhith a' tuigsinn mar a thèid am pròiseas a thogail, cò a fhreagras mialan, cò a bheir cunntas, cò a bheir cunntas. Ma tha thu airson a’ chiad ìre de thogail tèarainteachd do chòd a dhèanamh, cleachd fuasglaidhean Open Source.

Ciamar as urrainn seo a bhith air a cho-fhilleadh ma tha thu aig toiseach an turais, chan eil dad agad: no CI, no Jenkins, no TeamCity? Beachdaich air amalachadh pròiseas.

Amalachadh aig ìre CVS

Ma tha Bitbucket no GitLab agad, faodaidh tu amalachadh a dhèanamh aig an ìre Siostam Tionndaidhean Co-aontach.

A rèir tachartas tarraing iarrtas, tiomnadh. Bidh thu a’ sganadh a’ chòd agus a’ sealltainn san inbhe togail gun deach an sgrùdadh tèarainteachd seachad no gun do dh’fhàillig thu.

Fios air ais. Gu dearbh, tha feum air fios air ais an-còmhnaidh. Ma rinn thu dìreach e air an taobh tèarainteachd, cuir ann am bogsa e agus nach do dh’ innis thu dad mu dheidhinn do dhuine sam bith, agus an uairsin leig às dòrlach de bhiteagan aig deireadh na mìos, chan eil seo ceart agus chan eil e math.

Amalachadh le siostam sgrùdaidh còd

Aon uair, shuidhich sinn an neach-cleachdaidh teignigeach AppSec mar an ath-sgrùdaire bunaiteach ann an grunn phròiseactan cudromach. A rèir an deach mearachdan a lorg anns a’ chòd ùr no nach eil mearachdan ann, bidh an ath-sgrùdaire a’ cur an inbhe air an iarrtas tarraing gus “gabhail ri” no “feum air obair” - an dara cuid tha a h-uile dad ceart gu leòr, no feumaidh tu crìochnachadh agus ceangal a dhèanamh ris dè dìreach a thoirt gu crìch. Airson amalachadh leis an dreach a thathas a’ leigeil ma sgaoil, tha sinn air aonadh a chuir à comas mura tèid an deuchainn IS seachad. Ghabh sinn seo a-steach don ath-sgrùdadh còd làimhe, agus chunnaic an còrr den phròiseas com-pàirtichean na h-inbhean tèarainteachd airson a’ phròiseis shònraichte seo.

Amalachadh le SonarQube

Tha aig mòran geata càileachd a thaobh càileachd còd. Tha e an aon rud an seo - faodaidh tu na h-aon gheataichean a dhèanamh a-mhàin airson ionnstramaidean SAST. Bidh an aon eadar-aghaidh ann, an aon gheata càileachd, is e dìreach a chanar ris geata tèarainteachd. Agus cuideachd, ma tha pròiseas agad air a chuir air dòigh le bhith a’ cleachdadh SonarQube, is urrainn dhut a h-uile càil a chuir còmhla gu furasta.

Amalachadh aig ìre CI

An seo, cuideachd, tha a h-uile dad gu math sìmplidh:

  • Co-ionann ri autotests, deuchainnean aonad.
  • Roinn a rèir ìrean leasachaidh: dev, deuchainn, prod. Faodar diofar sheataichean de riaghailtean a ghabhail a-steach, no suidheachaidhean fàilligidh eadar-dhealaichte: bidh sinn a’ stad a’ cho-chruinneachadh, cha bhith sinn a’ stad a’ cho-chruinneachadh.
  • Tòisich sioncronaich / asyncronach. Tha sinn a’ feitheamh ri deireadh nan deuchainnean tèarainteachd no chan eil sinn a’ feitheamh. Is e sin, chuir sinn air bhog iad agus gluais air adhart, agus an uairsin gheibh sinn inbhe gu bheil a h-uile dad math no dona.

Tha e uile ann an saoghal pinc foirfe. Ann am fìor bheatha, chan eil seo fìor, ach bidh sinn a 'strì. Bu chòir toradh sgrùdaidhean tèarainteachd a bhith coltach ri toraidhean deuchainnean aonaid.

Mar eisimpleir, ghabh sinn pròiseact mòr agus cho-dhùin sinn a-nis gun dèan sinn sganadh le SAST - OK. Ghluais sinn am pròiseact seo gu SAST, thug e dhuinn 20 so-leòntachd, agus rinn sinn co-dhùnadh làidir gu bheil a h-uile dad gu math. Is e so-leòntachd 000 na fiachan teicnigeach againn. Cuiridh sinn na fiachan ann am bogsa, bidh sinn ga ràsadh gu slaodach agus tòisichidh sinn biastagan ann an lorgairean lochdan. Fastadh companaidh, dèan a h-uile càil sinn fhìn, no thoir air Buaidhean Tèarainteachd ar cuideachadh, agus thèid fiachan teicnigeach sìos.

Agus bu chòir cuir às do gach so-leòntachd a tha a’ nochdadh anns a’ chòd ùr san aon dòigh ri mearachdan ann an aonad no ann an fèin-dheuchainnean. An ìre mhath a’ bruidhinn, thòisich an co-chruinneachadh, air falbh, thuit dà dheuchainn agus dà dheuchainn tèarainteachd sìos. Ceart gu leòr - chaidh sinn, choimhead sinn air na thachair, cheartaich sinn aon, cheartaich sinn an dàrna fear, dhràibh sinn an ath thuras - tha a h-uile dad gu math, chan eil so-leòntachd sam bith air nochdadh, chan eil na deuchainnean air fàiligeadh. Ma tha an obair seo nas doimhne agus feumaidh tu a thuigsinn gu math, no ma tha so-leòntachd a 'toirt buaidh air sreathan mòra de na tha fon chochall: thèid bug a thoirt a-steach don rianadair lochdan, tha e air a phrìomhachadh agus air a shuidheachadh. Gu mì-fhortanach, chan eil an saoghal foirfe agus bidh deuchainnean uaireannan a’ fàiligeadh.

Is e eisimpleir de gheata tèarainteachd an analogue de gheata càileachd, a thaobh làthaireachd agus àireamh de chugallachd sa chòd.

Eagal agus Loathing DevSecOpsBidh sinn ag amalachadh le SonarQube - tha am plugan air a chuir a-steach, tha a h-uile dad gu math goireasach agus fionnar.

Amalachadh àrainneachd leasachaidh

Roghainnean amalachaidh:

  • A’ tòiseachadh scan bhon àrainneachd leasachaidh eadhon ron ghealladh.
  • Seall na toraidhean.
  • Mion-sgrùdadh air toraidhean.
  • Synchronization leis an fhrithealaiche.

Seo mar a tha e coltach a bhith a’ faighinn toraidhean bhon fhrithealaiche.

Eagal agus Loathing DevSecOps

Anns an àrainneachd leasachaidh againn Intellect IDEA tha e dìreach a’ nochdadh rud a bharrachd a tha ag ràdh gun deach na so-leòntachd sin a lorg rè an scan. Faodaidh tu an còd a dheasachadh sa bhad, faic molaidhean agus graf sruth. Tha seo uile suidhichte aig àite-obrach an leasaiche, a tha gu math goireasach - chan fheum thu an còrr de na ceanglaichean a leantainn agus coimhead air rudeigin a bharrachd.

Stòr Fosgailte

Is e seo an cuspair as fheàrr leam. Bidh a h-uile duine a’ cleachdadh leabharlannan Open Source - carson a sgrìobhas tu dòrlach de bhagaichean is bhaidhsagalan nuair as urrainn dhut leabharlann deiseil a ghabhail anns a bheil a h-uile càil air a chuir an gnìomh mu thràth?

Eagal agus Loathing DevSecOps

Gu dearbh, tha seo fìor, ach tha leabharlannan cuideachd air an sgrìobhadh le daoine, cuideachd a ’toirt a-steach cuid de chunnartan, agus tha so-leòntachd ann cuideachd a thathas ag aithris bho àm gu àm, no gu cunbhalach. Mar sin, tha an ath cheum ann an Tèarainteachd Iarrtais - is e seo mion-sgrùdadh air co-phàirtean Open Source.

Mion-sgrùdadh Stòr Fosgailte - OSA

Tha an inneal a’ toirt a-steach trì prìomh cheumannan.

A’ lorg so-leòntachd ann an leabharlannan. Mar eisimpleir, tha fios aig an inneal gu bheil sinn a’ cleachdadh seòrsa de leabharlann, agus sin a-staigh CVE no ann an lorgairean bug tha cuid de chugallachd co-cheangailte ris an dreach seo den leabharlann. Ma dh’ fheuchas tu ri a chleachdadh, bheir an t-inneal rabhadh dhut gu bheil an leabharlann so-leònte agus bheir e comhairle dhut dreach eile a chleachdadh far nach eil so-leòntachd ann.

Mion-sgrùdadh air purity ceadachd. Chan eil seo a’ còrdadh rinn gu mòr fhathast, ach ma tha thu ag obair le dùthaich chèin, an sin gheibh thu bho àm gu àm ionnsaigh airson a bhith a’ cleachdadh pàirt stòr fosgailte nach gabh a chleachdadh no atharrachadh. A rèir poileasaidh an leabharlainn le cead, chan urrainn dhuinn seo a dhèanamh. No, ma tha sinn air atharrachadh agus a chleachdadh, feumaidh sinn ar còd a phostadh. Gu dearbh, chan eil duine airson còd an cuid thoraidhean a phostadh, ach faodaidh tu cuideachd thu fhèin a dhìon bho seo.

Mion-sgrùdadh air co-phàirtean a thathas a’ cleachdadh ann an àrainneachd gnìomhachais. Smaoinich air suidheachadh beachd-bharail gu bheil sinn air crìoch a chuir air leasachadh mu dheireadh agus air an sgaoileadh as ùire den microservice againn a leigeil ma sgaoil don ghnìomhachas. Tha e a’ fuireach an sin gu h-iongantach – seachdain, mìos, bliadhna. Cha bhith sinn ga chruinneachadh, cha bhith sinn a’ dèanamh sgrùdaidhean tèarainteachd, tha coltas gu bheil a h-uile dad ceart gu leòr. Ach gu h-obann, dà sheachdain às deidh an sgaoileadh, thig so-leòntachd èiginneach anns a’ phàirt Open Source, a bhios sinn a’ cleachdadh anns a’ cho-chruinneachadh shònraichte seo, san àrainneachd gnìomhachais. Mura clàraich sinn dè agus càite a chleachdas sinn, chan fhaicear an so-leòntachd seo. Tha comas aig cuid de dh’ innealan sùil a chumail air so-leòntachd ann an leabharlannan a thathas a ’cleachdadh an-dràsta ann am prom. Tha e glè fheumail.

Feartan:

  • Poileasaidhean eadar-dhealaichte airson diofar ìrean leasachaidh.
  • Cumail sùil air co-phàirtean ann an àrainneachd gnìomhachais.
  • Smachd air leabharlannan ann an cumadh na buidhne.
  • Taic airson diofar shiostaman togail agus chànanan.
  • Mion-sgrùdadh air dealbhan Docker.

Beagan eisimpleirean de stiùirichean san raon a tha an sàs ann am mion-sgrùdadh air Open Source.

Eagal agus Loathing DevSecOps
Is e an aon saor an asgaidh Sgrùdadh eisimeileachd bho OWASP. Faodaidh tu a thionndadh air aig na ciad ìrean, faic mar a tha e ag obair agus na tha e a’ toirt taic. Gu bunaiteach, tha iad sin uile nan toraidhean sgòthan, no san togalach, ach air cùl a ’bhunait aca bidh iad fhathast a’ dol chun eadar-lìn. Cha bhith iad a’ cur do leabharlannan, ach hashes no na luachan aca a bhios iad a’ tomhas, agus lorgan-meòir chun t-seirbheisiche aca gus naidheachdan fhaighinn mu làthaireachd so-leòntachd.

Amalachadh Pròiseas

Leabharlann perimeter smachd aa tha air a luchdachadh sìos bho thùsan taobh a-muigh. Tha stòran againn a-muigh agus a-staigh. Mar eisimpleir, tha Nexus againn taobh a-staigh Event Central, agus tha sinn airson dèanamh cinnteach nach eil so-leòntachd ann le inbhe “èiginneach” no “àrd” taobh a-staigh ar stòr. Faodaidh tu neach-ionaid a chuir air dòigh le bhith a’ cleachdadh inneal Nexus Firewall Lifecycle gus am bi na so-leòntachd sin air an gearradh dheth agus gun a bhith air an toirt a-steach don stòr a-staigh.

Amalachadh CI. Air an aon ìre le autotests, deuchainnean aonad agus roinneadh gu ìrean leasachaidh: dev, test, prod. Aig gach ìre, faodaidh tu leabharlannan sam bith a luchdachadh sìos, rud sam bith a chleachdadh, ach ma tha rudeigin cruaidh leis an inbhe “deatamach”, is dòcha gum bu chòir dhut aire luchd-leasachaidh a tharraing gu seo aig ìre faighinn a-steach don prom.

Amalachadh artifact: Nexus agus JFrog.

Amalachadh a-steach don àrainneachd leasachaidh. Bu chòir na h-innealan a thaghas tu a bhith ceangailte ri àrainneachdan leasachaidh. Feumaidh cothrom a bhith aig an leasaiche air toraidhean an scan bhon àite-obrach aige, no an comas an còd a sganadh agus a sgrùdadh airson so-leòntachd mus cuir e an sàs ann an CVS e.

Amalachadh CD. Is e feart fionnar a tha seo a tha a’ còrdadh rium gu mòr agus air an do bhruidhinn mi mu thràth - a’ cumail sùil air so-leòntachd ùr ann an àrainneachd gnìomhachais. Bidh e ag obair mar seo.

Eagal agus Loathing DevSecOps

Tha againn Stòran Co-phàirtean Poblach - cuid de dh’ innealan taobh a-muigh, agus an stòr a-staigh againn. Tha sinn ag iarraidh dìreach co-phàirtean earbsach a bhith ann. Nuair a nì sinn neach-ionaid iarrtas, nì sinn cinnteach nach eil so-leòntachd sam bith aig an leabharlann a chaidh a luchdachadh sìos. Ma thig e fo phoileasaidhean sònraichte a shuidhich sinn agus gu riatanach a’ co-òrdanachadh leis an leasachadh, cha bhith sinn ga luchdachadh suas agus gheibh sinn rebuff airson dreach eile a chleachdadh. Mar sin, ma tha rudeigin fìor èiginneach agus dona anns an leabharlann, chan fhaigh an leasaiche an leabharlann eadhon aig an ìre stàlaidh - leig leis dreach nas àirde no nas ìsle a chleachdadh.

  • Nuair a bhios sinn a’ togail, bidh sinn a’ dèanamh cinnteach nach do shleamhnaich duine dad dona, gu bheil na pàirtean uile sàbhailte agus nach tug duine sam bith dad cunnartach air an draibhear flash.
  • Chan eil againn ach co-phàirtean earbsach san stòr.
  • Nuair a bhios sinn ga chleachdadh, bidh sinn a-rithist a’ toirt sùil air a’ phacaid fhèin: cogadh, jar, DL no ìomhaigh Docker airson gu bheil e a’ gèilleadh ris a’ phoileasaidh.
  • Nuair a thèid sinn a-steach don àrainneachd gnìomhachais, bidh sinn a’ cumail sùil air na tha a’ tachairt san àrainneachd gnìomhachais: tha so-leòntachd èiginneach a’ nochdadh no a’ nochdadh.

Mion-sgrùdadh Dynamic - DAST

Tha innealan anailis dinamach gu bunaiteach eadar-dhealaichte bhon a h-uile dad a chaidh a ràdh roimhe. Is e seo seòrsa de dh’ aithris air obair an neach-cleachdaidh leis an tagradh. Mas e tagradh lìn a tha seo, bidh sinn a’ cur iarrtasan a’ dèanamh atharrais air obair an neach-dèiligidh, cliog air na putanan air an aghaidh, cuir dàta fuadain bhon fhoirm: luachan, camagan, caractaran ann an còdachadh eadar-dhealaichte gus coimhead air mar a tha an tagradh ag obair agus a’ pròiseasadh a-muigh dàta.

Leigidh an aon shiostam leat sgrùdadh a dhèanamh airson so-leòntachd teamplaid ann an Open Source. Leis nach eil fios aig DAST dè an Stòr Fosgailte a tha sinn a’ cleachdadh, bidh e dìreach a’ tilgeil phàtranan “droch-rùnach” agus a’ dèanamh anailis air freagairtean an fhrithealaiche:

- Yeah, tha duilgheadas deserialization an seo, ach chan ann an seo.

Tha cunnartan mòra ann an seo, oir ma nì thu an deuchainn tèarainteachd seo air an aon sheasamh ris a bheil an luchd-dearbhaidh ag obair, faodaidh rudan mì-thlachdmhor tachairt.

  • Luchdaich àrd air lìonra frithealaiche aplacaid.
  • Gun aonachadh.
  • Comas roghainnean an tagraidh sgrùdaichte atharrachadh.
  • Chan eil taic sam bith ann airson na teicneòlasan riatanach.
  • Duilgheadas le suidheachadh.

Bha suidheachadh againn nuair a chuir sinn AppScan air bhog mu dheireadh: chuir sinn a-mach ruigsinneachd air an tagradh airson ùine mhòr, fhuair sinn 3 cunntasan agus bha sinn air leth toilichte - mu dheireadh, nì sinn sgrùdadh air a h-uile càil! Chuir sinn scan air bhog, agus b’ e a’ chiad rud a rinn AppScan faighinn a-steach don phannal rianachd, na putanan gu lèir a tholladh, leth an dàta atharrachadh, agus an uairsin am frithealaiche a mharbhadh leis fhèin. foirm puist- iarrtasan. Thuirt leasachadh le Testing:

“Guys, a bheil thu gam magadh?! Thug sinn cunntasan dhut, agus chuir thu an seasamh!

Beachdaich air na cunnartan a dh'fhaodadh a bhith ann. Mas fheàrr, ullaich seasamh air leth airson a bhith a’ dèanamh deuchainn air tèarainteachd fiosrachaidh, a bhios air a sgaradh bhon chòrr den àrainneachd co-dhiù dòigh air choireigin, agus thoir sùil air a’ phannal rianachd le chumhachan, mas fheàrr ann am modh làimhe. Is e fìor dhearbhadh a tha seo - na ceudadan sin de dh’ oidhirpean air nach eil sinn a’ beachdachadh an-dràsta.

'S fhiach toirt fa-near gun urrainn dhut seo a chleachdadh mar analogue de luchd deuchainn. Aig a 'chiad ìre, faodaidh tu an sganair fiùghantach a thionndadh ann an 10-15 snàithlean agus faic dè thachras, ach mar as trice, mar a tha cleachdadh a' sealltainn, chan eil dad math.

Beagan ghoireasan a bhios sinn a 'cleachdadh mar as trice.

Eagal agus Loathing DevSecOps

Is fhiach a chomharrachadh Suite Burp an "sgian Eilbheis" airson proifeasanta tèarainteachd sam bith. Bidh a h-uile duine ga chleachdadh agus tha e gu math goireasach. Tha dreach demo ùr den deasachadh iomairt a-nis air fhoillseachadh. Mas e dìreach goireas leis fhèin a bh’ ann roimhe seo le plugins, a-nis tha luchd-leasachaidh mu dheireadh a ’dèanamh frithealaiche mòr às am bi e comasach grunn riochdairean a riaghladh. Tha e fionnar, tha mi a’ moladh dhut feuchainn air.

Amalachadh Pròiseas

Tha an amalachadh math agus sìmplidh: tòisich scan às deidh an stàladh soirbheachail iarrtasan air an stand agus sganadh às deidh deuchainn aonachaidh soirbheachail.

Mura obraich an aonachadh no ma tha stubs agus gnìomhan meallta ann, tha e gun bhrìgh agus gun fheum - ge bith dè am pàtran a chuireas sinn, bidh am frithealaiche fhathast a’ freagairt san aon dòigh.

  • Mas fheàrr, being deuchainn air leth.
  • Mus dèan thu deuchainn, sgrìobh sìos an t-sreath logadh a-steach.
  • Chan eil deuchainn air an t-siostam rianachd ach le làimh.

phròiseas

Beagan coitcheann mun phròiseas san fharsaingeachd agus mu obair gach inneal, gu sònraichte. Tha a h-uile tagradh eadar-dhealaichte - bidh aon ag obair nas fheàrr le mion-sgrùdadh fiùghantach, fear eile le mion-sgrùdadh statach, an treas fear le mion-sgrùdadh OpenSource, pentests, no rudeigin eile san fharsaingeachd, mar eisimpleir, tachartasan le Ci.

Feumaidh a h-uile pròiseas a bhith fo smachd.

Gus tuigse fhaighinn air mar a tha am pròiseas ag obair agus far an gabh a leasachadh, feumaidh tu meatrach a chruinneachadh bho gach nì as urrainn dhut a dhèanamh, a’ toirt a-steach meatrach cinneasachaidh, meatrach bho innealan agus lorgairean uireasbhaidhean.

Tha fiosrachadh sam bith feumail. Feumar coimhead ann an grunn earrannan far a bheil an inneal seo no an inneal sin air a chleachdadh nas fheàrr, far a bheil am pròiseas gu sònraichte a ’dol sìos. Is dòcha gum b’ fhiach coimhead air àm freagairt leasachaidh gus faicinn càite an leasaich iad am pròiseas stèidhichte air ùine. Mar as motha de dhàta, is ann as motha de ghearraidhean a ghabhas togail bhon ìre as àirde gu mion-fhiosrachadh gach pròiseas.

Eagal agus Loathing DevSecOps

Leis gu bheil na APIan aca fhèin aig a h-uile anailisiche statach agus fiùghantach, na dòighean cur air bhog aca fhèin, prionnsapalan, tha clàran-ama aig cuid, chan eil cuid eile - tha sinn a’ sgrìobhadh inneal AppSec Orcastra, a leigeas leat aon àite inntrigidh a dhèanamh don phròiseas gu lèir bhon toradh agus a riaghladh bho aon phuing.

Tha aon àite inntrigidh aig manaidsearan, luchd-leasachaidh agus innleadairean tèarainteachd far am faic iad na tha a’ ruith, a’ rèiteachadh agus a’ ruith sganaidhean, a’ faighinn toraidhean scan, agus a’ cur a-steach riatanasan. Bidh sinn a’ feuchainn ri faighinn air falbh bho phìosan pàipeir, eadar-theangachadh a h-uile càil gu fear daonna a bhios leasachadh a’ cleachdadh - duilleagan air Confluence le inbhe agus meatrach, uireasbhaidhean ann an Jira no ann an diofar lorgairean lochdan, no fighe a-steach do phròiseas sioncronaich / asyncronach ann an CI / CD.

Na prìomh ghiùlan-bidhe

Chan eil na h-innealan gu diofar. Smaoinich mun phròiseas an toiseach, an uairsin cuir na h-innealan an gnìomh. Tha na h-innealan math, ach daor, agus mar sin faodaidh tu tòiseachadh leis a’ phròiseas agus gleusadh a dhèanamh air an eadar-obrachadh agus tuigse eadar leasachadh agus tèarainteachd. Bho thaobh tèarainteachd, chan eil feum air “stad” a h-uile càil ann an sreath. .

Càileachd toraidh - amas coitcheann an dà chuid tèarainteachd agus leasachadh. Bidh sinn a 'dèanamh aon rud, bidh sinn a' feuchainn ri dèanamh cinnteach gu bheil a h-uile càil ag obair ceart agus nach eil cunnartan cliù agus call ionmhasail ann. Sin as coireach gu bheil sinn ag adhartachadh an dòigh-obrach gu DevSecOps, SecDevOps gus conaltradh a stèidheachadh agus an toradh a dhèanamh nas fheàrr.

Tòisich leis na tha ann mu thràth: riatanasan, ailtireachd, sgrùdaidhean pàirt, trèanadh, stiùireadh. Chan fheumar a h-uile cleachdadh a chuir an sàs anns a h-uile pròiseact sa bhad - gluasad gu tur. Chan eil aon inbhe ann deuchainn agus feuch dòighean-obrach agus fuasglaidhean eadar-dhealaichte.

Soidhne co-ionann eadar lochdan IS agus uireasbhaidhean gnìomh.

Dèan fèin-ghluasad air a h-uile càiltha sin a' gluasad. Rud sam bith nach gluais, gluais agus fèin-ghluasad. Ma thèid rudeigin a dhèanamh le làimh, chan e pàirt math den phròiseas a tha seo. Is dòcha gum b’ fhiach ath-bheachdachadh agus fèin-ghluasad a dhèanamh air cuideachd.

Ma tha meud sgioba IB beag - Cleachd Curaidhean Tèarainteachd.

Is dòcha nach bi an rud ris an do bhruidhinn mi a’ freagairt ort agus gun tig thu suas le rudeigin dhut fhèin - agus tha sin math. Ach tagh innealan stèidhichte air riatanasan a’ phròiseis agad. Na toir sùil air na tha a’ choimhearsnachd ag ràdh gu bheil an inneal seo dona agus gu bheil am fear seo math. Is dòcha gum bi e an rathad eile mun toradh agad.

Feumalachdan innealan.

  • Ìosal meallta deimhinneach.
  • Ùine sgrùdaidh iomchaidh.
  • Facal-cleachdaidh.
  • Cothromachd aonachadh.
  • A’ tuigsinn clàr-rathaid leasachadh toraidh.
  • Comas innealan a ghnàthachadh.

Chaidh aithisg Yuriy a thaghadh mar aon den fheadhainn as fheàrr aig DevOpsConf 2018. Gus eòlas fhaighinn air beachdan eadhon nas inntinniche agus cùisean practaigeach, thig gu Skolkovo air 27 agus 28 Cèitean DevOpsConf a-staigh fèis RIT++. Nas fheàrr buileach, ma tha thu deònach an t-eòlas agad a cho-roinn, mar sin tagradh Cuir a-steach an aithisg agad ro 21 Giblean.

Source: www.habr.com

Cuir beachd ann