윈도우에서 가장 널리 사용되는 텍스트 편집기 중 하나인 Notepad++가 심각한 보안 취약점을 패치하기 위해 버전 8.8.9를 출시했습니다. 이 취약점을 통해 공격자는 업데이트 프로세스를 탈취하여 악성 업데이트 파일을 사용자에게 배포할 수 있었습니다.
사용자들이 의심스러운 업데이트 동작을 발견했습니다
이 문제는 Notepad++ 커뮤니티 포럼의 한 사용자가 Notepad++의 업데이트 프로그램인 WinGUp이 시스템의 임시 폴더에서 AutoUpdater.exe 라는 의심스러운 파일을 실행하는 것을 발견하면서 알려졌습니다. 이 파일은 시스템 정찰 명령을 조용히 실행하여 실행 중인 작업, 네트워크 정보, 사용자 데이터와 같은 시스템 세부 정보를 수집하고 그 결과를 a.txt 라는 파일에 저장했습니다.
잠시 후, 악성 프로그램은 curl 명령어를 사용하여 해당 데이터를 temp.sh라는 서비스 에 업로드했는데, 이 서비스는 과거 악성 프로그램 공격에 사용된 파일을 호스팅하는 것으로 알려져 있습니다.
이러한 행위는 WinGUp이 그러한 데이터를 수집하지 않고 일반 Windows curl.exe 프로그램도 사용하지 않기 때문에 의심스러운 신호였습니다. 이로 인해 사용자들은 가짜 Notepad++ 설치 파일이 다운로드되었거나 프로그램 업데이트 트래픽이 탈취되었을 가능성을 의심하게 되었습니다.
보안 연구원이 여러 사건들을 연관시켰다고 밝혔다.
얼마 지나지 않아 추가 보고서가 나왔는데, 이번에는 보안 전문가 케빈 보몬트가 동아시아의 세 개 조직으로부터 노트패드++ 프로세스에서 비롯된 유사한 침해 사고를 겪었다는 제보를 받았다는 내용이었습니다.
보몬트에 따르면, 각 사례에서 Notepad++ 프로세스가 위협 행위자들이 네트워크 내부에서 직접적인 활동을 수행하는 진입점 역할을 한 것으로 보입니다.
공격 방식은 다음과 같습니다.
Notepad++는 최신 버전과 해당 최신 설치 프로그램 다운로드 링크가 포함된 XML 데이터를 반환하는 URL에 주기적으로 접속하여 업데이트를 확인합니다. 공격자가 이 트래픽을 가로채서 XML의 <Location> 태그를 수정하면, 업데이트 프로그램은 공격자가 선택한 임의의 위치에서 파일을 가져오게 됩니다.
연구원들은 공격자들이 Notepad++의 업데이트 트래픽을 가로채서 정상적인 다운로드 링크를 악성 링크로 바꿔치기했다고 보고 있습니다. 이러한 공격이 가능했던 이유는 WinGUp의 이전 버전에서는 파일 서명이나 인증서를 검증하지 않았기 때문입니다. 결과적으로 악성 설치 프로그램은 정상 업데이트로 인식되어 경고 없이 실행되었습니다.
보몬트는 대규모 해킹은 어렵지만, 특정 지역이나 산업, 또는 ISP를 대상으로 하는 표적 도청은 충분히 가능하다고 지적했습니다.
Notepad++의 답변
이 문제를 해결하기 위해 Notepad++ 개발자 Don Ho는 다음과 같은 버전을 출시했습니다.
- 11월 18일에 출시된 버전 8.8.8 은 업데이트 다운로드를 GitHub에서만 하도록 강제하여 악성 리디렉션에 노출될 가능성을 줄입니다.
- 12월 9일에 출시된 버전 8.8.9 에서는 이제 모든 설치 프로그램의 디지털 서명과 인증서를 검증합니다.
파일이 변조되었거나 공식적으로 서명되지 않은 경우 업데이트는 즉시 차단됩니다.
"이번 릴리스부터 Notepad++ 및 WinGUp은 업데이트 과정에서 다운로드된 설치 프로그램의 서명 및 인증서를 확인하도록 보안이 강화되었습니다. 확인에 실패하면 업데이트가 중단됩니다."라고 Notepad 8.8.9 보안 공지에서 설명합니다.
트래픽 하이재킹의 정확한 방법은 아직 조사 중이지만, 사용자들은 즉시 8.8.9 버전으로 업그레이드하고 비공식 출처에서 설치 프로그램을 다운로드하지 않도록 권고됩니다.
사용자가 해야 할 일
이번 취약점의 심각성을 고려하여 Notepad++ 사용자는 즉시 8.8.9 버전으로 업그레이드할 것을 강력히 권장합니다. 이전 버전은 여전히 취약하며, 내장된 업데이트 프로그램은 악성 다운로드를 안정적으로 감지하지 못합니다.
가장 안전한 방법은 최신 버전을 다운로드하는 것입니다. 최신 버전에는 버그 수정 및 개선 사항이 포함되어 있으며, 모든 업데이트는 Notepad++ 공식 웹사이트와 GitHub 저장소에서 확인할 수 있습니다.
댓글