배치 오버플로우(batchOverflow)와 프록시 오버플로우(proxyOverflow)는 불행하게도 심각한 메시지를 나타냅니다: 스마트 계약 감사는 필수적입니다. 버그 자체는 매우 간단하고 쉽게 실행할 수 있습니다. 이러한 버그는 정수 오버플로우(integer overflow)(1)로 알려진 공격으로 실행됩니다. 정수 데이터 형식보다 메모리 공간에 저장할 수 있는 값의 크기보다 큰 값을 저장하려 할 때 정수 오버플로우가 발생합니다.
응용 프로그램 측면에서, 누군가 시스템을 공격할 때 큰 숫자를 통해 시스템에 존재하지 않는 토큰을 추가로 공급하도록 만들어 시스템을 손상할 수 있다는 의미입니다. 교환에서, 이 상황은 어마어마한 공격 벡터(해커가 컴퓨터나 네트워크에 접근하기 위해 사용하는 경로나 방법)가 됩니다. 토큰 발급에 대한 보증을 필수로 검사하지 않고 토큰 발행이 일어날 수 있기 때문입니다. 관련 거래에서 이것은 겉보기에 아무 문제가 없는 신규 토큰으로 나타납니다.
그것이 버그가 처음 발견된 방법입니다. 4월 22일, ERC20 토큰 전송에서 PeckShield의 자동 시스템이 예외적으로 많은 양의 토큰이 BEC(BeautyChain)에 전송되었음을 발견했습니다. 이후 PeckShield팀은 BeautyChain 계약의 취약성을 분석해 배치 오버플로우를 발견했습니다. 배치 오버플로우 및 프록시 오버플로우에 대한 간략한 개요를 확인할 수 있습니다.
모든 ERC20 토큰이 취약점에 노출된 것은 아니지만, 이 결함은 ERC20 표준 자체에 포함되어 있지 않다는 점에 유의해야 합니다. 이러한 잠재적인 익스플로잇(exploit)(2) – 취약점 공격을 아직 확인하지 않은 많은 계약이 존재합니다.
커뮤니티를 위해, 퀀트스탬프는 이러한 영향을 받은 토큰 및 관련 거래소에 연락해 비용을 보조하고 있습니다. 이더리움 생태계를 보다 안전하게 만들기 위한 저희의 노력을 통해 이익을 내고자 하는 것이 아닙니다.
스마트 계약이 실행되기 전에 취약점을 잡아내는 것이 빠른 패치보다 더 나은 해결책입니다. 사전에 이 문제를 해결할 수 있도록 도와드리겠습니다. 자세한 정보는 security@quantstamp.com으로 문의해주십시오.
(1) 정수 오버플로우(Integer overflow) – 정수형의 크기는 고정되어 있는데, 정수형이 저장할 수 있는 값의 크기보다 큰 값을 저장할 때 예기치 않은 오류가 발생하는 취약점
(2) 익스플로잇(exploit) - 보안 취약점을 이용한 공격 방법. 취약점 공격은 주로 공격 대상 컴퓨터의 제어 권한 획득이나 서비스 거부 공격(DoS) 등을 목적으로 한다. 취약점 공격에는 보안 취약점의 종류에 따라 BOF 취약점 공격, CSRF 취약점 공격, XSS 취약점 공격 등이 있다.
본 게시물의 저작권은 크립토서울(KrytptoSeoul)에 있습니다. 상업적인 무단 전재와 복사, 배포를 금지합니다. 공유의 경우 원문 출처를 반드시 남겨야 합니다.
opyright(c) 2018. KryptoSeoul All Rights Reserved