대중적 사이트 통해 워터링홀 기법, 악성코드 첨부 스피어피싱 메일 살포
MS Office 제로데이 취약점 공격, ‘개념증명코드’(PoC) 분석 통한 공격 등
[애플경제 전윤미 기자] 정부 보고서를 위장한 MS워드 제로데이 취약점을 노리는 사이버 공격이 잇따르고 있다. 이는 사용자가 자주 접속하는 사이트를 통한 워터링홀 기법, 악성코드를 첨부하여 감염시키는 스피어피싱 이메일을 통해 악성코드를 유포시키는 등 다양한 수법을 구사하고 있다.
이에 금융보안원은 26일 “공급망 서버를 악용한 악성코드 유포 기법 등을 포함해, MS Office 제로데이 취약점(CVE-2022-41128)을 이용한 사이버 공격, 개념증명코드(PoC) 분석을 통한 Type Confusion 취약점 공격, MS 보안 패치의 취약점 등을 적극 공략하고 있다.”면서 이같이 밝혔다.
특히 정부보고서를 위장한 MS워드 제로데이 취약점을 노린다는 점에서 이는 자칫 사회 전반에 큰 피해를 안길 수도 있다. 금융보안원도 이점을 인식, 이날 긴급히 그 수법과 작동방식, 침투경로 등을 실제 이미지와 도식 등을 통해 자세히 전하고 있다.
대중적인 MS 오피스, 한컴 오피스 등 이용
우선 해커는 일단 가장 대중적인 마이크로소프트사의 오피스, 한컴 오피스 등을 이용한다. 이는 다수의 목표를 효과적으로 감염시키기 위한 것이다.
특히 대중 일반이 가장 관심을 가질만한 이슈, 예를 들어 ‘이태원 참사’ 관련 정부 보고서 등을 가장, 악성코드를 유포하기도 한다. “이태원 참사가 국민적 관심을 끌며 모두가 슬픔에 잠겼을 때, 공격자는 스피어피싱 이메일을 통해 악성 문서를 유포했다”면서 구글의 ‘사이버 위협 그룹 보고서(Threat Analysis Group(TAG))’를 인용했다.
이에 따르면 해당 공격은 북한 해킹 그룹인 APT37의 공격으로 추정되고 있다.
당시 스피어피싱 이메일에 첨부된 문제의 악성 문서는 3단계에 걸쳐 악성코드를 유포한 것으로 알려졌다.
우선 1단계는 사용자가 악성 문서(워드 파일)를 열람할 때, 첫 번째 공격자 서버로 유인해서 악성 RTF 파일을 다운로드하게 한다. 다음으로 악성 RTF 파일 내의 조작된 URL로 인해 두 번째 공격자 서버로 유인해서 HTML 파일을 다운로드하도록 한다.
그리곤 사용자가 워드에서 HTML을 실행할 때, ‘IE JScript9’ 엔진 ‘Type Confusion’ 취약점을 노려 악성코드를 실행하는 수법이다.
‘이태원 참사’ 정부 보고서 악용도
이들 해커들은 그 과정에서 또 MS Office 제로데이 취약점(CVE-2022-41128)을 이용한 사이버 공격을 가하고 있다.
금융보안원에 의하면 역시 ‘이태원 참사’ 당시 행정안전부는 ‘서울 이태원 사고 대처상황보고(10.31일 06:00)_수정’이라는 이름으로 해당 보고서를 홈페이지 게시판을 통해 공개했다.
해당 문서는 한글 문서(.hwp) 형태였다. “그러나 해당 한글 문서는 취약점이 포함된 악성 워드 문서 형태로 재활용되었다”면서 “나중에 당 문서가 마이크로소프트사의 패치가 존재하지 않는 제로데이 취약점(CVE-2022-41128)임을 확인했다”는 설명이다.
이에 따라 지난해 11월 마이크로소프트사는 정식 업데이트를 통해 해당 취약점에 대한 패치를 포함시켜 릴리즈한 바 있다.
또 ‘개념증명코드’(PoC) 분석을 통한 ‘Type Confusion’ 취약점을 겨냥한 사이버 공격도 빈발하고 있다.
금융보안원은 특히 “인터넷 익스플로러에서 동작하는 ‘JIT Compiler’가 형(Type)을 처리하는 과정에서 혼란이 생겨 발생하는 취약점”으로 설명하고 있다. ‘JIT Compiler’은 인터프리터 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱하는 컴파일러 방식이다. “같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지하며, 코드가 실행되는 과정에서 컴파일이 실시간으로 일어나는게 특징”이란 설명이다.
흔히 컴파일러 방식에는 이와 다른 것들이 있다. 인터프리터 방식으로 실행 중 프로그래밍 언어를 읽어가면서 해당 기능에 대응하는 기계어 코드를 실행시키는 경우가 있고, 정적 컴파일 방식으로 실행하기 전에 프로그램 코드를 기계어로 번역하였다가 기계어 코드를 최종 실행시키는 경우도 있다. ‘JIT Compiler’는 컴파일이 실시간으로 일어난다고 해서 ‘Just-in-Time을 줄인 용어다.
실제로 크롬, 에지, 파이어폭스 등은 자바스크립트를 처리하기 위해 각기 다른 종류의 ‘JIT Compiler’를 사용하고 있다. 그 종류는 V8, Chakara, Spider Monkey 등이 있다.
“지난해 10월에 발생한 제로데이 취약점은 인터넷 익스플로러의 ‘Chakra’ 유형의 JIT Compiler에서 발생했다”는 설명이다.
MS 보안 패치 분석 취약점도 공격
이 밖에 MS 보안 패치 분석을 통한 취약점도 공격의 대상이 되었다. 금융보안원에 따르면 특히 침해사고에서 발견된 취약점(CVE-2022-41128)(64bit 기반)에 대한 사이버 공격을 주목하며, 분석하고 있다.
즉, 해커는 처음부터 제로데이 취약점을 활용, 악성코드를 유포하기보다 총 3단계에 걸쳐 익스플로잇을 수행했다. 그리고 마지막 단계에서 인터넷 익스플로러 JScript9의 ‘Type Confusion’ 취약점(CVE-2022-41128)을 이용했다.
이에 따르면 우선 해커는 원격지에서 워드 템플릿 파일을 다운로드 받아 설정하는 기능을 사용하여 RTF를 다운로드받았다. 그런 다음 RTF 파일은 ‘OLE2Link’ 원격코드실행 취약점(CVE-2017-0199)을 통해 해커 사이트에서 악성 스크립트를 다운로드받았다.
또 3단계로 ‘IE JScript9’ 엔진에서 발생하는 ‘Type Confusion’ 취약점(CVE-2022-41128)을 통해 쉘코드를 실행했다.
금융보안원은 이런 개괄적 내용을 소개하면서 “지원이 종료된 소프트웨어(IE 등)일지라도 보급 범위가 넓고, 다른 소프트웨어와 연계하여 사이버 공격에 활용될 때 효과가 높다면 지속적으로 악용될 수 있으므로 주의가 필요하다”고 당부했다.
