라이트닝 교체 순환 공격 공개
사건표준Lightning replacement cycling attack disclosure
다른 이름 Lightning replacement cycling attack disclosure · All your mempool are belong to us · CVE-2023-40231 · Lightning replacement cycling · replacement cycling attack · 교체 순환 공격 · 라이트닝 교체 순환 취약점 · 리플레이스먼트 사이클링 공격 · 앙투안 리아르 라이트닝 이탈
라이트닝 교체 순환 공격 공개(Lightning replacement cycling attack disclosure)는 2023년 10월 비트코인 개발자 앙투안 리아르(Antoine Riard)가 라이트닝 네트워크 결제 중계 노드의 자금을 빼낼 수 있는 '교체 순환(replacement cycling)' 공격을 전면 공개한 일이다. 공격자는 비트코인의 수수료 교체 규칙을 이용해 피해자의 HTLC 정산 거래를 멤풀에서 거듭 밀어낸다. 주요 라이트닝 구현체들은 비공개 통보를 받고 미리 완화책을 넣었지만, 리아르는 근본 해결이 아니라며 직후 라이트닝 개발에서 손을 뗀다고 밝혔다.
1.공격 원리#
비트코인 노드는 수수료를 더 낸 거래가 오면 멤풀에 있던 기존 거래를 교체한다. 비트코인 옵테크 뉴스레터는 이를 이용한 교체 순환을 이렇게 설명했다. 공격자 맬러리가 피해자 밥과 함께 통제하는 출력을 밥이 쓰려 하면, 맬러리는 자기 입력을 하나 더 붙인 거래로 밥의 거래를 교체한다. 이어 공유 출력을 빼고 자기 입력만 쓰는 거래로 다시 교체하면, 밥의 거래도 맬러리의 거래도 멤풀에서 사라진다. 라이트닝에서는 이 시간이 문제가 된다. 맬러리는 자기 노드 두 개 사이에 밥을 끼워 결제를 중계하게 한 뒤, 밥이 만료된 HTLC를 돌려받으려 올린 거래를 프리이미지를 담은 거래로 교체하고 곧 다시 지운다. 밥은 제때 프리이미지를 알지 못해 앞쪽 노드에 환불해 주고, 맬러리는 나중에 프리이미지 거래를 확정시켜 뒤쪽 채널의 돈을 가져간다. 결제를 보내고 받기만 하는 이용자는 영향이 없고, 결제를 중계하는 노드만 노출된다. 거래 고정(pinning) 공격을 막으려고 설계한 v3 거래 전파 규칙으로도 막을 수 없었다.
[1][2]2.비공개 통보와 완화책#
리아르에 따르면 이 공격은 2022년 12월 이클투(eltoo) 결제 채널과 멤풀 서비스 거부 방지 규칙을 논의하던 중 발견됐다. 그는 먼저 비트코인 프로토콜과 라이트닝 구현체 개발자들에게 비공개로 알렸고, 각 팀이 몇 달에 걸쳐 완화책을 넣은 뒤 2023년 10월 중순 Bitcoin-Dev와 Lightning-Dev 메일링리스트에 전면 공개했다. 취약점에는 LDK(CVE-2023-40231), 이클레어(40232), LND(40233), 코어 라이트닝(40234) 번호가 붙었다. LND의 관련 완화책은 2023년 4월 24일 나온 v0.16.1-beta에 이미 들어 있었고, 이클레어는 v0.9.0, 코어 라이트닝은 v23.08.01에 담겼다. 완화책은 세 가지였다. 거래가 밀려나도 다시 전파하면 받아들여지므로 블록당 한 번꼴이던 재전파를 훨씬 자주 하게 했다. 이클레어와 LND는 멤풀에 잠깐 나타난 프리이미지를 감시해 챙기도록 했고, CLTV 만료 간격을 늘려 공격자가 더 오래, 더 많은 수수료를 들여야 하게 만들었다.
[3][4][5]3.리아르의 이탈과 논쟁#
리아르는 공개 글에서 주요 구현체들이 완화책을 넣었어도 숙련된 공격자에게는 여전히 실현 가능한 공격이라고 봤다. 옵테크도 완화책이 공격을 덜 실용적으로 만들 뿐 근본 문제를 없애지는 못한다고 정리했다. 리아르는 10월 20일 라이트닝과 그 구현체 개발에서 즉시 물러난다고 밝히며 라이트닝이 "위태로운 처지"에 놓였다고 말했다. 그는 "라이트닝 보안과 여기에 노출된 약 5,300 BTC에 대해 책임지는 사람으로 엮이고 싶지 않다"고도 했다. 다른 개발자들 사이에서는 실제로 실행하기 어려운 공격이라는 반론도 나왔다. 리아르는 11월 코인텔레그래프 인터뷰에서 비트코인 기반 계층에서 해법을 찾고 있다며, 라이트닝 개발자들이 벤처캐피털의 요구에 맞추느라 보안과 탈중앙성을 뒷전에 둔다고 비판했다. 옵테크는 메일링리스트에 올라온 추가 완화책과 비트코인 코어 멤풀 정책 변경 제안들을 함께 정리했다.
[6][7][8]4.연표4건
- 2022.12이정표앙투안 리아르, 교체 순환 공격 발견·비공개 통보
- 2023.04이정표4월24일 LND v0.16.1-beta에 완화책 반영
- 2023.10이정표10월 중순 메일링리스트에 전면 공개(CVE-2023-40231~40234)
- 2023.10이정표10월20일 리아르, 라이트닝 개발에서 물러난다고 발표
각주
- [1]Bitcoin Optech Newsletter #274 — bitcoinops.org · Bitcoin Optech
- [2]Disclosure: Replacement Cycling Attacks on the Lightning Network — nobsbitcoin.com · No Bullshit Bitcoin
- [3]Disclosure: Replacement Cycling Attacks on the Lightning Network — nobsbitcoin.com · No Bullshit Bitcoin
- [4]Bitcoin Optech Newsletter #273 — bitcoinops.org · Bitcoin Optech
- [5]Bitcoin Optech Newsletter #274 — bitcoinops.org · Bitcoin Optech
- [6]Lightning devs must 'wake up' and fix security bugs, not please VCs — Bitcoin dev — cointelegraph.com · Cointelegraph
- [7]Disclosure: Replacement Cycling Attacks on the Lightning Network — nobsbitcoin.com · No Bullshit Bitcoin
- [8]Bitcoin Optech Newsletter #273 — bitcoinops.org · Bitcoin Optech
이 문서가 도움이 됐나요?
토큰포스트 위키, “라이트닝 교체 순환 공격 공개”, 2026-10-24 수정, https://wiki.tokenpost.kr/w/lightning-replacement-cycling-disclosure-2023Accept: text/markdown 로 요청해도 같은 결과문단 3개 · 연표 4건 · 각주 8개