How I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit

En säkerhetsforskare beskriver hur hen under en praktikplats på Google 2013 fick tillstånd att utföra en "red team"-övning för att hitta sårbarheter i Java-versionen av Google App Engine. Artikeln förklarar bakgrunden till Java-appletars säkerhetsproblem och hur Google App Engine försökte hantera liknande utmaningar med sandboxing, bytecode-omskrivning och wrapper-funktioner för farliga API:er som Reflection och Classloaders. Forskaren fokuserade på att hitta buggar i det öppna källkodsbiblioteket ASM, som App Engine använde för att transformera användarkod, snarare än i Googles egna wrapper-funktioner. Målet var att utnyttja skillnader mellan hur ASM serialiserade den sanerade koden och hur JVM sedan tolkade den, för att kringgå säkerhetskontrollerna och uppnå godtycklig kodexekvering.