거래
거래
공격자는 공격을 수행하기 위해 세 가지 트랜잭션을 실행했습니다.
https://bscscan.com//tx/0xe13ec0941580d3c286b46fa6566f20195bdd52b3d65fc7ff4a953a8fc774c6c4
https://bscscan.com//tx/0xe5c89e9ac217e4e16c2399f3597f7b5fbb73b45c1d3360788ee51ea2561def3a
https://bscscan.com//tx/0x8693a95f8481ba02ceaabed8e95b4e1eb8ac589c69c027c96b12ac5295714c3f
공격자
공격자의 주소는 [0xa1e31b29f94296fc85fac8739511360f279b1976]
공격 계약
공격 계약은 [0x1d448e9661c5abfc732ea81330c6439b0aa449b5] 이 계약은 공격자가 공격 하루 전인 2023년 6월 30일에 배포한 것입니다. 계약에는 다양한 매개변수를 사용하여 V 3 Migrator 계약을 호출하는 간단한 논리가 있습니다.
공격받은 계약
공격받은 계약은 [0x839b0afd0a0528ea184448e890cbaaffd99c1dbf공격 단계
공격 단계
공격자는 V 3 Migrator 계약의 결함을 악용하여 마이그레이션 기능의 매개변수를 변조할 수 있습니다. 공격 단계는 다음과 같습니다.
피해자는 Biswap V 3 Migrator 계약에 LP 토큰을 승인했습니다.
공격자는 피해자의 V 2 LP 토큰을 소각하고 가짜 토큰으로 V 3 유동성을 추가했습니다. 이 단계에서 V 2 LP의 토큰 0과 토큰 1은 여전히 V 3 Migrator 계약에 있습니다.
공격자는 가짜 V 2 LP 토큰을 소각하고 V 2 LP의 토큰 0과 토큰 1로 V 3 유동성을 추가했으며, V 3 유동성 추가에 사용되지 않은 초과 토큰 0과 토큰 1은 공격자에게 다시 전송되었습니다. 동시에 이 단계의 V3 유동성도 공격자의 소유입니다.
근본 원인
공격의 근본 원인은 Biswap V2에서 Biswap V3로 마이그레이션할 때 Biswap의 V3 Migrator 계약에 검증 매개변수가 없었기 때문입니다. 특히 계약에는 다음과 같은 중요한 문제가 있습니다.
계약은 토큰 0 및 토큰 1 매개변수가 V 2 LP 토큰의 실제 토큰과 일치하는지 확인하지 않습니다.
이 문제로 인해 공격자는 가짜 토큰과 금액을 마이그레이션 기능에 전달하고 V 3 Migrator 계약에 LP 토큰을 승인한 사용자로부터 실제 토큰을 훔칠 수 있었습니다.
Key Code

손상된 자산
공격자 [0xa1e31b29f94296fc85fac8739511360f279b1976]가 불법적으로 최대 $140,000의 자산을 취득했습니다.
자본 흐름
공격자는 $BNB를 대가로 유동성을 인출합니다.

결국 공격자는 돈세탁을 위해 603 $BNB를 Tornadocash로 이체했습니다.

PoC
https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Biswap_exp.sol
안전 조언
결론적으로https://bscscan.com/tokenapprovalchecker
결론적으로
Biswap 공격이 대표적인 예이며, 가짜 토큰 공격은 BSC의 DEX 취약점을 최대한 활용하여 사용자와 프로젝트 당사자로부터 자금을 수집했습니다. 이번 공격은 또한 사용자 자금을 처리하는 계약의 매개변수와 잔액을 확인하는 것의 중요성을 강조하며, 사용자는 제3자 계약에 토큰을 승인할 때 주의해야 하며, 사용하기 전에 계약의 소스 코드와 감사 보고서를 확인해야 합니다. 이 공격에 대응하여 Biswap은 두 가지 대처 전략도 신속하게 채택했습니다.
공격자가 더 이상 LP 토큰에 액세스할 수 없도록 사용자에게 가능한 한 빨리 V 3 Migrator 계약에 대한 승인을 취소하도록 요구합니다.
V3 마이그레이션을 홍보하고 사용자에게 LP 토큰 마이그레이션의 이점을 알리는 트윗을 삭제합니다.

이 공격이 제때에 중단되지 않으면 공격자가 가짜 토큰을 사용하여 Biswap V2에서 Biswap V3로 모든 유동성을 마이그레이션할 수 있기 때문에 Biswap의 모든 마이그레이션 계약은 수천만 달러의 손실을 입게 됩니다. 이는 사용자에게 엄청난 타격을 주고 BSC의 DEX 개발에 심각한 방해가 됩니다.


