Incidentrapport OpenX Source hack 2 augustus 2011

Op dinsdag 2 augustus 2011 heeft zich een ernstig incident voorgedaan bij diverse (maar niet alle) door ons gehoste OpenX Source ad server systemen. Via dit blogbericht willen we onze klanten en andere belangstellenden informeren over wat er is voorgevallen en wat daarvan de gevolgen zijn geweest.

Eerste meldingen

Om 14.15u kwamen de eerste melding binnen over problemen met het laden van websites waarop advertenties stonden die via OpenX Source worden vertoond. Binnen enkele minuten was duidelijk dat er bij diverse systemen met elke banner een stukje onveilige html code mee kwam. Vrij snel daarna wisten we deze html code op te sporen in de onderliggende databases en begonnen we deze op te ruimen.

Protocol voor reactie

Ondanks het feit dat we zelf nog niet eerder met een dergelijk incident waren geconfronteerd hadden we toch al een protocol klaar liggen waarin wordt beschreven hoe we zouden handelen als het zich onverhoopt zou voordoen. Dit type hacks van OpenX Source is namelijk (helaas) niet ongebruikelijk, maar we waren er nog niet eerder zelf mee in aanraking gekomen. Wat we niet verwacht hadden was dat de tabellen in de database die net waren opgeschoond enkele minuten later weer vervuild bleken te zijn. Het was in feite dweilen met de kraan open.

Bron van de aanval

Al snel werd duidelijk dat er een klein programma op een van de servers stond dat steeds vanaf een IP adres in Roemenië werd aangeroepen. Elke keer als dat gebeurde werd er een stukje onveilige HTML code in een database geplaatst. Door dit IP adres te blokkeren waren we in staat om vanaf dat moment nieuwe besmettingen te voorkomen.

Update 3 augustus: we hebben ontdekt dat de daadwerkelijke hack al meer dan 1 jaar geleden heeft plaatsgevonden, toen iemand misbruik maakte van een security lek in een oudere versie van de OpenX software om een kwaadaardig programma te uploaden naar onze server. De hacker heeft daarna dit programma gebruikt om zijn eigen administrator username en password aan te maken. Alhoewel dit kwaadaardige programma niet meer op onze servers aanwezig is aangezien we enkele maanden geleden een upgrade hebben gedaan naar de meest recente versie van de OpenX software, had de hacker toch nog een administrator user name, zonder dat wij dat wisten. Gisteren heeft hij deze user name weer gebruikt om in te loggen en om een bewerkte versie van een plugin te installeren. Door deze bewerkte plugin aan te roepen was hij in staat om de onveilige code aan de banners toe te voegen. Uit het feit dat er meer dan 1 jaar zit tussen de daadwerkelijke hack en het misbruiken van de illegaal verkregen toegang blijkt duidelijk dat er sprake is van een criminele actie die zorgvuldig en doelgericht is uitgevoerd. We hebben hiervan aangifte gedaan.

Oorzaak in software van derden

Het programma dat in de vorige alinea wordt genoemd was op de server gezet door middel van een beveiligingsprobleem in een stukje software dat in de OpenX Source ad server software zit. Het is echter niet door de programmeurs van OpenX gemaakt maar door een derde persoon die het als open source op internet aanbiedt. Dit stukje software, OFC2 genaamd, wordt gebruikt om statistieken te kunnen weergeven in de vorm van grafiekjes in plaats van lijsten met droge cijfertjes. De maker van OFC2 had in zijn broncode een functie gemaakt waarmee bestandjes op een server kunnen worden geupload, waarschijnlijk voor testdoeleinden. Helaas is deze functie echter ook in de eindversie terecht gekomen. Kwaadwillenden hebben dit ontdekt en er misbruik van gemaakt om op de hiervoor beschreven manier een aanval op enkele door ons gehoste OpenX Source systemen uit te voeren en de al genoemde onveilige HTML code aan een flink aantal banners toe te voegen.

Mogelijke gevolgen: malware

