안경잡이개발자

728x90
반응형

  블록체인(blockchain) 분야에는 다양한 보안 이슈가 존재한다.

 

1. INFRASTRUCTURE ATTACK

 

  이 분야에서 가장 유명한 공격은 51% 공격(attack)이다. 이는 네트워크에서의 컴퓨팅 파워의 50% 이상을 차지하는 집단이 있다면, 전체 네트워크를 컨트롤할 수 있다는 것을 의미한다. 또한 가상화폐의 trade를 막기 위한 DDoS 공격 유형도 사용될 수 있다. 그리고 시빌(Sybil) 공격은 여러 개의 virtual identity를 만드는 유형을 의미한다. 예를 들어 비트코인의 경우 다수의 지갑을 만들어 실제로는 혼자이지만, 다수의 사람인 척 흉내를 낼 수 있다. 이러한 공격이 이클립스(eclipse) 공격으로 연결될 수 있는데, 특정한 노드와 연결된 노드들을 전부 attack node로 채워버려 하나의 노드를 고립된(isolated) 상태로 만들 수 있다.

 

  또한 mining pool을 공격(attack)하는 유형도 존재한다. 대표적으로 FC 2014에서 발표된 Selfish Mining이 있다. 채굴(mining) 자체는 경쟁적으로 이루어지며, 자신이 속한 체인(chain)의 길이가 가장 길어야 실질적인 이득을 볼 수 있을 것이다. Selfish Mining의 기본적인 아이디어는 nonce 값을 찾은 뒤에 바로 공표하지 않고, 그다음 블록을 미리 만들고 있는 것이다. 나중에 honest miner가 블록을 발표했을 때, 공격자가 한꺼번에 2~3개의 블록을 공표하여 자신의 체인이 가장 길어지도록 한다. 즉, honest miner의 computation power를 wasted 하도록 만드는 것이다.

 

2. APPLICATION ATTACK

 

  먼저 이중 지불(double spending) 공격이 있다. 말 그대로 동일한 돈을 여러 노드에 송금하는 공격이다. 내가 1 BTC를 가지고 있는 상황에서, A와 B에게 모두 1 BTC를 보내는 공격 유형이다. 이중 지불을 막기 위한 기본적인 방어 기법은 해당 transaction 이후에 최소한 6개의 연달아 생성된 블록(block)이 되었을 때 인정하도록 하면 된다.

 

  또한 스마트 컨트랙트(smart contract) 취약점을 공격하는 유형도 존재한다. 실제로 DAO 토큰의 사례가 자주 언급되는데, 스마트 컨트랙트를 작성할 때의 실수로 문제가 발생한 사례이다. 나아가 자동화 도구를 개발하여 이더리움의 스마트 컨트랙트 취약점을 찾도록 하는 연구도 많이 진행되고 있다. 대표적인 문제점인 reentrancy, unchecked send와 같은 다양한 취약점이 존재하는지 개별 스마트 컨트랙트에 대하여 검사하도록 할 수 있다. 대표적인 메서드가 ZEUS이다.

728x90
반응형