Creating, Detecting and Preventing Malicious Ansible Packages

Creëren, detecteren en voorkomen van kwaadaardige Ansible-packages

Infrastructure as Code (IaC) maakt gebruik van DevOps-methodologie en versiebeheer met een beschrijvend model om infrastructuur te definiëren en uit te rollen, zoals netwerken, virtuele machines, load balancers en verbindingstopologieën. IaC is breed geadopteerd vanwege het vermogen om infrastructuurvoorziening en -beheer te standaardiseren en te automatiseren, samenwerking en reproduceerbaarheid te bevorderen, governance en auditing te versterken, snelle aanpassingen en deployments mogelijk te maken en kostenoptimalisatie en resource-management te ondersteunen.

Vendor platformen en package repositories

De implementatie van dit paradigma werd mogelijk gemaakt door verschillende vendors, zoals Ansible, Chef en Puppet. Voor elke vendor bestaan repositories (respectievelijk Ansible Galaxy, Chef Supermarket en Puppet Forge) die developers in staat stellen eenvoudig vooraf gebouwde instructiesets te vinden, downloaden, delen en gebruiken voor specifieke taken. Zo kan het deployen van een Nginx-webserver worden gerealiseerd door het gebruik van een Nginx-role.

Securityzorgen bij IaC-adoptie

De brede adoptie van externe resources voor IaC bracht zorgen met zich mee over potentiële securityrisico’s die ontstaan wanneer men vertrouwt op vooraf verpakte componenten zonder grondige controle. Het ontbreken van due diligence bij het beoordelen van de broncode maakt systemen kwetsbaar voor actoren die kwaadaardige payloads kunnen injecteren en zo ongeautoriseerde toegang tot een volledige infrastructuur verkrijgen.

Onderzoeksdoelstellingen

Dit onderzoek had als doel vast te stellen of payloads binnen IaC-packages fundamenteel mogelijk zijn. Daarnaast zijn beschikbare securitymechanismen voor het detecteren van payloads geëvalueerd, zoals third-party SAST-scanners en antivirus-scanners.

Detectie- en preventiemethoden

Op basis van deze bevindingen is vervolgonderzoek uitgevoerd om te bepalen of payloads waarneembaar zijn binnen een reeks bestaande community-packages in Ansible Galaxy. Ook worden manieren besproken om dergelijke kwaadaardige packages te voorkomen.

Download
Privacy Overview
This website uses cookies. We use cookies to ensure the proper functioning of our website and services, to analyze how visitors interact with us, and to improve our products and marketing strategies. For more information, please consult our privacy- en cookiebeleid.