Hoppa till innehåll

Webinar: Registrera dig för vårt kommande webbinarium

Registrera nu

Förstå Docker-avbildningssignering

Förstå Docker-avbildningssignering

Beskrivning

I dagens värld virtualiseras och laddas alla applikationer eller programvaror som används av användare ner från en dockercontainer. En rädsla som många användare har är att det kan vara möjligt att angripare har manipulerat filen som användarna laddar ner från containern och injicerat ett skadligt skript eller skadlig kod i den. Om så är fallet, närhelst någon laddar ner och kör det i sitt system, påverkas systemet av angriparens skadliga skript.

Nödvändigheten av Docker-avbildningssignering:

Om en organisation tillhandahåller en programvara/produkt till sin kund, hur kan kunden då verifiera att den inte har manipulerats? För att ge kunderna sinnesro i detta ämne kan en organisation sätta sin betrodda signatur på programvaran/produkten. Om någon försöker manipulera koden ändras signaturen. Det är här bildsignering kommer in i bilden. Bildsignering är när en organisation kan signera sin bild innan de skickar den till containern så att kunden kan använda den säkert.

I likhet med hur skadlig aktivitet kan upptäckas med kodsignering, verifieras signaturen först när en användare försöker installera eller köra filen. Om organisationens avbildningssignering certifikat inte hittas kommer det att hindra användaren från att fortsätta.

Vad är Docker-avbildningssignering?

Docker-avbildningssignering är processen att digitalt signera docker-avbildningar för att bekräfta programvaruförfattarens identitet och ge en försäkran om att koden inte har ändrats eller komprometterats.

Hur fungerar Docker-avbildningssignering?

Sättet bildsignering fungerar på kan delas in i två delar:

  1. På server- eller utvecklarsidan
  2. På klientsidan

Först ska vi diskutera hur
processen sker på serversidan:

Server sida
  1. Originalbilden, dvs. dockerbilden som användaren vill tillhandahålla kunderna på ett säkert sätt, hashas först av en hasch algoritm, eftersom det är praktiskt taget omöjligt att reversera en hash.
  2. Den hashade docker-avbildningen vi får signeras sedan av utvecklarens privata nyckel.
  3. Den signerade hash-dockeravbildningen packas sedan med originalbilden och det digitala certifikatet, vilka tillsammans också kallas ett avbildningssigneringscertifikat.
  4. Nu kan den laddas upp eller överföras till kunden.

Nu ska vi gå igenom hur processen går till på klientsidan.

Klientsidan
  1. Den ursprungliga docker-avbildningen skickas genom en hash-algoritm för att få bildens hash.
  2. Den offentliga nyckeln extraheras från certifikatet och tillämpas på den signerade hashen för docker-avbildningen för att extrahera hashen för avbildningen.
  3. Båda hasherna som skapades från steg 1 och 2 jämförs, och om båda hasherna är desamma har bilden inte ändrats och signaturen anses vara giltig.
  4. Samtidigt kontrolleras bildsigneringscertifikatet för att säkerställa att det har signerats av en betrodd certifikatutfärdare. Utgångsdatumet för bildsigneringscertifikatet kontrolleras, och certifikatet kontrolleras även mot återkallningslistorna för att säkerställa att det är giltigt.

Lösning för företagskodsignering

Få en lösning för alla dina behov av kodsignering och kryptografi för mjukvara med vår kodsigneringslösning.

Svagheter med Docker-avbildningssignering

Det finns också flera svagheter med bildsignering, inklusive:
Felaktig hantering av den privata nyckeln som skapas i början av avbildningssigneringsprocessen kan leda till osäkerhet för programvaran som skickas. Om en legitim privat nyckel stjäls kan angriparen koda sin skadliga programvara med den privata nyckeln, vilket informerar användaren om att programvaran är säker att använda, även om den inte är det.

Hotaktörer kan få ett betrott certifikat, men det som avskräcker de flesta angripare är behovet av att tillhandahålla identifieringsinformation för att få ett certifikat. Om skadlig programvara distribueras med ett legitimt certifikat kan utvecklaren identifieras och stoppas.

AnmärkningarOm användaren tillåter installation av programvaran, även om operativsystemet säger att det inte är en signerad bild, blir bildsigneringen värdelös.

För att förhindra dessa svagheter finns det bästa praxis som bör följas:

För skydd av krypteringsnycklar, hårdvarusäkerhetsmoduler eller HSM, bör användas. En HSM är en specialiserad, mycket betrodd fysisk enhet. Det är en nätverksdator som utför alla större kryptografiska operationer, inklusive krypteringdekryptering, autentisering, nyckelhantering, nyckelutbyte etc. De är manipulationssäkra och använder extremt säkra kryptografiska operationer.

Tillsammans med HSM:er bör principen om minsta behörighet användas med nycklar, för att säkerställa att endast användare som behöver nyckeln har åtkomst till den.

Slutligen bör försiktighet alltid iakttas vid avbildningssignering. Ladda bara ner och installera programvara som är avbildningssignerad av en betrodd CA.

Framtiden för kodsignering

Som vi kan se i dagens värld är säkerhet och förtroende en viktig del av alla organisationers tillväxt. Varje organisation vill spara sina data och tillhandahålla säkra data till sina kunder. Olika skadliga aktiviteter sker dagligen, så avbildningssignering kommer att öka exponentiellt. Varje organisation behöver omsätta kodsignering och avbildningssignering i praktiken.

Vårt erbjudande inom kodsignering

Vår produkt, CodeSign Secure, erbjuder en säker och flexibel lösning för en organisations kodsigneringsbehov för signering av Windows-, Linux-, Macintosh-, Docker- och Android/iOS-appar.

Vårt ramverk kan utökas för att skydda annan kod eller dokument enligt våra kunders önskemål.

  • Nycklarna är skyddade av ditt val av HSM, – nCipher, Utimaco, Safenet.
  • Policyer och arbetsflöden definieras för att säkra och effektivisera din process för jobbinlämning och godkännande.
  • Dina befintliga virus- och skanningssökningar kan integreras systematiskt.
  • Utvecklad på ett öppet REST API, vilket möjliggör anpassade integrationer och krav.

Slutsats

Data är avgörande i denna uppkopplade värld, där kodsignering kan användas för att verifiera data. Manipulerad data kan leda till allvarliga förluster och bör därför inte litas på. Programvara bör också visa en varning eller helt blockera användaren från att installera programvara med otillförlitliga certifikat. En signerad programvara eller applikation kan skapa ett betrott nätverk av användare, enheter och program.