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...
Main Authors: | , , , |
---|---|
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 |