The Experts below are selected from a list of 168 Experts worldwide ranked by ideXlab platform
Tzicker Chiueh - One of the best experts on this subject based on the ideXlab platform.
-
Dynamic Multi-Process Information Flow Tracking for Web Application Security
2008Co-Authors: Susanta N, Lap-chung Lam, Tzicker ChiuehAbstract:Abstract. Although there is a large body of research on detection and prevention of such memory corruption attacks as buffer Overflow, Integer Overflow, and format string attacks, the web application security problem receives relatively less attention from the research community by comparison. The majority of web application security problems originate from the fact that web applications fail to perform sanity checks on inputs from the network that are eventually used as operands of securitysensitive operations. Therefore, a promising approach to this problem is to apply proper checks on tainted portions of the operands used in security-sensitive operations, where a byte is tainted if it is data/control dependent on some network packet(s). This paper presents the design, implementation and evaluation of a dynamic checking compiler called WASC, which automatically adds checks into web applications used in three-tier internet services to protect them from the most common two types of web application attacks: SQL- and script-injection attack. In addition to including a taint analysis infrastructure for multi-process and multi-language applications, WASC features the use of SQL and HTML parsers to defeat evasion techniques that exploit interpretation differences between attack detection engines and target applications. Experiments with a fully operational WASC prototype show that it can indeed stop all SQL/script injection attacks that we have tested. Moreover, the end-to-end latency penalty associated with the checks inserted by WASC is less than 30 % for the test web applications used in our performance study. Key words: web application security, dynamic checking compiler, SQL injection, Cross-site scripting, taint analysis, information flow tracking
-
dynamic multi process information flow tracking for web application security
ACM IFIP USENIX international conference on Middleware, 2007Co-Authors: Susanta Nanda, Tzicker ChiuehAbstract:Although there is a large body of research on detection and prevention of such memory corruption attacks as buffer Overflow, Integer Overflow, and format string attacks, the web application security problem receives relatively less attention from the research community by comparison. The majority of web application security problems originate from the fact that web applications fail to perform sanity checks on inputs from the network that are eventually used as operands of security-sensitive operations. Therefore, a promising approach to this problem is to apply proper checks on tainted portions of the operands used in security-sensitive operations, where a byte is tainted if it is data/control dependent on some network packet(s). This paper presents the design, implementation and evaluation of a dynamic checking compiler called WASC, which automatically adds checks into web applications used in three-tier internet services to protect them from the most common two types of web application attacks: SQL- and script-injection attack. In addition to including a taint analysis infrastructure for multi-process and multi-language applications, WASC features the use of SQL and HTML parsers to defeat evasion techniques that exploit interpretation differences between attack detection engines and target applications. Experiments with a fully operational WASC prototype show that it can indeed stop all SQL/script injection attacks that we have tested. Moreover, the end-to-end latency penalty associated with the checks inserted by WASC is less than 30% for the test web applications used in our performance study.
Martin Rinard - One of the best experts on this subject based on the ideXlab platform.
-
automatic discovery and patching of buffer and Integer Overflow errors
2015Co-Authors: Stelios Sidirogloudouskos, Eric Lahtinen, Martin RinardAbstract:We present Targeted Automatic Patching (TAP), an automatic buffer and Integer Overflow discovery and patching system. Starting with an application and a seed input that the application processes correctly, TAP dynamically analyzes the execution of the application to locate target memory allocation sites and statements that access dynamically or statically allocated blocks of memory. It then uses targeted errordiscovery techniques to automatically generate inputs that trigger Integer and/or buffer Overflows at the target sites. When it discovers a buffer or Integer Overflow error, TAP automatically matches and applies patch templates to generate patches that eliminate the error. Our experimental results show that TAP successfully discovers and patches two buffer and six Integer Overflow errors in six real-world applications.
-
targeted automatic Integer Overflow discovery using goal directed conditional branch enforcement
Architectural Support for Programming Languages and Operating Systems, 2015Co-Authors: Stelios Sidirogloudouskos, Eric Lahtinen, Nathan Rittenhouse, Paolo Piselli, Fan Long, Deokhwan Kim, Martin RinardAbstract:We present a new technique and system, DIODE, for auto- matically generating inputs that trigger Overflows at memory allocation sites. DIODE is designed to identify relevant sanity checks that inputs must satisfy to trigger Overflows at target memory allocation sites, then generate inputs that satisfy these sanity checks to successfully trigger the Overflow. DIODE works with off-the-shelf, production x86 binaries. Our results show that, for our benchmark set of applications, and for every target memory allocation site exercised by our seed inputs (which the applications process correctly with no Overflows), either 1) DIODE is able to generate an input that triggers an Overflow at that site or 2) there is no input that would trigger an Overflow for the observed target expression at that site.
-
sound input filter generation for Integer Overflow errors
Symposium on Principles of Programming Languages, 2014Co-Authors: Fan Long, Stelios Sidirogloudouskos, Deokhwan Kim, Martin RinardAbstract:We present a system, SIFT, for generating input filters that nullify Integer Overflow errors associated with critical program sites such as memory allocation or block copy sites. SIFT uses a static pro- gram analysis to generate filters that discard inputs that may trigger Integer Overflow errors in the computations of the sizes of allocated memory blocks or the number of copied bytes in block copy operations. Unlike all previous techniques of which we are aware, SIFT is sound -- if an input passes the filter, it will not trigger an Integer Overflow error at any analyzed site. Our results show that SIFT successfully analyzes (and therefore generates sound input filters for) 56 out of 58 memory allocation and block memory copy sites in analyzed input processing modules from five applications (VLC, Dillo, Swfdec, Swftools, and GIMP). These nullified errors include six known Integer Overflow vulnerabilities. Our results also show that applying these filters to 62895 real-world inputs produces no false positives. The analysis and filter generation times are all less than a second.
Susanta Nanda - One of the best experts on this subject based on the ideXlab platform.
-
dynamic multi process information flow tracking for web application security
ACM IFIP USENIX international conference on Middleware, 2007Co-Authors: Susanta Nanda, Tzicker ChiuehAbstract:Although there is a large body of research on detection and prevention of such memory corruption attacks as buffer Overflow, Integer Overflow, and format string attacks, the web application security problem receives relatively less attention from the research community by comparison. The majority of web application security problems originate from the fact that web applications fail to perform sanity checks on inputs from the network that are eventually used as operands of security-sensitive operations. Therefore, a promising approach to this problem is to apply proper checks on tainted portions of the operands used in security-sensitive operations, where a byte is tainted if it is data/control dependent on some network packet(s). This paper presents the design, implementation and evaluation of a dynamic checking compiler called WASC, which automatically adds checks into web applications used in three-tier internet services to protect them from the most common two types of web application attacks: SQL- and script-injection attack. In addition to including a taint analysis infrastructure for multi-process and multi-language applications, WASC features the use of SQL and HTML parsers to defeat evasion techniques that exploit interpretation differences between attack detection engines and target applications. Experiments with a fully operational WASC prototype show that it can indeed stop all SQL/script injection attacks that we have tested. Moreover, the end-to-end latency penalty associated with the checks inserted by WASC is less than 30% for the test web applications used in our performance study.
Stelios Sidirogloudouskos - One of the best experts on this subject based on the ideXlab platform.
-
automatic discovery and patching of buffer and Integer Overflow errors
2015Co-Authors: Stelios Sidirogloudouskos, Eric Lahtinen, Martin RinardAbstract:We present Targeted Automatic Patching (TAP), an automatic buffer and Integer Overflow discovery and patching system. Starting with an application and a seed input that the application processes correctly, TAP dynamically analyzes the execution of the application to locate target memory allocation sites and statements that access dynamically or statically allocated blocks of memory. It then uses targeted errordiscovery techniques to automatically generate inputs that trigger Integer and/or buffer Overflows at the target sites. When it discovers a buffer or Integer Overflow error, TAP automatically matches and applies patch templates to generate patches that eliminate the error. Our experimental results show that TAP successfully discovers and patches two buffer and six Integer Overflow errors in six real-world applications.
-
targeted automatic Integer Overflow discovery using goal directed conditional branch enforcement
Architectural Support for Programming Languages and Operating Systems, 2015Co-Authors: Stelios Sidirogloudouskos, Eric Lahtinen, Nathan Rittenhouse, Paolo Piselli, Fan Long, Deokhwan Kim, Martin RinardAbstract:We present a new technique and system, DIODE, for auto- matically generating inputs that trigger Overflows at memory allocation sites. DIODE is designed to identify relevant sanity checks that inputs must satisfy to trigger Overflows at target memory allocation sites, then generate inputs that satisfy these sanity checks to successfully trigger the Overflow. DIODE works with off-the-shelf, production x86 binaries. Our results show that, for our benchmark set of applications, and for every target memory allocation site exercised by our seed inputs (which the applications process correctly with no Overflows), either 1) DIODE is able to generate an input that triggers an Overflow at that site or 2) there is no input that would trigger an Overflow for the observed target expression at that site.
-
sound input filter generation for Integer Overflow errors
Symposium on Principles of Programming Languages, 2014Co-Authors: Fan Long, Stelios Sidirogloudouskos, Deokhwan Kim, Martin RinardAbstract:We present a system, SIFT, for generating input filters that nullify Integer Overflow errors associated with critical program sites such as memory allocation or block copy sites. SIFT uses a static pro- gram analysis to generate filters that discard inputs that may trigger Integer Overflow errors in the computations of the sizes of allocated memory blocks or the number of copied bytes in block copy operations. Unlike all previous techniques of which we are aware, SIFT is sound -- if an input passes the filter, it will not trigger an Integer Overflow error at any analyzed site. Our results show that SIFT successfully analyzes (and therefore generates sound input filters for) 56 out of 58 memory allocation and block memory copy sites in analyzed input processing modules from five applications (VLC, Dillo, Swfdec, Swftools, and GIMP). These nullified errors include six known Integer Overflow vulnerabilities. Our results also show that applying these filters to 62895 real-world inputs produces no false positives. The analysis and filter generation times are all less than a second.
Jun Yang - One of the best experts on this subject based on the ideXlab platform.
-
InfoShield: a security architecture for protecting information usage in memory
The Twelfth International Symposium on High-Performance Computer Architecture, 2006., 2006Co-Authors: Weidong Shi, Guo-Long Gu, Joshua B Fryman, Hsien Hsin S. Lee, Guofei Gu, Youtao Zhang, Junjie Yang, Yan Zhang, Jun YangAbstract:Cyber theft is a serious threat to Internet security. It is one of the major security concerns by both network service providers and Internet users. Though sensitive information can be encrypted when stored in non-volatile memory such as hard disks, for many e-commerce and network applications, sensitive information is often stored as plaintext in main memory. Documented and reported exploits facilitate an adversary stealing sensitive information from an application's memory. These exploits include illegitimate memory scan, information theft oriented buffer Overflow, invalid pointer manipulation, Integer Overflow, password stealing Trojans and so forth. Today's computing system and its hardware cannot address these exploits effectively in a coherent way. This paper presents a unified and lightweight solution, called InfoShield that can strengthen application protection against theft of sensitive information such as passwords, encryption keys, and other private data with a minimal performance impact. Unlike prior whole memory encryption and information flow based efforts, InfoShield protects the usage of information. InfoShield ensures that sensitive data are used only as defined by application semantics, preventing misuse of information. Comparing with prior art, InfoShield handles a broader range of information theft scenarios in a unified framework with less overhead. Evaluation using popular network client-server applications shows that InfoShield is sound for practical use and incurs little performance loss because InfoShield only protects absolute, critical sensitive information. Based on the profiling results, only 0.3% of memory accesses and 0.2% of executed codes are affected by InfoShield.