Vorige week lanceerde Amazon een functie waarmee het mogelijk is om een Elastic Block Store (EBS) volume te delen, zodat andere EC2-accounts er ook toegang toe hebben. De eigenaar kan kiezen om een snapshot van het EBS-volume te delen met specifieke accounts of ze volledig publiek te maken. Een EBS-volume kan 1 GB tot 1 TB groot zijn en is een block device, waardoor het zich gedraagt als een harde schijf.

Wie een EBS-volume snapshot deelt moet natuurlijk oppassen welke bestanden hij erop plaatst, omdat anderen ze kunnen lezen. Maar Eric Hammond waarschuwt op zijn blog voor een veel subtieler gevaar: je moet zelfs opletten welke bestanden er ooit op dit volume hebben gestaan, ook al zijn ze ondertussen verwijderd. EBS is immers een block device, waardoor elk blok waarnaar ooit geschreven is beschikbaar is op het gedeelde EBS-volume. Dit geldt ook voor blokken die op dit moment niet meer gebruikt worden voor een bestand in het bestandssysteem. Doordat de meeste bestandssystemen de gegevens in een blok niet wissen wanneer een bestand verwijderd wordt, is het vaak mogelijk om de gegevens nog te reconstrueren. Voor het delen van een EBS-volume betekent dit dat je wel eens meer informatie deelt dan je zou willen.

Ludieke wedstrijd

Om het beveiligingsrisico te demonstreren, heeft Hammond afgelopen zaterdag een kleine wedstrijd gehouden: hij maakte een publieke EBS-snapshot aan met een verwijderd bestand waarin informatie stond over een Amazon.com gift certificate ter waarde van honderd dollar. De eerste persoon die dit verwijderde bestand reconstrueerde en de code in zijn Amazon.com account ingaf, won de bon. Dat gebeurde al na een uur en veertig minuten. Het reconstrueren bleek heel eenvoudig met tools zoals strings, ext3grep, photorec, debugfs of zelfs grep.

Hammond benadrukt dat de informatielekken geen beveiligingsfout zijn in Amazon EC2 of EBS, maar een beveiligingsrisico voor mensen die de interactie tussen het bestandssysteem, het block device, het EBS-volume en snapshots niet begrijpen. Wie met het delen van EBS-snapshots aan de slag gaat, moet zelf maatregelen nemen om informatielekken te voorkomen. Hammond raadt aan om nooit rechtstreeks een snapshot van een bestaand EBS-volume te delen, maar eerst een nieuw EBS-volume aan te maken, de te delen bestanden (en niets meer!) te kopiëren naar het nieuwe volume en daarvan een gedeeld EBS-snapshot aan te maken. Bron: Techworld