Title
Tell You a Definite Answer: Whether Your Data is Tainted During Thread Scheduling
Abstract
With the advent of multicore processors, there is a great need to write parallel programs to take advantage of parallel computing resources. However, due to the nondeterminism of parallel execution, the malware behaviors sensitive to thread scheduling are extremely difficult to detect. Dynamic taint analysis is widely used in security problems. By serializing a multithreaded execution and then propagating taint tags along the serialized schedule, existing dynamic taint analysis techniques lead to under-tainting with respect to other possible interleavings under the same input. In this paper, we propose an approach called DSTAM that integrates symbolic analysis and guided execution to systematically detect tainted instances on all possible executions under a given input. Symbolic analysis infers alternative interleavings of an executed trace that cover new tainted instances, and computes thread schedules that guide future executions. Guided execution explores new execution traces that drive future symbolic analysis. We have implemented a prototype as part of an educational tool that teaches secure C programming, where accuracy is more critical than efficiency. To the best of our knowledge, DSTAM is the first algorithm that addresses the challenge of taint analysis for multithreaded program under fixed inputs.
Year
DOI
Venue
2020
10.1109/TSE.2018.2871666
IEEE Transactions on Software Engineering
Keywords
DocType
Volume
Taint analysis,multithreaded programs,symbolic analysis,encoding,guided execution
Journal
46
Issue
ISSN
Citations 
9
0098-5589
1
PageRank 
References 
Authors
0.35
0
6
Name
Order
Citations
PageRank
Xiaodong Zhang1121.88
Zijiang Yang235534.71
Qinghua Zheng31261160.88
Yu Yu46919.95
Pei Liu544.47
Ting Liu615022.53