1P by GN⁺ 3시간전 | ★ favorite | 댓글 1개
  • Notepad++ 공식 웹사이트 업데이트 트래픽이 공격자 서버로 리디렉션된 보안 침해 사건이 발생
  • 공격은 호스팅 제공업체 인프라 수준의 침해를 통해 이루어졌으며, Notepad++ 코드 자체의 취약점은 아님
  • 2025년 6월부터 12월 2일까지 공격이 지속되었으며, 여러 보안 연구자들은 중국 정부 지원 해킹 그룹의 소행으로 평가
  • 공격자는 업데이트 검증 절차가 미흡한 구버전 Notepad++ 을 노려 악성 업데이트를 배포
  • 이후 웹사이트 이전, 인증서·서명 검증 강화, XML 서명 도입 등으로 보안이 강화됨

사건 개요

  • 보안 공지(v8.8.9 발표) 이후 외부 전문가 및 이전 호스팅 제공업체와의 협력으로 조사가 진행됨
  • 분석 결과, 공격자는 notepad-plus-plus.org로 향하는 업데이트 트래픽을 가로채고 리디렉션할 수 있는 인프라 수준의 침해를 수행
  • 침해는 Notepad++ 코드가 아닌 호스팅 제공업체 서버에서 발생
  • 특정 사용자의 트래픽만 선별적으로 공격자 서버로 리디렉션되어 악성 업데이트 매니페스트를 제공

공격 시기 및 배후

  • 공격은 2025년 6월부터 시작
  • 여러 독립 보안 연구자들이 중국 정부 지원 해킹 그룹으로 추정
  • 공격이 매우 제한적이고 선택적으로 수행된 점이 특징

호스팅 제공업체의 조사 결과

  • 제공업체는 2025년 9월 2일까지 서버가 침해되었음을 확인
    • 해당 날짜에 커널 및 펌웨어 업데이트가 이루어졌으며, 이후 로그에서 유사한 패턴이 사라짐
  • 공격자는 12월 2일까지 내부 서비스 자격 증명을 유지하여 트래픽 일부를 리디렉션 가능
  • 로그 분석 결과, 다른 고객은 공격 대상이 아니었으며 Notepad++ 도메인만 표적
  • 12월 2일 이후에는
    • 취약점 수정 및 자격 증명 교체 완료
    • 다른 서버에서 유사한 침해 흔적 없음
  • 고객에게 SSH, FTP/SFTP, MySQL 비밀번호 변경 및 WordPress 관리자 계정 점검을 권고

요약(TL;DR)

  • 공유 호스팅 서버는 2025년 9월 2일까지 침해, 이후 공격자는 12월 2일까지 내부 자격 증명 유지
  • 공격자는 Notepad++ 업데이트 검증 취약점을 악용해 악성 업데이트를 배포
  • 12월 2일 이후 모든 보안 강화 조치 완료, 추가 공격 차단

대응 및 보안 강화

  • Notepad++ 웹사이트를 보안 수준이 높은 새 호스팅 제공업체로 이전
  • Notepad++ 내부 업데이트 도구 WinGup은 v8.8.9부터
    • 다운로드된 설치 파일의 인증서 및 서명 검증 기능 추가
    • 업데이트 서버의 XML 응답에 XMLDSig 서명 적용
    • v8.9.2부터 인증서·서명 검증이 강제 적용 예정
  • 사용자는 v8.9.1 버전 수동 설치를 권장

추가 정보 및 조사 한계

  • 침해 지표(Indicator of Compromise, IoC) 는 확보되지 않음
    • 약 400GB의 서버 로그를 분석했으나 바이너리 해시, 도메인, IP 등 구체적 IoC 없음
    • 호스팅 제공업체에도 IoC 요청했으나 제공받지 못함
  • Rapid7의 Ivan Feigl이 별도의 조사 결과를 공유했으며, 보다 구체적인 IoC를 보유하고 있음

결론

  • 공격은 호스팅 인프라 침해를 통한 표적 업데이트 조작 형태
  • 보안 강화 및 서버 이전으로 문제는 해결된 상태
  • Notepad++는 향후 업데이트 검증 체계 강화를 통해 유사 공격 방지를 추진 중
