Inferring Patterns for Taint-Style Vulnerabilities With Security Patches

Taint-style vulnerabilities can damage the service provided by mobile seriously. The pattern-based method is a practical way to detect taint-style vulnerabilities. Most of the methods extract the vulnerability patterns from the code base, however, sometimes missing the vulnerability patterns and res...

Full description

Bibliographic Details
Main Authors: Tingyu Song, Xiaohong Li, Zhiyong Feng, Guangquan Xu
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8697101/
id doaj-cd88d286761f46ab93dca5753df743d8
record_format Article
spelling doaj-cd88d286761f46ab93dca5753df743d82021-03-29T22:40:29ZengIEEEIEEE Access2169-35362019-01-017523395234910.1109/ACCESS.2019.29115928697101Inferring Patterns for Taint-Style Vulnerabilities With Security PatchesTingyu Song0https://orcid.org/0000-0002-6473-1959Xiaohong Li1Zhiyong Feng2Guangquan Xu3https://orcid.org/0000-0003-2079-0989Tianjin Key Laboratory of Advanced Networking (TANK), College of Intelligence and Computing, Tianjin University, Tianjin, ChinaTianjin Key Laboratory of Advanced Networking (TANK), College of Intelligence and Computing, Tianjin University, Tianjin, ChinaTianjin Key Laboratory of Cognitive Computing and Application, College of Intelligence and Computing, Tianjin University, Tianjin, ChinaTianjin Key Laboratory of Advanced Networking (TANK), College of Intelligence and Computing, Tianjin University, Tianjin, ChinaTaint-style vulnerabilities can damage the service provided by mobile seriously. The pattern-based method is a practical way to detect taint-style vulnerabilities. Most of the methods extract the vulnerability patterns from the code base, however, sometimes missing the vulnerability patterns and resulting in some vulnerabilities undiscovered. The security patches contain valuable information about the vulnerabilities. To compensate for the inherent incompleteness of pattern matching, in this paper, we propose an approach to infer patterns with the security information carried on the security patches. The taint-style vulnerability is described as a 3-tuples (S<sub>src</sub>, S<sub>san</sub>, S<sub>sink</sub>) here, which consist of sources(S<sub>src</sub>), sanitization (S<sub>san</sub>), and sinks(Ssink). For each pair of vulnerable and patched programs, we extract the sanitizations from the changes between the vulnerable code and corresponding patches, infer the sinks with the impact analysis, and determine the sources through the backward traversal on the control flow graph. Finally, the complete-linkage clustering method is applied to the extracted triples to summary the patterns. We evaluate our method with open source projects. The results show our method is effective: 1) our method infers vulnerability patterns for taint-style vulnerabilities; 2) compared with the method inferring patterns from the code base, new patterns are discovered; and 3) the inferred patterns are applied to search the similar vulnerabilities successfully.https://ieeexplore.ieee.org/document/8697101/Code changestatic analysisvulnerability detection
collection DOAJ
language English
format Article
sources DOAJ
author Tingyu Song
Xiaohong Li
Zhiyong Feng
Guangquan Xu
spellingShingle Tingyu Song
Xiaohong Li
Zhiyong Feng
Guangquan Xu
Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
IEEE Access
Code change
static analysis
vulnerability detection
author_facet Tingyu Song
Xiaohong Li
Zhiyong Feng
Guangquan Xu
author_sort Tingyu Song
title Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
title_short Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
title_full Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
title_fullStr Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
title_full_unstemmed Inferring Patterns for Taint-Style Vulnerabilities With Security Patches
title_sort inferring patterns for taint-style vulnerabilities with security patches
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2019-01-01
description Taint-style vulnerabilities can damage the service provided by mobile seriously. The pattern-based method is a practical way to detect taint-style vulnerabilities. Most of the methods extract the vulnerability patterns from the code base, however, sometimes missing the vulnerability patterns and resulting in some vulnerabilities undiscovered. The security patches contain valuable information about the vulnerabilities. To compensate for the inherent incompleteness of pattern matching, in this paper, we propose an approach to infer patterns with the security information carried on the security patches. The taint-style vulnerability is described as a 3-tuples (S<sub>src</sub>, S<sub>san</sub>, S<sub>sink</sub>) here, which consist of sources(S<sub>src</sub>), sanitization (S<sub>san</sub>), and sinks(Ssink). For each pair of vulnerable and patched programs, we extract the sanitizations from the changes between the vulnerable code and corresponding patches, infer the sinks with the impact analysis, and determine the sources through the backward traversal on the control flow graph. Finally, the complete-linkage clustering method is applied to the extracted triples to summary the patterns. We evaluate our method with open source projects. The results show our method is effective: 1) our method infers vulnerability patterns for taint-style vulnerabilities; 2) compared with the method inferring patterns from the code base, new patterns are discovered; and 3) the inferred patterns are applied to search the similar vulnerabilities successfully.
topic Code change
static analysis
vulnerability detection
url https://ieeexplore.ieee.org/document/8697101/
work_keys_str_mv AT tingyusong inferringpatternsfortaintstylevulnerabilitieswithsecuritypatches
AT xiaohongli inferringpatternsfortaintstylevulnerabilitieswithsecuritypatches
AT zhiyongfeng inferringpatternsfortaintstylevulnerabilitieswithsecuritypatches
AT guangquanxu inferringpatternsfortaintstylevulnerabilitieswithsecuritypatches
_version_ 1724191084608749568