보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

[특집] 코로나 19(COVID-19)과 악성코드 2 – 재택근무자를 노리는 악성코드

2020.08.24

35,662


 

 

 

01. 개요

 

코로나 바이러스(COVID-19)로 인해 전세계적으로 비대면 근무체계가 확산되면서 재택근무가 새로운 근무환경의 패러다임으로 자리잡게 되었다. 대표적인 소셜 네트워크 기업인 트위터(Twitter)는 현지시각 기준으로 5월 12일 잭 도시 트위터 최고경영자(CEO)가 전 직원에게 보낸 이메일을 통해서 코로나가 종식되어도 재택근무를 원하는 직원들은 무기한 재택근무를 할 수 있도록 하겠다는 계획을 발표했다. 코로나 바이러스 사태 초기부터 재택근무를 정착시킨 구글, 아마존, 페이스북 등 직원들의 재택근무를 연말까지 연장할 계획을 앞다투어 발표하면서 IT기업을 중심으로 재택근무가 뉴노멀(New Normal)로 자리잡고 있다.

 

지정된 공간에서 대면접촉을 통해 업무를 수행하던 근무환경은 회사에서 지급한 자산을 통해 기업의 정보보안 거버넌스 체계하에 제한된 네트워크 통신 및 보안 프로그램 설치를 통해서 운영 및 관리되어 왔다. 기업 내 조직 및 업무 수행을 위해서 소프트웨어 저작권자로부터 일정한 범위와 조건 안에서 소프트웨어를 사용할 수 있도록 허락 받는 소프트웨어 라이선스(Software License)는 제품종류 및 서비스 형태에 따라서 정책이 상이하기 때문에 소프트웨어 라이선스로 인한 분쟁 및 비용문제 등으로 인하여 일반적으로 기업 내에서 일괄 관리를 수행하고 있다.

 

하지만 재택근무를 수행하면서 회사에서 지급한 자산이 아닌 개인소유의 자산을 사용하거나 IT 부서에서 승인되지 않은 서비스 구매 및 불법적 소프트웨어 사용으로 인하여 IT 관리부서나 책임자가 파악하지 못하는 쉐도우 IT(Shadow IT)가 증가하게 된다. 이러한 쉐도우 IT의 증가는 IT 부서의 관리비용 증가 뿐만 아니라 새로운 보안 위협요인으로 자리잡게 된다. 특히 정상적 경로가 아닌 비정상적인 경로를 통해 설치되는 한컴오피스, 마이크로소프트 오피스 등의 상용 소프트웨어를 사용함에 따른 문제는 단순히 개인의 보안 문제를 넘어 기업 및 기관의 데이터 손실이나 중요정보 유출로 연결될 가능성이 높아진다는 데 있다.

 

재택근무자는 P2P, 검색엔진을 통해 미승인된 상용 소프트웨어의 설치로 정상 상용 소프트웨어인지 악성코드가 포함되어 있는 소프트웨어인지 확인되지 않은 채 설치함으로써 APT 공격의 단초를 제공할 수 있게 된다. 재택근무가 증가되는 시점에 공격자들 역시 이러한 점을 이용하여 상용 소프트웨어로 위장하여 정식 배포판 소프트웨어 내에 악성코드를 심어두거나 크랙(Crack) 등을 통해 불법 프로그램 등을 숨겨놓는 공격이 지속되고 있다. 

 

비대면 근무체계의 확산으로 재택근무가 활성화 되면서 4월에 배포한 코로나 19(COVID-19)와 악성코드

특집에서는 ‘악성메일과 악성코드’를 주로 다뤘다면 2탄에서는 ‘재택근무자를 노리는 악성코드’에 대해서 살펴보고자 한다. 

 

02. 공격 유형

 

컴퓨터 시스템을 효율적으로 운영하기 위해 개발된 프로그램을 총칭하는 소프트웨어는 공통기능, 종류, 분야를 기반으로 소프트웨어의 종류를 분류할 수 있다.

 

 

[표 1] 소프트웨어 종류 분류 현황

 

[표 1]의 소프트웨어 종류를 기반으로 재택근무자의 근무 환경에 영향을 주는 악성코드를 VirusTotal, Maltego, Shodan 등 OSINT(Open Source Intelligence Tools) 환경 및 자체 수집된 악성코드의 TTP(tactics techniques and procedures)기법을 통해 분석해본 결과 2가지 형태의 공격유형으로 분류할 수 있다.

 


[표 2] OSINT환경에서 수집된 소프트웨어 기반 악성코드 유형 분류

 

