8 strategier til forbedring af kodesigneringssikkerhed

8 strategier til forbedring af kodesigneringssikkerhed

8 strategier til forbedring af kodesigneringssikkerhed PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

KOMMENTAR

Den seneste nyhed om, at hackere havde brudt fjernadgangsløsningsfirmaet AnyDesk kastet et skarpt lys over behovet for, at virksomheder tager et langt, grundigt kig på praksis for kodesignering for at hjælpe med at sikre en mere sikker softwareforsyningskæde.  

Kodesignering tilføjer en digital signatur til software, firmware eller applikationer, der sikrer, at brugerkoden kommer fra en pålidelig kilde og ikke er blevet manipuleret, siden den sidst blev underskrevet. Men kodesignering er kun så god som dens udførelse, og utilstrækkelig praksis kan føre til malware-indsprøjtninger, manipulation med kode og software og efterligningsangreb. 

Private nøgler skal beskyttes, men mange udviklere (hovedsageligt af bekvemmelighedsgrunde) vedligeholder deres egne og gemmer dem på deres lokale maskiner eller bygger servere. Dette efterlader dem åbne for tyveri og misbrug og skaber blinde vinkler for sikkerhedsteams.  

Efter SolarWinds hack i 2020 udgav Certificate Authority/Browser (CA/B) Forum et nyt sæt af basiskrav til vedligeholdelse af kodesigneringscertifikater, der kræver brug af hardwaresikkerhedsmoduler (HSM'er), enheder, der vedligeholder og sikrer kryptografiske nøgler, samt andre foranstaltninger til at beskytte private nøgler. 

HSM'er giver det højeste niveau af sikkerhed, men de øger også omkostninger, kompleksitet og vedligeholdelseskrav. Medmindre de kan integreres i kodesigneringsværktøjerne, der bruges af DevOps-teamet, kan afbrydelsen komplicere kodesigneringsadgangen og bremse processen.  

Migration til skyen har gjort sikkerhed til en højere prioritet, men skyen tilbyder også en løsning til kodesignering. Cloud-kodesignering og HSM'er kan give den hastighed og smidighed, som udviklere ønsker, samt centraliseret kontrol, der understøtter distribuerede udviklingsteams, integreres i udviklingsprocesserne og nemmere kan overvåges af sikkerhed. 

Rejsen til integreret kodesignering 

Med de seneste ændringer fra CA / B Forum, er det tid for organisationer at begive sig ud på en rejse for at modernisere deres kodesignering med centraliseret kontrol for at understøtte udviklingsteams. Mange virksomheder forbliver i "ad hoc"-stadiet, hvor nøgler vedligeholdes lokalt, og udviklere bruger en række forskellige kodesigneringsprocesser og værktøjer. Andre har centraliseret kontrol for at give sikkerhedsteams synlighed og styring ved at bruge HSM'er til at sikre nøgler, men brug af separate kodesigneringsværktøjer påvirker stadig softwareudviklingens hastighed. 

Den ideelle, modne struktur kræver en integration af nøglesikkerhed, kodesigneringsværktøjer og udviklingsarbejdsgange for at gøre processen sømløs og strømlinet på tværs af alle builds, containere, artefakter og eksekverbare filer. Sikkerhedsteams administrerer HSM'erne og får fuld synlighed i kodesignering, mens udviklere nu har en smidig og hurtig udviklingspipeline. 

Et par bedste fremgangsmåder kan hjælpe med at bane vejen for denne rejse: 

  • Sikre dine nøgler: Gem kodesigneringsnøgler på et sikkert sted, såsom en HSM, der overholder CA/B Forum kryptografiske krav (FIPS 140-2 Level 2 eller Common Criteria EAL 4+). HSM'er er manipulationssikre og forhindrer private nøgler i at blive eksporteret.

  • Styr adgang: Minimer risikoen for uautoriseret adgang og misbrug af private nøgler ved at begrænse adgangen gennem rollebaseret adgangskontrol. Definer godkendelsesarbejdsgange og håndhæv sikkerhedspolitikker for at regulere adgangen til kun det nødvendige personale, og vedligehold revisionslogfiler, der registrerer, hvem der udløste signeringsanmodningen, hvem der fik adgang til nøglerne og hvorfor. 

  • Drej tasterne: Hvis én nøgle er kompromitteret, risikerer alle de udgivelser, der er signeret med den, at blive kompromitteret. Roter kodesigneringsnøgler regelmæssigt, og brug unikke og separate nøgler til at signere forskellige udgivelser på tværs af flere DevOps-teams. 

  • Tidsstempelkode:  Kodesigneringscertifikater har begrænset levetid - et til tre år og krymper. Tidsstempling af kode, mens du signerer den, kan bekræfte legitimiteten af ​​en signatur, selv efter at certifikatet er udløbet eller blevet tilbagekaldt, hvilket udvider tilliden til den signerede kode og software.

  • Tjek kodeintegritet: Udfør en fuld kodegennemgang, før du signerer og frigiver den endelige build ved at sammenligne koden i build-serveren med kildekodelageret, og bekræft alle udviklersignaturer for at sikre, at de er fri for manipulation. 

  • Centraliser ledelsen: Virksomheder i dag er globale. En centraliseret kodesigneringsproces kan hjælpe med at overvåge signeringsaktiviteter og certifikater på tværs af virksomheden, uanset hvor udviklerne er placeret. Det forbedrer synlighed, opbygger ansvarlighed og eliminerer sikkerhedssårbarheder.

  • Håndhæve politikker: Standardiser kodesigneringsprocessen ved at definere og kortlægge politikker, herunder nøglebrugstilladelser, godkendelser, nøgleudløb, CA-type, nøglestørrelse, signeringsalgoritmetype og mere. Automatiser håndhævelse af politik for at sikre, at al kode, filer og software er signeret baseret på politikken og er i overensstemmelse med industristandarder. 

  • Forenkle kodesignering: Integrering og automatisering af kodesignering med CI/CD-værktøjer forenkler processen for DevOps uden at gå på kompromis med sikkerheden, samtidig med at hastighed og smidighed fremmes.

I en verden med kontinuerlig integration og kontinuerlig udrulning giver stærke code-signing best practices en uvurderlig måde at opbygge tillid i udviklingsprocessen og muliggøre en mere sikker softwareforsyningskæde.

Tidsstempel:

Mere fra Mørk læsning