(동향) 북한 라자루스 해커조직, 악성행위 은닉 위해 안티 포렌식 기법 사용했다

페이지 정보

작성자 cfpa 댓글 0건 조회 1,339회 작성일 23-02-28 12:23

본문

출처 : https://www.boannews.com/media/view.asp?idx=114487&page=1&kind=1



안티 포렌식 : 데이터 은닉, 흔적 제거, 흔적 난독화, 포렌식 공격, 물리적 방법 등 5가지
라자루스 그룹 : 데이터 은닉, 흔적 제거, 흔적 난독화 등 3가지 기법으로 공격 시도


[보안뉴스 김영명 기자] 약 1년 전부터 북한 해커조직 라자루스(Lazarus) 그룹의 악성코드가 국내 방산, 인공위성, 소프트웨어, 언론사 등 다수의 기업에서 발견되고 있다. 최근 사례 중 라자루스 그룹이 침해한 시스템에서 확인된 안티 포렌식 흔적과 내용을 분석한 결과 데이터 은닉, 흔적 제거, 흔적 난독화 등 3가지 공격 기법이 시도된 것으로 분석됐다. 


안랩 ASEC 분석팀은 라자루스 조직의 활동을 지속적으로 추적하고 있다고 밝히면서 이들이 활용한 안티 포렌식 기법에 대해 자세하게 소개했다. 먼저, 안티 포렌식이란 범죄 현장에서 증거의 존재를 훼손시켜 부정적인 영향을 미치거나 증거 분석 및 조사 과정을 방해하거나 어렵게 만들려는 시도를 말한다. 일반적으로 침해사고 관점에서의 안티 포렌식의 목적은 △탐지 회피 및 정보 수집 방해 △디지털 포렌식 분석가의 분석 시간 증가 △디지털 포렌식 도구가 동작하지 못하도록 하거나 오류 발생 유발 △사용 흔적이나 도구 실행 흔적을 발견하지 못하도록 로깅을 차단·우회하거나 삭제하는 목적 등을 위해 활용된다. 특히, 라자루스 조직은 자신이 수행한 악성행위를 은닉하기 위한 목적으로 안티 포렌식을 수행했다.
 

725014401_7690.jpg

▲백도어 동작 과정[자료=안랩 ASEC 분석팀]


안티 포렌식 분류에 있어서는 다양한 기준이 존재하지만, 가장 널리 통용되고 있는 Dr. Marcus Roger가 제시한 안티 포렌식 분류를 바탕으로 라자루스 조직이 수행한 은닉 행위를 분석했다는 게 안랩 ASEC 분석팀 측의 설명이다.

Dr. Marcus Roger는 포렌식 분석을 방해하는 안티 포렌식 기법을 크게 5가지로 분류했다. 이는 △데이터 은닉(Data Hiding) △흔적 제거(Artifact Wiping) △흔적 난독화(Trail Obfuscation) △포렌식에 대한 공격(Attacks Against Computer Forensics) △물리적 방법(Physical) 등이다. 이 5가지 기준 가운데 라자루스 조직은 데이터 은닉(Data Hiding), 흔적 제거(Artifact Wiping), 흔적 난독화(Trail Obfuscation) 등 총 3가지 기법을 수행했다.

첫 번째로, ‘데이터 은닉(Data Hiding)’은 데이터를 쉽게 탐지할 수 없도록 숨기는 방법을 말한다. 대표적인 예시로는 데이터의 난독화 및 암호화, 스테가노그래피, 비할당 영역에 데이터 은닉 등을 예로 들 수 있다.

먼저, 암호화(Encryption)에서 라자루스 조직은 사용할 악성코드를 로더, 실행 파일, 설정 파일 등 3개로 구분해 사용했다. 각 파일들의 주요 기능은 △Loader : 암호화된 PE파일을 복호화해 메모리에 로드 △Encrypted PE : 로더 메모리상에서 실행되는 악성코드로, 암호화된 설정 파일을 복호화해 C2(명령제어 서버) 주소와 통신 △Encrypted Config : 암호화된 설정 파일로, C2 정보가 포함된 파일 등이다.