[표 2]의 OSINT환경에서 수집된 소프트웨어 기반 악성코드 유형 분류에 따른 결과를 정리하면 다음과 같다.

 

1. 문서 편집 프로그램은 다양한 공격 유형의 대상으로 확인

2. 정상 파일로 위장하기 위해 정상파일 + 악성코드 삽입 유형을 많이 사용

3. 인증 우회가 목적인 라이선스 우회 프로그램은 대다수 상용 프로그램을 타깃으로 이용

 

위 내용을 바탕으로 △ 문서 편집 프로그램을 이용한 공격, △ 정상파일에 악성코드가 삽입된 공격, △ 라이선스 우회 프로그램을 이용한 공격의 형태에 대해서 보다 상세하게 분석해보고자 한다.

 

1) 문서 편집 프로그램으로 위장한 악성코드 

 

재택근무 사용자를 공격하기 하기 위한 가장 쉬운 방법 중에 하나가 업무 수행을 위한 공통 소프트웨어라고 할 수 있는 문서 편집기 소프트웨어를 활용하여 공격하는 방식이다. 일반적으로 문서 편집 소프트웨어는 한컴오피스, 마이크로소프트 오피스 등의 프로그램이 존재하게 된다.

 

재택근무자가 기업자산으로 배포된 IT자산 이외의 환경에서 업무를 수행하기 위해서는 단연 문서 편집기 소프트웨어가 필요하게 된다. 이런 경우 일반적으로 접근이 손쉬운 검색엔진의 검색결과를 통해서 공식 사이트를 통해 다운로드 받을 수도 있으나 로그인이나 별도의 인증과정이 필요한 경우 블로그나 P2P사이트를 통해서 설치 프로그램을 다운로드 받는 경우도 있다. 사용자의 이러한 행동 패턴을 이용하여 공격자가 악의적으로 제작한 사이트를 검색결과 최상단에 정상 사이트인 것처럼 등재하여 악성코드 유포지로 리다이렉트 시키는 방식은 가장 일반적인 공격방식이라고 할 수 있다.

 

이러한 공격방식이 2019년 랜섬웨어 시장을 떠들썩 하게 만들었던 GandCrab V5의 유포 방식에서 사용된 패턴이다. 위장된 페이지를 클릭한 사용자들은 악성코드 유포지에 리다이렉트되면서 파일을 다운로드 받게 되고 사용자 PC에 설치된 랜섬웨어가 실행되면서 GandCrab에 감염되는 방식이다. 현재에도 검색엔진을 이용한 공격방식은 자주 사용되기 때문에 유포된 악성코드 유형을 통해서 공격유형에 대해 보다 자세하게 살펴보고자 한다.

 


[그림 1] GandCrab V5 랜섬웨어 유포/감염 경로(출처 : 한국랜섬웨어침해대응센터)

 

[표 3]과 같은 문서 작성 프로그램으로 위장한 파일들의 분석결과 파일명은 보통 Microsoft Office, 한컴오피스가 자주 보이며 외부 C2에서 파일 다운로드 시도 확인된다. 이어지는 분석 내용은 위에서 언급한 Gandcrab과 유포 방식이 유사한 1번 샘플을 이용하여 분석하였다.

 


[표 3] 문서 작성 프로그램으로 위장한 샘플 파일 정보

 

악성코드 유포지에서 다운로드 받은 파일은 압축파일이며 내부에 js파일이 존재한다. 해당 파일은 코드 분석을 어렵게 하기 위해 자바스크립트 코드를 난독화 하였다.

 


[그림 2] GandCrab V5 랜섬웨어 감염 방식과 유사한 파일

 

난독화 되어 있는 코드 복호화 진행하였으며 최초 실행 시 바탕화면에 xjwrcr 이름의 디렉토리를 생성 한다.

 

 

[그림 3] 바탕화면에 디렉토리 생성 시도

 

외부 C2 3곳과 통신을 시도하며 200 응답 및 특정 문자열 존재 시 응답값의 데이터로 파일 생성 후 스크립트를 종료한다. 조건에 맞지 않을 경우 다음 C2와 통신을 시도한다.

 


[그림 4] C2로 통신 시도 및 응답값을 이용한 파일 생성시도

 

통신 내역 확인 시 C2에서 200 응답은 확인되나 response_body 값이 비어있어 생성되는 파일은 없었다. 이로 인해 추가적으로 다운로드 되는 파일의 행위는 확인이 불가능하다. 만약, 해당 C2가 살아있어 정상적인 데이터가 수신되었다면 어떤 행위를 하는 악성코드일지 장담하기 어렵다.

 

 

[그림 5] C2와 통신 내역 중 응답값

 

