Abstract Information Flow Control (IFC) kontrollerar om ett program kan läcka hemliga data till offentliga portar, eller om kritiska beräkningar kan påverkas utifrån. Men många IFC-analyser är oprecisa, eftersom de är flödesokänsliga, kontextokänsliga eller objektokänsliga, vilket resulterar i falska alarm. Vi hävdar att IFC måste bättre utnyttja modern programanalysteknik, och presentera en strategi baserad på programberoende grafer (PDG). PDGs har utvecklats under de senaste 20 åren som en standardenhet för att representera informationsflödet i ett program, och idag kan hantera realistiska program. I synnerhet, vårt beroende grafgenerator för fullständig Java bytecode används som grund för en IFC genomförande som är mer exakt och behöver mindre annoteringar än traditionella metoder. Vi förklarar PDGs för sekventiella och multi-trådade program, och förklarar precisionsvinster på grund av flöde-, sammanhang- och objektkänslighet. Vi utökar sedan PDGs med en lattice av säkerhetsnivåer och introducerar flödesekvationer för IFC. Vi beskriver algoritmer för flödesberäkning i detalj och bevisar deras korrekthet. Vi utökar sedan flödesekvationer för att hantera avklassificering, och bevisar att vår algoritm respekterar monotonicitet av release. Slutligen, exempel visar att vårt genomförande kan kontrollera realistiska sekventiella program i fullständig Java bytecode.
Hammer och Snelting REF utvecklar ett flödeskänsligt, sammanhangskänsligt och objektkänsligt ramverk för styrning av informationsflödet genom programberoende grafer.
Flow-sensitive, context-sensitive, and object-sensitive information flow control based on program dependence graphs
{'venue': 'International Journal of Information Security', 'journal': 'International Journal of Information Security', 'mag_field_of_study': ['Computer Science']}