악성코드 유포해 사이버공격 자행…암호화, 다계층 인프라로 전략 고도화

[아이티데일리] 암호화폐 거래소 ‘바이비트(Bybit)’가 해킹으로 40만 개 이상의 이더리움(ETH)을 탈취당했다. 바이비트가 입은 피해가 15억 달러(약 2조 1,577억 원)로 추산되는 가운데, 이번 사이버공격의 배후로 북한과 연계된 해킹 조직 ‘라자루스(Lazarus)’가 꼽히고 있다. 역대 최대 규모의 암호화폐 해킹 사건의 전말, 그리고 라자루스의 그간 행적과 공격 유형을 살펴본다.

구글 제미나이로 생성한 이미지
구글 제미나이로 생성한 이미지

해킹으로 송금 과정에서 암호화폐 탈취

바이비트는 지난달 21일(현지 시각) 자사 X(구 트위터) 계정을 통해 이더리움 콜드 월렛(Cold Wallet)이 해킹돼 15억 달러 상당의 이더리움이 도난당했다고 발표했다. 이번 사건은 2021년 폴리 네트워크(6억 1,100만 달러), 2022년 로닌 네트워크(6억 2,500만 달러) 등 지금까지의 암호화폐 거래소 해킹 사건 규모를 넘어서는 역대 최대 규모의 암호화폐 도난 사건이다.

회사는 이더리움 콜드 월렛이 웜 월렛(Warm Wallet)으로 이체를 실행하는 과정에서 승인되지 않은 활동을 감지했다. 이 거래는 서명 인터페이스를 마스킹해 올바른 주소를 표시하는 동시에, 기본 스마트 계약 논리를 변경하는 정교한 공격으로 조작됐다. 이를 통해 해당 콜드 월렛을 제어하고 보유 자산을 미확인 주소로 전송할 수 있었다.

콜드 월렛은 오프라인에서도 사용할 수 있는 암호화폐 지갑이며, 핫 월렛(Hot Wallet)은 온라인 상태로 실시간 거래가 가능한 암호화폐 지갑이다. 웜 월렛은 이 둘의 장점을 결합한 중간 단계의 지갑으로, 핫 월렛보다 안전하면서도 콜드 월렛보다 접근이 용이하다. 해커들은 주로 지갑 사이에서 자금이 이동하는 순간을 공략한다.


배후로 추정되는 北 해킹 조직 ‘라자루스’

블록체인 사이버보안 기업 엘립틱(Elliptic)은 도난당한 암호화폐 자산의 세탁 등 여러 요인을 분석한 결과를 근거로 이번 사건을 북한과 연계된 라자루스 그룹이 주도했다고 추정했다.

라자루스는 2009년 첫 등장해 악명을 떨치고 있는 사이버공격 그룹으로, 북한 정부의 지원을 받는 조직으로 알려져 있다. 이들은 전 세계 여러 기업과 기관을 표적으로 삼아 왔는데, 특히 암호화폐를 해킹으로 탈취하며 많은 이들에게 손해를 입혔다.

이에 대한민국, 미국, 일본 3국 관계 당국은 지난 1월 공동성명을 내고 2024년 발생한 6억 6천만 달러(약 9,600억 원) 상당의 암호화폐 탈취 사건이 북한 소행이라고 지목한 바 있다.

실제로 해외에서는 암호화폐를 목적으로 해킹을 시도한 정황이 여러 차례 포착됐다. 비트디펜더에 따르면, 라자루스는 소셜미디어 플랫폼 ‘링크드인(Linkedin)’에 가짜 구인 공고를 올려 피해자를 유인한 후 악성 스크립트를 유포했다.

이 스크립트는 웹브라우저에 접근해 사용자 로그인 데이터와 암호화폐 지갑에 관련된 확장 프로그램 정보를 빼내는 데 쓰였다. 이후 공격자들은 스크립트를 바탕으로 백도어(Backdoor)와 키로거(Keylogger)를 추가 설치해 암호화폐를 목적으로 데이터 탈취를 지속했다.

라자루스로 인한 피해 사례는 국내에서도 발견되고 있다. 대표적으로 2021년 라자루스는 법원행정처 전산망에 악성코드를 심어 총 1,014기가바이트(GB)에 달하는 자료를 외부 유출했다. 경찰이 복원된 파일 4.7GB를 분석한 결과, 주민등록번호를 포함한 17,998명의 개인정보가 확인됐다.


악성코드 레지스트리 값에 숨겨 유포

한국인터넷진흥원(KISA)은 지난해 신고된 국내 주요 침해사고를 분석하는 과정에서 라자루스 소행으로 보이는 악성코드를 다수 발견해 분석을 진행했다. 악성코드는 크게 동작 방식에 따라 4가지 유형으로 나뉘었으며 그 결과를 ‘2024년 하반기 사이버 위협 동향 보고서’를 통해 공유했다.

