본문 바로가기
IT 와 Social 이야기

[iitp] 블록체인 구현측면 정보보안 동향 및 시사점

by manga0713 2018. 8. 8.

 

[주요 가상화폐 거래소 해킹 일지]

 

 

 

 

*** 출처: [iitp] 블록체인 구현측면 정보보안 동향 및 시사점

*** 문서:

file994184109656701612-185802.pdf

 

 

 

 

■ 블록체인의 보안위협

 

1. 기존의 보안 위협

 

- 분산 원장(Distributed Ledger)을 사용한다는 것은 네트워크의 모든 거래 참여자들이 서로 데이터를 공유한다는 것을 의미한다. 이러한 분산저장 기술은 잠재적으로 기밀성 측면에서 부정적인 영향을 미칠 수 있다.

 

 

 

 

[블록체인 관련한 기존 보안 위협]

 

 

 

○ 키 관리(Key Management)

 

- 개인키는 사용자를 인증하는 직접적인 수단으로, 공격자가 개인키를 탈취하는 경우에는 개인키로 보호되는 자산을 손상시키게 된다. 탈취된 개인키는 암호화된 데이터에 대한 무단 복호화에 사용되지만 시스템에서 이를 탐지하기는 현실적으로 어렵다.

 

 

○ 암호학(Cryptography)

 

- 대부분의 블록체인 플랫폼들은 공개키/개인키 방식을 사용하여 구현되어 있다. 키를 생성하는 과정에서 사용하는 소프트웨어의 일부에는 의도적으로 제한된 범위의 값을 생성하는 난수 생성기를 사용하는 것으로 밝혀졌다. 이러한 난수 생성기를 통해 생성된 키는 무차별 공격에 쉽게 무너지게 된다.

 

 

○ 프라이버시(Privacy)

 

- 블록체인과 같은 분산원장 기술에서는 정보를 삭제해야 하는 "잊혀질 권리"를 구현하기가 어렵다. 네트워크에 참여하는 다수가 원장의 데이터를 가지고 있으므로, 모든 데이터가 삭제되었음을 보장할 수 없다. 데이터를 삭제하게 되면 해시 값이 변경되므로 블록체인 네트워크에서는 삭제 연산을 수행할 수 없다. 하이퍼제러의 경우 다양한 사업용 개인정보보호 서비스를 제공함으로써 이러한 문제를 해결하고 있다.

 

 

○ 코드 리뷰(Code Review)

 

- 많은 전문가들이 분산원장 구현 프로토콜 및 방법, 코드베이스를 검토했지만, 아직 알려지지 않은 취약점이 존해할 가능성을 배제할 수 없다.

 

 

 

2. 블록체인 기술의 세부적인 위협

 

 

 

 

[블록체인에 대한 세부 위협]

 

 

 

 

○ 합의 하이재킹

 

- 다수의 합의를 통해 블록이 생성되는 분산원장에서는 네트워크에 참여하는 크라이언트의 상당 부분을 제어하면 공격자가 유효성 검사 프로세스를 조작할 수 있다. 이를 "51% 공격"이라고 하며, 공격자는 네트워크 참여자 중에서 가장 빠른 속도로 블록을 생성하여 해당 체인을 유효한 것으로 간주하도록 만들 수 있다.

 

 

○ 사이드체인

 

- 사이드체인의 취약점은 체인 간에 자산과 메시지를 전송하는데 사용되는 게이트웨이에 있다. 비트코인의 사이드체인의 경우 사용자는 비트코인 블록체인 주소에 비트코인을 동결(Freeze)한 다음 이 비트코인에 해당하는 대체물(Counterpart)을 만들어 교환하게 된다. 이렇게 만들어진 대체물은 사이드체인 위에서 사용이 가능하며, 나중에 비트코인으로 교환이 가능하다.

 

 

○ 프라이비트 블록체인의 악용

 

- 프라이비트 블록체인에서는 컨트롤 타워의 영향력을 통해 악의적인 행위가 가능하다.

 

 

○ DDoS 공격

 

- 유효하지 않은 대량의 스팸거래를 네트워크에 생성하는 방식으로 공격을 수행하면, 각 노드는 거짓 거래의 유효성을 검사하기 때문에 처리시간이 늘어나고 이로 인한 부하가 발생하게 된다. 또한, 블록체인의 분산 아키텍처의 특성으로 인해 이러한 악성 프로그램들을 전부 방어한다는 것은 어려울 것이다.

 

 

○ 지갑 관리

 

- Wallet 소프트웨어는 권한이 부여되지 않은 상태에서 키가 액세스되는 것을 방어해야 한다. 지갑에 대한 액세스 권한을 상실하면, 금융기관이 거래를 승인하거나 자산을 이동하는 것이 불가능해질 수 있다. 공격자가 키를 도용한다고 해도, 시스템이 이를 추적하는 것이 힘들며 키가 손상되었다는 것을 인지하는 데까지 상당한 시간이 소요된다.

 

 

○ 스마트 계약 관리

 

- 스마트 계약은 분산원장에서 실행되는 소프트웨어이기 때문에 코드와 관련된 결함이 발생하기 쉽다. 실제로 2016년 6월 이더리움 네트워크에서 운영되는 DAO에 대한 공격이 발생하여 360만 이더(ETH)를 탈취당하는 사건이 발생했다.

 

 

○ 거버넌스 통제

 

- 금융기관이 거래에 참여했다는 것은 분산원장에서 표시가 가능하지만, 금융기관은 요청과 거래에 대한 직원의 서명이 필요하다. 문제는 거버넌스 구조가 분산원장에 얼마나 정확하게 구현될 수 있는 가이다.

 

 

○ 부정거래 및 자금세탁

 

- 자금 세탁에 사용된 주소의 소유주를 식별하는 것은 가능하지만, 사전에 이러한 거래를 차단하는 것은 불가능하다.

 

 

 

 

■ 구현 측면에서의 대응 방안

 

1. 개인키 보안을 위한 구현 측면의 대응 방안

2. 가용성을 위한 구현 측면의 대응 방안

3. 개인정보 보호를 위한 구현 측면의 대응 방안

4. 상호운영성을 고려한 구현 측면의 대응 방안