Treffer: Sound and precise analysis of web applications for injection vulnerabilities

Title:
Sound and precise analysis of web applications for injection vulnerabilities
Source:
PLDI'07 Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design & Implementation, June 10-13, 2007, San Diego, CAACM SIGPLAN notices. 42(6):32-41
Publisher Information:
Broadway, NY: ACM, 2007.
Publication Year:
2007
Physical Description:
print, 32 ref
Original Material:
INIST-CNRS
Subject Terms:
Computer science, Informatique, Sciences exactes et technologie, Exact sciences and technology, Sciences appliquees, Applied sciences, Informatique; automatique theorique; systemes, Computer science; control theory; systems, Logiciel, Software, Langages de programmation, Programming languages, Systèmes informatiques et systèmes répartis. Interface utilisateur, Computer systems and distributed systems. User interface, Organisation des mémoires. Traitement des données, Memory organisation. Data processing, Gestion des mémoires et des fichiers (y compris la protection et la sécurité des fichiers), Memory and file management (including protection and security), Systèmes d'information. Bases de données, Information systems. Data bases, Analyse statique, Static analysis, Análisis estática, Analyse syntaxique, Syntactic analysis, Análisis sintáxico, Attaque informatique, Computer attack, Ataque informática, Chaîne caractère, Character string, Cadena carácter, Comportement utilisateur, User behavior, Comportamiento usuario, Déploiement, Unfolding, Despliegue, Grammaire CF, Context free grammar, Gramática independiente, Internet, Interrogation base donnée, Database query, Interrogación base datos, Langage programmation, Programming language, Lenguaje programación, Langage script, Scripting language, Lenguaje script, Modèle donnée, Data models, Modélisation, Modeling, Modelización, Pistage, Tracking, Rastreo, Recherche information, Information retrieval, Búsqueda información, Réseau web, World wide web, Red WWW, SQL, Sécurité, Safety, Seguridad, Sémantique, Semantics, Semántica, Traitement flux donnée, Data flow processing, Vulnérabilité, Vulnerability, Vulnerabilidad, Vérification programme, Program verification, Verificación programa, Languages, Security, Static Analysis, String Analysis, Verification, Web Applications
Document Type:
Konferenz Conference Paper
File Description:
text
Language:
English
Author Affiliations:
University of California, Davis, United States
ISSN:
1523-2867
Rights:
Copyright 2007 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.19110771
Database:
PASCAL Archive

Weitere Informationen

Web applications are popular targets of security attacks. One common type of such attacks is SQL injection, where an attacker exploits faulty application code to execute maliciously crafted database queries. Both static and dynamic approaches have been proposed to detect or prevent SQL injections; while dynamic approaches provide protection for deployed software, static approaches can detect potential vulnerabilities before software deployment. Previous static approaches are mostly based on tainted information flow tracking and have at least some of the following limitations: (1) they do not model the precise semantics of input sanitization routines; (2) they require manually written specifications, either for each query or for bug patterns; or (3) they are not fully automated and may require user intervention at various points in the analysis. In this paper, we address these limitations by proposing a precise, sound, and fully automated analysis technique for SQL injection. Our technique avoids the need for specifications by considering as attacks those queries for which user input changes the intended syntactic structure of the generated query. It checks conformance to this policy by conservatively characterizing the values a string variable may assume with a context free grammar, tracking the nonterminals that represent user-modifiable data, and modeling string operations precisely as language transducers. We have implemented the proposed technique for PHP, the most widely-used web scripting language. Our tool successfully discovered previously unknown and sometimes subtle vulnerabilities in real-world programs, has a low false positive rate, and scales to large programs (with approx. 100K loc).