
고급 바이너리 디난독화(Advanced Binary Deobfuscation)를 위한 과정 자료 - NTT Secure Platform Laboratories 제공
이 저장소는 글로벌 사이버보안 캠프(GCC) 도쿄와 2020년 Security Camp 국가 워크숍에서 진행된 고급 바이너리 디오브퓨케이션(Advanced Binary Deobfuscation) 과정의 자료를 포함합니다.
리버스 엔지니어링은 특히 바이너리 코드가 난독화(obfuscation)된 경우 쉽지 않습니다. 난독화가 수행되면 순수한 기법만으로는 바이너리를 정확하게 분석할 수 없습니다. 이 과정에서는 난독화 원리(특히 악성코드에 사용되는), 난독화된 코드 분석의 이론과 실제, 그리고 디오브퓨케이션을 위한 자체 도구를 작성하는 방법을 배웁니다. 특히 데이터 흐름 분석과 SAT/SMT 기반 바이너리 분석(예: 기호 실행)을 깊이 있게 다루어 난독화를 무력화합니다.
이 과정은 바이너리 디오브퓨케이션에 관한 것으로, 보안 분석가 및 연구자(초보 단계)가 자신만의 도구를 작성하는 기술을 무기고에 추가하려는 사람들을 대상으로 합니다. 이 수업을 마치면 참가자는 다음을 수행할 수 있습니다:
이를 위해 과정은 GCC에서 교실 학습과 실습 교육을 결합한 형태로 진행되었습니다.
참가자는 다음을 갖추어야 합니다:
다음 링크는 격차를 줄이는 데 유용합니다.
Miasm, Z3, Jupyter Notebook이 설치된 Ubuntu 18.04를 가정합니다.
./setup.sh ./ 실행Advanced-Binary-Deobfuscation.pdf를 읽고 즐기세요!