Wanneer een bezoeker van een website een banner te zien krijgt met daarbij de eerder genoemde onveilige code, dan probeert de browser om contact te maken met een website die in dit geval draait in Rusland. Op deze website zouden de hackers kwaadaardige software of virussen kunnen plaatsen. We kunnen op het moment van schrijven van dit verslag helaas niet meer vaststellen wat dit geweest zou kunnen zijn, want de bewuste site is nu niet meer online. In bijna alle gevallen zal een goed werkende virusscanner op de computer van de bezoeker echter detecteren dat de browser probeert om zo’n kwaadaardige site te benaderen en dit blokkeren.

Complexe schoonmaakactie

Het heeft vrij lang geduurd, langer dan we zelf hadden gewild, om alle databases te controleren en waar nodig op te schonen. We hebben namelijk meerdere tientallen van dergelijke systemen onder onze hoede, en we wilden zeer zorgvuldig en grondig de controles uitvoeren. We hebben alle systemen stuk voor stuk ‘met de hand’ gecontroleerd, ook de systemen waar we geen meldingen van problemen over hadden ontvangen.

Beschadigd vertrouwen

Net als de klanten die hierdoor geraakt zijn, zijn wij erg geschrokken van dit incident, en vooral van de impact die dit had op een groot aantal websites en de mensen die die websites graag willen bezoeken. We begrijpen dat het vertrouwen in onze dienstverlening hierdoor een ernstige deuk heeft opgelopen. Uit een gesprek met een beveiligingsexpert in de VS dat we deze avond gevoerd hebben blijkt dat dit type aanval op dit moment zeer frequent voorkomt. Net als in bijna alle software (MS Windows is daarvan een bekend voorbeeld, een ander voorbeeld deze week bij WordPress) zat er dus ook in de OpenX Source software een beveiligingsprobleem. Helaas bestaan er kwaadwillenden die daar misbruik van maken.

Was dit te voorkomen?

Dit type incident is vrijwel niet te voorkomen, eenvoudig omdat het niet bekend is welke beveiligingsproblemen er in software aanwezig zijn tot iemand dat ontdekt en er misbruik van gaat maken. Wat we wel kunnen doen is leren van dit incident, om aldus te proberen om vergelijkbare incidenten in de toekomst te voorkomen. Helaas is het de realiteit dat dit soort incidenten bijna dagelijks voorkomt, maar dat er zelden over geschreven wordt door de direct betrokkenen. Ook software die tot nu toe veilig lijkt omdat er nog niet eerder een incident mee is geweest kan ineens ‘lek’ blijken te zijn.

Tot slot

We betreuren dit incident ten zeerste. In de komende dagen zullen we al onze klanten persoonlijk benaderen om dit incident toe te lichten en te overleggen of er nog aanvullende maatregelen van onze kant nodig zijn.

Update 3 augustus

Een onafhankelijke beveiligingsanalist die ons platform heeft gecontroleerd en onze aanpak van het incident heeft beoordeeld, gaf de volgende reactie (onze vertaling uit het Engels):

De reactie van het team was snel, en het lijkt er op dat alles wat moest worden gedaan ook gedaan is. Het is een feit dat een vastberaden aanvaller elk systeem dat hij/zij wil uiteindelijk zal kunnen binnendringen.

Er was een periode van ongeveer 4 uur waarin dit probleem optrad, en op basis van mijn informatie had de aanvaller niet genoeg tijd om het tweede deel van de aanval werkend te krijgen. Alle requests naar het “payload” webadres werden beantwoord met vrijwel geen content en een HTTP 403 response code. Die content is inmiddels vervangen door een “discussie forum”, wat past bij de vaste werkwijze van de persoon van wie we vermoeden dat hij de aanvaller is. Het toevoegen van nieuwe kwaadaardige content aan een public forum is eenvoudig.

Comments

  1. Nick says:

    Duidelijk en net bericht, goed gehandeld!

Trackbacks

  1. […] verholpen is. Onze oprechte excuses voor het ongemak en de downtime. Update 3-8-2011, 02:00 uur: Uitleg van externe partij[…]

  2. […] verholpen is. Onze oprechte excuses voor het ongemak en de downtime. Update 3-8-2011, 02:00 uur: Uitleg van externe partij[…]

  3. […] verholpen is. Onze oprechte excuses voor het ongemak en de downtime. Update 3-8-2011, 02:00 uur: Uitleg van externe partij[…]

OpenX Source Ad Server