Ett klassiskt säkerhetsproblem är att kontrollera att ett program har säker information ow. Informellt, detta problem beskrivs på följande sätt: Med tanke på ett program med variabler uppdelade i två separata uppsättningar av "hög-säkerhet" och "låg-säkerhet" variabler, kontrollera om observationer av låg-säkerhetsvariabler avslöjar någon information om de initiala värdena av hög-säkerhetsvariablerna. Även om problemet har studerats för server decennier, de flesta tidigare metoder har varit syntaktisk i naturen, ofta med hjälp av typsystem och kompilator data ow analys tekniker för att analysera program texter. I detta dokument presenteras ett betydligt annorlunda tillvägagångssätt för att kontrollera säker information ow, baserat på en semantisk karakterisering. Ett semantiskt tillvägagångssätt har flera önskvärda drag. För det första ger det en mer exakt karakterisering av säkerheten än den som tillhandahålls av de flesta tidigare tillvägagångssätt. För det andra gäller det alla programkonstruktioner vars semantik är ogenomförbar. Till exempel innebär införandet av icke-determinism och undantag inga ytterligare problem. För det tredje kan det användas för resonemang om indirekt läckande av information genom variationer i programbeteende (t.ex., om programmet slutar eller inte). Slutligen kan den utvidgas till det fall där variablerna med hög och låg säkerhet är abstrakta, som funktioner för faktiska programvariabler. Dokumentet illustrerar användningen av karakteriseringen med flera exempel och diskuterar hur den kan tillämpas i praktiken.
Rustan m.fl. REF var först med att föreslå ett semantiskt tillvägagångssätt för säkert informationsflöde, med flera önskvärda funktioner: en exakt karakterisering av säkerheten; det gäller alla programmeringskonstruktioner med väldefinierade semantik; det kan användas för att resonera om indirekt informationsläckage genom variationer i programbeteende (t.ex., uppsägning).
A Semantic Approach to Secure Information Flow
{'venue': 'MPC', 'journal': None, 'mag_field_of_study': ['Computer Science']}