8 strategij za izboljšanje varnosti podpisovanja kode

8 strategij za izboljšanje varnosti podpisovanja kode

8 strategij za izboljšanje varnosti podpisovanja kod PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

KOMENTAR

Nedavna novica, da so hekerji vdrli v podjetje za rešitve oddaljenega dostopa AnyDesk je ostro osvetlil potrebo podjetij po dolgem in temeljitem pregledu praks podpisovanja kode, da bi zagotovili varnejšo dobavno verigo programske opreme.  

Podpisovanje kode doda digitalni podpis programski opremi, vdelani programski opremi ali aplikacijam, ki zagotavlja, da uporabniška koda prihaja iz zaupanja vrednega vira in ni bila spremenjena od zadnjega podpisa. Toda podpisovanje kode je tako dobro, kot je dobro njeno izvajanje, neustrezne prakse pa lahko privedejo do vbrizganja zlonamerne programske opreme, poseganja v kodo in programsko opremo ter napadov z lažnim predstavljanjem. 

Zasebne ključe je treba zaščititi, vendar mnogi razvijalci (predvsem zaradi udobja) vzdržujejo svoje in jih shranjujejo v svojih lokalnih računalnikih ali gradijo strežnike. To jih pušča odprte za krajo in zlorabo ter ustvarja slepe pege za varnostne ekipe.  

Po Kramp SolarWinds leta 2020 je forum overitelja potrdil/brskalnika (CA/B) izdal nov niz osnovne zahteve za vzdrževanje potrdil za podpisovanje kode, ki predpisuje uporabo varnostnih modulov strojne opreme (HSM), naprav, ki vzdržujejo in varujejo kriptografske ključe, kot tudi druge ukrepe za zaščito zasebnih ključev. 

HSM zagotavljajo najvišjo raven varnosti, vendar tudi povečujejo stroške, kompleksnost in zahteve po vzdrževanju. Če jih ni mogoče integrirati v orodja za podpisovanje kode, ki jih uporablja ekipa DevOps, lahko prekinitev povezave zaplete dostop do podpisovanja kode in upočasni postopek.  

Migracija v oblak je postavila varnost na višjo prioriteto, vendar oblak ponuja tudi rešitev za podpisovanje kode. Podpisovanje kode v oblaku in HSM-ji lahko zagotovijo hitrost in agilnost, ki ju želijo razvijalci, pa tudi centraliziran nadzor, ki podpira porazdeljene razvojne ekipe, se integrira v razvojne procese in ga varnost lažje nadzira. 

Pot do integriranega podpisovanja kode 

Z nedavnimi spremembami iz CA/B forum, je čas, da se organizacije odpravijo na pot posodobitve svojega podpisovanja kode s centraliziranim nadzorom za podporo razvojnim ekipam. Mnoga podjetja ostajajo v »ad hoc« fazi, kjer se ključi vzdržujejo lokalno, razvijalci pa uporabljajo različne postopke in orodja za podpisovanje kod. Drugi imajo centraliziran nadzor, da varnostnim ekipam omogočijo preglednost in upravljanje z uporabo HSM za varovanje ključev, vendar uporaba ločenih orodij za podpisovanje kod še vedno vpliva na hitrost razvoja programske opreme. 

Idealna, zrela struktura zahteva integracijo ključne varnosti, orodij za podpisovanje kode in delovnih tokov razvoja, da bo proces brezhiben in poenostavljen v vseh zgradbah, vsebnikih, artefaktih in izvršljivih datotekah. Varnostne ekipe upravljajo HSM in pridobijo popoln vpogled v podpisovanje kode, medtem ko imajo razvijalci zdaj agilen in hiter razvojni cevovod. 

Nekaj ​​najboljših praks vam lahko pomaga utrti pot na tej poti: 

  • Zavarujte svoje ključe: Shranjujte ključe za podpisovanje kode na varnem mestu, kot je HSM, ki je v skladu s kriptografskimi zahtevami foruma CA/B (FIPS 140-2 Level 2 ali Common Criteria EAL 4+). HSM so odporni na posege in preprečujejo izvoz zasebnih ključev.

  • Nadzor dostopa: Zmanjšajte tveganje nepooblaščenega dostopa in zlorabe zasebnih ključev tako, da omejite dostop z nadzorom dostopa na podlagi vlog. Določite poteke dela za odobritev in uveljavite varnostne politike za urejanje dostopa samo potrebnemu osebju ter vzdržujte revizijske dnevnike, ki beležijo, kdo je sprožil zahtevo za podpisovanje, kdo je dostopal do ključev in zakaj. 

  • Vrtenje tipk: Če je en ključ ogrožen, so vse izdaje, podpisane z njim, v nevarnosti. Redno izmenjujte ključe za podpisovanje kode in uporabite edinstvene in ločene ključe za podpisovanje različnih izdaj v več skupinah DevOps. 

  • Koda časovnega žiga:  Potrdila za podpisovanje kode imajo omejeno življenjsko dobo - eno do tri leta in se zmanjšujejo. Koda s časovnim žigom med podpisovanjem lahko preveri legitimnost podpisa tudi po tem, ko je potrdilo poteklo ali je bilo preklicano, s čimer se poveča zaupanje podpisane kode in programske opreme.

  • Preverite celovitost kode: Izvedite popoln pregled kode, preden podpišete in izdate končno gradnjo, tako da primerjate kodo v strežniku za gradnjo z repozitorijem izvorne kode in preverite vse podpise razvijalcev, da se prepričate, da so brez posegov. 

  • Centralizirajte upravljanje: Današnja podjetja so globalna. Centraliziran postopek podpisovanja kode lahko pomaga spremljati dejavnosti podpisovanja in potrdil v celotnem podjetju, ne glede na to, kje se nahajajo razvijalci. Izboljša vidljivost, gradi odgovornost in odpravlja varnostne ranljivosti.

  • Uveljavi pravilnike: Standardizirajte postopek podpisovanja kode z definiranjem in preslikavo pravilnikov, vključno z dovoljenji za uporabo ključev, odobritvami, potekom ključa, vrsto CA, velikostjo ključa, vrsto algoritma za podpisovanje in še več. Avtomatizirajte uveljavljanje pravilnika, da zagotovite, da so vsa koda, datoteke in programska oprema podpisani na podlagi pravilnika in so skladni z industrijskimi standardi. 

  • Poenostavite podpisovanje kode: Integracija in avtomatizacija podpisovanja kode z orodji CI/CD poenostavi postopek za DevOps brez ogrožanja varnosti, hkrati pa spodbuja hitrost in agilnost.

V svetu nenehne integracije in nenehnega uvajanja močne najboljše prakse podpisovanja kode zagotavljajo neprecenljiv način za izgradnjo zaupanja v razvojni proces in omogočajo varnejšo dobavno verigo programske opreme.

Časovni žig:

Več od Temno branje