2) 정식 프로그램으로 위장한 악성코드 

 

근무자는 재택근무 상황에서 추가적으로 업무에 필요한 소프트웨어를 다운받기 위해 검색을 시도한다. 직무, 업무 환경에 따른 다양한 조건에서 근무할 것이고 그에 따른 수많은 프로그램이 존재한다. 그렇기에 공격자는 보통 사용자가 가장 많이 사용하거나 특수한 상황에 필요한 프로그램을 노릴 것이다.

 

최근 새롭게 공격 대상으로 떠오르고 있는 프로그램은 Zoom을 비롯한 원격회의 프로그램이다. 재택근무의 활성화로 인해 대면접촉을 통해 업무 수행 시 회사 내부에서 진행되던 각종 회의를 온라인으로 진행해야 하는 필요성이 생겨났다. 이로 인해 재택근무자간 회의를 진행하기 위해 필요한 원격회의 프로그램의 수요가 폭발적으로 늘어났다. Zoom의 경우 2월 대비 3월 서비스 이용률이  300% 이상 증가하였다. Google Meet의 경우 매일 200만 명의 신규 사용자를 확보하고 있으며 1월부터 서비스 이용률은 매일 60%씩 증가하고 있다고 밝혔다.

 

이러한 점을 노려 공격자들은 원격회의 프로그램 및 정식 프로그램에 악성코드를 숨겨 유포하거나 정상파일처럼 위장하여 악성코드를 실행시키도록 하는 방식이 가장 일반적인 공격방식이라고 할 수 있다.

 

[표 4]의 샘플 파일 3종 분석 결과 정상 설치파일이 실행되면서 암호화폐 채굴을 시도하는 것으로 확인된다. 이어지는 분석 내용은 암호화폐 채굴 및 다양한 행위를 하는 3번 샘플 (MD5 : B98DFBA096DDC4BFB6484DE553CC740D)을 이용하여 상세하게 분석 하려고 한다. 어떠한 과정을 거쳐 사용자 몰래 암호화폐 채굴 프로그램이 설치 되었는지 알아보자. 

 


[표 4] 정식 프로그램으로 위장한 샘플 파일 정보

 

최초 파일은 ZIP 확장자 파일로 압축 해제 시 3개의 파일이 존재한다. 실행파일은 Autoit 스크립트를 이용하여 제작된 exe 실행파일로 확인된다. 2개의 bak 파일은 실행파일 동작 시 스크립트에 의해 실제 설치 파일 실행 및 악성 파일 드랍에 사용된다.

 

 

[그림 6] 샘플 정보 및 실행 시 행위

 

 

data.bin 파일은 [그림 7]의 스크립트에 의해 repack.exe로 파일명이 변경 후 실행된다. 해당 파일은 실제 설치 파일로 확인된다.

 

 

[그림 7] 정상 설치 프로그램 실행

 

data.0.bin 파일은 [그림 6]에서 패스워드 값을 넘겨받아 실행된다. SFX 스크립트 내용 확인되며 Update.exe 파일을 C:ProgramDataSetup 폴더에 압축 해제 후 해당 파일을 실행 하도록 한다.

 

 

[그림 8] 공격자가 삽입한 악성코드

 

update.exe는 h.bat, taskhost.exe, taskhostw.exe를 드랍 후 특정 서비스 실행/종료/삭제, 방화벽 설정, 권한 설정을 통한 특정 폴더 접근금지 등의 행위를 진행한다. taskhost.exe, taskhostw.exe 파일을 로그온 및 매분 마다 실행하도록 작업 스케줄러에 등록한다.

 


[그림 9] 방화벽 등록, 서비스 실행, 폴더 권한변경, 작업 스케줄러 등록

 

taskhost.exe는 h.bat를 실행한다. 특정 도메인으로 접근 시도를 막기 위해 hosts 파일을 변조한다.

 

 

[그림 10] hosts 파일 변조

 

taskhostw.exe 실행 시 C2와의 통신으로 접속 IP/ID/PW 획득 후 FTP로 접근하며 암호화된 파일 1종을 다운로드 시도한다. 암호화된 파일인 X32CPU.CRP가 다운로드 되며 복호화 과정을 거쳐 microsofthost.exe로 저장한다.

 

 

[그림 11] C2 통신을 통한 추가 파일 다운로드 시도

 

C2에서 받은 데이터를 이용하여 암호화폐 채굴 작업을 위해 microsofthost.exe를 실행한다. 

 

 

[그림 12] 암호화폐 채굴 관련 명령어

 

