13일 전

자연어를 통해 쉘코드를 생성할 수 있을까? 실증적 연구

Pietro Liguori, Erfan Al-Hossami, Domenico Cotroneo, Roberto Natella, Bojan Cukic, Samira Shaikh
자연어를 통해 쉘코드를 생성할 수 있을까? 실증적 연구
초록

소프트웨어 취약점을 이용하는 코드( exploits )를 작성하는 것은 공격적 보안 분석가들이 공격을 조사하고 예방하기 위해 수행하는 중요한 작업이다. 특히 쉘코드(shellcode)는 어셈블리어로 작성되기 때문에 시간이 오래 걸리고 기술적으로도 큰 도전 과제가 된다. 본 연구에서는 자연어로 기술된 설명만을 근거로 자동으로 쉘코드를 생성하는 문제를 해결하기 위해 신경망 기반 기계 번역(Neural Machine Translation, NMT)을 기반으로 한 접근법을 제안한다. 또한, 공개 데이터베이스에서 수집한 실제 Linux/x86 쉘코드의 어셈블리 코드 조각 3,200개로 구성된 새로운 데이터셋(Shellcode_IA32)을 활용한 실증 연구를 수행한다. 이 데이터셋은 자연어로 주석이 달려 있다. 더불어 NMT가 쉘코드를 생성할 때의 정확도를 평가하기 위한 새로운 평가 지표를 제안한다. 실증 분석 결과, NMT는 자연어로부터 높은 정확도로 어셈블리 코드 조각을 생성할 수 있으며, 많은 경우에 오류 없이 전체 쉘코드를 생성할 수 있음을 확인하였다.

자연어를 통해 쉘코드를 생성할 수 있을까? 실증적 연구 | 최신 연구 논문 | HyperAI초신경