Back to Blog

2023년 최악의 보안 사고 TOP 10

Phalcon Security
February 23, 2024
7 min read

과거를 기억하지 못하는 자는 그것을 반복할 운명에 처한다.

2023년에는 커뮤니티에 심각한 손실을 초래한 많은 보안 사고들이 발생했습니다. 이는 피해를 입은 이들에게 비극이었습니다. 그러나 이러한 사고들은 보안이 최우선 순위가 되어야 한다는 것을 커뮤니티에 경고하는 교훈을 제공합니다.

수많은 사고들 중에서 BlockSec은 각각 고유한 이유를 가진 열 가지 특별한 사례를 엄선했습니다. 일부는 극적인 사건들로 가득했고, 일부는 "혁신적인" 공격 전략을 선보였으며, 일부는 상당한 금전적 손실을 초래했고, 일부는 이전에 알려지지 않은 공격 표면을 악용했습니다.

이 블로그에서는 2023년에 언급할 가치가 있는 상위 10개 보안 사고와 그 이유를 설명할 것입니다. 각 보안 사고에 대해 별도의 블로그 게시물에서 근본 원인과 공격 단계도 함께 제시할 것입니다.

#1 Flashbots 릴레이의 취약점을 악용한 MEV 봇 수확

요약

2023년 4월 3일, 한 공격자가 Flashbots 릴레이에 존재하는 취약점을 활용하여 여러 MEV 봇을 공격하여 약 2천만 달러의 이익을 얻었습니다. 이 공격의 근본 원인은 특정 조건에서 프라이빗 트랜잭션이 퍼블릭 풀에 유출될 수 있었고, 공격자가 유출된 트랜잭션을 백런(back-run)하여 이익을 얻을 수 있었다는 것입니다.

선정 이유

공격자는 Flashbots 제로데이 취약점을 악용하고, 피해자를 유인하기 위한 허니팟 트랜잭션을 생성하며, 탐지를 회피하는 전술을 구현하는 정교한 방법을 사용하여 MEV 봇을 수확했습니다. 이는 지금까지 가장 정교한 공격으로, 기반 블록체인 인프라의 취약점과 상당한 금전적 영향을 미친 레버리지 공격 전략을 결합한 것입니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#2: Euler Finance 사고: 2023년 최대 규모의 해킹

요약

2023년 3월 13일, Euler Finance는 대출 풀에 대한 플래시 론 공격을 받아 약 2억 달러에 달하는 손실을 입었습니다. 공격은 donateToReserves() 함수에 지급불능 검사가 없었던 것에서 비롯되었습니다. 이 누락으로 인해 공격자는 과도하게 레버리지된 포지션에서 자산을 기여할 수 있었고, 포지션의 건전성을 100% 이하로 낮추어 불량 채무를 발생시켰습니다.

Euler의 설계는 소프트 청산에 대한 동적 청산 계수를 포함하고 있어, 포지션의 건전성이 낮을수록 청산 가능한 담보가 더 많아지며—이번 사고 데이터에 따르면 불량 채무 발생 시 최대 75%까지 청산이 가능합니다. 따라서 상당히 할인된 담보의 청산으로 인해 공격자는 플래시 론을 상환하고 이익을 확보할 수 있었습니다.

선정 이유

기록적인 1억 9,700만 달러의 자금이 페데리코 하이메(Federico Jaime)라는 20세의 아르헨티나인에 의해 탈취되었으며, 그는 언론에 "복잡하고, 때로는 혼란스럽고, 심지어 모순적인 이야기"를 제공했습니다. 그럼에도 불구하고 "회수 가능한 모든 자금"은 나중에 Euler Finance의 트레저리 주소로 반환되었습니다. 그러나 그 중 일부(약 20만 달러)는 미국 재무부의 제재를 받은 북한 국가 지원 범죄 조직으로 추정되는 라자루스 그룹에 "무의식적으로" 전송되었습니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#3: KyberSwap 사고: 극도로 미묘한 계산으로 반올림 오류를 능숙하게 악용

요약

