본문 바로가기
ITPE/소프트웨어공학

코드 난독화(Code Obfuscation)

by Myungs 2022. 11. 27.

1. 안티 리버스 엔지니어링, 코드 난독화(Code Obfuscation)의 정의

     - 역공학을 통한 보안 취약점 공격에 대한 방지기술로 코를 복잡하게 만들어 원시코드를 알아보기 힘들게 하는 기술

 

2. 코드 난독화 개념도 및 기술분류

   1) 코드 난독화 개념도

     - 코드 난독화로 역공학 기반의 공격차단 가능

   2) 코드난독화 기술분류

구분 수행종류 세부설명
구획 난독화 - 형식변화, 주석제거, 식별자 손상 - 프로그램에 큰 영향을 주지 않는 세부적인 요소들을 변화 및 제거
데이터 난독화 - 변수자르기, 절차적 자료화 - 변수를 나누거나 합치거나 읽기 어렵게 하는 기술
집단 난독화 - 자료순서변환, 클래스분할 - 순서(Ordering)을 이용하여 코드를 난독화
제어 난독화 - 프로시저 인라인/아웃라인화 - 문장이 묶이는 단위를 조절하여 제어를 난독화

     - 코드 난독화는 크게 소스코드, 바이너리 난독화로 분류되어 위 기술 적용                                     "끝"