“Genians EDR”은 사전방어·사후대응이 모두 가능합니다. 하지만 이번 문서에서는 사후 대응이라는 내용을 가진 “Genian EDR을 활용한 침해사고 분석”이라는 주제로 글을 작성하였습니다. 침해사고 대응에 대한 간단한 설명과 “Genian EDR”이 설치된 단말에 침해사고를 구현하여 분석을 진행하겠습니다.
공격자들은 기술적인 능력을 갖추고 새로운 공격 기술을 지속적으로 진화시키며, 이로 인해 침해사고의 영향력은 점점 더 심각해지고 있습니다.
이러한 공격은 기업, 정부 기관, 그리고 개인의 정보와 시스템에 대한 위협으로 이어지며, 피해는 재무적 손실, 개인 정보 유출, 업무 중단, 평판 손상 등으로 나타날 수 있습니다. 이에 대응하여 조직은 다양한 보안 대책을 중 핵심이 되는 것은 지속적인 감시와 탐지 체계를 구축하여 이상 징후를 신속하게 감지하는 것이 필수입니다.
침해사고 대응은 사건이 발생하고 이를 인지(Detected)한 상태에서 시작됩니다. SANS(Information Security Training, Certification, and Research: 정보보안 전문가들을 교육하고, 인증을 부여하며, 정보보안 연구를 수행하는 활동)에서는 침해사고 대응을 6단계로 사이클을 정의했습니다. 각 단계의 내용은 아래 표와 같습니다. 이번 문서는 “Genian EDR”을 통하여 식별, 제한, 제거 단계를 수행해보겠습니다.
단계 | 식별 단계 |
준비 단계(Preparation) | 사고 대응은 사전에 철저한 계획과 준비가 필요합니다. 이 단계에서는 조직의 보안 정책, 프로시저, 툴, 팀, 그리고 훈련 등이 포함됩니다. 대비 계획은 다양한 유형의 침해사고에 대처할 수 있도록 설계되어야 합니다. |
식별 단계(Identification) | 사고가 발생하면 빠르게 탐지하여 식별하는 것이 중요합니다. 식별은 이상 징후, 침입 탐지 시스템, 로그 분석 등을 통해 이루어집니다. |
제한 단계(Containment) | 사고가 식별되면 피해를 최소화하기 위해 침해된 시스템이나 네트워크를 격리하고 제한하는 작업이 진행됩니다. |
제거 단계(Eradication) | 사고의 근본 원인을 찾아내고 제거하는 단계입니다. 이로써 유사한 사고가 재발하지 않도록 예방할 수 있습니다. |
복구 단계(Recovery) | 사고로 인한 피해를 최소화하고 시스템을 이전 상태로 복구하는 과정입니다. |
배운 점(Lessons Learned) | 사고 대응 프로세스 후에는 발생한 일로부터 얻은 교훈과 경험을 팀과 조직 내에서 공유하고 개선하는 것이 중요합니다. |
분석에 앞서, 방법론은 신뢰성 높은 결과를 얻을 수 있고, 이를 통해 유용한 정보를 도출할 수 있습니다. “Genian EDR”을 통해 제안하는 방법은 아래와 같습니다.
- 해당 단계에서 행위를 상세 분석을 통하여 악성 행위인지 정상적인 행위인지 판단합니다. - 상세 분석을 통하여 악성 행위일 경우에는 공격자의 여러 행위 중에 탐지된 내용에 대해서 탐지된 부분 행위를 확인할 수 있습니다.
- 이상행위에서 탐지된 내용을 기준으로 “Genian EDR”에서 다양하게 수집되는 이벤트 로그들을 분석하여 이상행위 탐지 이전/이후의 내용을 상세하게 분석합니다.
- 분석을 통해 확인된 패턴을 대시보드를 통하여 분석을 진행합니다. 이 작업은 한 개의 단말이 아니라 “Genian EDR”이 설치된 모든 단말에 해당 패턴이 맵핑되면 행위를 한눈에 파악할 수 있습니다.
※ 해당 취약점, 악성코드 등은 실제로 사용된 악성 파일이며 이를 분석하고 재 정의(Customizing)하여 제작되었습니다.
바로 시나리오를 분석하면 너무 딱딱할 것 같아서 문서를 읽는 분들과 같이 분석하는 느낌을 더하기 위해서 시나리오의 배경을 입혀봤습니다. 내용은 아래와 같습니다.
이제 당신은 실제 이벤트 로그들을 분석하여 백모씨 PC를 분석하여 실제로 데이터 유출이 발생되었는지에 대한 내용과 근본적인 원인 분석을 수행하여 원인을 제거해야 합니다. |
위협 이벤트 목록을 확인해보니 침해 의심 PC(백모씨 PC)에서 이상 행위가 2개 존재합니다.
침해 의심 PC에서 2차 피해가 발생되지 않도록 격리를 시킵니다.
“powershell.exe” 프로세스를 분석을 진행해보겠습니다. “powershell.exe” 프로세스는 “cmd.exe" 프로세스에 의해 실행되었으며 아래와 같은 커맨드 라인으로 실행되었습니다. 커맨드라인을 확인하면 한눈에 봐도 사람이 이해할 수 없는 내용입니다. 이는 스크립트의 내용이 난독화되었기 때문입니다. 난독화된 스크립트를 분석하기 위해서는 크게 2개의 방법이 존재합니다.
“방법 2”인 “Genian EDR”을 통하여 행위 분석을 진행해 보겠습니다. 난독화가 되어있어도 궁극적으로 행위는 같기 때문입니다.
“powershell.exe” 프로세스는 “192.168.85.131” IP와 통신을 수행하는데 여기서 키워드는 알려진 포트(Well-Know Port) 21번 FTP 포트입니다.
해석: 파워쉘 프로세스를 통하여 “192.168.85.131” IP와 FTP 통신을 수행하였으나 실패하였습니다.
파일 이벤트를 확인해보면, "secret" 단어가 포함된 파일에서 이벤트가 발생하는 패턴을 확인할 수 있습니다.
타임라인에 따라 이벤트를 확인해보면, 먼저 "sngk" 디렉터리가 생성되고, 그 안으로 "secret" 키워드가 포함된 파일들이 이동됩니다. 파일들의 이동과 디렉터리의 생성 이후, "sngk" 디렉터리는 압축되어 "sngk.zip" 파일로 만들어지며, 이 파일은 공격자의 서버로 데이터가 유출됩니다.
Genian EDR를 통해 확인한 내용을 도식화한 내용은 아래와 같습니다.
행위 분석을 통해 확인된 데이터 유출을 수행하는 “powershell.exe” 프로세스를 실행하는 주체를 확인하는 것이 중요합니다. 프로세스 연관 관계를 분석해 보면, “powershell.exe” 프로세스를 실행시킨 프로세스는 "notepad.exe" 프로세스로 확인됩니다. 이 프로세스는 네트워크 통신을 통해 이상행위로 식별되는 “notepad.exe” 프로세스와 같은 PID인 것을 확인할 수 있습니다.
이상행위로 식별된 “notepad.exe” 프로세스의 활동을 살펴보면, “172.29.48.204” IP 주소의 443포트로 지속적인 통신이 이루어진 것을 확인할 수 있습니다.
통신이 단순히 많이 이루어졌다는 점에서 그치지 않고, 해당 통신의 패턴을 확인해야 합니다. C2 서버와 통신하는 악성코드는 보안 시스템이나 네트워크 모니터링 도구에 의해 탐지되지 않도록 통신 간격을 일정하게 유지하여 통신 패턴을 자연스럽게 보이게 합니다. Genian EDR을 사용하여 통신 패턴을 분석하면, 1분 단위로 일정한 주기를 갖고 통신이 지속되는 것을 확인할 수 있습니다.
C2 통신으로 의심되는 “notepad.exe” 프로세스에 대한 정교한 분석을 대시보드를 통해 수행합니다. Genian EDR에서는 커스텀 대시보드를 활용해 다양한 쿼리로 결과 값을 확인할 수 있습니다. “notepad.exe”의 네트워크 커넥션 행위를 분석하고자 다음과 같은 쿼리를 입력했습니다
ProcName:notepad.exe AND EventSubType:"NetworkConnect"
확인 결과, 네트워크 통신뿐만 아니라 파일 생성, 프로세스 시작, 자식 프로세스 생성 등의 행위도 식별되었습니다.
먼저 파일 생성을 확인해 보면, “C:\Windows\System32\” 디렉터리에 “WindowsUpdater.dll” 파일이 생성된 것을 확인할 수 있습니다.
자식 프로세스의 실행 행위를 살펴보면, "WindowsUpdater" 서비스를 생성합니다. 생성한 "WindowsUpdater" 서비스는 앞서 만든 “WindowsUpdater.dll” 파일을 사용하도록 설정됩니다. 이 서비스는 "DcomLauncher" 서비스 그룹에 속하게 하여 실행됩니다. 이 구성은 윈도우 부팅 시 "DcomLauncher" 서비스 그룹이 실행될 때, 공격자가 설정한 "WindowsUpdater" 서비스도 함께 실행되어 시스템에 지속성을 수행합니다.
프로세스 연관 관계를 분석해보면, "explorer.exe" 프로세스를 통해 악성 "notepad.exe" 프로세스가 실행된 것을 확인할 수 있습니다. 파일 탐색기를 통한 이 실행은 RDP, 인젝션 등의 공격 방법을 의심해 볼 수 있습니다.
"explorer.exe" 프로세스는 일반적으로 많은 하위 프로세스를 실행합니다. 응용 프로그램(예: 문서 편집기)이 실행될 때 "werfault.exe" 프로세스가 활성화되었는지 여부를 확인하는 것이 중요합니다. "werfault.exe"는 Windows Error Reporting 서비스의 실행 파일로, 윈도우 운영 체제에서 응용 프로그램이나 시스템 오류 발생 시 자동으로 실행됩니다. "werfault.exe"의 실행 자체가 반드시 악성은 아니지만, 오류가 발생했을 때의 활동을 모니터링하여 의심스러운 징후를 파악할 수 있습니다.
"explorer.exe" 프로세스 하위에서 실행된 프로세스 중 "hwp.exe" 프로세스에서 "WerFault.exe"가 실행된 것을 확인할 수 있습니다. 이는 한글 편집기 프로세스가 비정상적으로 종료될 가능성이 높음을 나타내며, 이를 통해 해당 프로세스를 문제가 있을 가능성이 있는 프로세스로 간주할 수 있습니다.
하위 프로세스를 살펴본 결과, "hwp.exe" 프로세스에는 "HncCommTCP.exe"와 "HimTrayIcon.exe"가 연결되어 있으며, 이들은 한컴 업체의 전자 서명이 확인된 프로세스입니다. 반면에 "gbb.exe"와 "gswin32c.exe"는 전자 서명이 없습니다. 이 두 프로세스는 PostScript 스크립트를 해석하는 인터프리팅 역할을 합니다.
해시 값을 조회한 결과, "gbb.exe"와 "gswin32c.exe" 파일 자체는 악성이 아닌 것으로 확인되었으나, 공격자들은 이러한 정상적인 프로그램의 취약점을 이용해 원격 코드 실행 공격을 수행할 수 있습니다. 이와 관련된 다수의 취약점 관련 글을 확인할 수 있으며, 이는 해당 프로그램이 어떻게 악용될 수 있는지를 보여줍니다.
한글 문서를 열람한 후, "explorer" 프로세스가 "192.168.242.131" IP 주소의 80 포트와 지속적으로 통신하는 것을 확인했습니다. 이 통신은 "notepad.exe" 프로세스에서 확인된 통신 주기 패턴이 동일합니다.
그렇다면 어떤 한글 문서를 통해 "gbb.exe"와 "gswin32c.exe" 프로세스의 취약점이 공격되었는지 확인하기 위해 해당 문서의 커맨드라인을 검토하면 문서를 식별할 수 있습니다.
해당 문서가 어떻게 생성되었는지 이벤트 쿼리를 통해 조사해본 결과, 네이버 메일을 통해 해당 악성 문서가 다운로드된 것을 확인할 수 있습니다.
근본적인 원인은 한글 문서에서 사용되는 고스트스크립트 프로세스("gbb.exe", "gswin32c.exe")의 취약점을 통해 "explorer.exe"와 "notepad.exe" 프로세스에 인젝션이 이루어지고, 이를 통해 시스템의 지속성이 유지되며 “powershell.exe” 프로세스를 통한 데이터 탈취가 발생했습니다. 이러한 근본 원인을 식별함으로써, 확인된 보안 결함이 재발되지 않기 위해 오피스 프로그램의 업데이트와 보안 조치를 수행할 수 있습니다.
이번 시나리오에서는 위협 분석 시 생략된 부분이 많습니다. "notepad.exe" 프로세스가 "system32" 디렉터리에 파일을 생성할 때 권한 상승이 이루어졌음을 확인할 수 있습니다. 또한, Genian EDR은 프로세스의 상태를 포함한 다양한 정보를 수집하므로 해당 프로세스가 어떤 Integrity level로 실행되었는지 확인하여 권한 상승 내용을 유추하여 분석할 수 있습니다. 이러한 내용은 엔드포인트에 대한 이해가 필요한 분석 기법이지만, 최근에는 ChatGPT와 같은 많은 AI가 발전되었습니다. 앞으로 기회가 되면 이러한 부분을 ChatGPT를 활용하여 분석하는 문서를 작성해보겠습니다.
위협 분석이나 침해사고 조사 중에 모든 이상 징후가 반드시 실제 위협이 되지는 않습니다. 때로는 완전히 정상적인 활동이 의심스럽게 보일 수도 있습니다. 이런 상황이 발생했을 때 실망할 필요는 없습니다. 오히려 이를 기회로 삼아 우리 조직의 일상적인 활동과 패턴을 더 잘 이해하게 되며, 그 과정에서 조직의 보안 환경에 대한 깊이 있는 이해를 얻을 수 있습니다. 이렇게 이해도가 높아지면, 앞으로 조직을 보호할 수 있는 보다 효과적인 방법을 개발하는 데 큰 도움이 됩니다.
Genian EDR을 사용하여 분석해본 결과, 몇 가지 중요한 장점이 두드러졌습니다. 우선, 별도의 로그 수집 과정 없이 실시간으로 저장되는 데이터를 기반으로 한 분석이 가능하다는 것입니다. 이는 분석을 더욱 신속하고 효율적으로 만들며, 정보의 정확성을 크게 향상시킵니다. 또한, 프로세스의 행위가 휘발성 정보임에도 불구하고, 이러한 데이터를 실시간으로 연관 관계와 행위에 따라 도식화하여 분석하기 용이하게 하는 점도 큰 강점입니다.
Genian EDR을 통한 분석의 또 다른 주요 이점은 커스텀 대시보드와 다양한 이벤트 쿼리 기능을 통해 사용자가 필요로 하는 특정 데이터를 집중적으로 분석할 수 있는 유연성을 제공한다는 것입니다. 이 기능은 보안 전문가가 다양한 보안 상황에 신속하고 정확하게 대응할 수 있도록 도와줍니다.
결론적으로, Genian EDR 사용은 신속한 감지와 분석을 가능하게 하여, 보안 관리의 효율을 크게 개선하고 조직의 보안 수준을 향상시키는 데 크게 기여합니다.
지니언스 컨설팅부에서 고객사에서 발생되는 악성코드/위협 분석을 담당하고 있습니다.