2023년 11월 23일, KyberSwap을 표적으로 한 일련의 공격이 발생했습니다. 이 공격으로 총 4,800만 달러 이상의 손실이 발생했습니다. 근본적인 문제는 KyberSwap의 재투자 과정에서 잘못된 반올림 방향으로 인해 발생했습니다. 이로 인해 틱 계산이 부적절해지고, 궁극적으로 유동성이 이중으로 계산되었습니다.

선정 이유

이 2023년 공격은 매우 섬세한 계산을 특징으로 하는 복잡성으로 두드러지며, 커뮤니티를 상당히 시험한 많은 정밀도 관련 보안 사고의 대표적인 사례입니다. 더욱이, 당국과의 광범위한 협상 끝에 공격자는 대중에게 도발적인 어조의 메시지를 발표하며 프로토콜에 대한 전권 통제를 요구했습니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#4: Curve 사고: 컴파일러 오류가 무고한 소스 코드에서 결함 있는 바이트코드를 생성

요약

2023년 7월 30일, 여러 Curve 풀을 표적으로 한 일련의 익스플로잇이 발생하여 수백만 달러의 손실이 발생했습니다. 이는 전형적인 재진입 공격이었지만, 재진입 보호 기능의 부재를 초래한 컴파일러 버그에서 비롯된 비전형적인 근본 원인을 가지고 있었습니다. 구체적으로, 스마트 컨트랙트 내 서로 다른 함수에 대한 재진입 잠금이 서로 다른 스토리지 슬롯에 할당되는 오류가 있었습니다. 결과적으로, Vyper 버전 0.2.15, 0.2.16 및 0.3.0을 사용하여 컴파일된 스마트 컨트랙트가 취약했습니다.

선정 이유

취약점은 소스 코드가 아닌 컴파일러에서 비롯되었습니다. 컴파일러 버그가 막대한 금전적 손실로 이어진 것은 이번이 처음입니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#5: Platypus Finance 사고: 행운으로 세 번의 공격에서 살아남기

요약

Platypus Finance는 기적적으로 세 번의 연속적인 공격을 견뎌낸 전설적인 DeFi 프로토콜로, 다음과 같습니다:

  • 2023년 2월 17일, 잘못된 지급능력 검사로 인한 해킹이 발생하여 총 약 905만 달러의 손실이 발생했습니다. 이 중 BlockSec의 도움으로 240만 달러가 구조되었습니다. 약 38만 개의 토큰이 Aave 컨트랙트에 묶였다가 이후 반환되었습니다.
  • 2023년 7월 12일, 스테이블코인 간의 가격 차이를 무시한 취약점으로 인해 약 5만 달러의 손실이 발생했습니다.
  • 2023년 10월 12일, 가격 조작 공격을 받아 약 220만 달러의 손실이 발생했습니다. 공격자와의 협상 끝에 도난된 자금의 90%가 반환되었습니다.

"사람의 운명은 물론 자신의 노력에 달려 있지만, 역사의 흐름도 고려해야 한다"고 합니다. 분명히, 이 프로젝트는 모든 공격에서 살아남은 행운을 가지고 있습니다. 이 세 가지 익스플로잇에 대한 분석 결과, 신중한 감사나 더 적극적인 보안 조치가 있었다면 논리적 결함을 피할 수 있었을 것으로 나타났습니다.

선정 이유

  • 한 번 살아남는 것도 어렵지만, 세 번 살아남는 것은 전설적인 것으로 여겨야 합니다.
  • 이 프로젝트는 각각 다른 취약점을 표적으로 한 세 가지 별개의 공격을 받았습니다.
  • BlockSec의 적극적인 조치로 프로젝트는 240만 달러를 구조할 수 있었습니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#6: Hundred Finance 사고: 2023년 취약한 포크 프로토콜에서의 정밀도 관련 익스플로잇 물결을 촉발

요약

2023년 4월 16일, Compound v2 포크인 Hundred Finance가 공격을 받아 약 680만 달러의 손실이 발생했습니다. 공격에는 두 가지 주요 근본 원인이 관련되었습니다:

  • 잘못된 반올림 문제;
  • 공격자가 환율을 조작할 수 있도록 허용한 빈 마켓.

