이더리움 콘스탄티노플 업그레이드, 버그 발견으로 잠정 연기

등록 : 2019년 1월 16일 13:23 | 수정 : 2019년 1월 21일 16:21

버그

이미지=Getty Images Bank

 

17일 오후 4시 실행 예정이었던 이더리움 콘스탄티노플 업그레이드가 다시 한번 연기됐다. 업그레이드에 반영될 기능 중 하나에서 보안상 취약점이 발견됐기 때문이다.

보안상 취약점이 발견된 지점은 이더리움 개선 제안서(EIP, Ethereum Improvement Proposal) 1283으로, 스마트 계약을 구현할 때 지불해야 하는 수수료인 가스(gas)를 낮추는 기능이다. 스마트 계약 감사(audit) 회사인 체인시큐리티는 16일 EIP 1283 코드에서 허점을 발견했다고 밝히며 이 허점이 악용될 경우 공격자가 이더리움 사용자의 돈을 훔칠 수 있다고 경고했다.

이 취약점은 ‘재입장 공격(reentrancy attack)’이라고 불리는 공격을 가능하게 한다. 공격자가 사용자의 상태를 업데이트하지 않고서도 동일한 출처에서 여러 번 자금을 인출할 수 있게 한다. 블록체인 분석 회사 앰버데이터의 최고기술책임자(CTO)인 조나스 에스파뇰은 코인데스크와의 인터뷰에서 “재입장 공격이 가능한 시나리오에서는 공격자가 사용자의 돈을 무한히 출금할 수 있다”고 설명했다.

이에 비탈릭 부테린 이더리움 창시자와 허드슨 제임스, 닉 존슨 등 이더리움 개발자들이 참여한 개발자 회의가 열려 콘스탄티노플 일정을 잠정 연기하기로 했다. 새로운 업그레이드 일정은 오는 18일 열리는 개발자 회의에서 정해질 것으로 보인다. 이더리움 코어 개발자들은 다음 회의에서 EIP 1283에서 발견된 버그를 수정하는 것을 비롯해 이더리움의 장기적 개발 이슈를 논의할 예정이다.

개발자들 사이에서는 이같은 문제를 반복하지 않기 위한 대책을 마련해야 한다는 목소리도 나오고 있다. 다수 개발자가 ‘버그바운티(Bug Bounty, 보안취약점 신고 포상제)’ 제도를 도입해 업그레이드 예정일 하루 전날 취약점이 발견되는 사태를 사전에 방지할 수 있다고 제안했다.

한편, 고이더리움(Geth), 패리티(Partiy Technologies) 등 이더리움 클라이언트들은 콘스탄티노플 업그레이드 시행 중 돌발상황이 발생할 것을 대비해 마련해뒀던 소프트웨어 업데이트를 단행했다.

고이더리움은 업그레이드를 강제로 늦추는 비상용 핫픽스 1.8.21 버전을 내놓았다. 핫픽스는 긴급 수정 파일을 뜻하는 프로그램 용어다. 1.8.21 버전으로 업데이트를 원하지 않는 사용자는 현재 1.8.20 버전을 유지하거나 1.8.19 버전으로 다운그레이드할 수도 있다.

패리티 역시 기존 클라이언트를 2.2.7 버전 혹은 2.3.0 버전(베타)으로 업그레이드할 수 있게 지원한다. 2.2.4 버전으로 다운그레이드하는 것 역시 가능하다.

패리티의 보안 책임자인 키릴 피메노프는 이더리움 코어 개발자 채팅방에서 사용자들에게 이전 버전으로 다운그레이드하기보다 새로운 버전으로 업그레이드할 것을 권고했다. 그는 “콘스탄티노플 이전 버전으로 패리티를 다운그레이드하는 것은 나쁜 생각”이라면서 “우리는 누구에게도 다운그레이드를 권장하지 않는다. 다운그레이드하는 방법은 이론적으로 효과가 있을 수 있지만, 우리는 그에 따른 난장판을 감당하고 싶지 않다”라고 말했다.

This story originally appeared on CoinDesk, the global leader in blockchain news and publisher of the Bitcoin Price Index. view BPI.