Hacker News 의견들
  • WinGUp 업데이트 프로그램이 공격에 악용된 사례는 공급망 공격의 전형적인 예시임
    공격자는 업데이트 채널을 신뢰하는 시스템에서 코드 실행 권한을 얻음
    특히 6개월 동안 탐지되지 않았다는 점이 우려스러움
    조직은 단계적 롤아웃과 이상 네트워크 트래픽 모니터링을, 개인은 암호학적 검증이 있는 패키지 매니저 사용을 고려해야 함

    • Windows에는 여전히 표준화된 패키지 매니저 부재가 문제임
      많은 프로그램이 광고로 가득한 웹사이트에서 다운로드되고, 각자 다른 방식으로 업데이트됨
      Microsoft Store가 이를 바꿀 기회였지만, 설계와 평판 모두 실패했음
      WinGet은 훨씬 낫지만 아직은 개발자 중심 도구 수준임
  • 나는 Notepad++를 기본 메모장 대체로 사용 중임
    네트워크 연결이 기본으로 켜져 있는 이유를 이해하지 못했음
    처음 한 일은 그걸 끄는 것이었고, 지금은 2020년 버전을 만족스럽게 사용 중임
    언젠가 필요하면 직접 수동 업데이트할 생각임

  • Notepad++는 내가 가장 좋아하는 에디터 중 하나였지만, 이번 공격 이후 IT 부서에서 사용 금지됨
    보안 점검 시 설치 여부까지 확인함

    • 신뢰가 완전히 무너졌음
      공식 블로그의 대응도 불안했고, 신뢰 회복까지 오랜 시간이 걸릴 것 같음
    • 나도 같은 생각임
      탭과 맞춤법 검사 두 가지 기능이 핵심인데, 이제 기본 Notepad도 이를 지원함
      다만 CoPilot 버튼이 생겼지만 설정에서 끌 수 있음
  • 나는 이런 이유로 많은 도구를 sandbox 환경에서 실행함
    이렇게 하면 피해가 해당 디렉터리로 제한됨
    도구가 내 클라우드 드라이브나 브라우저 쿠키에 접근할 이유는 없음

    • MacOS는 UI 논란이 많지만, 세분화된 권한 제어 측면에서는 가장 앞서 있다고 생각함
      Linux 커뮤니티는 이런 접근에 저항하지만, 결국 iOS 스타일의 샌드박스 앱이 미래임
      사용자가 앱의 행동을 통제하길 원하기 때문임
      FOSS 진영이 이를 무시하면 결국 대형 기술기업 중심으로 중앙집중화될 것임
    • 모든 앱이 기본적으로 샌드박스에서 실행되는 게 맞다고 느낌
      앱이 루트 밖으로 나가지 못하게 하고, 외부 접근은 명시적으로 허용해야 함
      MacOS의 접근 요청은 많지만, 더 세밀한 권한 제어가 필요하다고 생각함
    • 샌드박스 실행 시 인터넷 접근 차단도 중요함
      텍스트 편집기는 네트워크 연결이 필요 없으며, 편집 중인 텍스트를 외부로 유출할 수 있음
      공격자는 시스템 정보를 전송하고, temp.sh 같은 서비스로 파일을 업로드한 뒤 C2 서버와 통신함
      예시로 Cobalt Strike Beacon이 cdncheck.it[.]com과 통신하는 코드가 있음
    • Windows에서 샌드박스를 어떻게 구현하냐는 질문이 나옴
  • 이번 공격은 개발자와 사용자가 직접 검증하지 않은 코드를 점점 더 신뢰하게 되는 현상을 보여줌
    npm/pip 패키지 설치, AI 생성 코드, ‘vibe coding’ 트렌드 등에서도 같은 문제가 반복됨
    Notepad++는 단일 바이너리라 그나마 나은 사례지만, 현대 개발 환경에서는 수백 개의 의존성과 AI 코드가 얽혀 있음
    샌드박싱도 중요하지만, 진짜 문제는 코드가 할 수 있는 일과 기대하는 일의 괴리
    실행 중인 코드를 더 잘 이해할 수 있는 도구가 필요함

    • 하지만 내 경험상 신뢰는 오히려 감소하고 있음
      15년 전에는 아무도 공급망을 걱정하지 않았고, Unix 사용자들은 검증 없이 tarball을 빌드했음
    • Ken Thompson의 고전 논문 “Reflections on Trusting Trust”을 떠올림
      샌드박싱은 도움이 되지만 완벽한 해결책은 아님
      Notepad++처럼 시스템 파일 편집 권한을 가진 유틸리티는 여전히 위험함
  • 혹시 감염을 탐지하고 정리할 수 있는 공식 툴이 있는지 궁금함

    • Windows는 감염되면 디스크 초기화 후 OS 재설치가 유일한 해결책임
      악성코드는 시스템 곳곳에 숨을 수 있고, UAC 경고만으로는 막을 수 없음
    • MS Defender 오프라인 모드 실행을 권장함
  • 지금 감염된 상태라면 Malwarebytes로 탐지할 수 있는지 궁금함

    • OP 글에 침해 지표(IOC) 목록이 있음
      Rapid7 분석 글에도 동일한 내용이 있음
      원문 공지에 이 링크가 없었던 게 의외임
    • 하지만 Malwarebytes는 최근 품질 저하로 예전만큼 유용하지 않음
  • Notepad++의 디지털 서명을 어떻게 우회했는지 궁금함
    직접 다운로드해보니 유효한 코드 서명이 있었음

    • 공식 공지에 따르면, 인증서 없이 배포된 버전이 있었음
    • 업데이트 프로그램이 새 설치 파일의 인증서를 검증하지 않고 그냥 실행했음
  • 이제는 보안 취약점을 막기 위해 업데이트를 자주 해야 하지만, 공급망 공격을 피하려면 업데이트를 자제해야 하는 모순된 상황임
    어떻게 균형을 잡아야 할지 모르겠음

    • 예전에는 업데이트가 시스템을 불안정하게 만들기도 했음
      최근 Microsoft 업데이트도 신뢰성이 떨어지고, 부팅 불가 같은 문제로 인해 자동 업데이트를 끄는 사람이 늘어남
    • Dependabot의 cooldown 설정처럼 일정 지연 후 업데이트를 적용하는 로컬 패키지 매니저가 있으면 좋겠음
      관련 문서: GitHub Dependabot 옵션
    • 결국 제로데이 취약점과 공급망 공격 간의 트레이드오프
      인터넷 연결이 많은 앱은 자주 업데이트하고, 단순한 로컬 툴은 자동 업데이트를 꺼도 무방함
    • 사용 환경에 따라 다름
      인터넷 콘텐츠를 다루면 업데이트가 필수지만, 로컬 전용이라면 필요할 때만 업데이트하면 됨
      대부분은 그 중간 어딘가에 있음
  • 참고용으로 Rapid7의 분석 글이 공유됨