TY - GEN
T1 - Pinpointing and hiding surprising fragments in an obfuscated program
AU - Kanzaki, Yuichiro
AU - Thomborson, Clark
AU - Monden, Akito
AU - Collberg, Christian
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/12/8
Y1 - 2015/12/8
N2 - In this paper, we propose a pinpoint-hide defense method, which aims to improve the stealth of obfuscated code. In the pinpointing process, we scan the obfuscated code in a few small code fragment level and identify all surprising fragments, that is, very unusual fragments which may draw the attention of an attacker to the obfuscated code. In the hiding process, we transform the pinpointed surprising fragments into unsurprising ones while preserving semantics. The obfuscated code transformed by our method consists only by unsurprising code fragments, therefore is more difficult for attackers to be distinguished from unobfuscated code than the original. In the case study, we apply our pinpoint-hide method to some programs transformed by well-known obfuscation techniques. The result shows our method can pinpoint surprising fragments such as dummy code that does not fit in the context of the program, and instructions used in a complicated arithmetic expression. We also confirm that instruction camouflage can make the pinpointed surprising fragments unsurprising ones, and that it runs correctly.
AB - In this paper, we propose a pinpoint-hide defense method, which aims to improve the stealth of obfuscated code. In the pinpointing process, we scan the obfuscated code in a few small code fragment level and identify all surprising fragments, that is, very unusual fragments which may draw the attention of an attacker to the obfuscated code. In the hiding process, we transform the pinpointed surprising fragments into unsurprising ones while preserving semantics. The obfuscated code transformed by our method consists only by unsurprising code fragments, therefore is more difficult for attackers to be distinguished from unobfuscated code than the original. In the case study, we apply our pinpoint-hide method to some programs transformed by well-known obfuscation techniques. The result shows our method can pinpoint surprising fragments such as dummy code that does not fit in the context of the program, and instructions used in a complicated arithmetic expression. We also confirm that instruction camouflage can make the pinpointed surprising fragments unsurprising ones, and that it runs correctly.
KW - Code obfuscation
KW - Code stealth
KW - N-gram
KW - Program analysis
KW - Software protection
UR - http://www.scopus.com/inward/record.url?scp=85007607636&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85007607636&partnerID=8YFLogxK
U2 - 10.1145/2843859.2843862
DO - 10.1145/2843859.2843862
M3 - Conference contribution
AN - SCOPUS:85007607636
T3 - ACM International Conference Proceeding Series
BT - Proceedings of the 5th Program Protection and Reverse Engineering Workshop, PPREW 2015 - Software Security and Protection Workshop 2015, SSP 2015
PB - Association for Computing Machinery
T2 - 5th Program Protection and Reverse Engineering Workshop, PPREW 2015
Y2 - 8 December 2015
ER -