Home / Knowledge / 좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점 1

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점 2

라이트닝 네트워크 라우팅 노드에 해결되지 않는 쓰레기 거래가 공급되면 어떤 일이 발생할까요? 간단히 말해, 이는 라우팅 노드에 많은 고통을 초래합니다. 한때 원활했던 글로벌 결제 시스템이 능숙한 스크립트 작성자의 사소한 노력으로 잠길 수 있습니다.

소규모 라우팅 노드 팀에서 우리는 실제 자금을 사용하여 공격 테스트를 성공적으로 수행하고 Joost Jager가 설명한 “그리핑” 공격을 입증했습니다. 이 공격은 자금의 절도가 아니라 피해자의 라이트닝 자금이 동결되기 때문에 그리프 공격이라고 불립니다: 큰 혼란을 초래합니다. 우리가 발견한 것은 그리핑이 비트코인에서 수익을 얻으려는 대형 “웜보” 채널에 심각한 위협이 된다는 것입니다. 그들의 자금은 일정 기간 동결됩니다. 

이것은 주로 그리프 공격입니다: 자금 손실은 없지만 피해자는 비싼 채널 강제 종료 비용을 지불해야 할 수도 있습니다. 이는 메인넷 라이트닝에서 알려진 취약점이며, 특히 비트코인 라이트닝 네트워크의 초기 시장 단계에서 이해하고 우선시해야 합니다.

이 테스트에 참여해준 Clark Burkhardt와 Phillip Sheppard에게 감사드리며, 이 취약점에 주목하고 우선순위를 두기 위해 끊임없이 노력해준 Jager에게도 감사드립니다. Jager는 우리의 시연에서 공격자의 역할을 했고, Burkhardt와 Sheppard는 연결된 피해자 라우팅 노드로 저와 함께했습니다.

공격이 작동하는 방식

공격자는 해결되지 않는 해시 타임 잠금 계약(HTLC)으로 하나(또는 여러 개)의 채널을 포화 상태로 만듭니다. 이러한 HTLC는 HODL 송장으로 알려진 특별한 종류의 HTLC입니다. 한 방향당 483개의 해결되지 않은 HTLC만 있으면 채널을 압도할 수 있습니다. 이러한 HTLC가 채널에 들어가면, 동일한 채널 방향을 사용하는 모든 거래는 불가능해지며, 해당 채널을 협력적으로 종료하는 거래도 포함됩니다.

이론적으로 공격자는 피해자에게 연락하여(아마도 키 전송 메시지나 “양파 블롭”을 통해) 공격을 중단하기 위해 몸값을 요구할 수 있습니다. 몸값이 지불되면 공격자는 해결되지 않은 결제를 제거하여 공격을 종료할 수 있습니다. 이 공격은 무기한 지속될 수 있으며, 해당 채널의 모든 라우팅 및 결제 활동을 중단시킵니다. 이는 라이트닝 채널의 자금을 동결합니다.

채널의 양쪽 방향에서 483개의 HTLC를 사용하여 결제를 지연시킬 수 있습니다.

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점 3

공격자가 이런 일을 하는 이유는 무엇인가요?

가장 먼저 떠오르는 동기는 몸값을 요구하는 것입니다. 이 공격은 피해자에게 고통을 주며, 몸값을 지불하는 것은 피해자에게 매력적일 수 있습니다. 공격자가 피해자에게 연락하는 것은 위험할 수 있지만, 몸값 지불이 유일한 이유는 아닐 수 있습니다.

그리핑 공격을 시작하는 두 번째 유인은 라우팅 경쟁을 방해하는 것입니다. 경쟁자의 경로를 방해하면 공격자가 소유한 경로에 대한 수요가 증가할 수 있습니다.

기준으로 Lightning Labs의 Loop 노드는 유동성에 대한 지속적인 수요가 있으며, 때때로 결제의 2,500ppm(0.25%) 수수료를 지불합니다. 제 경험상, 그들은 보통 약 2주 동안 1,600만 사토시의 유동성을 소진합니다(연 5.2%). 하지만 이는 경쟁이 존재할 때의 이야기입니다. 

