비트코인 결제 서버 BTCPay Server에서 외부에 공개된 LND API를 노린 자동화 접근이 포착됐다. 공격자는 LND가 재시작된 직후의 짧은 구간에 기존 공용 비밀번호를 이용해 관리자 권한을 확보하려 한 것으로 나타났다.
BTCPay Server는 9월 8일 보안 업데이트 공지에서 운영자가 자체 리버스 프록시 등을 통해 LND API를 다시 외부에 노출한 서버에 봇이 반복적으로 접근했다고 밝혔다. 표준 Docker 배포 환경의 LND 외부 접근은 앞선 보안 사건 이후 차단된 상태다.
공격자가 겨냥한 경로는 LND의 /lnd-rest/btc/v1/changepassword 엔드포인트다. LND는 비트코인 라이트닝 네트워크를 구현하는 소프트웨어로, 해당 경로를 통해 지갑 비밀번호를 변경할 수 있다.
LND 지갑이 잠겨 있을 때는 이 경로에 마카룬이 필요하지 않다. LND가 재시작된 뒤 내부 잠금 해제 기능이 작동하기 전까지 공격자가 과거 공용 비밀번호를 먼저 제출하면 새 비밀번호를 설정하고 관리자용 마카룬을 요청할 수 있다.
마카룬은 LND에서 관리자 권한을 증명하는 인증 토큰이다. 공격자가 이를 확보하면 LND 노드 관리 권한을 얻을 가능성이 생긴다.
위험은 모든 BTCPay Server에 동일하게 적용되지 않는다. 자체 리버스 프록시, Tor 서비스, 포트 포워딩 등으로 LND API를 직접 외부에 공개한 환경이 주요 대상이다.
BTCPay Server 2.4.4 버전은 새 LND 지갑마다 고유한 무작위 비밀번호를 생성한다. 과거 공통 기본 비밀번호를 사용한 지갑은 시작 과정에서 자동으로 비밀번호가 바뀐다.
BTCPay Server가 관리하는 표준 리버스 프록시는 인증되지 않은 지갑 설정과 잠금 해제 경로도 차단한다. 이에 따라 LND 재시작 직후 외부에서 접근할 수 있는 구간을 줄였다.
이번 조치는 앞서 실제 공격에 악용된 BTCPay Server 취약점이 수정된 2.4.2 버전 배포의 후속 대응이다. BTCPay Server는 8월 7일 보안 공지에서 2.4.2 이전 모든 버전에 존재한 취약점으로 인증되지 않은 원격 공격자가 LND의 마카룬 파일을 확보할 수 있었고, 일부 이용자의 자금이 도난당했다고 밝혔다.
BTCPay Server의 표준 온체인 지갑은 당시 취약점의 영향을 받지 않았지만, LND 자체 온체인 지갑은 영향 범위에 포함될 수 있다고 설명했다. 8월 사건과 이번 봇 활동의 공격 주체가 같은지는 확인되지 않았다.
BTCPay Server는 이번에 관찰된 봇 활동을 통한 성공적인 노드 탈취나 추가 자금 도난은 확인하지 않았다. 다만 과거 공용 비밀번호를 사용하거나 외부 접근 경로를 별도로 설정한 서버는 패치 적용과 함께 구성 점검이 필요하다.
이번 사안은 자체 호스팅 방식의 보안 책임이 운영 환경에 따라 달라질 수 있음을 보여준다. 소프트웨어 업데이트로 기본 보호 기능은 강화되지만, 운영자가 별도로 만든 네트워크 경로까지 자동으로 폐쇄되지는 않는다.
커뮤니티 게시판에서는 8월 사건 이후 LND 이용자의 지갑과 자금 상태를 점검해야 한다는 우려가 제기됐다. 반면 BTCPay Server 공식 공지는 표준 Docker 배포 환경의 외부 LND 접근이 차단돼 있다고 설명했다.
운영자는 BTCPay Server를 2.4.4로 업데이트한 뒤 자체 프록시 규칙과 외부 포트 공개 여부를 확인해야 한다. 외부에 직접 공개한 LND API는 제거하거나 관리형 접근 통제 뒤로 옮기고, 지갑 비밀번호가 변경됐는지도 점검해야 한다.
BTCPay Server는 외부 라이트닝 접근 기능을 기본 비활성화 상태에서 별도 옵션으로 복구할 예정이라고 밝혔다. 자체 설정으로 외부 접근을 허용한 운영자는 이 기능과 별개로 기존 공개 경로를 직접 정리해야 한다.

