유명 해커 심준보 "블록체인도 해킹에 취약"

동자아트홀 초청강연서 밝혀

컴퓨팅입력 :2018/08/08 16:44

"해커들은 블록체인 시스템이 탈중앙화 돼 있다고 생각하지 않습니다. 탈중앙화, 확장성, 보안, 셋중 어느 하나라도 약해지면 세 영역 모두 영향을 받아 결국 보안도 뚫립니다. 해킹은 변한 적이 없습니다. 블록체인으로 플랫폼만 바뀌었을 뿐, 취약점을 이용한 해킹 방법은 똑같습니다.”

유명 화이트해커 심준보 씨는 6일 서울 동자아트홀에서 열린 초청강연에서 '블록체인, 해킹한다면 어디까지 가능할까'를 주제로 이야기 하며 이같이 밝혔다.

블록체인 해킹에 특별히 새로운 방법이 있는 게 아니고, 종전과 크게 다르지 않다는 것이다.

심 씨는 “사물인터넷(IoT), 블록체인 모두 플랫폼만 바뀌었을 뿐”이라며 “보안을 신경 쓰지 않으면 플랫폼이 무너지는 건 마찬가지”라고 경고했다.

심준보 해커가 6일 서울 동자아트홀에서 블록체인 해킹 강연을 하고 있다.

심 씨는 사단법인 화이트해커연합 ‘HARU’ 이사장이다. 블랙펄시큐리티 기술이사도 맡고 있다. 과학기술정보통신부의 차세대보안리더(BOB) 양성과정 멘토다. 한국인터넷진흥원(KISA) 취약점분석 자문위원을 겸하고 있다. 지난 평창 동계올림픽 때 사이버보안 자문위원을 맡을 정도로 실력 있는 화이트해커로 꼽힌다.

그는 이날 일반적인 해커들이 블록체인 시스템을 어떤 시각으로 바라보는지에 초점을 맞춰 블록체인 해킹을 설명했다.

■ 블록체인은 ‘해시 가진 링크드 리스트’

심 씨에 따르면 블록체인이라는 낯선 기술을 대하는 해커는 먼저 블록체인 개발자가 돼 본다. 인터넷에 공개된 정보로 공부를 하고 직접 만들어도 본다. 그는 자신이 파이썬으로 직접 짠 블록체인 코드를 보여 주며 설명을 이었다.

화이트해커 심준보 씨가 파이썬으로 직접 구현했다는 블록체인 코드.

심 씨 설명에 따르면 블록체인은 개발자에게 해시를 가진 '연결된(linked) 리스트'다. 이 리스트를 구현하고 노드를 분산시키면 블록체인 구현이 가능하다. 또 블록체인은 특정 데이터를 보호하는 플랫폼이다. 데이터가 몇 번째 값인지 보여 주는 인덱스, 데이터 생성시간을 나타내는 타임스탬프, 블록을 보호하는 해시값이 들어 간다.

심 씨는 "블록체인은 인덱스, 타임스탬프, 데이터, 이전 해시값, 이 중 하나라도 값이 변경될 때 (이들 값으로 나온) 해시값은 기존과 달라진다는 수학적 공식을 갖고 있는 퍼즐"이라며 "해시값을 비교해보면 데이터가 변조됐는지 안 됐는지 알 수 있다"고 설명했다.

■ “암호화폐 거래소 존재로 블록체인 탈중앙화 안 돼 있다”

이론적으로 블록체인은 데이터가 변조됐는지 여부를 알 수 있는 특성을 갖췄고 그게 여러 노드에 함께 저장되는 탈중앙화 속성을 통해 상대적으로 데이터 변조에 강할 수 있다. 하지만 심 씨는 “해커들은 블록체인 시스템이 탈중앙화 돼 있다고 생각하지 않는다”고 지적했다. 암호화폐를 채굴하지 않고 얻을 수 있는 거래소의 존재가 중앙화 시스템이기 때문이다.

심 씨는 탈중앙화 조건으로 블록체인 노드의 보안과 확장성이 필요하다고 봤다. 비트코인을 예로 들면 데이터를 기록할 때 합의에 걸리는 시간 여유를 10분으로 뒀지만 지구상 어딘가에 그 이상 통신이 지연되는 노드가 있다면 제대로 돌아가지 않게 된다. 특정 주체가 전체 연산 능력의 51% 이상을 확보해야 데이터를 마음대로 바꿀 수도 있다.

그는 “탈중앙화, 확장성, 보안, 셋중 어느 하나라도 약해지면 세 영역 모두 영향을 받아 결국 보안도 뚫린다”며 “해커는 이 3가지 특성에 근거해 해킹을 시도하게 된다”고 설명했다. 이어 “플랫폼만 바뀌었을 뿐 해커가 공격하는 포인트도 기존 해킹 포인트와 똑같다”며 "해커에겐 오히려 잠재적 해킹 대상이 은행뿐아니라 거래소 이용자까지 확대됐다"고 강조했다.

■ 플랫폼과 함께 달라진 점은 '신뢰할 수 없는 입력'

플랫폼이 블록체인으로 달라져서 함께 바뀐 건 '신뢰할 수 없는 입력(untrusted input)'의 종류다. 중앙화 시스템인 은행과의 거래 환경에서는 서버, 쿠키, 키보드 입력값 등이 신뢰할 수 없는 입력에 해당한다. 탈중앙화를 전제하는 블록체인 거래 환경에선 합의 프로토콜, 지갑 정보 등이 그에 해당한다.

관련기사

플랫폼의 해킹 통로가 되는 신뢰할 수 없는 입력(untrusted input)

심 씨는 “언트러스티드 인풋이 다양할수록 공격이 뚫릴 위험이 크다”며 “이걸 잘 감시하는 게 해킹 공격을 막는 가장 중요한 포인트”라고 설명했다. 또 "거래소와 채굴자 대상 공격뿐아니라 거래 시스템을 구현한 윈도, 리눅스 등 컴퓨터의 취약점 공격까지 고민해야 한다"고 지적했다.

그는 "IoT 보안이 기존 보안 대비 단말기가 바뀌었을 뿐 해킹 방식이 동일한 것처럼, 블록체인도 플랫폼이 바뀌면서 언트러스티드 인풋이 달라졌지만 해킹 방법은 기존 것으로도 충분히 가능하다"며 "언제든지 누구나 해킹을 당할 수 있는 만큼, 최대한 예방에 노력하되 사건이 일어나면 복구와 보상에 집중해야 한다"고 덧붙였다.