2024년 1월 3일, Beosin의 EagleEye 보안 리스크 모니터링, 조기 경고 및 차단 플랫폼의 모니터링에 따르면 Radiant Capital 프로젝트는 공격자로부터 플래시 론(Flash loan) 공격을 받았습니다.
공격자는 3번의 거래를 통해 1,900개 이상의 ETH, 450만 달러 이상의 가치를 훔쳤으며, 도난당한 자금은 현재 공격자의 주소에 보관되어 있으며, Beosin 보안팀은 이 사건을 즉시 분석했습니다.

취약점 분석
이번 사건의 근본 원인은 Radiant Capital 프로젝트가 토큰 수를 계산하는 과정에서 정밀도 확장 및 반올림을 사용했으며, 이로 인해 공격자가 정밀도를 제어하고 이를 반올림과 결합하여 수익 포인트를 확대할 수 있게 된 것입니다.

위 코드를 보면 rayDiv 함수는 두 개의 uint256 데이터 a와 b를 전달합니다. 전체 프로세스는 (a*RAY+b/2)/b로 축약될 수 있습니다. 여기서 RAY는 정밀도 확장 데이터(10^27)입니다. 결과는 반올림 함수를 구현한 a*RAY/b+0.5와 동일합니다. 이 계산 방법의 오류는 주로 b에서 발생합니다. b가 a에 비해 매우 작은 경우 오류는 무시할 수 있지만, b 가 a 와 동일한 크기를 가지면 오류는 a 자체에 도달할 수 있습니다.
예를 들어, a*RAY=10000, b=3이면 계산 결과는 3333으로 실제 값보다 1/10000 작고, a*RAY=10000, b=3000이면 계산 결과는 3입니다. 실제 값보다 1/10 작습니다.
이번 사건에서 공격자는 b의 값과 a의 값이 같은 크기가 되도록 b의 값을 조작하여 계산을 3/2.0001=1과 동일하게 하고, 계산된 값은 b의 1/3만큼 작게 만들었습니다. 실제 가치.
공격 과정
해커의 공격 과정을 살펴보자.
1. 공격자는 먼저 AAVE 플래시론을 통해 300만 USDC를 빌려 공격 초기 자금으로 사용했습니다.

2. 공격자는 Radiant 계약에 200만 USDC를 스테이킹 200만 rUSDCn 인증서 토큰을 획득했습니다. 
3. 공격자는 Radiant 컨트랙트를 통해 플래시 론(Flash loan) 수행하고 200만 USDC를 빌린 후 콜백 함수에서 200만 USDC를 반환하고 2단계에서 스테이킹 USDC를 클레임.마지막으로 플래시 론(Flash loan) 함수는 transferfrom 함수를 호출한다. 공격자의 USDC를 이자로 계약에 적용합니다. 이때 9/10000의 취급수수료가 부과되며, 징수된 취급수수료가 풀의 유동성이 됩니다.

4. 공격자는 3단계를 여러 번 반복하여 liquidityIndex=271800000000999999999999998631966035920처럼 매우 큰 liquidityIndex를 제어합니다.

5. 다음으로 공격자는 새로운 계약을 생성하고 여기에 543,600 USDC를 넣습니다. 왜냐하면 4단계에서 5436(USDC 값)이 2718(liquidityIndex 값)의 정확히 두 배이기 때문에 반올림 제어가 용이할 수 있기 때문입니다.

6. 공격자는 543,600 USDC를 모두 Radiant 계약에 담보로 제공하고 동일한 금액의 rUSDCn을 획득했습니다. 
7. 공격자는 407,700 USDC를 클레임 407,700 rUSDCn을 소각했어야 했지만 위에서 언급한 것처럼 소각 기능은 정밀 확장 및 반올림 계산을 수행합니다.
40770000000000000000000000000000000000/271800000000999999999999998631966035920=1.49999999이고 반올림 결과가 1이므로 결과가 1/3로 작아집니다.
아래 그림과 같이 407,700 USDC가 소각되어야 하는데 271,800개가 남아있어 271,800개만 소각되었음을 의미하며, 공격자는 407,700 USDC를 클레임.

8. 공격자는 7단계의 취약점을 악용하여 스테이킹 클레임 작업을 반복하며, 클레임 항상 스테이킹 금액의 1/3이 넘고 최종적으로 풀에 있는 USDC를 모두 교환합니다.

돈 추적
보도 시간 현재 도난당한 1,902 ETH는 해커의 주소에 저장되어 이동되지 않은 상태이며, Beosin Trace는 자금을 계속 모니터링할 예정입니다.

2024년이 시작되면서 이미 대규모 도난 사건이 2건이나 목격됐다. (어제 보안사고 복습: 올해 첫 사건인 8천만 달러 도난 오빗체인 사건은 어떻게 된 걸까요? ) 이번 일련의 사건들은 Web3 생태계에서도 여전히 보안 예방이 중요하다는 점을 다시 한 번 일깨워줍니다!
확장 읽기: Orbit Bridge 크로스체인 브리지가 8,150만 달러에 해킹당했고 Orbit Chain 생태계가 전반적으로 급락했습니다.
Beosin은 세계 최고의 블록체인 보안 회사로서 전 세계 10개 이상의 국가 및 지역에 지사를 설립했으며, 업무 프로젝트 시작 전 프로그램 코드 보안 감사, 보안 리스크 모니터링, 조기 경고 및 차단, 프로젝트 중 가상화를 다루고 있습니다. "원스톱" 블록체인 보안 제품 + 화폐 도난 자산 회수, 보안 컴플라이언스 KYT/AML 등 서비스 회사는 Web3 생태계의 안전한 발전을 위해 노력하고 있으며 더 많은 블록체인 보안 기술 서비스를 제공하고 있습니다. HashKey Group, Amber Group, BNB Chain 등 전 세계 3,000개 이상의 기업이 PancakeSwap, Ronin Network, OKCSwap 등을 포함한 3,000개 이상의 스마트 계약 및 퍼블릭 체인 메인넷을 감사.




