Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Tielei Wang

dblp:08/7063 · DBLP profile ↗
← Back
17ranked-venue papers
6as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 17 · 6 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
11 papers
Systems and software security · 66% Web and mobile security · 19% Malware analysis · 8%
Software engineering, system software, and programming languages
4 papers
Program analysis · 47% Compilers and program optimization · 28% Operating systems · 25%

Topics — the 24 heaviest of 28, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Web and mobile security
mobile application security
0.412020
iOS, Your OS, Everybody's OS: Vetting and Analyzing Network Services of iOS Applications · USENIX Security Symposium 2020
Systems and software security
memory safety
0.432015
Preventing Use-after-free with Dangling Pointers Nullification · NDSS 2015
Secure dynamic code generation against spraying · CCS 2010
Exploiting and Protecting Dynamic Code Generation · NDSS 2015
Systems and software security
operating system security
0.422014
From Zygote to Morula: Fortifying Weakened ASLR on Android · IEEE Symposium on Security and Privacy 2014
A11y Attacks: Exploiting Accessibility in Operating Systems · CCS 2014
Web and mobile security
mobile security
0.422014
On the Feasibility of Large-Scale Infections of iOS Devices · USENIX Security Symposium 2014
Jekyll on iOS: When Benign Apps Become Evil · USENIX Security Symposium 2013
Systems and software security
exploitation
0.322014
From Zygote to Morula: Fortifying Weakened ASLR on Android · IEEE Symposium on Security and Privacy 2014
Secure dynamic code generation against spraying · CCS 2010
Systems and software security › secure software development
code generation security
0.212015
Exploiting and Protecting Dynamic Code Generation · NDSS 2015
Systems and software security › memory safety › memory corruption defense
use-after-free prevention
0.212015
Preventing Use-after-free with Dangling Pointers Nullification · NDSS 2015
Systems and software security
vulnerability discovery
0.222010
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection · IEEE Symposium on Security and Privacy 2010
IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution · NDSS 2009
Systems and software security › memory safety
address space layout randomization
0.212014
From Zygote to Morula: Fortifying Weakened ASLR on Android · IEEE Symposium on Security and Privacy 2014
Malware analysis
mobile malware
0.212014
On the Feasibility of Large-Scale Infections of iOS Devices · USENIX Security Symposium 2014
Systems and software security › exploitation › code reuse attack
return-oriented programming
0.212014
From Zygote to Morula: Fortifying Weakened ASLR on Android · IEEE Symposium on Security and Privacy 2014
Security and privacy of machine learning › adversarial attack › backdoor attack › backdoor defense
backdoor detection
0.112012
A Framework to Eliminate Backdoors from Response-Computable Authentication · IEEE Symposium on Security and Privacy 2012
Network measurement and analytics › traffic analysis
application traffic analysis
0.112020
iOS, Your OS, Everybody's OS: Vetting and Analyzing Network Services of iOS Applications · USENIX Security Symposium 2020
Systems and software security
code randomization
0.112010
Secure dynamic code generation against spraying · CCS 2010
Systems and software security › information flow tracking
dynamic taint analysis
0.112010
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection · IEEE Symposium on Security and Privacy 2010
Systems and software security › vulnerability discovery
fuzzing
0.112010
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection · IEEE Symposium on Security and Privacy 2010
Systems and software security › code randomization
instruction set randomization
0.112010
Secure dynamic code generation against spraying · CCS 2010
Systems and software security › program analysis
integer overflow detection
0.112009
IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution · NDSS 2009
Systems and software security
program analysis
0.112009
IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution · NDSS 2009
Systems and software security › vulnerability discovery
symbolic execution
0.112009
IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution · NDSS 2009
Compilers and program optimization
program instrumentation
0.112015
Preventing Use-after-free with Dangling Pointers Nullification · NDSS 2015
Program analysis
source code analysis
0.012012
A Framework to Eliminate Backdoors from Response-Computable Authentication · IEEE Symposium on Security and Privacy 2012
Program analysis › symbolic execution
dynamic symbolic execution
0.012010
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection · IEEE Symposium on Security and Privacy 2010
Program analysis
symbolic execution
0.012010
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection · IEEE Symposium on Security and Privacy 2010

Methods — techniques the papers use, named apart from their topics

