정보 · 테크
[소식] 클라우드 관리 도구를 악용하는 암호화폐 채굴 봇넷 악성코드

개요

최근 Trend micro 에서는 클라우드 관리 도구(IaC, Infrastructure-as-Code)를 통해 증식하여 암호화폐 채굴기를 설치하는 봇넷 악성코드에 대해 발표했습니다. 해당 악성코드는 리눅스 기반 시스템을 표적으로 하고 있으며, Tor 네트워크를 기반으로 동작합니다. 이번 뉴스레터에서는 요즘 각종 사건으로 귀추가 주목되는 암호화폐와 그를 이용한 암호화폐 채굴 악성코드(Cryptojacking malware)에 대해 이해하고, 해당 악성코드가 어떻게 클라우드와 관여하여 동작하는지 살펴봅니다.

1.png출처: internet of business

암호화폐 채굴 악성코드(Cryptojacking malware)

KISA 악성코드 은닉사이트 탐지 동향 보고서Avira Protection Labs의 악성코드 동향 보고서에 따르면 2017년부터 2020년까지 국내외를 막론하고 암호화폐 채굴 악성코드가 계속해서 증가 추세에 있다는 것을 보여줍니다. 특히 국내에서는 2021년 1월 가장 많이 발견된 악성코드 Top 1에 책정되기도 할만큼 현재까지도 지속적으로 암호화폐 채굴 악성코드가 성행하고 있다는 것을 알 수 있습니다.

정의

Cryptojacking은 해커가 피해자의 컴퓨팅 파워를 비밀리에 사용하여 암호 화폐를 채굴하는 일종의 사이버 공격입니다. Cryptojacking기법을 활용한 악성코드를 암호화폐 채굴 악성코드(Cryptojacking malware) 라고 합니다.

암호화폐 채굴?
암호화폐 채굴(mining)은 블록체인 네트워크에서 컴퓨팅 파워를 소모하여 거래내역을 기록한 블록을 생성하고 그 대가로 암호화폐를 얻는 행위를 말합니다. 예를 들어 비트코인의 경우 연산을 통해 블록의 해시(hash)값을 찾아내면 이전의 거래내역을 기록한 블록이 생성되고, 블록을 생성한 사람에게 비트코인을 지급합니다. 이렇게 해시값을 찾는 행위를 채굴이라고 합니다.

전파 방법

암호화폐 채굴 악성코드는 주로 크게 3가지 방법으로 전파됩니다.

2.png출처: varonis

  1. File-Based

    파일 기반 악성코드는 시스템에 악성코드가 파일 형태로 다운로드되고, 실행되는 형태입니다. 일반적으로 악성 이메일을 통해 첨부 파일이나 링크로 전파합니다. 사용자가 첨부 파일이나 링크를 클릭하면 악성코드가 다운로드되고, 사용자 모르게 백그라운드에서 동작합니다. 오래전부터 쓰여온 고전적인 방법이라고 할 수 있습니다.

  2. Browser-Based

    브라우저 기반 악성코드는 암호화폐를 채굴하는 악성코드가 JavaScript형태로 웹 사이트에 삽입되어 사용자의 브라우저에서 동작하게 하는 형태입니다. 사용자가 악성코드가 삽입된 웹 사이트를 방문하면, 사용자의 브라우저에서 암호화폐가 채굴됩니다. 이로 인해 사용자의 CPU자원이 사용자 본인은 전혀 모르는 상태로 채굴에 사용될 수 있습니다. 주로 Coinhive라 불리는 채굴 코드가 웹사이트에 삽입되는 악성코드로 사용됩니다. 현재는 Coinhive 사이트가 사라졌으나, 여전히 JavaScript 라이브러리를 손상시키는 공급망 공격을 통해서 발생할 수 있습니다.

  3. Cloud-Based

    클라우드 기반 악성코드는 클라우드에 접근 가능한 경우, 클라우드 리소스를 이용하여 악성코드를 실행하는 형태입니다. 공개적으로 접근 가능한 클라우드나 컨테이너 환경을 악용하여 해당 인프라에서 악성코드를 실행합니다. 클라우드 기반 악성코드는 위의 두 가지 방법과는 다르게 웜(Worm)과 같이 동작하여 봇넷을 이루는 경우가 많습니다. 감염된 클라우드가 또 다른 클라우드 서비스나 개인 컴퓨터를 감염시키면서 점차 덩치를 키웁니다.
    이와 같은 형태의 악성코드는 현재 가장 많이 사용되고 있는 방식입니다. 여타 기업에서 클라우드와 컨테이너 환경을 장려하고 있고 지속적으로 증가 추세에 있기때문에 많은 클라우드 인프라, 서비스들이 해커들의 희생양이 되고 있습니다.

