För att köra opålitlig kod i samma process som betrodd kod, måste det finnas en mekanism för att tillåta farliga samtal att avgöra om deras uppringare har rätt att utöva privilegiet att använda den farliga rutinen. Java system har antagit en teknik som kallas stack inspektion för att ta itu med denna oro. Men dess ursprungliga definition, när det gäller att söka stack ramar, hade en oklar relation till den faktiska uppnåendet av säkerhet, överkonsensifierade genomförandet av ett Java-system, begränsade många önskvärda optimeringar såsom metod inlinning och svans rekursion, och i allmänhet störde interprocedural optimering. Vi presenterar en ny semantik för stack inspektion baserat på en tro logik och dess genomförande med hjälp av beräkning av säkerhet-passing stil som tar itu med oron för traditionella stack inspektion. Med säkerhetspasserande stil kan vi effektivt representera säkerhetssammanhanget för alla metoder aktivering, och vi kan bygga en ny implementering strikt genom att skriva Java bytekoder innan de laddas av systemet. Inga ändringar av JVM eller bytekodsemantik är nödvändiga. Med en kombination av statisk analys och runtime optimeringar, vår prototyp implementation visar rimliga prestanda (även om traditionell stack inspektion är ännu snabbare), och är lättare att överväga för språk utanför Java. Vi kallar vårt system SAFKASI (säkerhetsarkitekturen tidigare känd som Stack Inspection).
Wallach m.fl. REF presenterar en ny semantik för stackinspektion baserad på en troslogik och dess genomförande med hjälp av kalkylen av säkerhetspasserande stil som tar itu med problemen med traditionell stackinspektion.
SAFKASI: a security mechanism for language-based systems
{'venue': 'TSEM', 'journal': None, 'mag_field_of_study': ['Computer Science']}