리플, XRPL 노드 긴급 패치…매니페스트 플러드 차단

작성일

리플, XRPL 매니페스트 플러드 결함에 3.2.1 긴급 패치 배포
검증자 미확인 매니페스트 무제한 수용 문제, 4중 상한으로 차단

리플, XRPL 노드 긴급 패치…매니페스트 플러드 차단 / AI 생성 일러스트(삽화)
리플, XRPL 노드 긴급 패치…매니페스트 플러드 차단 / AI 생성 일러스트(삽화)

리플(Ripple) 엔지니어링 이사 비제이 칸나(Vijay Khanna)가 XRP 레저(XRPL) 노드 운영자들에게 xrpld 3.2.1 버전으로 즉시 업그레이드할 것을 당부했다. 7월 31일(현지시각) XRPL 네트워크에서 검증자 매니페스트(validator manifest) 플러드가 관측됐고, 이를 막는 긴급 패치가 3.2.1에 담겼다. crypto.news에 따르면 칸나는 8월 2일(현지시각) 이 같은 업데이트를 촉구했다. 원장은 사건 기간에도 정상적으로 마감을 이어갔고, 자금 손실이나 거래 조작, 합의 실패로 이어진 사례는 확인되지 않았다.

매니페스트 플러드란 무엇인가

검증자는 두 개의 신원을 가진다. 안정적인 마스터 키(master key)와, 매일 검증 메시지에 서명하는 데 쓰이는 교체 가능한 임시 키(ephemeral key)다. 매니페스트는 마스터 키로 서명해 이 두 신원을 연결하는 문서다. 검증자가 임시 키를 교체할 때마다 새 매니페스트를 발행해 다른 노드들이 변경 사실을 검증할 수 있게 한다.

패치 전에는 노드가 등록되지 않은 미확인 검증자 키와 연계된, 구조적으로 올바르고 암호학적으로 유효한 매니페스트를 무제한으로 수용·저장·재전파했다. 공격자가 다수의 미확인 신원을 만들어 이 매니페스트를 퍼뜨리면 주변 노드들은 메모리, 저장공간, 대역폭, 처리 능력을 소모하게 된다. XRP 레저 파운데이션(XRP Ledger Foundation)은 이 결함이 매니페스트 전파(propagation) 방식과 관련된 문제라고 설명했다. 7월 31일(현지시각) 실제로 이 같은 플러드가 XRPL 네트워크에서 포착됐다.

4중 방어 장치로 완성된 xrpld 3.2.1 / AI 생성 이미지
4중 방어 장치로 완성된 xrpld 3.2.1 / AI 생성 이미지

4중 방어 장치로 완성된 xrpld 3.2.1

xrpld 3.2.1 공식 릴리스는 7월 31일(현지시각)자로 명시됐고, 서명된 최신 릴리스로는 8월 1일(현지시각) 초 공개됐다. 13개 파일에 걸친 6건의 커밋이 포함됐고, 이 중 4건이 미확인 매니페스트 처리를 직접 제한하는 내용이다.

첫째, 크기 상한이다. 예상보다 큰 단일 매니페스트는 노드가 완전히 디코딩하기 전에 거부한다. 둘째, 수신 상한이다. 한 네트워크 메시지에 담긴 미확인 매니페스트 수를 제한하며, 상한을 넘는 배치는 피어 연결을 끊지 않고 그대로 폐기한다. 이는 패치를 아직 적용하지 않은 구버전 노드와도 연결을 유지하도록 돕는다. 셋째, 송신 상한이다. 새로운 피어에게 보내는 대량 매니페스트 인사(bulk manifest greeting) 데이터도 이제 상한이 걸린다. 넷째, 캐시 상한이다. 미확인 키를 100개까지만 캐시에 보관하고, 그 이상 새로운 키가 들어오면 거부한다.