구체적으로, 정밀도 문제는 담보의 상환 및 인출에 영향을 미치도록 악용되었습니다. 적절히 초기화되지 않은 마켓이나 풀은 유동성 부족에 직면할 수 있으며, 이는 조작으로 이어질 수 있고 기초 자산과 해당 공유 토큰(예: Compound의 cToken) 간의 유동성 불균형을 초래할 수 있습니다. 결과적으로, 공유 토큰의 가격이 부풀려질 수 있어 담보로 사용될 수 있게 되며—최소한의 원래 자산 또는 약간 더 많은 양으로—다른 가치 있는 기초 자산을 빌릴 수 있습니다. 궁극적으로, 공격자들은 정밀도 손실로 인해 원래의 기초 자산을 상환하고 인출할 수 있었습니다.

Hundred Finance에서의 이 사고와 Aave v2 포크인 HopeLend를 표적으로 한 후속 사고는 LP 토큰 비율을 조작하여 이 두 저명한 프로토콜과 그 포크들을 잠재적으로 표적으로 삼을 수 있는 새로운 익스플로잇 패러다임을 드러냈습니다. 이후 일련의 유사한 공격이 관찰되었습니다.

선정 이유

정밀도 손실로 인한 해킹을 당한 최초의 Compound V2 포크인 Hundred Finance는 일련의 유사한 DeFi 보안 침해의 무대를 마련했습니다. 더욱이, 이 사고는 Aave V2 포크 프로토콜에 대한 후속 공격의 물결을 촉발했을 수 있습니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#7: ParaSpace 사고: 업계 최대 규모의 공격을 저지하기 위한 시간과의 싸움

요약

2023년 3월 17일, 가격 오라클의 취약점으로 인해 ParaSpace가 해커 공격의 표적이 되었습니다. 해커의 세 번의 실패한 시도 끝에 BlockSec Phalcon 시스템이 적시에 개입하여 구조 작전을 통해 500만 달러 이상의 ETH를 구했습니다.

선정 이유

업계에서 가장 중요한 블록: BlockSec Phalcon 시스템이 500만 달러 이상을 구조

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#8: SushiSwap 사고: 구조 시도가 일련의 모방 공격으로 이어지다

요약

2023년 4월 9일, SushiSwap은 검증되지 않은 외부 매개변수로 인한 익스플로잇의 피해를 입었습니다. 프로토콜 자체는 피해를 입지 않았지만, RouteProcessor2 컨트랙트에 권한을 부여한 사용자들이 주요 표적이었습니다. 컨트랙트에 활성 승인을 가진 사용자에 초점을 맞춘 공격의 성격과 쉬운 복제 가능성으로 인해 상당한 사용자 손실이 발생했습니다.

BlockSec은 성공적으로 100 이더를 구조하여 피해자에게 반환했습니다. @trust__90이라는 사용자명을 가진 화이트햇이 자금을 구조하려는 첫 번째 시도를 했지만, 이 노력은 안타깝게도 실패했습니다. 화이트햇이 사용한 방법은 쉽게 복제 가능했으며 위험에 처한 총 자금의 일부만을 구하는 것을 목표로 했습니다. 이로 인해 공격자들이 여러 모방 트랜잭션을 실행하여 대부분의 자금을 효과적으로 빼낼 수 있는 문을 열었습니다.

선정 이유

  • 공격을 받은 SushiSwap은 대규모 사용자 기반을 가진 이더리움의 선도적인 프로토콜입니다. 이 공격은 광범위한 영향을 미쳤습니다.
  • 화이트햇 구조 시도가 안타깝게도 실패하여 여러 모방 공격으로 이어졌습니다. 이는 화이트햇 구조를 어떻게 수행하고 올바르게 관리할 것인가에 대한 의문을 제기합니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#9: MEV 봇 0xd61492: 플래시 론 익스플로잇에서 포식자에서 먹잇감으로

요약

2023년 8월 3일, Arbitrum의 MEV 봇이 공격을 받아 80만 달러의 손실이 발생했습니다. 이 공격의 근본 원인은 불충분한 사용자 입력 검증이었습니다. 공격자는 "차익거래 MEV 봇"(0x8db0ef)을 속여 "볼트 MEV 봇"(0xd61492)에서 차입하게 하여 플래시 론 메커니즘을 활성화했습니다. 동시에, 플래시 론 제공자로 가장한 공격자는 "차익거래 MEV 봇"에 대출된 모든 자산을 전용하고 "볼트 MEV 봇"의 승인을 탈취했습니다.