pointer nullification · 0.4security evaluation · 0.4symbolic execution · 0.3testing-based verification · 0.3sandboxing · 0.3code analysis · 0.3infection feasibility analysis · 0.2app analysis · 0.2randomization · 0.1dynamic taint analysis · 0.1dynamic code generation · 0.1branch profiling · 0.1
YearPublicationVenuePosition
2020 iOS, Your OS, Everybody's OS: Vetting and Analyzing Network Services of iOS Applications
Zhushou Tang, Minhui Xue 0001, Yuan Tian 0001, Sen Chen 0001, Muhammad Ikram 0001, Tielei Wang, Haojin Zhu
USENIX Security Symposium7
2015 Preventing Use-after-free with Dangling Pointers Nullification
Byoungyoung Lee, Chengyu Song, Yeongjin Jang, Tielei Wang, Taesoo Kim, Long Lu, Wenke Lee
NDSS4
2015 Exploiting and Protecting Dynamic Code Generation
Chengyu Song, Chao Zhang 0008, Tielei Wang, Wenke Lee, David Melski
NDSS3
2014 Scanning of real-world web applications for parameter tampering vulnerabilities
abstract
Web applications require exchanging parameters between a client and a server to function properly. In real-world systems such as online banking transfer, traversing multiple pages with parameters contributed by both the user and server is a must, and hence the applications have to enforce workflow and parameter dependency controls across multiple requests. An application that applies insufficient server-side input validations is however vulnerable to parameter tampering attacks, which manipulate the exchanged parameters. Existing fuzzing-based scanning approaches however neglected these important controls, and this caused their fuzzing requests to be dropped before they can reach any vulnerable code. In this paper, we propose a novel approach to identify the workflow and parameter dependent constraints, which are then maintained and leveraged for automatic detection of server acceptances during fuzzing. We realized the approach by building a generic blackbox parameter tampering scanner. It successfully uncovered a number of severe vulnerabilities, including one from the largest multi-national banking website, which other scanners miss.
Adonis P. H. Fung, Tielei Wang, Kwok-Wai Cheung 0003, Tsz-Yeung Wong
AsiaCCS2
2014 A11y Attacks: Exploiting Accessibility in Operating Systems
abstract
Driven in part by federal law, accessibility (a11y) support for disabled users is becoming ubiquitous in commodity OSs. Some assistive technologies such as natural language user interfaces in mobile devices are welcomed by the general user population. Unfortunately, adding new features in modern, complex OSs usually introduces new security vulnerabilities. Accessibility support is no exception. Assistive technologies can be defined as computing subsystems that either transform user input into interaction requests for other applications and the underlying OS, or transform application and OS output for display on alternative devices. Inadequate security checks on these new I/O paths make it possible to launch attacks from accessibility interfaces. In this paper, we present the first security evaluation of accessibility support for four of the most popular computing platforms: Microsoft Windows, Ubuntu Linux, iOS, and Android. We identify twelve attacks that can bypass state-of-the-art defense mechanisms deployed on these OSs, including UAC, the Yama security module, the iOS sandbox, and the Android sandbox. Further analysis of the identified vulnerabilities shows that their root cause is that the design and implementation of accessibility support involves inevitable trade-offs among compatibility, usability, security, and (economic) cost. These trade-offs make it difficult to secure a system against misuse of accessibility support. Based on our findings, we propose a number of recommendations to either make the implementation of all necessary security checks easier and more intuitive, or to alleviate the impact of missing/incorrect checks. We also point out open problems and challenges in automatically analyzing accessibility support and identifying security vulnerabilities.
Yeongjin Jang, Chengyu Song, Simon P. Chung, Tielei Wang, Wenke Lee
CCS4
2014 Diagnosis and Emergency Patch Generation for Integer Overflow Exploits
Tielei Wang, Chengyu Song, Wenke Lee
DIMVA1
2014 From Zygote to Morula: Fortifying Weakened ASLR on Android
abstract
There have been many research efforts to secure Android applications and the high-level system mechanisms. The low-level operating system designs have been overlooked partially due to the belief that security issues at this level are similar to those on Linux, which are well-studied. However, we identify that certain Android modifications are at odds with security and result in serious vulnerabilities that need to be addressed immediately. In this paper, we analyze the Zygote process creation model, an Android operating system design for speeding up application launches. Zygote weakens Address Space Layout Randomization (ASLR) because all application processes are created with largely identical memory layouts. We design both remote and local attacks capable of bypassing the weakened ASLR and executing return-oriented programming on Android. We demonstrate the attacks using real applications, such as the Chrome Browser and VLC Media Player. Further, we design and implement Morula, a secure replacement for Zygote. Morula introduces a small amount of code to the Android operating system and can be easily adopted by device vendors. Our evaluation shows that, compared to Zygote, Morula incurs a 13 MB memory increase for each running application but allows each Android process to have an individually randomized memory layout and even a slightly shorter average launch time.
Byoungyoung Lee, Long Lu, Tielei Wang, Taesoo Kim, Wenke Lee
IEEE Symposium on Security and Privacy3
2014 On the Feasibility of Large-Scale Infections of iOS Devices
Tielei Wang, Yeongjin Jang, Yizheng Chen 0001, Simon P. Chung, Billy Lau, Wenke Lee
USENIX Security Symposium1
2013 Jekyll on iOS: When Benign Apps Become Evil
Tielei Wang, Kangjie Lu, Long Lu, Simon P. Chung, Wenke Lee
USENIX Security Symposium1
2012 A Framework to Eliminate Backdoors from Response-Computable Authentication
abstract
Response-computable authentication (RCA) is a two-party authentication model widely adopted by authentication systems, where an authentication system independently computes the expected user response and authenticates a user if the actual user response matches the expected value. Such authentication systems have long been threatened by malicious developers who can plant backdoors to bypass normal authentication, which is often seen in insider-related incidents. A malicious developer can plant backdoors by hiding logic in source code, by planting delicate vulnerabilities, or even by using weak cryptographic algorithms. Because of the common usage of cryptographic techniques and code protection in authentication modules, it is very difficult to detect and eliminate backdoors from login systems. In this paper, we propose a framework for RCA systems to ensure that the authentication process is not affected by backdoors. Our approach decomposes the authentication module into components. Components with simple logic are verified by code analysis for correctness, components with cryptographic/ obfuscated logic are sand boxed and verified through testing. The key component of our approach is NaPu, a native sandbox to ensure pure functions, which protects the complex and backdoor-prone part of a login module. We also use a testing-based process to either detect backdoors in the sand boxed component or verify that the component has no backdoors that can be used practically. We demonstrated the effectiveness of our approach in real-world applications by porting and verifying several popular login modules into this framework.
Shuaifu Dai, Tao Wei 0002, Chao Zhang 0008, Tielei Wang, Zhenkai Liang
IEEE Symposium on Security and Privacy4
2011 Using type analysis in compiler to mitigate integer-overflow-to-buffer-overflow threat
abstract
One of the top two causes of software vulnerabilities in operating systems is the integer overflow. A typical integer overflow vulnerability is the Integer Overflow to Buffer Overflow (IO2BO for short) vulnerability. IO2BO is an underestimated threat. Many programmers have not realized the existenc e of IO2BO and its harm. Even for those who are aware of IO2BO, locating and fixing IO2BO vulnerabilities are still tedious and error-prone. Automatically identifying and fixing this kind of vulnerability are critical for software security. In this article, we present the design and implementation of IntPatch, a compiler extension for automatically fixing IO2BO vulnerabilities in C/C++ programs at compile time. IntPatch utilizes classic type theory and a dataflow analysis framework to identify potential IO2BO vulnerabilities, and then uses backward slicing to find out related vulnerable arithmetic operations, and finally instruments programs with runtime checks. Moreover, IntPatch provides an interface for programmers who want to check integer overflows manually. We evaluated IntPatch on a few real-world applications. It caught all 46 previously known IO2BO vulnerabilities in our test suite and found 21 new bugs. Applications patched by IntPatch have negligible runtime performance losses which are on average 1%.
Chao Zhang 0008, Tielei Wang, Tao Wei 0002
J. Comput. Secur.3
2011 Checksum-Aware Fuzzing Combined with Dynamic Taint Analysis and Symbolic Execution
abstract
Fuzz testing has proven successful in finding security vulnerabilities in large programs. However, traditional fuzz testing tools have a well-known common drawback: they are ineffective if most generated inputs are rejected at the early stage of program running, especially when target programs employ checksum mechanisms to verify the integrity of inputs. This article presents TaintScope, an automatic fuzzing system using dynamic taint analysis and symbolic execution techniques, to tackle the above problem. TaintScope has several novel features: (1) TaintScope is a checksum-aware fuzzing tool. It can identify checksum fields in inputs, accurately locate checksum-based integrity checks by using branch profiling techniques, and bypass such checks via control flow alteration. Furthermore, it can fix checksum values in generated inputs using combined concrete and symbolic execution techniques. (2) TaintScope is a taint-based fuzzing tool working at the x86 binary level. Based on fine-grained dynamic taint tracing, TaintScope identifies the “hot bytes” in a well-formed input that are used in security-sensitive operations (e.g., invoking system/library calls), and then focuses on modifying such bytes with random or boundary values. (3) TaintScope is also a symbolic-execution-based fuzzing tool. It can symbolically evaluate a trace, reason about all possible values that can execute the trace, and then detect potential vulnerabilities on the trace. We evaluate TaintScope on a number of large real-world applications. Experimental results show that TaintScope can accurately locate the checksum checks in programs and dramatically improve the effectiveness of fuzz testing. TaintScope has already found 30 previously unknown vulnerabilities in several widely used applications, including Adobe Acrobat, Flash Player, Google Picasa, and Microsoft Paint. Most of these severe vulnerabilities have been confirmed by Secunia and oCERT, and assigned CVE identifiers (such as CVE-2009-1882, CVE-2009-2688). Vendor patches have been released or are in preparation based on our reports.
Tielei Wang, Tao Wei 0002, Guofei Gu
ACM Trans. Inf. Syst. Secur.1
2010 Heap Taichi: exploiting memory allocation granularity in heap-spraying attacks
abstract
Heap spraying is an attack technique commonly used in hijacking browsers to download and execute malicious code. In this attack, attackers first fill a large portion of the victim process's heap with malicious code. Then they exploit a vulnerability to redirect the victim process's control to attackers' code on the heap. Because the location of the injected code is not exactly predictable, traditional heap-spraying attacks need to inject a huge amount of executable code to increase the chance of success. Injected executable code usually includes lots of NOP-like instructions leading to attackers' shellcode. Targeting this attack characteristic, previous solutions detect heap-spraying attacks by searching for the existence of such large amount of NOP sled and other shellcode.
Tao Wei 0002, Tielei Wang, Zhenkai Liang
ACSAC3
2010 Secure dynamic code generation against spraying
abstract
DCG (Dynamic Code Generation) technologies have found widely applications in the Web 2.0 era, Dion Blazakis recently presented a Flash JIT-Spraying attack against Adobe Flash Player that easily circumvented DEP and ASLR protection mechanisms built in modern operating systems. We have generalized and extended JIT Spraying into DCG Spraying. Based our analyses on this abstract model of DCG Spraying, we have found that all mainstream DCG implementations (Java/ JavaScript/ Flash/ .Net/ SilverLight) are vulnerable against DCG Spraying attack, and none of the existing ad hoc defenses such as compilation optimization, random NOP padding and constant splitting provides effective protection. Furthermore, we propose a new protection method, INSeRT, which combines randomization of intrinsic elements of machine instructions and randomly planted special trapping snippets. INSeRT practically renders the "sprayed code" ineffective, while alerts the host program of ongoing attacking attempts. We implemented a prototype of INSeRT on the V8 JavaScript engine, and the performance overhead is less than 5%, which should be acceptable in practical application.
Tao Wei 0002, Tielei Wang, Lei Duan
CCS2
2010 IntPatch: Automatically Fix Integer-Overflow-to-Buffer-Overflow Vulnerability at Compile-Time
Chao Zhang 0008, Tielei Wang, Tao Wei 0002
ESORICS2
2010 TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection
abstract
Fuzz testing has proven successful in finding security vulnerabilities in large programs. However, traditional fuzz testing tools have a well-known common drawback: they are ineffective if most generated malformed inputs are rejected in the early stage of program running, especially when target programs employ checksum mechanisms to verify the integrity of inputs. In this paper, we present TaintScope, an automatic fuzzing system using dynamic taint analysis and symbolic execution techniques, to tackle the above problem. TaintScope has several novel contributions: 1) TaintScope is the first checksum-aware fuzzing tool to the best of our knowledge. It can identify checksum fields in input instances, accurately locate checksum-based integrity checks by using branch profiling techniques, and bypass such checks via control flow alteration. 2) TaintScope is a directed fuzzing tool working at X86 binary level (on both Linux and Window). Based on fine-grained dynamic taint tracing, TaintScope identifies which bytes in a well-formed input are used in security-sensitive operations (e.g., invoking system/library calls) and then focuses on modifying such bytes. Thus, generated inputs are more likely to trigger potential vulnerabilities. 3) TaintScope is fully automatic, from detecting checksum, directed fuzzing, to repairing crashed samples. It can fix checksum values in generated inputs using combined concrete and symbolic execution techniques. We evaluate TaintScope on a number of large real-world applications. Experimental results show that TaintScope can accurately locate the checksum checks in programs and dramatically improve the effectiveness of fuzz testing. TaintScope has already found 27 previously unknown vulnerabilities in several widely used applications, including Adobe Acrobat, Google Picasa, Microsoft Paint, and ImageMagick. Most of these severe vulnerabilities have been confirmed by Secunia and oCERT, and assigned CVE identifiers (such as CVE-2009-1882, CVE-2009-2688). Corresponding patches from vendors are released or in progress based on our reports.
Tielei Wang, Tao Wei 0002, Guofei Gu
IEEE Symposium on Security and Privacy1
2009 IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution
Tielei Wang, Tao Wei 0002, Zhiqiang Lin 0001
NDSS1