여기에 더해 미확인 키에서 온 매니페스트는 더 이상 디스크에 영구 저장되지 않는다. 재부팅을 거치면 플러드가 남긴 흔적이 사라지는 구조다. 등록된 신뢰 검증자의 매니페스트는 이번 제한과 무관하게 그대로 유지돼, 정상적인 키 교체 절차는 영향받지 않는다.

노드 운영자 필수 대응… 재부팅 두 번이 핵심

칸나는 자신의 소셜미디어 계정에 “XRPL 노드 운영자들에게. 3.2.1로 최대한 빨리 업그레이드해달라. 매니페스트 플러드 공격을 막는 핫픽스가 담겨 있다”고 밝혔다. 권장 절차는 세 단계다. 우선 평소처럼 3.2.1로 업데이트한다. 이후 1~2분을 기다려 xrpld가 정상 구동 중인지 확인한다. 마지막으로 xrpld를 한 번 더 재시작해야 한다.

두 번째 재시작이 중요한 이유는 패치 이전에 이미 미확인 매니페스트를 받아 저장해둔 노드들 때문이다. 업데이트는 앞으로의 처리 방식을 바꾸지만, 이전에 쌓인 메모리 내 데이터나 저장된 정보가 계속 영향을 줄 수 있어 재시작으로 이를 정리해야 한다는 설명이다. 아울러 운영자는 자신의 시스템이 리플의 현재 패키지 서명용 GPG 키를 신뢰하고 있는지도 확인해야 한다. 릴리스 노트에 따르면 리플은 2월 18일 xrpld 패키지 서명에 쓰는 GPG 키를 교체했다. 교체된 키를 아직 신뢰 목록에 반영하지 않은 설치본은 자동 업그레이드를 받지 못할 수 있다.

이번 업데이트는 일반 XRP 보유자가 아니라 인프라 운영 주체를 대상으로 한다. 이용자는 XRP를 이동시키거나 지갑 키를 바꾸거나 새 계정을 만들 필요가 없다. 대신 거래소, 커스터디 업체, 지갑 백엔드, 데이터 제공업체, 자체 XRPL 서버를 운영하는 기업들이 노드 버전과 재시작 상태를 점검해야 한다.

사후 보고서는 아직… 확산 범위는 안갯속

XRP 레저 운영팀(XRP Ledger Operations)은 기술적인 사후 분석(post-mortem) 보고서가 곧 나올 것이라고 밝혔다. crypto.news 보도 시점인 8월 2일(현지시각)까지는 해당 보고서가 공개되지 않아, 공격을 시도한 주체가 누구인지, 전송된 매니페스트 규모가 얼마나 됐는지, 영향을 받은 노드들의 정확한 리소스 사용량은 아직 드러나지 않은 상태다. 개발진은 이번 사건과 관련한 CVE(공통취약점식별자) 번호나 금전적 피해 추정치도 별도로 공개하지 않았다.

앞으로 나올 보고서는 개발진이 이상 활동을 처음 감지한 시점, 실제로 접속이 끊긴 노드가 있었는지, 운영자들이 3.2.1을 얼마나 빠르게 적용했는지도 밝혀줄 것으로 보인다. 원장 자체는 계속 정상적으로 마감됐지만, 패치 적용이 느린 개별 서버는 여전히 재차 공격에 노출될 수 있다는 우려도 남는다.

이번 핫픽스는 XRPL의 더 큰 규모 업그레이드였던 3.2.0 배포 이후 얼마 지나지 않아 나왔다. 6월 15일 배포된 3.2.0은 기준 서버 명칭을 rippled에서 xrpld로 바꾸고, 운영자들이 소프트웨어와 서비스 설정을 업데이트해야 하는 인프라 변경을 도입한 바 있다. 3.2.0은 처음에는 검증자들 사이에서 더 넓은 노드 네트워크보다 빠르게 확산됐던 것으로 알려졌다. 이번 매니페스트 플러드 사건은 아직 3.2.0에 머물러 있는 운영자들이 핫픽스까지 함께 적용해야 할 이유를 하나 더 더했다.