클라우드에서의 Cryptojacking

실제로 많은 기업들이 클라우드를 사용하거나 클라우드를 통해 서비스를 제공하고 있습니다. 2021년 가트너 9대 전략 기술만 보더라도 어디서나 운영가능한 분산 인프라와 클라우드를 기술 트렌드로 뽑고 있을 정도이기때문에 클라우드는 더욱 많은 서비스에 자리잡을 것입니다.

기사에 따르면 클라우드에서 가장 많이 발생하는 4대 보안 위협 중 하나가 Cryptojacking이라고 보도하고 있습니다.
3.png출처: 25% of companies affected by cloud cryptojacking - Help Net Security

이는 클라우드가 개인의 컴퓨터나 서버보다 컴퓨팅 리소스가 많아 암호화폐 채굴 악성코드에 더없이 좋은 먹잇감이 되고 있다는 방증이라고 할 수 있습니다. 실제로 암호화폐 채굴 악성코드는 우리 주변에서도 자주 발생합니다. 저희 연구원 중에도 피해가 발생하여 AWS에서 연락을 받았던 사례가 있습니다. 이처럼 클라우드에서 암호화폐 채굴 악성코드는 꽤나 많은 감염사례를 볼 수 있습니다.

이번 악성코드는?

그렇다면 이번에 소개하고자하는 악성코드는 어떤 특징을 가지고 있을까요?

앞서 알아본 암호화폐 채굴 악성코드(Cryptojacking malware)에 대한 이해를 바탕으로 이번 악성코드의 동작을 알아보고, 특히 이번 악성코드의 특징적인 부분들을 자세히 살펴보겠습니다.

Tor proxy

해당 악성코드는 C&C서버에서 동작에 필요한 바이너리를 다운받을 때 Tor(The Onion Router)를 사용합니다.

4.png
출처: Trend micro

Socks5 프로토콜을 사용하여 Web2Tor server들이 상주하는 프록시 네트워크에 접근하는데, 악성코드의 동작을 위해 다운로드 받아야하는 바이너리들이 모두 Tor 네트워크에서 호스팅됩니다. 따라서 악성코드가 C&C 서버로 직접 접근하지 않고, 프록시 네트워크로 접근하기 때문에 C&C 서버의 정보나 악성코드 제작자의 정보를 명확히 알 수 없습니다.

타 암호화폐 채굴기 및 특정 클라우드 기반 서비스 무력화

본 악성코드에서 사용하는 암호화폐 채굴기는 Monero(XMR) 암호화폐를 채굴하는 XMRig 입니다.

XMRig이란?
Monero 암호화폐를 채굴하는 채굴기로, 주로 암호화폐 채굴 악성코드에서 쓰입니다. Monero는 링서명(Ring Signatures)를 통해 보내는 이를 식별할 수 없게하고, RingCT(Ring Confidential Transactions)로 송금금액을 감추며, 끝으로 일회성 스텔스 주소를 사용하여 받는 이를 숨기기 때문에 추적이 어렵습니다. 이러한 특성으로 인해 다크웹이나 악성코드에서 많이 이용되고 있습니다.

5.png출처: Trend micro

악성코드의 바이너리에 위와 같이 XMRig가 하드코딩되어 있는 것을 확인할 수 있습니다. XMRig는 다른 암호화폐 채굴 악성코드에서도 상당히 많이 사용되고 있습니다. 그러나 여기서 독특한 점은 해당 악성코드는 다른 암호화폐 채굴기를 삭제한다는 것입니다.

6.png출처: Trend micro

