Diversification and obfuscation techniques for software security: A systematic literature review

被引:47
|
作者
Hosseinzadeh, Shohreh [1 ]
Rauti, Sampsa [1 ]
Lauren, Samuel [1 ]
Makela, Jari-Matti [1 ]
Holvitie, Johannes [1 ]
Hyrynsalmi, Sami [2 ]
Leppanen, Ville [1 ]
机构
[1] Univ Turku, Dept Future Technol, Vesilinnantie 5, SF-20500 Turku, Finland
[2] Tampere Univ Technol, Lab Pervas Comp, Pohjoisranta 11 A, Port 28100, Finland
关键词
Diversification; Obfuscation; Software security; Systematic literature review; CONTROL FLOW OBFUSCATION; SOURCE CODE OBFUSCATION; PROTECTION METHOD; THEORETICAL BASIS; DIVERSITY; !text type='JAVA']JAVA[!/text; RANDOMIZATION; DEFENSE; IMPLEMENTATION; FRAMEWORK;
D O I
10.1016/j.infsof.2018.07.007
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context Diversification and obfuscation are promising techniques for securing software and protecting computers from harmful malware. The goal of these techniques is not removing the security holes, but making it difficult for the attacker to exploit security vulnerabilities and perform successful attacks. Objective: There is an increasing body of research on the use of diversification and obfuscation techniques for improving software security; however, the overall view is scattered and the terminology is unstructured. Therefore, a coherent review gives a clear statement of state-of-the-art, normalizes the ongoing discussion and provides baselines for future research. Method: In this paper, systematic literature review is used as the method of the study to select the studies that discuss diversification/obfuscation techniques for improving software security. We present the process of data collection, analysis of data, and report the results. Results: As the result of the systematic search, we collected 357 articles relevant to the topic of our interest, published between the years 1993 and 2017. We studied the collected articles, analyzed the extracted data from them, presented classification of the data, and enlightened the research gaps. Conclusion: The two techniques have been extensively used for various security purposes and impeding various types of security attacks. There exist many different techniques to obfuscate/diversify programs, each of which targets different parts of the programs and is applied at different phases of software development life-cycle. Moreover, we pinpoint the research gaps in this field, for instance that there are still various execution environments that could benefit from these two techniques, including cloud computing, Internet of Things (IoT), and trusted computing. We also present some potential ideas on applying the techniques on the discussed environments.
引用
收藏
页码:72 / 93
页数:22
相关论文
共 50 条
  • [1] A Survey on Aims and Environments of Diversification and Obfuscation in Software Security
    Hosseinzadeh, Shohreh
    Rauti, Sampsa
    Lauren, Samuel
    Makela, Jari-Matti
    Holvitie, Johannes
    Hyrynsalmi, Sami
    Leppanen, Ville
    [J]. COMPUTER SYSTEMS AND TECHNOLOGIES, COMPSYSTECH'16, 2016, : 113 - 120
  • [2] Layered obfuscation: a taxonomy of software obfuscation techniques for layered security
    Hui Xu
    Yangfan Zhou
    Jiang Ming
    Michael Lyu
    [J]. Cybersecurity, 3
  • [3] Layered obfuscation: a taxonomy of software obfuscation techniques for layered security
    Xu, Hui
    Zhou, Yangfan
    Ming, Jiang
    Lyu, Michael
    [J]. CYBERSECURITY, 2020, 3 (01)
  • [4] Measuring Software Obfuscation Quality-A Systematic Literature Review
    Ebad, Shouki A.
    Darem, Abdulbasit A.
    Abawajy, Jemal H.
    [J]. IEEE ACCESS, 2021, 9 : 99024 - 99038
  • [5] A Systematic Literature Review: Software Requirements Prioritization Techniques
    Sufian, Muhammad
    Khan, Zirak
    Rehman, Saad
    Butt, Wasi Haider
    [J]. 2018 INTERNATIONAL CONFERENCE ON FRONTIERS OF INFORMATION TECHNOLOGY (FIT 2018), 2018, : 35 - 40
  • [6] Software smell detection techniques: A systematic literature review
    AbuHassan, Amjad
    Alshayeb, Mohammad
    Ghouti, Lahouari
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2021, 33 (03)
  • [7] Software Visualization Tools and Techniques: A Systematic Review of the Literature
    Cruz, Adriana
    Bastos, Camila
    Junior, Paulo Afonso
    Costa, Heitor
    [J]. PROCEEDINGS OF THE 2016 35TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2016,
  • [8] Software security management in critical infrastructures: a systematic literature review
    Eksi, Gulsum Ece
    Tekinerdogan, Bedir
    Catal, Cagatay
    [J]. TURKISH JOURNAL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCES, 2022, 30 (04) : 1142 - 1161
  • [9] Software Security in Open Source Development: A Systematic Literature Review
    Wen, Shao-Fang
    [J]. PROCEEDINGS OF THE 2017 21ST CONFERENCE OF OPEN INNOVATIONS ASSOCIATION (FRUCT), 2017, : 364 - 373
  • [10] A systematic literature review on software security testing using metaheuristics
    Ahsan, Fatma
    Anwer, Faisal
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (02)