image

'Gratis eBook kan duizenden tablets infecteren'

woensdag 31 oktober 2012, 13:47 door Redactie, 7 reacties

In de toekomst is het zeer goed mogelijk dat gratis eBooks duizenden tablets met malware infecteren, net zoals nu met gratis apps en andere gratis programma's gebeurt. Dat voorspelt Eburon-uitgever Wiebe de Jager. Het probleem is de EPUB3 standaard. EPUB (elektronische publicatie) is een gratis en open eBook-standaard, opgesteld door het International Digital Publishing Forum (IDPF). Bestanden zijn aan de .epub extensie te herkennen.

EPUB3 laat ruimte voor interactieve elementen, opgebouwd met JavaScript. Dat zou aanvallers de mogelijkheid bieden om aanvallen uit te voeren, stelt De Jager. Hij merkt op dat dezelfde technologie die ten grondslag ligt aan HTML 5 (waaronder JavaScript) ook de basis van het EPUB3-formaat vormt. De derde versie van de standaard werd vorig jaar oktober goedgekeurd.

Op dit moment zijn er naast iBooks van Apple nog weinig ereading apps die overweg kunnen met EPUB3, maar De Jager verwacht dat door de toenemende populariteit van tablets hier spoedig verandering in komt.

Toekomst
De uitgever denkt dat net als browser ook ereading apps kwetsbaar zullen zijn voor JavaScript-exploits. "Met name gratis ebooks, die ook nu al vaak als een lopend vuurtje via social media verspreid worden, kunnen een hoop ellende veroorzaken als deze op een gegeven moment voorzien worden van kwalijke stukjes JavaScript."

"Nogmaals, de eerste kwaadwillende EPUB3 hacker moet nog opstaan, maar binnen twee jaar is dit scenario realiteit en moet je extra voorzichtig zijn met wat je leest." Eerder waarschuwden ook anderen al voor het gevaar van JavaScript in eBooks.

Reacties (7)
31-10-2012, 14:17 door Fabian76
Vooral dit soort artikelen veel in de media brengen. Dan is er vast wel iemand die denkt "Goh, laat ik eens kijken of ik daar malware voor kan schrijven.".
31-10-2012, 14:22 door Anoniem
En dit is weer bangmakerij voor iets dat er nog niet is.....
31-10-2012, 16:49 door Anoniem
Door Fabian76: Vooral dit soort artikelen veel in de media brengen. Dan is er vast wel iemand die denkt "Goh, laat ik eens kijken of ik daar malware voor kan schrijven.".

Security by obscurity werkt niet.

Wat het artikel betreft: waarom moeten er interactieve elementen in een e-book zitten? Dit lijkt wel PDF revisited.
31-10-2012, 17:22 door Anoniem
Ik wou net zeggen: ga ze vooral op ideeën brengen.
31-10-2012, 19:20 door Anoniem
En er gaat weer een Pandora's Box open. Lekker bezig allemaal.
31-10-2012, 19:50 door Anoniem
Zucht, daar gaan we weer. Ik stam nog uit de goeie ouwe tijd dat programma's data verwerkten en de data geen programmatuur bevatte. Niet alleen is dat heel overzichtelijk, ik denk zelfs dat als die scheidslijn niet zo zou verwateren computers minder magisch zouden overkomen en begrijpelijker zouden zijn voor al die mensen die er nu niets meer van snappen.

En het is niet nodig. Als je data met programmatuur vermengt, noem het geheel dan niet een document (zoals nu steeds gedaan wordt) maar een applicatie of app. Het is geen document met ingebedde macro's, maar een applicatie met een ingebed document. Zet een andere formaatidentificatie in de eerste bytes van het bestand, gebruik een andere extensie, een ander mime-type, en maak de scheiding voor zowel gebruikers als voor de software waarmee het geopend wordt expliciet en onmiskenbaar: dit bestand is passief (enkel data) en daar wordt geen JavaScript- of andere interpreter voor geladen, alleen een documentviewer; dat bestand is actief (het is een applicatie), dat wordt in een interpreter geladen en kan potentieel ongewenste dingen doen (welk risico eventueel weer met een sandbox-mechanisme kan worden beperkt, maar dat hoort wel duidelijk in het applicatiedomein thuis).

Die 'interpreter' is specifiek voor het documenttype, maar doet weinig meer dan de omgeving opzetten: de JavaScript-interpreter en de documentviewer worden geladen, die krijgen de JavaScriptcode respectievelijk het document aangeboden, en dan wordt initialisatiecode in de JavaScript gestart met een referentie aan document en API. De laatste wordt door de viewer ondersteunt voor toegang tot het document. Vermoedelijk zal die initialisatie weinig anders doen dan het document doorlopen en zichzelf als event handler koppelen aan interactieve elementen. De viewer zal zelf nooit een JavaScript- of andere interpreter laden, zodat als hij standalone wordt opgestart er domweg niets is om code mee uit te voeren, en JavaScript die in het geniep toch in het document zit wordt niet uitgevoerd en is onschadelijk. Dat de interpreter in het geheel niet geladen wordt maakt het geheel veel ongevoeliger voor ongelukken dan wanneer dat wel zo zou zijn.

In deze opzet verwerkt het programma ouderwets de data en niet andersom, en de gebruiker levert niets in: die ontvangt en opent nog steeds één bestand, het gedraagt zich exact hetzelfde en heeft precies dezelfde mogelijkheden, het presenteert zich alleen nadrukkelijk als een applicatie en niet als een document. Een document is dan altijd veilig, doet nooit stiekem iets onverwachts, is gewoon een passief document waar je je geen zorgen over hoeft te maken. Een applicatie is als zodanig herkenbaar, en zowel de gebruiker als het besturingssysteem kunnen daar anders mee omgaan.

Natuurlijk is hier niet alles mee gedekt, een misvormd document kan een buffer overflow in de viewer forceren en langs die weg code uitvoeren. Maar dat zijn bugs die gerepareerd kunnen worden, de kwetsbaarheid is niet inherent aan het ontwerp, zoals wel het geval is als je documenten programmacode laat uitvoeren.

Ben ik nou de enige ter wereld die dit een open deur vindt? Kennelijk wel, voor zover mij bekend wordt het nooit zo benaderd. Jammer, want je blijft gewoon alle mogelijkheden behouden die je nu ook hebt, met als extra's expliciete duidelijkheid en de zekerheid dat iets wat je als document bekijkt ook niet meer dan een document kan zijn.
01-11-2012, 01:33 door johanw
Door Anoniem:

En pdf was oorspronkelijk uitgevonden omdat Postscript (ook van Adobe) teveel mogelijkheden bood voor malafide code...

Commerciele producten leiden teveel aan featuritus: de marketingafdeling weigert te erkennen dat sommige producten gewoon ooit uitontwikkeld zijn.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.