위의 crontab history를 보면 다른 암호화폐 채굴기의 실행을 종료시키고 오직 해당 악성코드에서 주입한 암호화폐 채굴기만 동작하도록하여 시스템의 모든 리소스를 하나의 채굴기에 할당되도록 합니다. 이를 통해 시스템의 컴퓨팅 자원을 독차지합니다.

또한 아래와 같은 명령이 삽입되어 클라우드와 관련된 서비스나 에이전트들을 삭제합니다.

  • /usr/local/share/assist-daemon/assist_daemon –stop
  • /usr/local/share/assist-daemon/assist_daemon –delete
  • /usr/local/qcloud/monitor/barad/admin/uninstall.sh
  • /usr/local/qcloud/stargate/admin/uninstall.sh
  • /usr/local/qcloud/YunJing/uninst.sh
  • /etc/init.d/aegis uninstall
  • systemctl stop aliyunsystemctl disable aliyun

IaC를 이용한 악성코드 증식

이번 악성코드는 Cloud-Based 암호화폐 채굴 악성코드입니다. 그러나 해당 악성코드의 경우 특징적으로 웜 기반 동작을 통해 악성코드를 증식시키는 형태가 아니라 IaC(Infrastructure-as-Code)를 통해서 악성코드를 전파합니다.

IaC란?
클라우드에 동일한 환경을 배포하기 위해 사용하는 클라우드 관리 도구로, 클라우드의 인프라인 네트워크, 가상머신, 로드 밸런서 등의 버전관리를 위해 사용할 수 있습니다.
예) Ansible, Chef, Salt Stack, Terraform 등

Linux 기반 시스템을 감염시킬때 웜 기반으로 동작하는 악성코드는 흔히 있었으나 IaC를 이용한 전파는 이번이 처음입니다. IaC는 모든 인프라에 관여하는 특성이 있기 때문에 IaC를 통한 감염은 인프라 전체에 손상을 가져올 수 있습니다.

7.png출처: Trend micro

해당 악성코드는 인기있는 IaC인 Ansible, Chef, Salt Stack을 통해 전파됩니다. 감염된 시스템은 해당 IaC를 통해 배포되는 모든 클라우드 인프라에 악성코드를 전파하는 방식으로 증식합니다.

결론

이번 뉴스레터에서는 클라우드 관리 도구(IaC)를 악용하는 암호화폐 채굴 악성코드에 대해 알아보았습니다. 이 악성코드는 Tor 프록시 네트워크를 이용하여 C&C서버나 악성코드 제작자에 대한 정보를 숨기고, 타 암호화폐 채굴기와 특정 클라우드 서비스, 에이전트를 무력화 시켜며, IaC를 통해 증식하는 특징을 나타냈습니다. 이처럼 암호화폐 채굴 악성코드는 나날이 발전하고 있습니다.

뿐만 아니라 기업, 개인을 막론하고 그 이용이 증가하고 있는 클라우드에는 위와 같은 악성코드를 포함하여 다양한 보안 위협이 도사리고 있습니다. 저희 티오리는 안전한 클라우드 생태계를 위해 클라우드 보안 컨설팅 경험을 토대로 기업 클라우드 운영시 유의해야할 보안 위협과 올바른 보안 방법에 대한 강의를 준비하였습니다. 저희의 노하우가 담긴 클라우드 보안 강의는 드림핵 엔터프라이즈에서 만나보실 수 있습니다.😉


  1. https://www.boannews.com/media/view.asp?idx=96869
  2. https://www.trendmicro.com/en_us/research/21/d/tor-based-botnet-malware-targets-linux-systems-abuses-cloud-management-tools.html
  3. https://securityaffairs.co/wordpress/117155/malware/linux-botnet-emerging-techniques.html
  4. https://www.getmonero.org/resources/user-guides/mine-to-pool.html
  5. https://docs.microsoft.com/en-us/azure/devops/learn/what-is-infrastructure-as-code
  6. 악성코드_은닉사이트_탐지_동향_보고서
  7. Avira Protection Labs 2020-3분기 ~ 4분기 악성코드 동향
  8. https://www.kaspersky.com/resource-center/definitions/what-is-cryptojacking
#악성코드 #클라우드 #암호화폐 #클라우드_보안 #채굴 #암호화폐_채굴_악성코드
작성자 정보