첫 번째는 ‘MachineGuid’ 값을 검증하는 악성코드였다. 지난해 7월 초 IT 기업 A사 사고에서 발견된 해당 악성코드는 보안장비 탐지 우회를 위해 윈도우(Windows) 운영체제의 ‘DLL 사이드 로딩(DLL Side-Loading)’ 기법을 사용했다. 이는 정상 실행 파일(EXE)과 DLL 파일을 동일 경로에 생성한 뒤 EXE를 실행해 악성 DLL을 불러들이거나, 정상 서비스를 통해 System32 경로에 생성된 악성 DLL을 로드하는 방식으로 쓰였다.

MachineGuid 값을 검증하는 악성코드 동작 방식 (사진=한국인터넷진흥원)
MachineGuid 값을 검증하는 악성코드 동작 방식 (사진=한국인터넷진흥원)

DLL 파일은 로더(Loader)형 악성코드로 129메가바이트(MB)의 비정상적으로 큰 파일 크기를 가졌으며, 특정 조건이 충족될 때만 동작했다. MachineGuid 레지스트리 값을 검증 후 악성코드 내부에 은닉한 바이너리를 AES-128로 복호화, 2차 로더 파일을 생성하고 메모리에서 실행시켰다.

두 번째는 공격자가 수동으로 다운로드한 경우였다. IT 기업 A사 사고에서는 공격자가 실제 단말에 원격 접속해 수동으로 악성코드를 다운로드하고 실행한 사례도 포착됐다. 이 악성코드는 다른 라자루스 악성코드와 달리 서비스 전용으로 설계되지 않아 ‘서비스 타임아웃(Service Timeout)’ 문제가 발생한 이벤트 로그를 확인했다.

세 번째는 레지스트리 및 특정 경로에 숨겨진 스카우트(SCOUT) 악성코드를 복호화하고 메모리에서 실행하는 방식이었다. 스카우트는 라자루스가 과거부터 사용해 온 ‘다운로더(Downloader)’로, 초기 침투 후 추가 페이로드(Payload)를 다운로드 및 실행해 감염 시스템을 제어하는 데 쓰였다.

ADS(Alternate Data Stream) 영역을 악용한 사례도 발견됐다. ADS는 NTFS 파일 시스템에서 제공하는 기능으로, 파일에 사용되는 기본 스트림 영역 외 추가 데이터 스트림을 저장할 수 있도록 돕는다. 파일명에 ‘:’ 구분자를 사용해 연결하는데 일반적으로 앞부분만 확인되기에 숨겨진 데이터를 식별하기 어렵다. 공격자는 이를 악용해 악성 페이로드를 숨기는 데 ADS를 사용한다.


발전하는 공격 기법…“지속적인 방어 전략 필요”

라자루스는 악성코드 탐지 회피를 위해 다양한 기법을 채택해 왔다. 지난해 침해사고에서 포착된 ‘DLL 사이드 로딩’ 기법 외에 다양한 암호화 알고리즘도 사용했다. 라자루스는 AES, RC4와 같은 알고리즘으로 암호화된 악성코드 페이로드(payload)를 실행 시점에 복호화해 동작하도록 설계했다.

지난해 확인된 악성코드에서는 기존 알고리즘에 RC6를 더한 점이 확인됐다. RC6는 RC5의 발전된 버전으로 더 강력한 암호화 성능과 유연성을 제공한다. 이는 여러 알고리즘을 사용해 암호화 방식 탐지를 우회하고, 분석 난도를 더 높이려는 시도였다.

라자루스가 택한 또 다른 전략은 다계층 공격 인프라다. 악성코드 하나에 다수의 명령조종지 서버 주소를 이용하는 방식으로, 서버 하나가 차단되더라도 다른 곳을 통해 통신을 유지함으로써 공격을 지속할 수 있다. KISA는 지난해 침해사고에서 라자루스가 취약한 국내 서버 도메인을 장악, 다계층 공격 인프라를 구성한 정황을 확인했다.

이 외에도 명령조종지 서버와의 통신에서 HTTP POST 방식을 사용하며 KEY=VALUE 쌍의 형식으로 악성코드를 전송하는 방법도 확인됐다. 라자루스는 그간 두 개의 쌍으로 구조를 만들어 왔으나, 지난해 사례에서는 세 개의 쌍을 사용하거나 맨 앞에 무작위로 생성된 한 쌍을 추가하는 방식으로 전략을 고도화했다.

KISA 디지털위협대응본부 위협분석단 황찬웅 선임은 보고서를 통해 “라자루스는 기존 전략을 기반으로 기능을 계속 확장, 악성코드 감염 성공률을 높이고 있다. 단발적 조치로는 해결되지 않으며 지속적이고 정교한 방어 전략이 필요하다”면서 “현재 대응 방법이 가진 한계를 인식하고 시스템 환경에 적합한 보안 체계를 구축해야 한다”고 밝혔다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지