{"title":"Branch Obfuscation Using \"Black Boxes\"","authors":"Nan Zong, Chunfu Jia","doi":"10.1109/TASE.2014.19","DOIUrl":null,"url":null,"abstract":"The path constraints are leaked by conditional jump instructions which are the binary form of software's internal logic. Based on the problem of above, reverse engineering using path-sensitive techniques such as symbolic execution and theorem proving poses a new threat to software intellectual property protection. In order to mitigate path information leaking problem, we propose a novel obfuscation technique called \"black box\" to combat the state-of-art reverse engineering techniques. By handling the branch conditions as knowledge embedded into black boxes, the black boxes can simulate the behaviors of the obfuscated branch logic, while the original branch condition is hidden. We show that based on the incomprehensibility of black boxes, revealing branch conditions hidden by our method is considerably harder due to the high computational cost. The results of the experiment further indicate that besides providing effective protection, our method is also a light-weight branch obfuscation scheme.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Theoretical Aspects of Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TASE.2014.19","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
The path constraints are leaked by conditional jump instructions which are the binary form of software's internal logic. Based on the problem of above, reverse engineering using path-sensitive techniques such as symbolic execution and theorem proving poses a new threat to software intellectual property protection. In order to mitigate path information leaking problem, we propose a novel obfuscation technique called "black box" to combat the state-of-art reverse engineering techniques. By handling the branch conditions as knowledge embedded into black boxes, the black boxes can simulate the behaviors of the obfuscated branch logic, while the original branch condition is hidden. We show that based on the incomprehensibility of black boxes, revealing branch conditions hidden by our method is considerably harder due to the high computational cost. The results of the experiment further indicate that besides providing effective protection, our method is also a light-weight branch obfuscation scheme.