자연어 처리를 통한 코드 난독화 커버리지 측정

Vol. 31, No. 2, pp. 233-243, 4월. 2021
10.13089/JKIISC.2021.31.2.233, Full Text:
Keywords: code obfuscation, Obfuscation Coverage, Natural Language Processing
Abstract

난독화는 코드를 보호하고 분석을 위해 더 큰 노력을 요구하기 위한 목적으로 일반 앱부터 악성 앱까지 광범위하게 사용되고 있다. 따라서 공격자와 보안 담당자는 보안성 분석을 위해 앱이 어느 정도 난독화 되어있는지 아는 것이 중요한데, 현재 관련 연구 및 솔루션들의 성능은 좋지 않다. 첫 번째로 상용 솔루션들은 조금의 난독화만 발견해도 전체가 난독화 되었다고 판단하고 있다. 두 번째로, 읽을 수 있지만 이해할 수 없는 방식의 난독화를 발견하지 못한다. 마지막으로, 자체적으로 비공개 난독화 기술을 개발하여 난독화 하는 기업들도 생겨나고 있으므로 단순히 시중에 존재하는 난독화 도구의 규칙을 학습하는 기존 방법으로는 난독화를 탐지하는 것에 한계가 있다. 따라서 본 논문에서는 소스 코드를 문서처럼 학습하여 ‘코드를 얼마나 읽을 수 있는지’에 대한 것을 넘어서서 ‘얼마나 이해할 수 있는지’에 대한 관점으로 접근하였고, 자연어 처리, 휴리스틱을 통해 코드 난독화 구역을 측정할 수 있는 솔루션 “AndrObfusec”를 개발하여 높은 정확도로 난독화를 분류해 냈다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
김병연 and 김휘강, "Quantitative Measures for Code Obfuscation Coverage by the Natural Language Processing," Journal of The Korea Institute of Information Security and Cryptology, vol. 31, no. 2, pp. 233-243, 2021. DOI: 10.13089/JKIISC.2021.31.2.233.

[ACM Style]
김병연 and 김휘강. 2021. Quantitative Measures for Code Obfuscation Coverage by the Natural Language Processing. Journal of The Korea Institute of Information Security and Cryptology, 31, 2, (2021), 233-243. DOI: 10.13089/JKIISC.2021.31.2.233.