MEV 봇 간의 복잡한 상호작용과 오픈소스 검증의 부재를 고려할 때, 공격자가 어떻게 이 정교한 익스플로잇 경로를 정확히 파악하고 탐색했는지 의아합니다.

선정 이유

차익거래 MEV 봇은 비오픈소스 특성으로 인해 종종 신비로운 포식자로 여겨집니다. 이러한 MEV 봇의 정확한 로직을 이해하는 것은 어려울 수 있습니다. 그러나 대부분의 MEV 봇은 자금 활용률을 극대화하기 위해 플래시 론을 활용하며, 이는 공격자에게 기회를 제공합니다. MEV 봇 0xd61492 해킹은 봇과 플래시 론 제공자 간의 상호작용을 악용하는 실제 사례입니다.

이 사고의 흥미로운 부분은 다음과 같습니다:

  • 첫째, MEV 봇 모듈의 복잡한 콜백 함수 내에 숨겨진 취약점.
  • 둘째, 다중 컨트랙트 MEV 봇 시스템의 제한 우회.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

#10: ThirdWeb 사고: 신뢰할 수 있는 모듈 간의 비호환성이 취약점을 노출

요약

2023년 12월 5일, ThirdWeb의 스마트 컨트랙트가 취약한 것으로 보고되었습니다. 이 문제는 ERC-2771과 Multicall 표준 간의 비호환성 문제입니다. ERC-2771은 신뢰할 수 있는 포워더를 통해 메타 트랜잭션을 수신하기 위한 인터페이스를 정의하고, Multicall은 단일 트랜잭션 내에서 여러 함수 호출을 일괄 처리할 수 있게 합니다. 취약점은 신뢰할 수 있는 포워더에 의해 전달된 호출이 calldata에서 실제 호출자 주소를 검색할 때 발생하며, 이는 공격자에 의해 조작될 수 있습니다. 각 표준은 개별적으로는 올바르게 작동하지만, 결합하여 사용하면 특정 가정을 깨뜨리고 예상치 못한 보안 문제를 초래할 수 있습니다.

선정 이유

ERC-2771과 Multicall 표준은 모두 OpenZeppelin 및 ThirdWeb과 같은 인기 있는 개발 라이브러리에 구현되어 있습니다. 개발자들은 종종 이러한 잘 확립된 코드베이스를 신뢰하며 코드 감사 중에 이를 간과할 수 있습니다. 이러한 간과는 개별 모듈에 본질적인 결함이 없더라도 새로운 보안 취약점을 도입할 수 있습니다. 서드파티 라이브러리는 소프트웨어 보안에서 중요한 역할을 하며, 이는 종종 간과되는 사실입니다.

🧐 근본 원인과 공격 단계에 대해 자세히 알아보세요.

결론

이 블로그 게시물에서 우리는 2023년의 10가지 중요한 보안 사고를 개략적으로 설명했습니다. 자주 인용되는 말처럼, *"역사에서 우리가 배우는 것은 우리가 역사에서 배우지 않는다는 것입니다." 이는 특히 보안 사고의 맥락에서 여전히 고통스럽게 관련이 있습니다. 우리는 이 블로그와 후속 항목들이 커뮤니티가 과거 사고에서 더 효과적으로 배우고 다가오는 해에 유사한 실수를 방지할 수 있기를 바랍니다.

풀스택 보안 서비스 제공업체로서 BlockSec은 항상 커뮤니티를 지원하는 것을 목표로 합니다. BlockSec의 DeFi 프로토콜 보안에 대한 접근 방식은 포괄적입니다. 우리는 최첨단 감사 기술, 자동화된 공격 방어 도구 및 보안 사고 관리를 활용합니다. 이는 우리를 2024년 DeFi 환경에서 진화하는 위협에 맞서 보안 태세를 강화하고 사용자 자산을 보호하려는 프로토콜의 중요한 파트너로 자리매김하게 합니다.

이 시리즈의 더 많은 블로그를 기대해 주세요.

이 시리즈의 다른 기사 읽기:

Get Real-Time Protection with Phalcon Security

Audits alone are not enough. Phalcon Security detects attacks in real time and blocks threats mid-flight.

phalcon security