공격자가 더 낮은 수수료율을 가진 경쟁 경로를 비활성화할 수 있다면, Loop는 더 높은 수수료율을 지불할 의향이 있을 수 있습니다(유동성 공급이 줄어들었기 때문에). Loop가 3,000ppm(0.3%)를 지불하고, 다른 채널이 작동하지 않기 때문에 유동성을 더 빨리 사용할 수 있다고 가정해봅시다. Loop는 그 유동성을 절반의 시간, 즉 1주일 안에 사용할 수 있습니다. 이 예에서 공격자는 일반적인 수익을 두 배 이상 늘려 15.6% APR을 얻을 수 있습니다. 공격자가 부담해야 할 유일한 비용은 기존 채널에서 스크립트를 실행하는 비용과 라이트닝 네트워크에 해를 끼치는 비윤리적인 행동을 하는 심리적 비용입니다. 단일 공격자 채널로 악의적인 행위자는 약 9개의 채널을 방해할 수 있습니다(이와 관련된 Jager의 트윗을 참조하세요).

이 공격의 피해자는 어떤 경험을 하게 될까요?

이 공격의 피해자는 특별한 알림을 설정하지 않는 한 공격이 발생하고 있다는 사실을 알지 못할 것입니다. Thunderhub 사용자(강력히 추천하는 도구)의 경우, 홈 화면에는 대기 중인 HTLC의 차트와 함께 채널이 483개의 대기 중인 HTLC만 보유할 수 있다는 경고가 표시됩니다.

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점 4

실제로 제 노드는 빠르게 신뢰할 수 없게 되었고 Thunderhub를 포함한 여러 앱이 충돌했습니다. Thunderhub는 문제를 알리는 유일한 앱이었습니다. 그런 다음 “Balance of Satoshis” 텔레그램 봇 덕분에 채널 종료 알림을 받았습니다. 공격을 받고 있는 채널이 스스로 강제 종료되었습니다! 이는 실험의 일부가 아니었습니다. (비자발적 강제 종료에 대한 추가 기술 정보는 아래를 참조하세요.)

좋은 그리핑: 여전히 수정이 필요한 라이트닝 네트워크의 지속적인 취약점 5

피해자가 그리핑 공격을 중단하기 위해 할 수 있는 일은 무엇인가요?

공격이 시작되면 피해자는 본질적으로 이를 중단할 수 있는 방법이 없습니다. 진행 중인 공격을 중단하기 위한 유일한 대안은 공격받고 있는 채널을 강제 종료하는 것입니다. 이는 테러리스트가 이기는 것을 의미합니다. 

부상에 소금을 뿌리는 것처럼, 채널을 강제 종료하면 해결되지 않은 결제가 온체인 거래 데이터로 전송되어 강제 종료를 시작한 사람에게 추가적인 온체인 거래를 유발합니다. 50 사토시/바이트와 483개의 온체인 거래로, 공격받고 있는 단일 채널을 강제 종료하는 데는 쉽게 100만 사토시의 비용이 발생합니다(현재 가격으로는 368달러의 채널 종료 수수료). 여러 온체인 거래는 출력이 최소 결제 “더스트” 한도를 초과할 때만 발생합니다. (테스트넷에서 이 예를 참조하세요.)

그리핑 공격을 방지하는 방법

Jager는 공격자를 격리하고 싸우기 위한 개념 증명 프로그램을 개발하고 있습니다. 그는 자신의 프로그램을 “서킷브레이커”라고 부릅니다. 서킷브레이커는 네트워크 수준에서 작동하므로 불행히도 모두가 효과적으로 참여해야 합니다.

