2023년 5월 20일 베이징 시간, Tornado.Cash는 제안 공격을 당했고 공격자는 약 68만 달러의 수익을 냈습니다.

첫 번째 레벨 제목
공격자 주소:
공격자 주소:
0x092123663804f8801b9b086b03B98D706f77bD59
0x592340957eBC9e4Afb0E9Af221d06fDDDF789de9
공격 계약:
0xAF54612427d97489707332efe0b6290F129DbAcb
0x03ecf0d22f9ccd21144a7d492cf63b471916497a
0x7dc86183274b28e9f1a100a0152dac975361353d (배포 계약)
0xc503893b3e3c0c6b909222b45f2a3a259a52752d (가짜 제안 계약서)
공격받은 계약:
0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce
공격 트랜잭션:
0x34605f1d6463a48b818157f7b26d040f8dd329273702a0618e9e74fe350e6e0d
공격 트랜잭션:
0x3274b6090685b842aca80b304a4dcee0f61ef8b6afee10b7c7533c32fb75486d
공격 과정:
(1) 먼저, 공격자(0x 59234095 )는 공격받은 계약(0x5efda50f)에 대한 제안을 시작했으며, 이 제안은 제안 16에 대한 보충이라고 주장합니다.


(2) 그러나 제안서에는 실제로 추가 자폭 기능이 있습니다.

(3) 안타깝게도 커뮤니티는 이 제안에서 문제를 발견하지 못했고 대부분의 구성원이 이 제안을 통과시키기로 투표했습니다.

(4) 공격자는 토큰 전송을 구현하기 위해 많은 계약을 생성했습니다.

(5) 공격자(0x 59234095 )는 제안 계약(0xc503893b)과 생성 계약(0x7dc86183)을 파괴했습니다. 이후 공격 계약(0xc503893b)이 동일한 주소에 재배포되었습니다.


(6) 제안 계약을 수정한 후 공격자(0x 59234095 )는 제안을 실행하고 자신이 통제하는 계약 주소의 토큰 잠금량을 10000으로 수정합니다.

취약점 분석:

취약점 분석:
제안 컨트랙트(0xc503893b)의 생성 컨트랙트(0x7dc86183)는 creat 2를 통해 배포되기 때문에 두 컨트랙트가 소멸된 후 동일한 주소에 새로운 로직 컨트랙트를 배포할 수 있으며, 다음과 같은 형태로 제안서의 실행이 호출된다. 델리게이트콜의 컨트랙트 공격 공격받은 컨트랙트의 값은 임의로 수정할 수 있습니다.
첫 번째 레벨 제목
이번 사건의 원인은 커뮤니티가 제안서를 확인할 때 제안서에 담긴 위험을 발견하지 못했고, 제안 계약의 코드에 보안 취약점이 있는지 꼼꼼히 확인하지 않았기 때문이다.
2. 보안 권장 사항
이 공격에 대응하기 위해 개발 과정에서 다음 예방 조치를 따라야 합니다.
(1) 제안을 설계할 때 제안 메커니즘의 보안을 충분히 고려하고 제안이 중앙에서 제어되는 위험을 최소화하고 공격의 가치를 낮추고 투표권을 얻는 비용을 늘리고 공격 실행 비용을 높이는 것을 고려하십시오. 설계되었습니다.
(2) 제안에 투표하기 전에 커뮤니티는 계약 코드에 백도어가 있는지 신중하게 확인해야 합니다.
첫 번째 레벨 제목
About Us
공식 웹 사이트


