De afgelopen jaren is de software-industrie getuigd van een sterke toename van aanvallen op codeondertekening. Hackers hebben kwetsbaarheden in codeondertekeningscertificaten misbruikt om geavanceerde aanvallen uit te voeren op softwareleveringsketens , met aanzienlijke financiële en reputatieschade tot gevolg voor organisaties. Recente cyberaanvallen, zoals de datalekken bij SolarWinds en Codecov, hebben de verwoestende gevolgen van codeondertekeningsaanvallen benadrukt, waardoor overheden en experts in de sector de ernst van de situatie zijn gaan inzien.
De Amerikaanse overheid heeft bijvoorbeeld waarschuwingen en adviezen uitgegeven over de risico's van code-ondertekeningsaanvallen en dringt er bij softwareontwikkelaars op aan hun softwareleveringsketens te beveiligen met robuuste beveiligingsmaatregelen. De behoefte aan tools voor code-ondertekening is nog nooit zo groot geweest, omdat ze een betrouwbare verdediging kunnen bieden tegen de potentiële schade van deze aanvallen.
Volgens de eerste gegevens van Sonatype's 8e jaarlijkse State of the Software Supply Chain Report, dat op 18 oktober 2022 werd gepubliceerd , heeft Sonatype de afgelopen drie jaar een gemiddelde stijging van 700% in repository-aanvallen geregistreerd. Deze cijfers zijn enorm en wat nog zorgwekkender is, is de bedreiging die dit voor klanten vormt.
Aanvallen op de softwareleveringsketen van de volgende generatie, gedefinieerd: technieken die zich richten op het vertrouwensmechanisme zelf in plaats van een enkele kwetsbaarheid te exploiteren, vervalsing van codesignaturen met gestolen certificaten, compiler-achterdeuren die tijdens het bouwproces worden geïnjecteerd en verwarring over afhankelijkheden die pakketnamen misbruiken. Elk van deze aanvallen vereist een andere specifieke beheersmaatregel, geen generieke oplossing.
Key Takeaways
- Deze pagina richt zich op de taxonomie van aanvallen, wat deze technieken inhouden en hoe certificaten worden gecompromitteerd. Voor het volledige draaiboek voor incidentrespons, dat een actieve inbreuk, dreigingsmodel, beheersing, intrekking en herstel behandelt, zie Versterk de beveiliging van codeondertekening tegen integriteitsomzeilingen..
- Certificaatvernieuwing en -intrekking zijn verschillende acties voor verschillende situaties: vernieuwing is voor een geplande vervaldatum, intrekking is de controle die er daadwerkelijk voor zorgt dat een gecompromitteerde sleutel geen verdere code meer kan ondertekenen.
In deze blog gaan we dieper in op de opkomst van code signing-aanvallen, onderzoeken we recente aanvallen en de gevolgen ervan, bestuderen we rapporten van overheidsorganisaties en bespreken we het belang van code signing-tools voor het beschermen van softwaretoeleveringsketens. Aan het einde van deze blog heeft u een beter begrip van het huidige dreigingslandschap en welke maatregelen u kunt nemen om uw softwaretoeleveringsketen te beveiligen tegen code signing-aanvallen.
Moderne aanvallen gebruikt door APT's
In de loop der tijd zijn niet alleen onze verdedigingen versterkt met geavanceerde technologie, maar worden de aanvallen die APT's gebruiken ook steeds slimmer. Hackers worden steeds sneller in hun bewegingen.
Hieronder staan ​​enkele typen codeondertekeningsaanvallen die moderne APT's gebruiken:
-
Code handtekening spoofing
Aanvallers kunnen legitieme code-ondertekeningscertificaten stelen en deze gebruiken om hun malware te ondertekenen. Daarmee omzeilen ze antivirus- en andere beveiligingsmaatregelen.
-
Compiler-achterdeuren
Aanvallers kunnen achterdeurtjes in compilers plaatsen, die vervolgens worden gebruikt om tijdens het compilatieproces schadelijke code in legitieme softwareprogramma's te injecteren.
-
Man-in-the-Middle-aanvallen
Aanvallers kunnen softwarepakketten onderscheppen en wijzigen tijdens het downloaden, waardoor ze kwaadaardige code kunnen injecteren of het gedrag van de code kunnen manipuleren om schade aan te richten.
-
Afhankelijkheidsverwarringaanvallen
Bij dit type aanval maken aanvallers gebruik van kwetsbaarheden in het softwareontwikkelingsproces om kwaadaardige code in de softwareleveringsketen te injecteren door afhankelijkheden te misbruiken die dezelfde naam hebben als legitieme afhankelijkheden.
Maar wie zorgt voor de veiligheid?
Elk succesvol cybersecurityprogramma vereist een uitgebreide strategie die zowel mensen als machines omvat. De afgelopen jaren hebben APT-groepen echter misbruik gemaakt van kwetsbaarheden in de menselijke factor door social engineering-tactieken in te zetten om onopgemerkt het systeem binnen te dringen. Dergelijke aanvallers misbruiken de aannames van beveiligingsteams over adware en andere ogenschijnlijk onschadelijke applicaties om zich lateraal binnen het netwerk te bewegen en detectie door beveiligingsoplossingen te vermijden.
Ze kunnen zelfs legitieme tools die al in het systeem aanwezig zijn, in hun voordeel gebruiken. Om deze risico's te beperken, is het cruciaal om niet alleen te investeren in geavanceerde technologie, maar ook om medewerkers te trainen in best practices. Een allesomvattende aanpak die geavanceerde technologie combineert met training van medewerkers is noodzakelijk om ervoor te zorgen dat de menselijke factor geen zwakke schakel in de beveiligingsketen vormt. Zo kunnen organisaties zich beter beschermen tegen APT-groepen en andere geavanceerde bedreigingen die gericht zijn op de menselijke psyche.
Wat leidt tot certificaatcompromissen?
Codeondertekeningscertificaten zijn cruciaal voor de beveiliging van software. Ze zijn echter ook kwetsbaar voor hackers. Aanvallers kunnen deze certificaten op verschillende manieren bemachtigen, bijvoorbeeld door misbruik te maken van drie belangrijke beveiligingslekken.
- De eerste is sleuteldiefstal, waarbij codeondertekeningscertificaten en hun privésleutels vaak op onbeschermde locaties worden opgeslagen, zoals ondertekeningsservers of werkstations van ontwikkelaars. Een inbreuk op deze systemen kan hackers gemakkelijk toegang verschaffen.
- De tweede kwetsbaarheid is intern misbruik, waarbij ontwikkelaars het onbedoeld gemakkelijk maken voor aanvallers om code-signingcertificaten te verkrijgen. Een voorbeeld hiervan is toen D-Link in 2015 per ongeluk vier code-signingsleutels publiceerde in open-sourcefirmware.
- De derde en meest zorgwekkende is een ondertekeningscompromittering, waarbij aanvallers zich richten op de ondertekeningsinfrastructuur zelf. Door de infrastructuur te compromitteren, kunnen aanvallers malware ondertekenen en deze als legitieme software verspreiden, zonder dat ze worden opgemerkt. In 2019 bijvoorbeeld, hebben hackers de Live Update Utility van ASUS gecompromitteerd, waardoor ze malware onopgemerkt naar duizenden gebruikers konden verspreiden.
CodeSign beveiligd
Hier komen wij in beeld. CodeSign Secure is onze technologie die het risico op inbreuken aanzienlijk verkleint. We pakken direct de factoren aan die uiteindelijk tot een inbreuk leiden.
Een inbreuk kost niet alleen buitensporig veel geld, maar ook wantrouwen bij gebruikers. Inbreuken zijn synoniem met chaos voor elke organisatie. Het zo snel mogelijk repareren van de kwetsbaarheid heeft de hoogste prioriteit, maar niemand weet hoeveel tijd het kost om deze te verhelpen.
CodeSign Secure is het schild dat u beschermt tegen deze chaos.
CodeSign Secure biedt een oplossing voor de volgende problemen:
-
Virusscanning
CodeSign Secure begint met een virusscan voordat het ondertekeningsproces van start gaat. Het zoekt naar virussen of malware die mogelijk in het bestand zijn geïnjecteerd voordat het bestand wordt verzonden voor ondertekening.
-
Client-side hashing
CodeSign Secure maakt gebruik van client-side hashing , wat uw klanten een extra beveiligingslaag biedt. Door een bestand aan de bron te hashen, blijft de integriteit ervan optimaal behouden en krijgt de klant een duidelijk beeld van het bestand en wat er na ondertekening gebeurt.
-
Sleutelpaarverwerking
CodeSign Secure geeft de sleutel nooit prijs tijdens het ondertekenen van het bestand/de code. Het bestand wordt intern in de HSM ondertekend en de sleutels worden nooit aan de buitenwereld blootgesteld.
-
Op rollen gebaseerde toegangscontrole
Onze organisatie biedt rolgebaseerde toegangscontrole voor code-/bestandsondertekening, waardoor de gebruiker de juiste toegang en rechten krijgt. Zo hebben alleen personen met de juiste rollen toegang tot certificaten en sleutels binnen de tool.
-
Intrekken van gecompromitteerde certificaten
Certificaten die bijna verlopen, moeten worden verlengd voordat ze vervallen. Indien blijkt dat een certificaat of sleutel is gecompromitteerd, moet deze onmiddellijk worden ingetrokken in plaats van verlengd, aangezien intrekking, en niet verlenging, voorkomt dat de gecompromitteerde sleutel opnieuw wordt gebruikt om code te ondertekenen.
-
Geef uw ondertekende code een tijdstempel
Vermijd het risico dat software onverwacht verloopt wanneer het codeondertekeningscertificaat verloopt. Wanneer een codeondertekeningscertificaat verloopt, vervalt ook de geldigheid van de ondertekende software, tenzij de software een tijdstempel had toen deze werd ondertekend.
-
Bewaak en controleer workflows voor sleutelondertekening
Certificaten en sleutels zijn gekoppeld aan specifieke applicaties. Iedereen die iets ondertekent, wordt geregistreerd in de logs van onze tool. Zo hebben we het IP-adres en de gebruikersnaam van iedereen die probeert te ondertekenen. Ze worden geblokkeerd als ze geen geldige inloggegevens hebben of als de sleutel of het certificaat is verlopen.
Veelgestelde Vragen / FAQ
Wat is het verschil tussen afhankelijkheidsverwarring en een aanval met gestolen codeondertekeningscertificaten?
Bij een afhankelijkheidsverwarringsaanval wordt de naamgeving van pakketten misbruikt om een ​​buildsysteem te misleiden, waardoor een kwaadaardig pakket wordt gedownload in plaats van het bedoelde interne pakket. Hiervoor is het helemaal niet nodig om een ​​certificaat te compromitteren. Een aanval met gestolen certificaten daarentegen vereist dat de aanvaller daadwerkelijk ondertekeningsgegevens verkrijgt.
Wordt een certificaat automatisch verlengd als het verloopt?
Niet automatisch in de meeste gevallen; verlenging moet worden gepland en gestart vóór de vervaldatum. Als blijkt dat het certificaat is gecompromitteerd, moet het onmiddellijk worden ingetrokken in plaats van verlengd, aangezien intrekking de maatregel is die verder misbruik voorkomt.
Conclusie
Het internet zal de komende tijd chaotischer worden. Deze cyberaanvallen zullen voorlopig niet stoppen, integendeel, ze zullen exponentieel toenemen. Het beschermen van onze gegevens is onze verantwoordelijkheid en daarvoor zijn de juiste voorzorgsmaatregelen en maatregelen nodig.
We moeten niet alleen gebruikmaken van geavanceerde technologie, maar ook zorgen voor een breed bewustzijn onder de bevolking. Regelmatige audits en een goed systeem voor rolgebaseerde authenticatie en toegangscontrole zijn nodig.
De verantwoordelijkheid dragen voor de bescherming van uw product is zwaar en u kunt altijd een schouder vinden waarop u kunt vertrouwen. Wij zijn graag die schouder om u te helpen beschermen wat echt belangrijk voor u is.