taskhostw.exe는 [그림 9]에서 2분마다 실행되는 예약된 작업으로 등록된 상태이다. 내부 코드 확인 시 시스템 모니터링 프로그램을 실행하면 채굴을 중단한다. 또한, 작업 관리자와 같은 모니터링 프로그램을 강제로 종료시킨다.

 

 

[그림 13] 악성코드가 등록한 예약된 작업 리스트

 

winlogon.exe 파일이 실행되며 예약된 작업 리스트를 질의하여 작업 이름에 Microsoft 문자열이 포함되어 있지 않은 작업을 예약된 작업 리스트에서 삭제한다.

 

 

[그림 14] 특정 서비스 삭제시도

 

3) 라이선스 우회 프로그램에 숨겨진 악성코드 

 

외부에 존재하는 크랙(crack), 키젠(keygen) 등의 라이선스 우회 프로그램은 정식 프로그램의 시리얼 키 인증, 복제 방지 기술을 무력화 하는 기능을 가져 불법 프로그램으로 취급한다. 상용 소프트웨어를 사용하기 위해서는 합당한 비용을 지불하고 사용하는 것이 일반적이다. 하지만 비용을 지불하지 않고 사용하고 싶은 사람도 있기 마련이다. 또한, 사용자마다 사용하고 싶은 버전이 다르기에 크랙, 키젠 등의 라이선스 우회 프로그램은 보통 버전 별로 존재하는 경우가 많다.

 

라이선스 우회 프로그램은 대부분 안티바이러스 소프트웨어(antivirus software)에서 탐지/삭제되기 때문에 최초 실행 전 실시간 검사 중단 등의 탐지/삭제 기능을 무력화하는 옵션을 사용자가 설정하도록 한다. 이로 인해 해당 옵션을 사용한 PC가 악성코드에 감염되어도 안티바이러스 소프트웨어는 탐지하지 못하기 때문에 재택근무자가 악성코드에 감염되었는지 확인하기 힘들다.

 

공격자는 크랙, 키젠 사용을 위해 안티바이러스 소프트웨어 기능을 무력화하는 옵션 사용을 권장한다는 점과 사용자가 라이선스 우회 기능을 쓰기 위해 다운로드를 하는 것을 알고 라이선스 우회 프로그램에 악성코드를 심어 사용자가 모르게 설치가 되도록 시도하는 방식을 선호한다. 

 

[표 5]의 샘플 3종 분석결과 모두 정보유출형 악성코드를 심어 외부로 유포시켰다. 6/18일 보안뉴스 기사인 「 돈 아끼려 불법 SW 쓰다가 ‘개인정보’ 탈취된다」 의 보도에서 언급한 공격과 유사한 행위를 하는 3번 샘플(MD5 : 07efa4b79227b94e0ac1973fa06af428)을 이용하여 악성코드에 의해서 수집된 정보가 무엇인지 그리고 어떻게 유출되는지에 대해서 알아보자.

 

 

[표 5] 라이선스 우회 프로그램 샘플 파일 정보

 

setup.exe 파일은 일반적인 exe 파일처럼 보이나 실제로는 SFX 스크립트를 가진 압축 파일로 확인된다. 패스워드 입력 이후 압축이 해제됨과 동시에 스크립트에 의해 공격자가 탑재한 악성코드 (terra.exe)가 먼저 실행된다. 

 


[그림 15] setup.exe 내부에 존재하는 파일과 SFX 스크립트

 

 

 

 

외부 C2와의 통신을 통해 악성코드가 향후 사용할 것으로 예측되는 DLL 6종을 ProgramData 디렉토리에 저장한다. 하지만 [그림 16]에서 처럼 수신되는 데이터 및 실제 저장된 파일 내용 확인 시 DLL 내용이 아닌 웹 페이지 내용으로 되어있어 실제 사용은 불가능할 것으로 보인다.

 

 

[그림 16] C2로 dll 파일 요청, 응답값을 저장된 파일과 비교

 

 

[표 6] 요청한 dll 목록

 

C:ProgramData[문자/숫자 랜덤 25자리] 이름의 디렉토리를 생성한다. 

 

 

[그림 17] 특정 경로에 폴더 생성 시도

 

각종 브라우저의 사용자 정보 및 계정 탈취를 시도하며 작업 완료 시 이전에 다운로드 받은 dll 6종을 삭제한다. 추가적으로 다양한 종류의 사용자 PC 정보 수집을 시도한다.

 

 

[그림 18] 브라우저 정보 탈취 시도 및 DLL 삭제

 

 

[그림 19] 사용자 PC 정보 수집 시도

 

[그림 18], [그림 19]에서 수집된 정보는 C:ProgramData[문자/숫자 랜덤 25자리]files에 각각 txt 파일로 저장한다.

 

 

