Blockchain Attacks and Defenses: A Layered and Cross-Domain Survey
이 논문은 탈중앙화 금융과 크로스체인 상호운용성에 의해 주도되는 변화하는 위협 지형에 초점을 맞추어, 4계층 레이어 구조와 도메인 간 신뢰 경계를 가로지르는 공격과 방어를 분류함으로써 지난 10년간의 블록체인 보안 연구의 진화를 조사한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
개요: 단순한 장부에서 복잡한 도시로
블록체인이 처음에는 친구들이 서로에게 돈을 빌려준 내역을 적는 공유 노트로 시작했다고 상상해 보세요. 모든 사람이 복사본을 가지고 있었기 때문에 누군가 페이지를 지우려 해도 다른 사람들이 알아챌 수 있어 안전했습니다.
하지만 지난 10년 동안 이 노트는 거대한 자동화 도시로 진화했습니다. 이 도시의 "노트"는 단순히 돈만을 위한 것이 아닙니다. 복잡한 법률(스마트 컨트랙트)을 실행하고, 은행(DeFi)을 관리하며, 다른 도시들과 연결(크로스체인 브릿지)됩니다. 목표는 시장이나 경찰 서장 없이도 이 도시가 공정하고 안전하게 돌아가도록 유지하는 것입니다.
그러나 도시가 성장함에 따라 사람들의 공격 방식도 변했습니다.
- 과거의 공격은 전력망을 부수거나 도로를 막는 것(네트워크 공격)과 같았습니다.
- 새로운 공격은 수백만 달러를 훔치기 위해 도시의 세법 허점을 찾아내거나, 가짜 수표가 진짜라고 믿도록 은행을 속이는 것(경제적 및 논리적 공격)과 같습니다.
이 논문은 이 새로운 도시의 어디에 균열이 있는지 이해하고 이를 어떻게 보완할지를 알려주는 거대한 보안 지도입니다.
도시의 4가지 층 (아키텍처)
저자들은 블록체인을 건물처럼 4개의 층으로 나눕니다. 공격은 어느 층에서나 발생할 수 있지만, 종종 한 층에서 시작되어 다른 층에 피해를 줍니다.
- 네트워크 층 (도로): 모든 컴퓨터를 연결하는 인터넷입니다.
- 위험 요소: 범죄자가 특정 집이 도시의 나머지 부분과 통신하지 못하도록 도로를 차단한다고 상상해 보세요. 그들은 집을 고립시키거나(이클립스 공격, Eclipse Attack), 우체부가 가짜 편지를 배달하도록 속일 수 있습니다(BGP 하이재킹).
- 데이터 및 암호화 층 (금고와 자물쇠): 비밀을 유지하고 변경할 수 없게 만드는 수학이 일어나는 곳입니다.
- 위험 요소: 이론적으로는 완벽한 하이테크 자물쇠를 가지고 있지만, 열쇠를 가진 사람이 오타를 낸 상황과 같습니다. 또는, 계좌를 보여주지 않고도 당신이 부자임을 증명하는 "마법의 증명"(영지식 증명)이 있는데, 그 마법 주문에 버그가 있어 증명을 조작할 수 있는 상황을 상상해 보세요.
- 합의 및 인센티브 층 (규칙과 판사): 컴퓨터들이 무엇이 진실인지 합의하고, 그 대가로 보상을 받는 곳입니다.
- 위험 요소: 특정 방향으로 투표하도록 돈을 받는 배심원을 상상해 보세요. 만약 범죄자가 충분한 돈을 제안한다면, 그들은 역사를 바꾸기 위해 투표할 수도 있습니다. 여기에는 검증자(validator)들이 교통 신호를 조절하며 큰 트럭이 오는 것을 보고, 다른 사람들이 갇혀 있는 동안 뇌물을 받고 그 트럭을 맨 앞으로 보내는 "최대 추출 가능 가치(MEV)"가 포함됩니다.
- 애플리케이션 층 (상점과 은행): 실제 앱(돈을 빌려주거나 토큰을 교환하는 등)이 존재하는 곳입니다.
- 위험 요소: 이곳은 대부분의 돈이 손실되는 곳입니다. 완벽한 자물쇠가 있는 은행 금고가 있지만, 은행원이 변장을 한 사람에게 속아 돈을 내주는 상황과 같습니다. 또는 "플래시 론(Flash Loan)" 공격처럼, 범죄자가 담보 없이 단 1초 동안 10억 달러를 빌려 시장을 조작한 뒤, 은행이 알아차리기도 전에 돈을 갚아버리는 상황도 있습니다.
위험 지대: 층이 충돌할 때 (크로스 도메인 공격)
이 논문의 가장 중요한 부분은 크로스 도메인(Cross-Domain) 공격에 관한 것입니다. 이는 서로 다른 부분들이 서로를 신뢰하지만, 그 신뢰가 깨질 때 발생합니다.
브리지(다리) 비유:
도시 A와 도시 B가 다리로 연결되어 있다고 상상해 보세요.
- 도시 A는 당신의 자동차를 차고에 잠가둡니다.
- 도시 B는 당신이 도시 A의 자동차를 소유하고 있다는 것을 증명하는 "종이 자동차"(토큰)를 발행합니다.
- **브리지(다리)**는 잠금 상태를 확인하고 종이 자동차를 발행하는 중간 관리자입니다.
공격 상황:
만약 중간 관리자(브리지)가 해킹당하거나, 두 도시가 "잠겼다"는 의미에 대해 서로 동의하지 않는다면, 공격자는 실제 자동차에는 손을 대지 않고도 종이 자동차를 훔칠 수 있습니다. 종이에는 당신이 소유하고 있다고 적혀 있지만, 실제 자동차는 사라진 상태가 됩니다 됩니다.
논문은 이런 일이 발생하는 여러 방법을 나열합니다:
- 타이밍 불일치: 도시 A는 자동차가 잠겼다고 말하지만, 도시 B는 잠금이 실제로 안전해지기도 전에 너무 빨리 종이 자동차를 발행합니다.
- "가짜" 증명: 브리지가 자동차가 잠겨 있다는 가짜 영수증을 받아들입니다. 실제로는 잠겨 있지 않은데도 말이죠.
- 공유된 보안: 만약 같은 경비 그룹이 두 도시를 모두 보호하고 있다면, 그들이 매수될 경우 두 도시가 동시에 무너집니다.
우리는 어떻게 방어하는가
논문은 우리가 단순히 한 층이나 하나의 다리만 봐서는 안 된다고 주장합니다. 우리는 건물 전체를 봐야 합니다.
- 더 나은 도구: 단순히 코드의 오타를 찾는 대신, 경제학을 이해하는 도구가 필요합니다. "내가 이렇게 하면, 훔치기 위해 돈을 벌 수 있는가?"라고 물어야 합니다.
- "영수증" 시스템: 복잡한 작업(두 도시 간의 토큰 교환 등)을 수행할 때, 정확히 무슨 일이 일elle졌는지, 누가 했는지, 그리고 어떤 리스크가 있었는지를 증명하는 상세한 영수증을 받아야 합니다.
- 비상구: 브리지가 고장 났을 때, 시스템 전체가 무너지기 전에 사람들이 돈을 뺄 수 있는 방법이 있어야 합니다.
- AI와 인간: 논문은 인공지능(AI)이 버그를 찾는 데 능숙해지고 있지만, 그 버그가 실제로 위험한지 확인하기 위해서는 여전히 인간의 검토가 필요하다고 언급합니다.
결론
이 논문은 블록체인 보안이 "문을 잠그는 것"에서 "복잡한 경제를 관리하는 것"으로 이동했다고 결론짓습니다.
- 과거의 문제: 누군가 문을 부쉈습니다.
- 새로운 문제: 문은 잠겨 있지만, 안에 있는 사람이 속아서 문을 열어주거나, 집의 규칙 자체가 도둑이 정문으로 합법적으로 걸어 나갈 수 있게 허용하는 상황입니다.
이를 해결하기 위해, 우리는 서로 다른 층(도로, 금고, 판사, 상점)이 어떻게 서로 소통하는지 이해해야 합니다. 한 층이 실패하더라도 도시 전체가 무너지지 않도록 해야 합니다. 저자들은 보안이 단순히 코드가 아니라, 문제가 생겼을 때 시스템이 어떻게 행동하는지로 측정되어야 한다는 새로운 사고방식을 촉구하고 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.