Hacker News 의견들
  • 나는 프로그램이 실제로 필요하지 않으면 인터넷 접근을 차단하는 방화벽 습관 덕분에 이런 문제에서 꽤 안전하다고 생각함
    텍스트 에디터가 인터넷에 접근할 이유는 전혀 없음
    업데이트는 winget으로만 하고, 대부분 GitHub에서 설치 파일을 가져옴. 패키지 변경은 PR을 통해서만 가능하다고 알고 있음. 완벽하진 않지만 꽤 신뢰함

    • 업데이트 확인이나 플러그인 다운로드 같은 경우는 예외적으로 인터넷 접근이 필요하다고 생각함
    • macOS에서는 Little Snitch가 아주 유용함. 어떤 IP나 도메인에 연결되는지 즉시 알려주고, 허용·차단·규칙 설정을 쉽게 할 수 있음
    • 어떤 방화벽 소프트웨어를 쓰는지 궁금함. 나도 이제는 방화벽을 써야겠다는 생각이 듦
  • 업데이트를 미뤄서 아직 8.5.8 버전을 쓰고 있는데, 결과적으로 더 안전한 상황이 된 건가 하는 생각이 듦
    감염된 업데이트를 받은 사람들에게 실제로 어떤 일이 일어났는지 구체적인 정보가 있었으면 좋겠음
    설치된 Notepad++ 파일의 체크섬을 검증하는 도구가 있다면 도움이 될 듯함
    게다가 공지문에 오타가 많아서, 혹시 국가 지원 해커가 쓴 게 아닌가 하는 의심도 듦. 새 버전이 오히려 악성일 가능성은 없을까?

    • 대학 시절 교수들이 버그 있는 과제를 내주던 게 떠오름. 그래서 나는 항상 다른 사람들이 먼저 시도해보고 괜찮다고 할 때까지 기다렸음
      친구들이 먼저 업데이트를 시험해보고, 그 결과를 신뢰하는 web of trust 시스템이 있었으면 좋겠음
    • 최신 버전이 항상 더 안전하다고 생각하지 않음. 알려진 취약점이 없는 한, 오래된 버전이 오히려 안정적일 때가 많음
    • Notepad++ 공식 사이트에 따르면 사건은 2025년 6월부터 시작됨
      8.8.1 이하 버전은 안전하다고 함. GitHub에 각 버전의 SHA256 체크섬이 공개되어 있음
    • 오래된 버전이 항상 나쁜 건 아님. 업데이트가 오히려 품질을 떨어뜨릴 수도 있음
      자동 업데이트를 켜는 것보다 코드를 직접 검토하는 게 더 중요함
    • 인터넷과 직접 연결되지 않는 앱(메일, 브라우저, OS 등)을 제외하고는 자동 업데이트를 꺼둠
      무작위 앱이 악성 업데이트로 감염될 확률이 훨씬 높다고 생각함. 가끔 수동으로만 업데이트함
  • Chocolatey를 사용한 덕분에 이번 공격을 피할 수 있었음
    유지자가 SHA256 체크섬을 하드코딩해두었고, WinGuP를 전혀 사용하지 않음

  • 이런 상황에서 패키지 매니저의 장점이 드러남
    업데이트 서버의 취약점이나 체크섬 검증 여부를 알 수 없기 때문에, 자체 업데이트 기능은 신뢰하지 않음
    대신 choco update notepadpluspluswinget upgrade Notepad++.Notepad++로 관리함

  • 아마 이 사건은 Notepad++의 대만 관련 공지와 관련이 있을 듯함

    • Notepad++는 예전부터 정치적 메시지를 업데이트에 포함시켜왔음. 대만, 우크라이나 등과 관련된 입장을 밝힌 적이 있음
    • 예전에 Free Uyghur Edition도 있었음. 그때 GitHub 이슈가 중국어로 도배되었던 기억이 있음
    • 이번 공격은 개발자가 아니라 특정 사용자 집단을 노린 것으로 보임
    • 오픈소스 프로젝트 문서에 정치적 논의를 넣는 건 적절하지 않다고 생각함. 저자의 자유이긴 하지만 프로젝트에 해가 될 수도 있음
    • 중국 본토가 대만을 강제로 통합하려는 태도는 문제라고 생각함
      하지만 소프트웨어는 정치와 분리되어야 한다고 봄. 정치적 목표에 동의하더라도 코드에 섞는 건 불필요함
  • 소규모 팀이 유지하는 범용 툴은 언제나 걱정됨
    일부 설치본만 해킹돼도 공급망 공격으로 수많은 기업이 위험해짐

    • macOS 사용자라면 Little Snitch를 꼭 써야 한다고 생각함
      WiresharkBurp Suite 같은 도구로 트래픽을 직접 분석할 수도 있음
      이런 방화벽은 Windows나 Linux에서도 가능함
    • 자동 업데이트 기능이 보안적으로 불안함. 제대로 구현하려면 많은 엔지니어링 노력이 필요한데, 대부분의 회사가 그렇게 하지 않음
    • 대기업이라고 해서 이런 공격에서 면역된 건 아님. 방심하면 똑같이 당함
  • 특정 사용자의 트래픽이 공격자 서버로 리디렉션되어 악성 업데이트 매니페스트를 받았다고 함
    어떤 사용자가 표적이 되었는지 궁금하지만, 글에서는 중국 정부 지원 해커로 추정된다고만 언급됨

    • 아마 대학, 기업, 정부 기관의 IP가 주요 타깃이었을 것 같음
    • 일부 구버전 Notepad++의 업데이트 검증 절차가 미흡해서, 특정 사용자만 취약했을 가능성도 있음
    • 누가 서버를 해킹했는지는 모르겠음. 결국 “국가 행위자”로 돌리면 아무도 검증하지 않음
  • 표적 시스템이 실제로 어떻게 침해되었는지 궁금함

    • 자세한 내용은 Heise 기사DoublePulsar 분석에 있음
      8.8.7 이전 버전은 자가 서명 인증서를 사용했고, 그 키가 GitHub에 노출되어 있었음
      공격은 아시아 지역의 일부 사용자만 표적으로 삼은 수동 침입형 공격이었음
      호스팅 업체 탓만 하기보다는 개발자도 책임이 있다고 봄
    • 공급망 공격은 정말 무섭다고 느낌. 나도 Notepad++에서 민감한 파일을 자주 여는데, 혹시 유출된 건 아닐까 걱정됨
    • 아마도 업데이트를 통해 백도어를 심고 감시나 데이터 탈취를 시도했을 가능성이 큼
    • 여전히 누가 표적이었는지 명확하지 않음. 공식 발표가 너무 모호함
  • 결국 “그럼 나는 Notepad++을 어떻게 해야 하나?”라는 질문이 남음

    • 패키지 매니저를 사용했다면 이번 공격에는 영향을 받지 않았을 가능성이 높음. 다만 설치 파일 자체가 감염되면 여전히 위험함
    • 대안으로는 KDE의 Kate를 추천함. Chocolatey로 설치 가능함
    • 개인적으로는 Gedit도 과소평가된 좋은 선택이라고 생각함
  • 나는 새 소프트웨어를 설치하자마자 업데이트 확인 기능을 꺼버림
    이런 공격이 드물더라도, 업데이트 요청이 내 컴퓨터의 지문과 위치 정보를 노출시킨다고 생각함

    • 정말 이해가 안 됨. 원격 코드 실행 취약점은 결국 “소프트웨어가 원격에서 코드를 가져와 실행하도록 허용”할 때 생김
    • 물론 Room 641A 같은 감시 수준이라면, 아무리 조심해도 완벽히 피하기는 어려움
      위협 모델링을 통해 현실적인 수준의 보안을 유지하는 게 중요함
    • 그렇다면 반대로, 업데이트를 안 해서 생기는 취약점 노출은 어떻게 관리하느냐는 문제도 남음