[ 개요 ]
한국에 살게되면 거의 누구나 은행 또는 공공기관의 온라인 웹 서비스를 이용하게 된다.
처음 이러한 웹에 접근하게 되면 (PC기준) 먼저 보안 프로그램 설치를 해야 서비스를 이용할 수 있다.
이 보안 프로그램을 설치,배포하게 해주는 통합 솔루션이 Wizvera사의 Veraport이다. 사용자가 웹 서비스 요청에 따라 Veraport를 설치하면 브라우저 플러그인, 인증서 관리 프로그램, 키보드 보안프로그램 등을 원 클릭으로 설치할 수 있다.
글로벌 보안기업 ESET의 연구원들이 최근 Lazarus 그룹이 Veraport를 공급망 공격의 기점으로 이용해 그들의 악성코드를 배포하려는 시도를 발견했다고 16일 발표했다.
공급망 공격이란, 정상 소프트웨어를 개발하여 배포하는 과정에서 취약한 업데이트 서버, 개발자 PC 등에 침투해 소프트웨어를 변조하여 악성코드를 유포하는 해킹 기법이다.
[ Lazarus’s specifics ]
= Lazarus?
북한 정찰총국의 사이버 공격 전담 부대, Microsoft에서 붙인 이름.
= Activity
- 2009 Operation Troy, 7.7 DDoS
- 2013 Operation DarkSeoul, 6.25 Cyber Terror
- 2014 Sony Pictures breach
- 2015 Operation Blockbuster
- 2017 WannyCry, Cryptocurrency Hijacking
= Another Name
- Dark Seoul, Guardians of Peace, HIDDEN COBRA, 북한 정찰총국 121국 (U.S Government)
- APT38 (FireEye)
- High Anonymous, Labyrinth Chollima (CrowdStrike)
- Black Artemis (PWC)
- New Romanic Cyber Army Team, NNPT Group, Who Am I?, Whois Team, ZINC (Microsoft)
= Using Tools
Brambul, DarkMessenger, DarkSeoul, Destover, Duuzer, HOPLIGHT, Joanap, KorHigh, LiveJinx, Volgmer
= Sub-Group
- Andariel (Military & Aerospace)
- BlueNorOff (Financial & Cryptocurrency)
= Main Target
- Military & Aerospace
- Financial & Cryptocurrency
- Tech & Engineering
[ Attack surface & Flow analysis ]
라자루스 그룹은 악성코드를 유포하기위해 Veraport의 통합 설치 방식을 악용했다. 그러나 이 방법으로 악성코드를 유포하려면 여러가지 전제조건이 필요한데 이 공격이 성공하려면 아래의 조건이 만족되어야 한다.
A. Wizvera Veraport를 사용하는 웹 사이트를 먼저 공격하여 권한을 획득해야함
B. 공격받은 웹 사이트의 Veraport로 설치되는 프로그램을 악성코드로 대체할 수 있게 설정 파일에 항목이 필요함
C. 피해자가 공격받은 웹 사이트에 접근하여 Wizvera Veraport를 설치해야함
Eset의 연구원들의 분석에 따르면 이런 공급망 공격은 Veraport의 개발사인 Wizvera가 아닌 Veraport를 사용하는 웹 사이트에서 발생했다고 한다.
WIZVERA VeraPort를 사용하는 웹 사이트에는 Veraport의 서버 구성 요소가 있는 데 Javascript와 구성 파일(웹 사이트 주소, 설치할 프로그램 목록, 다운로드 URL 및 기타 매개변수)로 되어있다. 이 중에 구성 파일은 XML 확장자 파일이며 Base64로 인코딩 되어있다.
[ Malware Analysis ]
서명 된 초기 다운로더
악성코드는 서명된 초기 다운로더로 시작되며 이는 다운로더의 바이너리는 Themida로 패킹 되어있다. 또한, 디스크에 저장되지 않고 메모리에서 다른 페이로드를 다운로드하고 암호 해독, 실행하는 역할을 수행한다. 먼저 하드 코딩된 C&C서버에 HTTP POST 요청을 보내 RC4 알고리즘의 응답을 해독하고 PE 파일 자체 로더를 사용해 메모리에서 실행한다.
드로퍼(Dropper)
드로퍼에서 코드의 난독화나 다형성을 발견할 수 없지만 세개의 암호화된 파일을 캡슐화 하고 암호화된 상태에서 세가지의 변수를 필요로 하는 console 프로그램이다.
1) Loader (Btserv.dll)
2) Downloader (bcyp655.tlb)
3) 사전 암호 해독 키 (542)
드로퍼의 두번째 역할은 자원 추출로 %WINDOWS%\SYSTEM32 폴더에 Loader를 해독하고 Downloader가 다른 프로세스에 Inject 되기전에 암호화 상태를 보존한다. 또한, 최종 페이로드에서 사용될 ‘assocnet.inf’ 파일을 내려받는다. 이후 정상적인 서비스 Winmgmt, ProfSvc, wmiApSrv를 검색하여 Downloader를 주입할 서비스를 선택하고 Downloader를 reflective DLL injection한다.
이 과정에서 registry에 loader의 파일 이름이 저장되며 아래와 같다.
‘HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages’
로더(Loader)
Themida로 보호되고 있으며 해당 Themida Version은 2.0-2.5로 추정되고 있다. 로더는 간단한 인젝터로 암호화 된 파일 이름과 해독 키인 문자열 ‘542’를 찾고, 드로퍼에서 전달 받은 인스턴스가 bcyp655.tlb 파일을 찾는다. 이후 Global\RRfreshRA_Mutex_Object 뮤텍스를 생성하며 주입할 서비스를 선택하고 주입하는 과정을 드로퍼와 동일하다.
다운로더(Downloader aka WinHttpClient)
메인 다운로더는 bcyp655.tlb이름 아래에 드로퍼 구성요소에 의해 내려받고 로더를 통해서 서비스 중 하나에 Injected 되며 해당 다운로더를 통해서 피해자에게 추가적인 공격을 수행할 수 있게된다.
다운로더는 HTTP를 기반으로 한 네트워크를 사용하고 있으나 연결을 위해서는 여러단계를 거쳐야 하며 먼저 승인의 단계를 거쳐야 하며 무작위로 생성된 일반 매개 변수 코드와 ID를 통해 시도한 결과, 으로 시작하며 세미콜론으로 구분되는 추가 데이터를 받을 수 있는 것을 확인했다고 한다.
다음 POST 요청에서 피해자의 IP를 기반으로 한 파라미터가 필요하였으며 이 과정을 거쳐 연결이 확인되면 오하요 곤방와(ohayogonbangwa)로 시작되는 해독된 응답을 받을 수 있다. 이 시점에서 많은 메세지를 교환하여 실행 파일이 메모리에 로드되도록 요청한다.
모듈, 최종 RAT Payload
라자루스 그룹에서 사용하는 전형적인 공격 도구인 RAT를 시스템에 설치하고 이후 RAT를 이용해 파일 시스템의 작업과 추가 도구를 다운로드 받고 실행할 수 있다.
[ Conclusions ]
이러한 공급망 공격에 의해서 피해 동시에 대량의 악성코드를 배포하고 피해를 확산 시킬 수 있고 정상적인 공급망을 통해 감염되기에 일반 사용자가 대응하기 어려울 수 있다. 그렇기에 다양한 공격 그룹에서도 이러한 공급망 공격에 대한 새로운 방법을 끊임없이 찾아내고 있으며 최근 몇년간 MEDoc , Elmedia Player , VestaCP , Statcounter 등 다양한 사례가 발견되고 있기에 이러한 공급망 공격에 대한 대응 방안이 필요하다.
특히 이번 Lazarus의 WIZVERA Veraport 공급망 공격은 한국 사용자를 대상으로 한 공격으로 영향도가 굉장히 크다고 보여지기에 업데이트와 피해를 받지 않았는지 신경써야 한다.
[ Effected Version ]
- Wizvera Veraport 3.8.5.0 이하
[ End-user Mitigation ]
ㅁ 설치된 Veraport 버전이 3.8.5.0 이하 버전인 경우 삭제, 추후 금융 거래 관련 사이트 및 Veraport 사용 기업 사이트에 접속하여 최신 버전으로 다운로드 및 설치
ㅁ Veraport 설치 경로
- 내 컴퓨터 → 로컬디스크(c:) → Program Files(X86) → Wizvera → Veraport20
ㅁ 설치된 Veraport 버전 확인
- Veraport 설치 위치로 이동 후, veraport.exe 파일 우클릭 → 속성 → 자세히 탭 확인 → 버전 확인
[ IoCs ]
Sha-1 of signed samples
3D311117D09F4A6AD300E471C2FB2B3C63344B1D
3ABFEC6FC3445759730789D4322B0BE73DC695C7
Sha-1 of samples
5CE3CDFB61F3097E5974F5A07CF0BD2186585776
FAC3FB1C20F2A56887BDBA892E470700C76C81BA
AA374FA424CC31D2E5EC8ECE2BA745C28CB4E1E8
E50AD1A7A30A385A9D0A2C0A483D85D906EF4A9C
DC72D464289102CAAF47EC318B6110ED6AF7E5E4
9F7B4004018229FAD8489B17F60AADB3281D6177
2A2839F69EC1BA74853B11F8A8505F7086F1C07A
8EDB488B5F280490102241B56F1A8A71EBEEF8E3
Code signing certificate serial numbers
00B7F19B13DE9BEE8A52FF365CED6F67FA
4C8DEF294478B7D59EE95C61FAE3D965
C&C
hxxp://www.ikrea.or[.]kr/main/main_board.asp
hxxp://www.fored.or[.]kr/home/board/view.php
hxxps://www.zndance[.]com/shop/post.asp
hxxp://www.cowp.or[.]kr/html/board/main.asp
hxxp://www.style1.co[.]kr/main/view.asp
hxxp://www.erpmas.co[.]kr/Member/franchise_modify.asp
hxxps://www.wowpress.co[.]kr/customer/refuse_05.asp
hxxps://www.quecue[.]kr/okproj/ex_join.asp
hxxp://www.pcdesk.co[.]kr/Freeboard/mn_board.asp
hxxp://www.gongsinet[.]kr/comm/comm_gongsi.asp
hxxp://www.goojoo[.]net/board/banner01.asp
hxxp://www.pgak[.]net/service/engine/release.asp
hxxps://www.gncaf.or[.]kr/cafe/cafe_board.asp
hxxps://www.hsbutton.co[.]kr/bbs/bbs_write.asp
hxxps://www.hstudymall.co[.]kr/easypay/web/bottom.asp
Mutexes
Global\RRfreshRA_Mutex_Object
[ Hardening Guide ]
ㅁ 인증서 및 개발 시스템(SVN, 빌드서버 등) 관리
- (시스템 망 분리) 개발 시스템은 망 분리가 이루어져야 하며, 불필요한 포트를 모두 차단
- (시스템 접근통제) 작업을 수행하는 시스템은 지정된 관리자 외 접근을 차단
- (인터넷 접속 차단) 관리 시스템은 외부 인터넷 접속을 차단하고, 관리에 필요한 포트만 화이트리스트 기반으로 관리
- (자동 로그인 금지) 시스템 계정은 자동 로그인으로 설정 금지
- (별도의 인증서 관리 시스템 유무) 코드 서명 작업을 수행하는 시스템 및 인증서 관리 시스템은 일반 업무 PC와 혼용 금지
- (인증서 사용 로그 기록 및 승인) 코드 서명을 위해 인증서 사용 시 작업 일지를 기록해야하고, 관리자의 승인 필요
- (백신 프로그램의 최신 업데이트) 백신 프로그램은 최신 업데이트를 주기적으로 수행하여 최신버전으로 유지
ㅁ 업데이트 체계 관리
- (업데이트 무결성 검증) 실행파일, 비실행파일, 업데이트 정책 파일 등 업데이트 관련 파일 무결성 검증
- (안전한 무결성 검증 기술 사용) 무결성 검증 시 CRC 등 우회가 가능한 방법 사용 금지
- (업데이트 서버 IP, URL 변조 확인) 공격자가 업데이트 설정 파일 등의 서버 주소 변조를 대비하여 변조 여부 확인
- (업데이트 클라이언트, 서버 간 상호 인증) 위장 업데이트 서버를 구축 할 경우 정상 업데이트 서버로 오인하여 업데이트를 수행할 수 있기 때문에 상호 인증 필수
- (클라이언트 원격 업데이트 포트 상시 오픈 제한) 클라이언트의 업데이트 포트가 상시 오픈 금지
- (안전한 업데이트 업로드 소프트웨어 계정 사용) 업데이트 파일 업로드 및 파일 동기화 소프트웨어의 불필요한 계정은 제거해야 하며, 안전한 패스워드를 사용
- (업데이트 파일 업로드 시 사용자 인증) 보안 업데이트 파일 업로드 시 신뢰된 사용자만 업로드 할 수 있도록 인증 방식 구현
- (업데이트 파일 코드 서명) 실행, 비실행파일 등 업데이트 관련 파일의 코드서명을 수행하며, 코드 서명에 사용한 인증서 유효기간 만료 여부 등 확인
ㅁ 침해사고 사고대응체계
- (인증서 폐기 절차 마련) 사고 발생 시 즉각적인 폐기를 위해 폐기 절차에 대한 지침 마련
- (비상연락망 구축) 사고 발생 시 신속한 대응을 위한 대응 연락망을 구축
- (로그 관리) 개발 시스템 및 인증서 관리 시스템 로그는 6개월 이상 보관하도록 설정
- (침해사고 신고 및 기술지원 요청) 사고 발생 시 한국인터넷진흥원(보호나라 또는 118상담센터)에 신고하며, 사고원인 분석 및 조치를 위한 기술지원이 필요할 경우 한국인터넷진흥원에 기술 지원 요청
[ Reference ]
- https://www.welivesecurity.com/2020/11/16/lazarus-supply-chain-attack-south-korea/
- https://www.boho.or.kr/filedownload.do?attach_file_seq=2455&attach_file_id=EpF2455.pdf
- https://ettrends.etri.re.kr/ettrends/184/0905184013/35-4_149-157.pdf
- https://www.operationblockbuster.com/wp-content/uploads/2016/02/Operation-Blockbuster-Report.pdf
- https://www.virusbulletin.com/uploads/pdf/magazine/2018/VB2018-Kalnai-Poslusny.pdf
- https://www.fireeye.com/blog/threat-research/2017/09/north-korea-interested-in-bitcoin.html
- https://unit42.paloaltonetworks.com/unit42-blockbuster-saga-continues/
- https://attack.mitre.org/groups/G0032/
- https://www.boho.or.kr/filedownload.do?attach_file_seq=2224&attach_file_id=EpF2224.pdf
보안관제센터 Team MIR