Moderna webbplatser drivs av JavaScript, ett flexibelt dynamiskt skriptspråk som körs i klientwebbläsare. Ett vanligt paradigm på sådana webbplatser är att inkludera tredjeparts JavaScript-kod i form av bibliotek eller annonser. Om denna kod var skadlig, kunde det läsa känslig information från sidan eller skriva till platsraden, vilket omdirigera användaren till en skadlig sida, från vilken hela maskinen kan äventyras. Vi presenterar ett informationsflödesbaserat tillvägagångssätt för att dra slutsatsen vilka effekter ett JavaScript-stycke har på webbplatsen för att säkerställa att viktiga säkerhetsegenskaper inte kränks. För att hantera dynamiskt laddad och genererad JavaScript föreslår vi ett ramverk för iscensättning av informationsflödesegenskaper. Vårt ramverk sprider information genom den nuvarande kända koden för att beräkna en minimal uppsättning syntaktiska restkontroller som utförs på den återstående koden när den är dynamiskt laddad. Vi har implementerat en prototypram för iscensättning av informationsflödet. Vi beskriver våra tekniker för hantering av vissa svåra funktioner i JavaScript och utvärderar vårt systems prestanda på en mängd stora realworld-webbplatser. Våra experiment visar att statiskt informationsflöde är genomförbart och effektivt för JavaScript, och att vår teknik gör det möjligt att tillämpa informationsflödespolicyer med nästan inga drift-tid overhead.
Informationsflödeskontroll för JavaScript har undersökts, där laddad kod dynamiskt kontrolleras mot statiskt identifierade information-flödeskrav REF.
Staged information flow for javascript
{'venue': "PLDI '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}