Abstrakt. Säkerhetsgranskning av programsystem i industriell skala ger order om automatisering. Statisk analys av föroreningar möjliggör djup och fullständig spårning av misstänkta dataflöden för upptäckt av potentiella läckage- och integritetsintrång, såsom skript (XSS), SQL-injektion (SQLi) och loggsmidning. Forskningen inom detta område har tagit två riktningar: programskärning och typsystem. Båda dessa metoder lider av en hög grad av falska fynd, vilket begränsar användbarheten av analysverktyg baserade på dessa tekniker. Försök att minska antalet falska fynd har resulterat i analyser som antingen är i) osunda, lider av det dubbla problemet med falska negativa, eller ii) för dyra på grund av deras höga precision, vilket misslyckas med att skala till verkliga tillämpningar. I detta dokument undersöker vi ett nytt tillvägagångssätt för att möjliggöra exakt men ändå skalbar statisk föroreningsanalys. Den viktigaste observationen som informerar oss om vår strategi är att fläckanalys är ett efterfrågedrivet problem, som möjliggör lat beräkning av sårbara informationsflöden, i stället för att ivrigt beräkna en komplett dataflödeslösning, vilket är orsaken till den traditionella dikotomi mellan skalbarhet och precision. Vi har implementerat vår strategi i ANDROMEDA, ett analysverktyg som beräknar dataflödesutbredning på begäran, på ett effektivt och korrekt sätt, och dessutom har inkrementell analyskapacitet. ANDROMEDA används för närvarande i en kommersiell produkt. Den stöder program skrivna i Java,.NET och JavaScript. Vår omfattande utvärdering av ANDROMEDA på en svit med 16 riktmärken på produktionsnivå visar ANDROMEDA för att uppnå hög noggrannhet och på ett gynnsamt sätt jämföra med ett toppmodernt verktyg som handlar med sundhet för precision.
Andromeda statiska föroreningsanalysator REF bekämpar problemet med skalbarhet av föroreningsanalys genom att beräkna dataflödesutbredning på begäran.
Andromeda: Accurate and scalable security analysis of web applications
{'venue': 'In FASE', 'journal': None, 'mag_field_of_study': ['Computer Science']}