라자루스 조직은 보안 제품 탐지를 우회하기 위해 C2 정보가 포함된 설정 파일과 C2 통신을 수행하는 PE 파일은 암호화된 상태로 전달한다. 암호화된 파일들은 로더 파일에 의해 메모리에서 복호화돼 동작을 수행하며, C2로부터 추가 파일을 받아 악성 행위를 수행한다.

다른 형태의 데이터 은닉(Other Forms of Data Hiding)으로 라자루스 조직은 악성코드 은닉을 위해 시스템 폴더를 은닉장소로 사용하거나 정상 파일명을 사칭해 사용했다. 악성코드 은닉을 위해 주로 사용하는 폴더는 시스템 기본 폴더로 폴더 하위에 유사한 폴더를 생성해 사용하거나 기본적으로 숨김 처리된 시스템 파일에 정상 파일처럼 위장해 악성코드를 은닉시켰다.

C:\ProgramData 폴더는 시스템 기본 폴더로 기본적으로 숨김 처리된 폴더다. 해당 폴더에 시스템 기본 폴더명과 유사한 폴더(MicrosoftPackages)를 생성해 악성코드 은닉 장소로 사용하거나 기본 폴더에 유사한 파일명으로 위장해 악성코드를 은닉했다.
 

723689996_119.jpg

▲유사 폴더를 생성해 악성코드 은닉 장소로 활용[자료=안랩 ASEC 분석팀]


두 번째로, ‘흔적 제거(Artifact Wiping)’는 특정 파일 또는 전체 파일 시스템을 영구히 제거하는 작업을 의미하는데, 기본적인 파일 삭제뿐만 아니라 전문 도구를 사용해 사용 흔적을 없앨 수도 있다. 예시로, 디스크 정리 유틸리티, 파일 지우기 및 디스크 자기 소거·파괴 등은 모두 흔적 제거에 포함된다.

파일 삭제(File Wiping)에서 라자루스 조직은 백도어 목적의 악성코드를 제외하고 사용했던 악성코드 및 악성 행위를 수행하는 동안 발생했던 아티팩트들을 삭제했다. 악성코드의 경우 데이터를 덮어씌운 후 파일명을 변경해 삭제했다. 파일 삭제 시 데이터 부분을 덮어씌우게 되면, 파일 복원이나 데이터 카빙 기법을 통해 데이터 복구가 힘들어지기 때문에 원본 내용을 확인할 수 없게 된다.
 

723689996_4977.jpg

▲USNJrnl에서 확인한 악성코드 삭제 기록[자료=안랩 ASEC 분석팀]


라자루스 조직은 악성코드 실행과 관련해 아티팩트 삭제 행위도 병행해 수행했다. 예시로 응용프로그램 실행 관련 아티팩트인 프리패치(Prefetch) 파일을 일괄 삭제해 사용한 악성코드 실행 흔적을 삭제했다.
 

723689996_8306.jpg

▲프리패치 파일 일괄 삭제 기록 및 응용 프로그램 취약점 공격 흔적 삭제[자료=안랩 ASEC 분석팀]


또한, 라자루스 조직은 Initial Access나 Lateral Movement 시 응용프로그램 제로데이 취약점을 사용해 공격을 수행하는데, 취약점 공격에 의해 발생한 에러 리포트나 메모리 덤프 파일까지 삭제했다.

세 번째로, ‘흔적 난독화(Trail Obfuscation)’는 포렌식 분석을 혼란스럽게 해 악성행위를 숨기는 작업을 말하는데, 로그 변조·삭제, 스푸핑, 잘못된 정보 삽입, 백본 호핑 등 분석을 방해하거나 분석가의 판단을 흐리는 행위를 예로 들 수 있다.

라자루스 조직은 흔적 제거 과정을 통해 거의 모든 기록 및 사용했던 파일을 지웠으나, 유일하게 시스템에 남겨놓은 악성코드가 존재하는데 바로 백도어 악성코드다. 백도어 악성코드 특성상 존재를 들키지 않으며 장시간 시스템에 유지해야 하기 때문에 라자루스 그룹은 피해 시스템에 생성한 악성코드의 시간 정보를 조작해 은닉시켰다.

