10

[소식] FireEye의 무기창고, 해커들에게 공격당하다

FireEye의 무기창고, 해커들에게 공격당하다

2020년 12월 8일, 글로벌 정보보안 기업 FireEye가 정부 후원을 받는 해커 그룹으로부터 공격당해 자사의 “FireEye Red Team” 툴들을 탈취당한 사실을 발표했습니다. 해당 공격은 SolarWinds라는 기업의 솔루션을 통해 감행되었으며, SolarWinds Orion의 Update 서버를 통해 악성 파일이 전파된 것으로 드러났습니다. Solorigate 또는 Sunburst라고 불리는 이 공격은 주요 IT 기업들뿐만 아니라 미국의 여러 정부 부처까지 영향을 미친 정황이 발견되었습니다.
timeline.png

Solorigate의 공격 과정

Soloriage는 변조된 SolarWinds.Orion.Core.BusinessLayer.dll 파일을 Update 서버를 통해 배포하는 방식의 Supply Chain Attack으로 수행되었습니다. 해당 파일은 정상적인 SolarWinds의 인증서로 서명된 상태였습니다.

Sign_DLL.png
(출처: https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html)

악성 코드는 지속적인 실행을 보장하기 위해서 RefreshInternal 메소드 내부에 추가되었으며 OrionImprovementBusinessLayer.Initialize 메소드를 Thread로 생성하고 있습니다.

infected-method.png
(출처: https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/)

OrionImprovementBusinessLayer Class는 13개의 Subclass와 16개의 Method로 구성되며 정상 코드와 악성 코드가 혼합되어 있습니다. 메소드 이름은 "Backdoor"나 "KeyLogger"와 같은 이름 대신 정상적인 이름으로 위장하고 있으며, 코드의 문자열들은 Base64와 문자열 압축과 같은 간단한 난독화가 적용되어 있습니다.

Fig5-obfuscated-strings.png
(출처 : https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/)

실행된 백도어는 분석 환경에서 구동되는 것을 피하기 위해 아래와 같은 검사를 진행합니다. 만약 아래의 조건 중 하나라도 만족되지 않으면 백도어는 종료됩니다.

  1. 악성 DLL을 호스팅하는 Process가 solarwinds.businesslayerhost.exe인지 확인합니다.
  2. 악성 DLL이 쓰여진 날짜가 12 - 14일 이전인지 확인합니다.
  3. 현재 장치의 Domain이 특정 문자열이 아닌지 검사합니다.
  4. 보안 관련 소프트웨가 실행중이거나 관련 드라이버가 로드되어 있는지 검사합니다.
  5. 보안 관련 소프트웨어와 관련된 서비스들이 특정 조건을 만족하는지 확인합니다.
  6. api.solarwinds.com가 예상한 IP와 일치하는지 확인합니다.
  • 임의 시간만큼의 Delay 이후 실행

위의 조건이 만족되면, 백도어는 시스템의 기본정보를 수집한 후 C2 서버로 연결을 수행합니다.
그림2.png

접근하는 도메인 주소는 위와 같이 생성됩니다. 첫번째 부분은 장치의 정보로부터 동적으로 생성됩니다. 추가적인 규칙에 따라 URI 경로를 생성하여 최종 URL을 만들어 내며, 타켓 머신의 정보가 포함된 JSON 형식의 데이터를 C2 서버로 전송합니다.
Fig7-Data-generated-by-malware.png
(출처 : https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/)

통신이 성공하면 C2 서버는 2차 서버의 주소를 보내거나, 실행할 명령을 인코딩하여 응답하게 됩니다. 백도어는 C2서버에 명령에 따라 “시스템 정보 수집”, “파일 쓰기/삭제”, “레지스트리 읽기/쓰기/삭제” 등 다양한 명령을 수행할 수 있습니다. 전체적인 공격의 흐름은 아래와 같습니다.

Attack_Flow.png
(출처 : https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/)

결론

국가 단위의 후원을 받은 해커 그룹에 의해 다수의 공격들이 군사/정치적인 목적을 띄고 행해지고 있습니다. 스턱스 넷이나 플레임 등 기반 시설에 대한 사이버 공격은 국가 안보에 큰 위기를 가져올 수 있습니다. 이러한 침해 사고에 대비하기 위해 국가 차원에서도 전산망의 보안을 철저히 하는 것이 중요합니다. 다수의 개인을 장악한 후 이를 통해서 중요 PC로 이동하는 방식도 행해지고 있으므로 개개인의 보안의식의 중요성 역시 간과할 수 없습니다.