DEV Community

Juno Kim
Juno Kim

Posted on

보안 침해의 해부: 왜 디파이 프로토콜은 끊임없이 공격당하는가?

탈중앙화 금융(DeFi)은 블록체인 기술 기반의 무허가, 투명, 불변 프로토콜을 통해 금융 서비스 접근성을 민주화하겠다고 약속하며 금융 세계에 혁명적인 패러다임으로 등장했다. 대출과 차입부터 탈중앙화 거래소(DEX), 보험에 이르기까지, 디파이는 총 예치 자산(TVL) 규모를 수천억 달러로 급속히 확장하며 전 세계 다양한 사용자층을 끌어모았다. 탈중앙화, 검열 저항성, 구성 가능성이라는 핵심 원칙은 전통적인 중앙화 금융과는 확연히 다른 지점을 제시하며 전례 없는 혁신과 금융 포용성을 촉진하고 있다. 그러나 이러한 급성장과 혁신적인 잠재력 뒤에는 끈질기고 우려스러운 취약점이 그림자처럼 드리워져 있다. 바로 디파이 프로토콜에 대한 빈번하고 치명적인 공격이다. "코드는 곧 법"이라는 정신과 퍼블릭 블록체인의 본질적인 투명성에도 불구하고, 디파이 생태계는 끊임없는 해킹, 사기, 기술적 공격으로 얼룩져 수십억 달러의 손실을 초래했다. 이러한 사건들은 사용자 신뢰를 침식하고 주류 채택을 저해할 뿐만 아니라, 초기 단계의 급변하는 기술 환경에서 안전하고 복잡한 금융 시스템을 구축하는 데 내재된 근본적인 과제들을 부각시킨다. 이 글은 이러한 취약성 뒤에 숨겨진 다각적인 이유들을 해부하고, 디파이 프로토콜이 지속적으로 공격에 노출되는 기술적 복잡성, 아키텍처적 결함, 경제적 유인, 그리고 인간적 요인들을 깊이 파고든다. 이러한 침해의 근본 원인과 메커니즘을 이해함으로써 우리는 빌더와 공격자 간의 끊임없는 "군비 경쟁"을 더 잘 이해하고, 더 강력하고 안전한 탈중앙화 금융 미래를 향한 길을 모색할 수 있을 것이다. 디파이의 기반은 스마트 컨트랙트, 즉 블록체인(주로 이더리움) 코드 라인에 직접 조건이 작성된 자체 실행 계약에 놓여 있다. 이 계약들은 중개자 없이 거래를 자동화하고 규칙을 강제하며 탈중앙화의 핵심 원칙을 구현한다. "머니 레고" 개념, 즉 구성 가능성은 서로 다른 디파이 프로토콜이 상호작용하고 서로 위에 구축될 수 있게 하여 복잡한 금융 상품과 유동성 풀을 생성한다. 이러한 모듈성은 양날의 검이다. 혁신과 자본 효율성을 촉진하는 동시에, 한 구성 요소의 취약점이 전체 생태계에 연쇄적으로 영향을 미칠 수 있는 시스템적 위험을 초래한다. "빠르게 움직이고 부수자(move fast and break things)"는 사고방식으로 특징지어지는 디파이 개발의 빠른 속도는 새로운 프로토콜과 기능이 전례 없는 속도로 배포됨을 의미한다. 이러한 민첩성은 혁신에 유익하지만, 종종 철저한 보안 감사와 엄격한 테스트를 희생시킨다. 기존 금융기관들이 확립된 규제 프레임워크 내에서 운영되고 광범위한 규정 준수 검사를 거치는 것과 달리, 디파이 프로토콜은 최소한의 외부 감독으로 출시되는 경우가 많다. 스마트 컨트랙트의 불변성은 문제를 더욱 복잡하게 만든다. 일단 배포된 코드는 쉽게 변경할 수 없다는 뜻이다. 즉, 배포 후 발견된 버그나 취약점은 업그레이드 메커니즘이 명시적으로 내장되지 않는 한 영구적일 수 있다(이는 그 자체로 중앙화 위험을 초래한다). 디파이 프로토콜에 묶인 막대한 자본은 악의적인 행위자들에게 거부할 수 없는 표적이 된다. 수십억 달러가 걸려 있고 블록체인 거래가 제공하는 가명성 덕분에, 해커들은 약점을 발견하고 악용할 강력한 동기를 갖게 된다. 더욱이, 공격 발생 시 전통적인 법적 구제 수단이 부족하고, 여러 관할권에 걸쳐 공격자를 식별하고 기소하기 어렵다는 점은 성공적인 공격의 보상이 가해자에게 인지된 위험보다 더 크다는 것을 의미한다. 기술적 참신함, 금전적 유인, 규제적 모호성이 독특하게 결합된 이러한 환경은 정교하고 경제적 동기가 있는 공격의 비옥한 토양이 되며, 보안을 전체 디파이 생태계의 가장 중요한 과제로 만들었다. 디파이 프로토콜 해킹의 원인은 근본적인 스마트 컨트랙트 취약점부터 복잡한 경제적 공격, 아키텍처 설계 결함에 이르기까지 여러 층위로 존재한다. 이러한 기술적 메커니즘을 이해하는 것은 문제의 규모를 파악하는 데 매우 중요하다고 본다. 많은 공격의 핵심에는 스마트 컨트랙트 코드 자체의 결함이 있다. 재진입 공격은 2016년 The DAO 해킹에서 악용된 고전적인 취약점이다. 컨트랙트가 자신의 상태를 업데이트하기 전에 다른 신뢰할 수 없는 컨트랙트로 외부 호출을 할 때 발생한다. 신뢰할 수 없는 컨트랙트는 원래 컨트랙트로 다시 호출하여 초기 트랜잭션이 완료되고 상태가 업데이트되기 전에 반복적으로 자금을 고갈시킬 수 있다. Checks-Effects-Interactions 패턴과 같은 방어 수단이 이제 표준이 되었지만, 새로운 변형이나 복잡한 상호작용에서의 간과가 여전히 재진입 공격으로 이어질 수 있다. 논리적 오류와 버그는 종종 의도치 않은 동작으로 이어지는 단순한 코딩 실수다. 예를 들어, 정수 오버플로우/언더플로우(산술 연산이 변수가 담을 수 있는 최대값을 초과하거나 최소값 아래로 떨어져 잘못된 값으로 랩어라운드되는 경우), 잘못된 접근 제어(권한 없는 사용자가 특권 기능을 실행하도록 허용하는 경우), 잘못된 상태 전환, 또는 엣지 케이스 처리 오류 등이 있다. 사소한 논리적 결함도 잔액을 조작하거나 보안 검사를 우회하거나 자금을 고갈시키는 데 악용될 수 있다. 플래시 론 공격은 플래시 론 자체가 담보 없이 단일 블록체인 트랜잭션 내에서 대출을 허용하는 합법적인 디파이 프리미티브임에도 불구하고, 공격자들이 정교한 공격을 실행하는 데 자주 활용된다. 공격자들은 플래시 론을 사용하여 일시적으로 막대한 자본을 확보하고, 이를 통해 탈중앙화 거래소에서 시장 가격을 조작하거나, 차익 거래 기회를 실행하거나, 거버넌스 결정에 영향을 미친다. 핵심은 대출, 공격, 상환의 전체 시퀀스가 동일한 아토믹 트랜잭션 내에서 발생해야 한다는 점이다. 공격자가 상환에 실패하면 트랜잭션은 단순히 되돌려지므로, 플래시 론은 공격을 테스트하기 위한 "위험 부담 없는" 도구가 된다. 디파이 프로토콜은 종종 자산 가격과 같은 오프체인 정보를 블록체인으로 가져오는 오라클이라는 외부 데이터 피드에 의존한다. 가격 오라클 조작은 플래시 론과 결합되어 사용되는 흔한 공격 벡터다. 공격자는 플래시 론을 사용하여 프로토콜이 가격 오라클로 사용하는 유동성이 낮은 DEX에서 자산 가격을 일시적으로 부풀리거나 떨어뜨린다. 오라클을 조작함으로써 공격자는 취약한 프로토콜이 자산의 실제 시장 가치보다 더 높거나 낮게 평가하도록 속일 수 있다. 이는 그들이 받아야 할 것보다 더 많은 담보를 빌리거나, 불공정하게 포지션을 청산하거나, 유리한 환율로 토큰을 교환하여 궁극적으로 프로토콜의 자금을 고갈시키게 된다. bZx 프로토콜은 2020년에 바로 이 메커니즘을 사용하여 여러 번 공격당한 바 있다. 직접적인 코드 취약점 외에도 전체 프로토콜 설계나 경제 모델의 결함이 악용될 수 있다. 프로토콜들이 서로 위에 구축되는 디파이의 상호 연결성은 시스템적 위험을 초래한다. 예를 들어, 한 기본 프로토콜(예: 대출 플랫폼)의 취약점은 다른 상호작용 프로토콜(예: 수익률 애그리게이터)을 통해 악용되어 연쇄적인 실패로 이어질 수 있다. 이러한 상호작용의 복잡성은 가능한 모든 공격 벡터를 예측하기 어렵게 만든다. 거버넌스 취약점은 많은 디파이 프로토콜이 토큰 보유자에 의해 거버넌스된다는 점에서 나타난다. 공격자가 충분한 수의 거버넌스 토큰을 확보할 수 있다면(종종 플래시 론이나 집중된 보유를 통해), 프로토콜 자금을 자신의 주소로 이전하거나 중요한 매개변수를 자신에게 유리하게 변경하는 등 악의적인 제안을 제출하고 통과시킬 수 있다. 2022년 Beanstalk Farms 공격은 플래시 론 기반 거버넌스 공격의 대표적인 예시다. 부적절한 접근 제어와 중앙화 위험도 존재한다. 탈중앙화라는 정신에도 불구하고, 많은 프로토콜은 업그레이드나 비상 조치를 위해 "관리자 키" 또는 특권 역할(예: 업그레이드 가능한 프록시, 서명자가 적은 멀티시그 지갑)을 유지한다. 이러한 키가 손상되거나 오용되면 전체 프로토콜이 고갈될 수 있다. 예를 들어, 로닌 브릿지 해킹은 검증자 노드에 속한 개인 키가 손상되어 발생했다. 블록체인 생태계가 확장됨에 따라 크로스체인 브릿지는 서로 다른 네트워크 간에 자산을 전송하는 데 중요한 인프라가 되었다. 그러나 그 복잡성과 여러 체인에서 자산을 관리해야 하는 필요성 때문에 특히 매력적인 표적이 된다. 서명 검증 결함은 많은 브릿지가 자산 전송을 승인하기 위해 멀티시그 지갑이나 검증자 세트에 의존하는 데서 발생한다. 서명 검증 프로세스에 결함이 있으면 공격자가 서명을 위조하거나 합의 메커니즘을 우회할 수 있어 취약점이 발생한다. 2021년 폴리 네트워크 해킹은 크로스체인 메시지 검증 프로세스의 결함을 악용하여 공격자가 서명 검사를 우회하고 트랜잭션을 위조할 수 있게 했다. 개인 키 침해는 일반적인 접근 제어 문제와 유사하게, 브릿지의 자산이나 검증자 노드를 제어하는 개인 키가 손상되면 공격자가 악의적인 트랜잭션에 서명하고 자금을 고갈시킬 수 있다. 로닌 브릿지 공격은 대다수 검증자 키가 손상된 직접적인 결과였다. 이러한 기술적 복잡성은 디파이 보안이 단순히 버그 없는 코드에 관한 것이 아니라, 강력한 경제 설계, 안전한 운영 관행, 그리고 고도로 상호 연결되고 재정적으로 강력한 생태계 내에서 적대적인 유인에 대한 깊은 이해를 요구한다는 점을 강조한다. 디파이 공격의 구체적인 사례들을 살펴보면, 앞에서 논의된 기술적 취약점들이 어떻게 현실에서 발현되는지 명확하게 알 수 있다. 2021년 8월 폴리 네트워크 사건은 이더리움, 폴리곤, 바이낸스 스마트 체인에 걸쳐 6억 달러 이상이 도난당한 역대 최대 규모의 암호화폐 해킹 중 하나로 기록되었다. 폴리 네트워크는 크로스체인 상호운용성 프로토콜로 작동한다. 공격자는 EthCrossChainManager 컨트랙트, 특히 verifyHeaderAndExecuteTx 함수 내의 취약점을 악용했다. 이 취약점으로 공격자는 특정 함수(_changeImpl())를 임의의 데이터로 호출할 수 있었고, 이는 합법적인 서명 검증 프로세스를 효과적으로 우회하는 결과를 낳았다. 이를 통해 공격자는 트랜잭션 메시지를 위조하고 폴리 네트워크가 관리하는 주소에서 자신의 주소로 자산을 이전할 수 있었다. 이 사건은 크로스체인 브릿지의 메시지 검증 논리에 심각한 결함이 있음을 드러냈고, 이러한 인프라에 걸린 엄청난 가치를 보여주었다. 놀랍게도, 자신을 "미스터 화이트 햇"이라고 밝힌 해커는 이익보다는 취약점을 노출시키려는 의도를 밝히며 도난당한 자금의 거의 전부를 결국 반환했다. 2022년 4월 Beanstalk Farms는 치명적인 플래시 론 거버넌스 공격을 겪었고, 이로 인해 7,700만 달러 상당의 자산이 도난당했다. 공격자는 Aave에서 약 10억 달러 상당의 다양한 암호화폐(DAI, USDC, USDT)를 플래시 론으로 빌렸다. 그런 다음 이 빌린 자금을 사용하여 Beanstalk의 거버넌스 토큰, 특히 STALK 토큰에 대한 지배적인 지분을 일시적으로 확보했다. 이 임시적인 다수 지위를 가지고 공격자는 두 가지 악의적인 거버넌스 제안을 제출하고 즉시 통과시켰다. 하나는 프로토콜의 모든 자금을 자신의 지갑으로 보내는 것이었고, 다른 하나는 우크라이나에 25만 BUSD를 기부하는 것이었다(아마도 연막 작전으로 보인다). 플래시 론 확보부터 제안 실행, 자금 인출까지 전체 작업이 단일 아토믹 트랜잭션 내에서 발생했다. 이 공격은 플래시 론이 겉으로는 탈중앙화된 거버넌스 구조를 가진 프로토콜에서도 거버넌스 메커니즘을 얼마나 강력한 무기로 만들 수 있는지를 완벽하게 보여주었다. 2022년 2월 Wormhole은 또 다른 중요한 크로스체인 브릿지 공격을 당했다. 이더리움과 솔라나를 연결하는 Wormhole은 3억 2천 5백만 달러 이상의 Wrapped Ethereum(WETH)을 잃었다. 취약점은 Wormhole의 솔라나 VAA(Validator Action Approval) 검증 프로세스에 있었다. 공격자는 솔라나 측에서 12만 WETH를 발행하면서 이더리움 측에서 이에 상응하는 ETH를 제공하지 않아도 되는 결함을 악용했다. 구체적으로, 공격자는 유효한 "가디언" 서명을 스푸핑하여 새로운 토큰 발행에 필요한 합법적인 검증을 우회하는 데 성공했다. 그런 다음 이 담보 없는 WETH를 이더리움으로 브릿지하여 실제 ETH와 교환함으로써 프로토콜의 준비금을 효과적으로 고갈시켰다. 이 사건은 서로 다른 블록체인 환경에서 암호화폐 무결성과 강력한 서명 검증을 보장하는 데 따르는 엄청난 보안 과제를 강조했다. 이러한 사례들은 브릿지 로직의 직접적인 코드 공격부터 플래시 론으로 촉진된 경제적 조작에 이르기까지, 디파이 프로토콜이 직면한 위협의 정교하고 다각적인 특성을 보여주는 다양한 공격 벡터를 생생하게 보여준다. 보안 도구와 관행의 상당한 발전에도 불구하고, 몇 가지 본질적인 한계는 난공불락의 디파이 생태계를 구축하는 데 지속적인 도전으로 남아 있다. 불변성은 투명성과 검열 저항성을 위한 블록체인의 핵심 원칙이지만, 보안에는 상당한 과제를 제시한다. 스마트 컨트랙트가 버그와 함께 배포되면, 새로운 컨트랙트를 배포하지 않고는 쉽게 패치하거나 업데이트할 수 없으며, 이는 혼란스럽고 복잡한 작업이다. 업그레이드 가능한 프록시 컨트랙트가 해결책을 제공하지만, "관리자 키" 또는 멀티시그가 업그레이드를 실행하는 데 필요하므로 일정 수준의 중앙화를 도입하여 잠재적인 단일 실패 지점을 생성한다. 디파이 공간은 믿을 수 없을 정도로 빠른 혁신 속도를 특징으로 한다. 프로토콜은 선점 우위를 확보하고, 유동성을 유치하며, 빠르게 반복하기 위해 종종 신속하게 출시된다. 이러한 공격적인 개발 주기는 철저한 보안 감사, 형식 검증, 광범위한 테스트 역량을 종종 능가한다. 포괄적인 감사는 비용이 많이 들고 시간이 오래 걸리며 고도로 전문화된 전문 지식을 요구하므로, 많은 프로젝트가 배포 전에 극복하기 어려운 병목 현상을 겪는다. 감사된 코드에도 미묘한 버그나 논리적 결함이 포함될 수 있으며, 이는 발견되지 않을 수 있다. 디파이 프로토콜이 더욱 복잡해지고 상호 연결될수록("머니 레고"), 잠재적인 공격 표면은 기하급수적으로 확장된다. 자체 스마트 컨트랙트, 토크노믹스 및 종속성을 가진 여러 프로토콜 간의 상호작용은 인터페이스에서 예상치 못한 취약점이 나타날 수 있는 복잡한 웹을 생성한다. 가능한 모든 상호작용 경로를 이해하고 보호하는 것은 엄청난 작업이며, 모든 잠재적인 연쇄 실패를 예측하기 어렵게 만든다. 정교한 기술에도 불구하고, 인간의 실수는 여전히 심각한 취약점으로 남는다. 여기에는 코딩 중 개발자 실수, 운영 보안 실패(예: 부실한 개인 키 관리, 팀원을 대상으로 하는 피싱 공격), 코드 검토 중 불충분한 실사 등이 포함된다. 사회 공학적 전술도 시스템을 손상시키거나 민감한 정보를 노출하도록 개인을 속이는 데 사용될 수 있다. 예를 들어, 로닌 브릿지 해킹은 운영 보안 허점으로 인한 개인 키 손상에서 크게 비롯되었다. Chainlink와 같은 탈중앙화 오라클 네트워크가 단일 실패 지점을 완화하는 것을 목표로 하지만, 조작이나 잠재적인 중앙화 위험에 완전히 면역되지는 않는다. 오라클의 데이터 소스나 노드의 상당 부분이 손상되거나 공모하면, 이는 의존하는 디파이 프로토콜에 잘못된 가격 데이터를 제공하여 공격으로 이어질 수 있다. 외부의, 종종 오프체인 데이터에 대한 의존성은 온체인, 결정론적 환경 내에서 완전히 제거하기 어려운 본질적인 취약점을 도입한다. 디파이의 초기 단계이자 대부분 규제되지 않은 특성으로 인해, 해킹 피해자에게는 법적 구제 수단이 거의 없는 경우가 많다. 일부 프로젝트는 보험 기금이나 커뮤니티 주도 복구 노력을 시행했지만, 이는 보편적이지 않으며, 국제 관할권에 걸쳐 공격자를 추적하고 기소하는 능력은 여전히 극히 어렵다. 이러한 책임감 부족은 악의적인 행위자들을 더욱 부추긴다. 이러한 한계점들은 디파이 보안이 단순히 기술적 코드 취약점뿐만 아니라 시스템적 설계 과제, 인간의 운영 위험, 그리고 복잡한 경제적 유인까지 다루는 전체론적 접근 방식을 요구하는 지속적이고 역동적인 과정임을 강조한다. 탈중앙화 금융(DeFi) 생태계에서 해킹과 공격이 끊임없이 발생하는 것은 이 혁명적인 기술의 초기 단계를 보여주는 중요한 과제다. 우리가 분석했듯이, 그 원인은 스마트 컨트랙트 프로그래밍의 본질적인 복잡성, 구성 가능한 프로토콜의 독특한 아키텍처 설계, 정교한 공격을 유도하는 경제적 유인, 그리고 개발 및 운영에서 피할 수 없는 인간적 요소에서 비롯되는 다각적인 문제다. 재진입 공격과 오라클 조작부터 플래시 론 기반 거버넌스 공격, 크로스체인 브릿지 취약점에 이르기까지, 각 사건은 결함이 존재할 때 "코드가 곧 법"이라는 정신이 얼마나 가혹하게 작용하는지 냉혹하게 상기시킨다. 디파이의 가장 큰 강점인 개방성, 무허가성, 구성 가능성은 역설적으로 독특한 공격 표면을 제공한다. 전례 없는 성장을 촉진하는 빠른 혁신 속도는 수십억 달러를 처리하는 금융 시스템에 필요한 엄격한 보안 감사 및 형식 검증 프로세스를 종종 앞질러 버린다. 블록체인의 불변성은 검열 저항성을 제공하지만, 배포된 버그가 영구적인 부채가 될 수 있음을 의미하며, 이는 중앙화 위험을 다시 도입할 수 있는 복잡한 업그레이드 메커니즘을 필요로 한다. 게다가, 이러한 프로토콜에 묶인 막대한 금융 가치, 블록체인 거래의 가명성, 그리고 현재 명확한 법적 구제 수단의 부족은 고도로 동기 부여되고 정교한 악의적인 행위자들에게 거부할 수 없는 표적을 만들어낸다. 앞으로 디파이의 성숙과 광범위한 채택은 보안 태세를 크게 강화할 수 있는지에 달려 있다. 이는 전체 생태계에 걸쳐 협력적이고 다각적인 노력을 요구한다. 프로토콜은 처음부터 보안을 최우선으로 삼고, 견고한 위협 모델링, 평판 좋은 기업의 포괄적인 스마트 컨트랙트 감사, 그리고 코드 정확성을 수학적으로 증명하기 위한 형식 검증 기술을 통합해야 한다. 상당한 버그 바운티 프로그램의 확립은 악의적인 행위자들보다 먼저 윤리적 해커들이 취약점을 식별하도록 유도한다. 더욱이, 개인 키 관리 및 접근 제어와 관련된 운영 보안 관행을 개선하는 것이 무엇보다 중요하다. 커뮤니티는 악의적인 제안을 방지하기 위한 경계 강화, 교육, 그리고 탈중앙화 거버넌스에 적극적인 참여를 통해 필수적인 역할을 수행한다. 궁극적으로 디파이의 여정은 혁신을 추구하는 빌더와 공격을 모색하는 공격자 간의 끊임없는 "군비 경쟁"이다. 공격에 대한 완전한 무결성이 달성하기 어려운 이상일지라도, 보안, 투명성, 그리고 과거 사건으로부터 지속적으로 배우려는 끊임없는 헌신은 필수적이다. 보안 우선 개발 문화를 조성하고, 고급 감사 기술을 수용하며, 구성 가능성에 내재된 시스템적 위험을 인식함으로써 디파이는 미래를 위한 진정으로 탈중앙화되고 강력한 금융 시스템으로서의 잠재력을 완전히 실현하는 데 필요한 신뢰를 구축할 수 있을 것이다. --- 면책 조항: 이 글은 정보 및 교육 목적으로만 작성되었으며, 금융 또는 투자 조언을 구성하지 않는다. 암호화폐 및 블록체인 시장은 변동성이 매우 크며 상당한 위험을 수반한다. 독자들은 투자 결정을 내리기 전에 스스로 조사를 수행하고 자격을 갖춘 금융 전문가와 상담해야 한다. 필자는 여기에 제공된 정보에 의존하여 발생한 손실에 대해 책임을 지지 않는다.

※ 본 칼럼은 정보 제공을 목적으로 하며, 투자 권유가 아닙니다. 모든 투자 결정은 본인의 판단과 책임 하에 이루어져야 합니다.

Top comments (0)