4차 산업혁명을 주도할 핵심기술이라 불리는 블록체인(Blockchain) 기술의 가장 큰 장점은 신용이 필요한 온라인 금융 거래상에서 해킹을 막을 수 있는 분산 컴퓨팅 기술을 가졌다는 점이다.
블록체인 기술은 거래 정보를 하나의 암호화된 블록으로 묶어 거래 참여자들에게 공유한다. 데이터는 체인 형태의 연결고리 기반 분산 데이터 저장 환경에 저장되며 누구도 임의로 변경할 수 없다는 특성 때문에 디지털 인증, 위조화폐 방지 및 암호화폐의 보안 기술로 사용되고 있다.
하지만 블록체인 기술에도 허점이 존재한다. 지난 10일 한국인터넷진흥원이 서울 송파구 롯데호텔월드에서 개최한 ‘블록체인 테크비즈(Techbiz) 컨퍼런스’에서 보안전문가들은 현재 블록체인 플랫폼의 한계점을 지적하고 이에 따른 보안 대책을 제안했다.
블록체인도 결국 소프트웨어, 허점 보완해야
블록체인은 기밀성, 무결성, 가용성이 적용되어 이론적으로는 해킹이 불가능하다. 하지만 현재 기술 상황으로는 아직 완벽한 보안체계를 갖추지 못한 것으로 나타나고 있다.
이날 포럼에서 박지수 수호 대표는 “블록체인이라고 하면 보안이 완벽할 것이라고 여기는 사람들이 많지만 결국 블록체인 플랫폼도 하나의 소프트웨어 프로그램일 뿐 완벽할 수 없다”고 말했다.
박 대표는 “블록체인 플랫폼 이더리움의 소스 코드 분석 결과 95%가 하나 이상의 취약점을 가진 것으로 나타났다”며 “노드가 블록을 생성 못하도록 방해하거나 아예 도메인을 가로채 외부에서 해킹하는 사례도 빈번하다”고 지적했다.
대표적인 사례가 이더리움 최대 해킹 사건으로 불리는 ‘다오(The DAO)’ 사건이다.
‘다오(The DAO, Distributed Autonomous Organization)’는 이더리움 상의 스마트 콘트랙트(두 명 이상의 사람들 사이에서 어떤 계약이나 약속을 프로그래밍하여 자동으로 처리하도록 만든 자동 이행계약)를 바탕으로 운영되던 탈중앙화 된 자율조직을 의미한다.
지난 2016년 당시 전 세계의 많은 개발자와 전문가들이 ‘다오’ 프로젝트에 참여했고 배포된 스마트 콘트랙트에는 단기간 거대한 이더(ETH)가 모였다.
하지만 해커는 핵심 코드에 구멍이 있다는 점을 발견, 취약점을 이용해 해킹을 시도했다. 그 결과 당시 유통량의 15%인 약 350만 이더(ETH)가 도난당했다.
최근 들어서도 블록체인 관련 해킹은 끊이지 않고 있다.
지난 2017년 7월 이더리움 블록체인 플랫폼 기반의 암호화폐 예측 시장 어거(Augur)는 80만 5000달러에 달하는 레퓨테이션 토큰(Reputation Token)을 도난당했다.
지난해 7월에는 블록체인 기반 베팅 게임 포모3D(FoMo3D)를 카피한 게임에서 6만 EOS가 해킹되는 사건이 발생하기도 했다.
자동화된 탐지 툴 사용·영지식 증명, 블록체인 한계점 극복
전문가들은 블록체인 기술이 이론과는 달리 현실에 적용했을 때 문제점을 보이고 있다며 더 향상된 보안 기술이 필요하다고 입을 모았다.
김호원 부산대 교수는 기존의 퍼블릭 블록체인 상에서는 물론 프라이빗 블록체인 상에서도 서로 협력하고 있는 상대 기업의 주요 정보를 추적해서 찾아낼 수 있다는 점을 지적하며 이를 보완하는 방법으로 ‘익명 크리덴셜(Credentials)’ 기법을 제안했다.
크리덴셜(Credentials)은 정보 시스템 상에서 암호화된 개인 정보를 말한다. 일반적으로 사용되고 있는 크리덴셜 인증은 비밀번호를 입력해 자신이 적합한 인증자임을 증명하는 방식이다. 하지만 이러한 과정에서 비밀번호나 개인 정보가 노출될 수도 있다.
‘익명 크리덴셜 기술’은 개인 정보 중에 신원을 노출하지 않고 자신의 자격 요건을 입증할 수 있다. 상대방은 인증을 위해서 가져야 하는 최소한의 정보 외에는 가질 수 없다는 것이 기술의 핵심이다.
김호원 교수는 여러 익명 크리덴셜 기술 중 특히 ‘영지식 증명(Zero-knowledge proof)’ 방식에 초점을 맞췄다. 영지식 증명은 패스워드 정보를 전혀 주지 않으면서 자기가 비밀번호를 알고 있다는 것을 검증자로 하여금 믿게 하는 증명 방식이다.
가령 예를 들면 동굴 안에는 인증자가, 동굴 밖에 검증자가 있다고 가정해보자. 인증자가 동굴 밖으로 나오려면 검증자에게 비밀번호를 알려주면 된다. 일반적인 크리덴셜 방법이다.
영지식 증명은 인증자가 비밀번호를 직접 말하지 않으면서도 인증자가 비밀번호를 알고 있다는 사실을 검증자로 하여금 믿게 만들어 인증하는 방식이다.
검증자는 지속적으로 어느 길로 나올 것인지를 인증자에게 물어볼 수 있다. 첫 질문에서 인증자가 참을 말할 확률은 50%이지만 이것을 지속적으로 반복하면 결국에는 참인지 거짓인지를 추정할 수 있게 된다.
스마트 콘트랙트의 취약점 개선을 위해서는 버그를 모두 잡아낼 수 있는 컴퓨터 자동화 탐지 기술과 사람의 손으로 검증하는 방법을 동시에 활용해야 한다는 의견이 나왔다.
박지수 수호 대표는 “최근 스마트 콘트랙트의 취약점을 검증하는 툴이 많이 개발되고 있다”라고 말한 후 “모든 버그를 탐지하는 컴퓨터 자동화 기술 베리피케이션 툴(Verification Tool)과 사람의 손으로 버그를 찾아내 검증하는 버그 파인더(bug-finders) 방식을 활용해 교차 검증하는 것이 효율적인 취약점 관리법”이라고 조언했다.
- 김은영 객원기자
- teashotcool@gmail.com
- 저작권자 2019-07-11 ⓒ ScienceTimes
관련기사