Eftersom webbapplikationer är lättillgängliga och ofta lagrar en stor mängd känslig användarinformation, är de ett gemensamt mål för angripare. Särskilt attacker som fokuserar på sårbarheter för indatavalidering är extremt effektiva och farliga. För att ta itu med detta problem har vi utvecklat ViewPoints-en teknik som kan identifiera felaktig eller otillräcklig validering och sanitering av användaringångar genom att automatiskt upptäcka inkonsekvenser mellan klient- och serversidans indatavalideringsfunktioner. Utvecklare utför vanligtvis redundant indatavalidering i både front-end (klient) och back-end (server)-komponenterna i en webbapplikation. Validering på klientsidan används för att förbättra applikationens lyhördhet, eftersom det gör det möjligt att svara utan att kommunicera med servern, medan validering på serversidan är nödvändig av säkerhetsskäl, eftersom skadliga användare lätt kan kringgå kontroller på klientsidan. ViewPoints (1) extraherar automatiskt indata valideringsfunktioner på klient- och serversidan, (2) modellerar dem som deterministiska finita automata (DFA), och (3) jämför klient- och serversidan DFA för att identifiera och rapportera inkonsekvenser mellan de två uppsättningarna av kontroller. Vår första utvärdering av tekniken är lovande: när den tillämpas på en uppsättning verkliga webbapplikationer, ViewPoints kunde automatiskt identifiera ett stort antal inkonsekvenser i sina indata valideringsfunktioner.
ViewPoints REF tillämpar statisk stränganalys för att beräkna inkonsekvens mellan klientsidans och serverserverns indatavalideringsfunktioner.
ViewPoints: differential string analysis for discovering client- and server-side input validation inconsistencies
{'venue': 'ISSTA 2012', 'journal': None, 'mag_field_of_study': ['Computer Science']}