[그림 20] 수집된 사용자 PC 정보

 

C:ProgramData[문자/숫자 랜덤 25자리] 디렉토리 내부의 데이터를 압축을 진행한다. C2서버에 POST 요청으로 수집한 정보, 압축된 데이터를 전송한 뒤 [그림 17] 에서 생성된 디렉토리를 삭제한다.

 

 

[그림 21] 외부 C2로 전송

 

03. 대응방안

 

지금까지 코로나19(COVID-19)로 발발된 비대면 근무체계에서 재택근무자의 근무환경을 위협하는 공격방식에 대해서 살펴보았다. 다양한 정보를 분석해본 결과 결국 체계가 변경되었다고 해서 공격의 패러다임이 이전에는 보지 못했던 방식은 아니라는 점이다. 과거에도 지속적으로 사용했던 공격방식이지만 재택근무자를 특수성과 맞물려 공격의 피해 및 영향도가 더 커질 수 있다는 점이다.

 

결국 이러한 재택근무환경에서는 사용자 개개인의 보안의식함양이 그 어느 때보다 중요하다. 단순히 업무에 필요한 소프트웨어라고 할지라도 공식 사이트 및 인가된 소프트웨어가 아닌 경우에는 설치 및 사용시 각별한 주의가 필요하다. 이번 호에서는 지난 4월호의 ‘코로나19(COVID-19)와 악성코드’에서 언급한 대응방안 이외에 재택근무자를 노리는 악성코드에 맞는 좀 더 다양한 대응방안을 제시해보고자 한다.

 

1. 소프트웨어 라이선스를 구매 후 사용

크랙이나 키젠 등 불법 프로그램을 다운로드 시 앞서 언급된 사례와 같이 PC 정보가 탈취되거나 심한경우 랜섬웨어에 감염되어 중요데이터를 모두 복구할 수 없게 된다. 따라서 유료 소프트웨어 사용시에는 정상적인 구매절차를 통해 소프트웨어 라이선스를 사용하거나 경우에 따라서는 Trial버전 사용을 권고한다.

 

2. 정식으로 배포하는 경로에서 다운로드

소프트웨어를 제공하는 공식사이트를 이용해서 설치하는 경우에는 불법적으로 조작이나 변조된 소프트웨어를 사용할 확률은 제로에 가깝다. 하지만 공식사이트 이외에 사설사이트나 P2P등 공격자의 조작한 소프트웨어를 다운로드 받을 수 있는 환경이라고 한다면 소프트웨어의 안전성을 보장할 수 없게 된다.

 

그렇게 때문에 소프트웨어를 사용하는 경우에는 공식사이트를 통해서 다운로드 받거나 검색엔진을 통해서 공식사이트 이외의 환경에서 다운로드 받는 경우에는 사이트의 정상여부 및 악성코드 유포지 사용여부 등에 대해서 확인 후 사용하는 것이 2차 피해를 막을 수 있는 방법이다.

 

3. 채굴형 악성코드 탐지방안

채굴형 악성코드를 탐지하기 위해서는 백신 프로그램을 이용하는 방법도 있겠지만 2018년 1월 TechNote인 ‘채굴형 악성코드’에서 언급한 채굴형 악성코드만의 특징을 이용한 탐지방법도 존재한다. 채굴형 악성코드는 마이닝풀(mining pool)과 통신 시 특수한 stratum 프로토콜을 사용한다는 점을 이용하여 [표7]과 같이 stratum 프로토콜 관련 문자열이 포함된 바이너리 파일을 탐지하는 Yara Rule을 적용하거나, [표 8]의 SNORT 정책과 같이 subscribe, authorize, extranonce 트랜잭션을 탐지하여 감염여부를 파악할 수 있다. 

 

 

[표 7] 채굴형 악성코드 탐지 YARA Rule

 

 

[표 8] 채굴형 악성코드 탐지 Snort Rule

 

보안위협을 탐지하고 대응하는 입장에서 신규 채굴형 악성코드로 인해 백신 프로그램에서 탐지되지 못했다고 하더라도 보안관제 측면에서는 [표 8]의 SNORT 탐지정책을 통해 엔드포인트(Endpoint)에서 발생되는 채굴 관련 네트워크 통신을 탐지 및 대응하는데 있어 용이할 것이다.

 

04. 참고자료

 

https://www.rancert.com/bbs/bbs.php?mode=view&id=97&bbs_id=case&page=1

https://www.cnet.com/news/googles-video-chat-service-adds-2-million-new-users-a-day-amid-coronavirus/

https://www.boannews.com/media/view.asp?idx=89060