Zoals we in onze vorige content hebben besproken, software supply chain security, hebben we het concept van supply chain-aanvallen en hun potentiële impact op organisaties onderzocht. Deze aanvallen maken vaak gebruik van kwetsbaarheden in de gehele softwareontwikkelingscyclus (SDLC), wat in elke fase aanzienlijke risico's met zich meebrengt. Vandaag duiken we in de meest voorkomende software supply chain security bedreigingen die zich in de bronfase voordoen.
In de eerste plaats is het van cruciaal belang om een aanval op de toeleveringsketen en de specifieke aanpak ervan te definiëren. Software Supply Chain Security Bedreigingen die ontstaan in de bronfase.
Definitie van een aanval op de software-toeleveringsketen
Het Amerikaanse National Institute of Standards en technologie (NIST) definieert een aanval op de software-toeleveringsketen "wanneer een aanval plaatsvindt wanneer een cyberdreigingsactor het netwerk van een softwareleverancier infiltreert en schadelijke code gebruikt om de software te compromitteren voordat de leverancier deze naar zijn klanten stuurt. De gecompromitteerde software compromitteert vervolgens de gegevens of het systeem van de klant. Nieuw verworven software kan vanaf het begin gecompromitteerd zijn, of een compromittering kan plaatsvinden via andere middelen zoals een patch of hotfix. In deze gevallen vindt de compromittering nog steeds plaats voordat de patch of hotfix het netwerk van de klant binnenkomt. Deze typen aanvallen treffen alle gebruikers van de gecompromitteerde software en kunnen wijdverbreide gevolgen hebben voor klanten van software van de overheid, kritieke infrastructuur en de particuliere sector."
Bronstadium Software Supply Chain Security Bedreigingen
De bronfase van de software supply chain lifecycle omvat de beginfases van softwareontwikkeling, van ideevorming tot het maken van broncode. Deze fase omvat de selectie van tools, bibliotheken en componenten, evenals de ontwikkeling en implementatie van de kernfunctionaliteiten van de software.
Software supply chain security Bedreigingen in de bronfase verwijzen naar beveiligingskwetsbaarheden die kunnen worden uitgebuit om ongeautoriseerde of kwaadaardige wijzigingen in de broncode aan te brengen. Dit omvat de dreiging van zowel ongeautoriseerde personen als geautoriseerde personen die ongeautoriseerde wijzigingen aanbrengen.
Voorbeelden van bronbedreigingen
Dien slechte code in
Het indienen van slechte code verwijst naar de praktijk van commitcode naar een bronrepository te sturen die defecten, fouten of kwetsbaarheden bevat. Dit kan variëren van kwaadaardige code die opzettelijk is geïntroduceerd om de integriteit of beveiliging van de software in gevaar te brengen, tot onbedoelde code die bugs of kwetsbaarheden introduceert vanwege slechte coderingspraktijken of gebrek aan testen. Een voorbeeld van deze vectoraanval was de NPM-aanval. In 2022 infiltreerde een hacker de broncode-repository van een populaire open-source softwarebibliotheek genaamd npm. De hacker voegde schadelijke code toe aan de code van de bibliotheek, waardoor ze ongeautoriseerde toegang kregen tot de systemen van organisaties die de bibliotheek hadden geïnstalleerd. De schadelijke code stelde de hacker in staat om gegevens van de getroffen systemen te stelen, malware te installeren en de bedrijfsvoering te verstoren. De aanval trof een breed scala aan organisaties, waaronder overheidsinstanties, bedrijven en individuen.
Compromisbronrepository
Een tegenstander krijgt ongeautoriseerde toegang tot een broncodeopslagplaats (SCM) en introduceert kwaadaardige wijzigingen of verwijdert legitieme code. Dit kan worden bereikt door verschillende methoden, zoals het exploiteren van kwetsbaarheden in de SCM, het in gevaar brengen van de referenties van een ontwikkelaar met toegang tot de repository, of het verkrijgen van toegang tot de onderliggende infrastructuur die de SCMEen voorbeeld van deze vectoraanval was de PHP-aanval. Een aanvaller heeft de zelfgehoste Git-server van PHP gecompromitteerd, een beveiligde opslagplaats voor het opslaan en beheren van de broncode voor de programmeertaal PHP. De aanvaller kon twee kwaadaardige commits in de hoofdcodebase van PHP. Deze commits voegde backdoors toe die de aanvaller in staat stelden om ongeautoriseerde toegang te krijgen tot PHP-installaties. De backdoors stelden de aanvaller in staat om willekeurige code uit te voeren op elke PHP-installatie, die gebruikt kon worden om gegevens te stelen, malware te installeren of operaties te verstoren. De aanval veroorzaakte ook veel reputatieschade voor PHP, omdat het zorgen opriep over de beveiliging van de programmeertaal.
Bouw vanuit een aangepaste bron
Een tegenstander verkrijgt een kopie van de broncode van een andere bron dan de officiële broncoderepository en gebruikt deze om de software te bouwen en te implementeren. Deze gewijzigde broncode kan schadelijke code, backdoors of andere schadelijke wijzigingen bevatten die de integriteit, functionaliteit of beveiliging van de software in gevaar kunnen brengen. Een voorbeeld van deze vectoraanval was de Webmin Aanval. Een aanvaller kreeg ongeautoriseerde toegang tot de build-infrastructuur van Webmin, die verantwoordelijk is voor het compileren en verpakken van de Webmin-software. De aanvaller wijzigde de build-infrastructuur om bronbestanden te gebruiken die niet aanwezig waren in de officiële Webmin-bronrepository.
Schrijf onveilige code
Onveilige coderingspraktijken, opzettelijk of onopzettelijk, kunnen kwetsbaarheden in software introduceren. Deze kwetsbaarheden kunnen door aanvallers worden uitgebuit om ongeautoriseerde toegang te verkrijgen, gegevens te wijzigen of te stelen of om de werking te verstoren. Een voorbeeld van deze vectoraanval was de Apache Struts-aanval. In 2003 infiltreerde een hacker de broncode-repository van de open-source softwarebibliotheek genaamd Apache Struts. De hacker introduceerde een kwetsbaarheid in de bibliotheek waardoor ze ongeautoriseerde toegang konden krijgen tot de systemen van organisaties die de bibliotheek hadden geïnstalleerd. De kwetsbaarheid stelde de hacker in staat om willekeurige code uit te voeren op de getroffen systemen, die gebruikt kon worden om data te stelen, malware te installeren en operaties te verstoren. De aanval trof een breed scala aan organisaties, waaronder overheidsinstanties, bedrijven en individuen.
Knoeien met kritieke bestanden
Het wijzigen of aanpassen van kritieke bestanden in de softwareontwikkelingscyclus kan ernstige gevolgen hebben, waaronder de introductie van schadelijke code, het compromitteren van gevoelige gegevens en het verstoren van softwarebewerkingen. Een voorbeeld van deze manipulatievectoraanval was de Maven-aanval. In 2020 infiltreerden hackers de broncode-repository van een populaire open-source softwarebibliotheek genaamd Maven. De hackers voegden schadelijke code toe aan het pom.xml-bestand van de bibliotheek, dat wordt gebruikt om het bouwproces te configureren. De schadelijke code stelde de hackers in staat om hun afhankelijkheden in het bouwproces te injecteren, die vervolgens werden opgenomen in de gecompileerde software. Deze afhankelijkheden bevatten backdoors waarmee de hackers ongeautoriseerde toegang konden krijgen tot de systemen van organisaties die de software installeerden.
Het pad vrijmaken: activiteiten stroomlijnen met een duidelijk beeld
Als u het domein van de beveiliging overstijgt, zult u merken dat het visualiseren van uw toeleveringsketen meer doet dan alleen beveiligen: het is alsof u een licht aandoet in een donkere kamer, waardoor de snelste en meest efficiënte routes door uw activiteiten zichtbaar worden. Het geeft teams een overzicht van het ontwikkelingsecosysteem in vogelvlucht, waardoor ze overtollige activa en niet-onderhouden elementen kunnen identificeren. Deze duidelijkheid is vooral gunstig bij grootschalige projecten waarbij meerdere eenheden en componenten met elkaar verweven zijn.
Laatste opmerkingen
Door de verschillende soorten bronfasen te begrijpen software supply chain security Door dreigingen te signaleren en passende beveiligingsmaatregelen te implementeren, kunnen organisaties zichzelf beschermen tegen deze verwoestende aanvallen.
- Aanvallen op de softwaretoeleveringsketen kunnen schadelijke code in elke fase van de ontwikkelingscyclus van software introduceren, inclusief de bronfase.
- Bedreigingen in de bronfase zijn onder andere het indienen van slechte code, het compromitteren van bronrepositories, het bouwen op basis van gewijzigde bronnen, het schrijven van onveilige code en het knoeien met kritieke bestanden.
- Organisaties moeten uitgebreide beveiligingsmaatregelen implementeren tijdens de gehele softwareontwikkelingscyclus om de risico's van aanvallen op de toeleveringsketen te beperken.
Wilt u voorop blijven lopen in software supply chain security?
Blijf op de hoogte van onze aankomende blogserie, waar we dieper ingaan op de meest voorkomende aanvallen die voorkomen tijdens de levenscyclus van softwareontwikkeling. Van de bouw podium Van implementatie tot en met de toekomst: wij voorzien u van de kennis en strategieën om uw organisatie te beschermen tegen deze sluipende bedreigingen.
Mis het niet! Abonneer u vandaag nog op onze blog en wees als eerste op de hoogte van onze nieuwste inzichten in software supply chain security.
Samen kunnen we een veerkrachtiger en veiliger software-ecosysteem voor iedereen bouwen.
Bekijk onze videodemo





