XML signature element wrapping attacks and countermeasures
Proceedings of the 2005 workshop on Secure web services
The essence of command injection attacks in web applications
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Testing and Comparing Web Vulnerability Scanning Tools for SQL Injection and XSS Attacks
PRDC '07 Proceedings of the 13th Pacific Rim International Symposium on Dependable Computing
JavaScript: The Good Parts
Efficient and Robust TCP Stream Normalization
SP '08 Proceedings of the 2008 IEEE Symposium on Security and Privacy
Exploring the relationship betweenweb application development tools and security
WebApps'11 Proceedings of the 2nd USENIX conference on Web application development
Defining code-injection attacks
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abusing File Processing in Malware Detectors for Fun and Profit
SP '12 Proceedings of the 2012 IEEE Symposium on Security and Privacy
Proceedings of the 2012 workshop on New security paradigms
Hi-index | 0.00 |
Software that processes rich content suffers from endemic security vulnerabilities. Frequently, these bugs are due to data confusion: discrepancies in how content data is parsed, composed, and otherwise processed by different applications, frameworks, and language runtimes. Data confusion often enables code injection attacks, such as cross-site scripting or SQL injection, by leading to incorrect assumptions about the encodings and checks applied to rich content of uncertain provenance. However, even for well-structured, value-only content, data confusion can critically impact security, e.g., as shown by XML signature vulnerabilities. This paper advocates the position that data confusion can be effectively prevented through the use of simple mechanisms--based on parsing--that eliminate ambiguities by fully resolving content data to normalized, clearly-understood forms. Using code injection on the Web as our motivation, we make the case that automatic defense mechanisms should be integrated with programming languages, application frameworks, and runtime libraries, and applied with little, or no, developer intervention. We outline a scalable, sustainable approach for developing and maintaining those mechanisms. The resulting tools can offer comprehensive protection against data confusion, even when multiple types of rich content data are processed and composed in complex ways.