그 외에도, 이 문제는 전담 엔지니어/개발자의 우선 순위와 주의가 필요하며, 더 나은 솔루션을 찾기 위한 논의가 필요합니다. 비트코인 Optech 뉴스레터(호 #122 또는 #126)에서는 프로토콜 수정에 대한 좋은 논의가 있었습니다.

이 공격은 오늘날 실행될 수 있습니다. 이미 악의적으로 사용되지 않은 것은 기적입니다. 이는 오늘날 라이트닝을 사용하는 사람들에게 개방적이고 보편적인 결제 네트워크가 되기 위한 유인책을 반영합니다. 이 문제로 인해 실제 피해가 발생하기 전에 이 게시물을 공유하여 더 많은 작업을 장려하고 영감을 주시기 바랍니다.

비자발적 강제 종료에 대한 추가 기술 정보

다음은 위에서 언급한 비자발적 강제 종료가 발생했을 때 LND 0.11을 실행 중인 제 노드의 로그입니다:

2020-11-26 21:24:47.374 [ERR] HSWC: ChannelLink(657759:561:0): failing link: ChannelPoint (c37bec006b18df172698a84739ca47128935e0a8666fecd1a843e49b01db207c:0): received error from peer: chan_id=7c20db019be443a8d1ec6f66a8e035891247ca3947a8982617df186b00ec7bc3, err=rejected commitment: commit_height=455, invalid_commit_sig=3044022076fd65191eb6305b723fa6012be378413b6326e2786c38db58b4c02e1f3999d202207605ca31de8b4c5b1d9cd20dc1581dfa2383e0b4e06c8ad4f718ab5c434d8cf5, commit_tx=02000000017c20db019be443a8d1ec6f66a8e035891247ca3947a8982617df186b00ec7bc300000000008a792e8002210d0000000000002200201031cf10a1efef261edd3d0a1a6a953b27bc25bd7150bb2b07afdc69805e02157213000000000000160014de650929042bef58b71783ae1a44834a902a8f2d542ca720, sig_hash=4e0fb804c74376020e4c44a60969b9206eb0aaa9a89b76017d60f23ad5cf63e5 with error: remote error

로그에는 LND에서 알려진 문제인 “invalid_commit_sig”가 표시됩니다. 이는 재연결 시 발생할 수 있으며 채널 방해의 직접적인 결과는 아닙니다. 대기 중인 HTLC의 양이 불행히도 발생 가능성을 높입니다. Jager는 이 과정을 채널 방해 –> 끝없는 결제 루프(버그) –> 노드 다운 –> 재연결 –> 유효하지 않은 커밋 서명(버그) –> 채널 강제 종료로 설명하는 데 도움을 주었습니다.

“끝없는” 루프 버그는 HTLC 한도에 도달하고 추가 HTLC가 전송될 때 발생하는 알려진 버그입니다. 결제 실패로 끝나는 대신, LND는 루프에서 결제를 계속 시도합니다. 이 버그에 대한 도움은 LND 이슈 #4656을 참조하세요.

이 글은 Jestopher의 게스트 포스트입니다. 표현된 의견은 전적으로 그들의 것이며 BTC Inc 또는 Bitcoin Magazine의 의견을 반드시 반영하지는 않습니다.

관련 기사

카사, 비트코인 보유자를 겨냥한 증가하는 사회 공학 공격에 대응하기 위해 네 가지 보안 기능 출시 1

사회 공학 공격에 대응하는 카사 기능

비트코인 보안 회사 카사는 2025년 암호화폐 도난의 대부분을 차지하는 공격 벡터인 사회 공학을 겨냥한 네 가지 기능을 출시했습니다. 이 기능은

마스터카드, 디지털 자산 전략을 강화하기 위해 뉴욕 비트라이센스 확보 1

마스터카드, 비트라이센스 획득

마스터카드는 뉴욕주 금융 서비스국(NYDFS)으로부터 비트라이센스를 받았으며, 이는 이 결제 거대 기업이 미국에서 가장 엄격한 암호화 규제 프레임워크 중 하나 아래에서

크라켄, 비트코인 보관소 출시 - BTC 보유에 대한 수익 제공 1

비트코인 보관소 | 크라켄의 새로운 금융 솔루션

크라켄은 고객이 자산을 판매하지 않고도 비트코인 보유량에 대해 BTC 기준 보상을 받을 수 있는 새로운 제품인 비트코인 볼트를 크라켄 어

폴드, 비트코인 신용 카드 성장을 위한 1억 5천만 달러 유치 1

비트코인 신용 카드, Fold의 성장 동력

Fold Holdings, Inc., 최초의 상장된 비트코인 금융 서비스 회사가 Encina Lender Finance, LLC와 4년간의 고정 담보 회전 신용 시설에 진입했습니다.

DDC, 한 주에 비트코인을 두 번 구매하며 자산을 14% 증가시켜 희석 없이 재무를 성장시킵니다. 1

비트코인으로 DDC 자산 14% 증가

DDC Enterprise Limited (NYSE American: DDC)는 수요일에 131 비트코인을 구매하여 기업 비트코인 금고를 2,714 BTC로 확장했다고 발표했습니다. 뉴욕에 본사를 둔

반카 셀라, MiCA에 따라 비트코인 및 암호화 서비스에 대한 라이센스를 받은 첫 번째 이탈리아 은행이 되다. 1

Banca Sella, 첫 이탈리아 비트코인 은행 승인

Banca Sella는 유럽 연합의 암호 자산 규제(MiCA) 하에서 암호화폐 서비스를 제공할 수 있는 최초의 이탈리아 은행으로 승인받았으며, 2026년 5월 27일