Vi presenterar PIDGIN, ett programanalys- och förståelseverktyg som möjliggör specifikation och tillämpning av exakta tillämpningsspecifika informationssäkerhetsgarantier. PIDGIN gör det också möjligt för utvecklare att interaktivt utforska informationsflödena i sina tillämpningar för att utveckla policyer och undersöka motexempel. PIDGIN kombinerar programberoende grafer (PDGs), som exakt fångar informationsflöden i en hel ansökan, med en anpassad PDG frågespråk. Frågor uttrycker egenskaper om sökvägarna i PDG; eftersom sökvägar i PDG motsvarar informationsflöden i ansökan, kan frågor användas för att specificera globala säkerhetsstrategier. PIDGIN är skalbart. Skapa en PDG för en 330k linje Java ansökan tar 90 sekunder, och kontrollera en policy om att PDG tar under 14 sekunder. Frågespråket är uttrycksfullt och stöder en stor klass av exakta, tillämpningsspecifika säkerhetsgarantier. Policyer är åtskilda från koden och stör inte testning eller utveckling, och kan användas för säkerhetsregressionstestning. Vi beskriver utformningen och genomförandet av PIDGIN och rapporterar om användningen av den: (1) att utforska informationssäkerhetsgarantier i äldre program; (2) att utveckla och ändra säkerhetspolitik samtidigt med applikationsutveckling; och (3) att utveckla policyer baserade på kända sårbarheter.
Pidgin REF är ett anpassat frågespråk för programberoende grafer som också kan fånga säkerhetsegenskaper på Java-program.
Exploring and enforcing security guarantees via program dependence graphs
{'venue': 'PLDI 2015', 'journal': None, 'mag_field_of_study': ['Computer Science']}