시간 정보를 조작한 가장 큰 이유는 타임라인 분석을 회피하기 위한 목적이 가장 큰 것으로 보인다. 타임라인 분석이란 사건이 일어난 시점을 중심으로 생성·수정·삭제·접근한 파일을 추적해 분석하는 기법을 말하는데, 시간 정보를 조작할 경우 분석 과정에서 악성코드의 기록이 누락돼 분석의 방향을 혼란케 하거나, 잘못된 판단을 할 수 있다. 피해 시스템에서 발견된 악성코드와 시스템에 존재하는 일부 파일의 시간 정보가 완전히 일치하는 것을 확인할 수 있었다.
 

723689996_7696.jpg

▲시스템 기본 파일과 악성코드 시간 정보 비교[자료=안랩 ASEC 분석팀]


윈도 파일시스템(NTFS)에는 $STANDARD_INFORMATION 속성과 $FILE_NAME 속성에서 각각 4개의 시간 정보가 있으며, 각각 파일의 생성, 수정, 접근, 엔트리 수정 시간이다. 윈도 파일 속성 정보에 표기된 시간 정보는 $STANDARD_INFORMATION의 정보다. ‘$STANDARD_INFORMATION’은 모든 파일에 기본적으로 존재하는 속성으로 파일의 시간 정보, 특성, 소유자 및 보안 ID와 같은 파일에 대한 기본적인 속성 정보를 갖고 있다. ‘$FILE_NAME’은 모든 파일에 기본적으로 존재하는 속성이며, 파일의 이름을 저장하기 위한 속성으로 파일 이름 외에도 다양한 부가 정보가 포함돼 있다.

상세한 시간 정보 비교를 위해 $MFT를 추출해 시간 정보를 비교한 결과, 시스템 기본 파일과 악성코드의 $STANDARD_INFORMATION 속성 시간 정보가 정확하게 일치하는 것으로 확인됐다.
 

723689996_7787.jpg

▲악성코드와 시스템 기본 파일 시간 정보 비교[자료=안랩 ASEC 분석팀]


라자루스 조직은 타임라인 분석을 회피하기 위해 시간 정보를 시스템 기본 파일과 동일하게 변경해 시스템 기본 파일처럼 위장시켰다. 최근 라자루스 그룹에 의해 침해된 시스템들에서 확인된 악성코드의 시간 정보가 조작된 내용은 다음과 같다.
 

723689996_4852.jpg

▲악성코드 시간 정보 조작[자료=안랩 ASEC 분석팀]


이를 통해 라자루스 조직의 악성코드 시간 정보 조작방식의 특징은 △모든 악성코드의 시간 정보를 조작하지는 않음 △시간 정보는 임의로 지정하는 것이 아닌 시스템 기본 파일의 시간 정보를 복사해 변경함 △동일한 사건에서도 시간 조작이 발생한 시스템과 발생하지 않은 시스템이 있는 것을 보아 시간 변경은 선택 사항으로 보임 △동일한 악성코드라고 해도 시간을 복사하는 시스템 파일의 대상이 다른 것을 보아 복사 대상을 선택할 수 있는 것으로 보임 등이다. 시간 정보 조작기법은 라자루스 조직뿐만 아닌 몇몇 APT 그룹에서도 악성코드를 은닉하기 위한 방법으로 사용하고 있는 것으로 확인됐다.
 

723689996_1763.jpg

▲시간 정보 조작 기법 사용하는 그룹[자료=안랩 ASEC 분석팀]


라자루스 조직은 공격 과정에서 보안 프로그램의 탐지를 우회하기 위해 악성코드를 암호화하거나 시스템 파일명으로 위장했으며, 분석을 방해하기 위해 파일의 시간 정보를 조작했다. 또한, 실행 흔적을 삭제할 때도 데이터를 덮어씌우는 방법을 사용해 데이터 복구를 방해하는 등의 치밀한 행동을 보였다.

안랩 ASEC 분석팀은 “라자루스 해커조직이 사용 중인 안티 포렌식 기법을 분석하다 보니, 라자루스 그룹 외에도 여러 APT 그룹이 자신들의 공격 흔적을 지우기 위한 목적으로 사용하고 있는 것으로 확인됐다”며 “사고 조사 및 분석 시에는 공격자가 안티 포렌식을 수행했을 가능성을 열어두고 분석하고, 안티 포렌식 기법이 적용된 경우에도 이를 추적할 수 있는 방안을 지속해서 연구해야 할 것으로 보인다”고 강조했다.
[김영명 기자(boan@boannews.com)]