검수요청.png검수요청.png

시빌공격

위키원
218.146.11.197 (토론)님의 2019년 7월 23일 (화) 11:21 판
이동: 둘러보기, 검색

시빌공격(sybil attack)이란 공격자가 실제로는 한 명이면서 마치 여러 명인 것처럼 속이는 방식으로 네트워크상의 여러 노드를 제어함으로써, 의사결정에 좋지 않은 영향을 미치는 공격을 말한다.

익명성을 기반으로 운영되는 인터넷 백과사전인 위키백과에서 실제로는 한 명의 사용자가 여러 개의 다중계정을 만들고 악의적으로 사용함으로써 의사결정에 혼란을 주는 행위와 유사하다.

개요

시빌공격(Sybil Attack)이란 한 개인이 다수의 계정이나 노드, 컴퓨터를 구성해 네트워크를 장악하려는 온라인 시스템 보안 위협 중 하나이다. 시빌공격은 한 개인이 여러개의 고셜 미디어 계정을 만드는 것처럼 간단할 수 있다. 하지만 암호 화폐의 세계에서는 한 개인이 블록체인 네트워크 상에서 다수의 노드를 운영하는 것이라 보는 것이 더 적합하다. 시빌이라는 명칭은 다중 인격 장애라고도 불리는 해리성 정체 장애(Dissociative Identity Disorder)를 격었던 시빌 도르셋(Sybil Dorestt_이라는 여성에 대한 사례 연구에서 유래되었다.[1]

문제점

블록체인 기술과 시빌 공격은 서로 큰 관련성이 있다. 비트코인 시스템에서 두 네트워크의 블록체인이 서로 다르다면 더 컴퓨터 파워가 강한 네트워크의 블록체인이 올바른 블록체인으로 인정받는다.‘컴퓨터 파워를 기준으로 증명을 수행하겠다고 세계가 합의(Consensus)를 한 것이다. 구체적으로 비트코인에서는 채굴에 참여하는 컴퓨터들이 각각 해시(Hash)를 수행하도록 하는 작업증명(Proof of Work) 알고리즘에 의해 이러한 과정이 수행된다. 만약 증명의 기분이 아이피(IP)의 개수라면 시빌 공격의 대상이 되기 쉽ㄴ디ㅏ. 아이피의 경우 논리 주소(Logic Address)이므로 통신 패킷의 조작을 통해 충분히 통신 노드의 숫자를 늘릴 수 있다. 해커는 혼자서 여러 개의 아이피 주소를 이용해 자신이 가진 장부와 올바른 장부라고 거짓말 할 수 있기 때문에 블록체인이 아이피 주소의 개수로 증명된다면, 아이피를 가진 노드의 숫자를 무한정 늘려 증명하는 무한 생성 공격이 가능할 것이다.[2] 이처럼 공격자가 많은 수의 가짜 신원(혹은 시빌 신원)을 생성할 경우, 기존의 신뢰할 수 있는 노드를 네트워크에서 제외시킬 수 있다. 이후 블록을 수신하거나 전송하는 것을 거부할 수 있고, 다른 사용자들을 네트워크에서 차단시킬 수 있다. 공격자가 네트워크 컴퓨텅 파워나 해시 레이트의 대다수를 통제하는 대구모 시빌 공격일 경우, 51% 공격을 수행할 수 있다. 이런 경우, 주문 중인 거래를 변경하고, 트랜잭션의 승인 거부가 가능하다. 또한, 통제하는 동안 발생한 트랜잭션을 번복하여 이중 지불을 발생시킬 수도 있다.[1]

시빌 공격 방어법

작업 증명 방식(PoW)

블록체인에서는 보통 합의 알고리즘을 활용한 작업증명(PoW)이나 지분증명(PoS) 같은 방식을 통해서 시빌 공격에 대응한다. 하지만 합의 알고리즘은 시빌 공격을 원천봉쇄하지는 못 한다. 대신 시빌 공격을 대단히 비효율적인 수단으로 만들 수 있다. 예를 들어, 시빌 공격을 할 때 소모되는 비용이 시빌 공격을 성공했을 때 얻는 이익보다 훨씬 커지도록 한다. 일반적으로 작업증명 방식은 51% 공격 위험에 노출돼 있다. 51% 공격은 블록체인의 전체 노드 중 50%를 초과하는 컴퓨팅 파워를 확보한 뒤 거래 데이터를 조작해 이익을 얻으려는 해킹 공격이다. 이런 위협에서 벗어나기 위해 작업증명 방식을 탑재한 블록체인은 경제적 보상 시스템을 도입했다. 새로운 트랜잭션이 발생하면 채굴자가 해당 트랜잭션이 유효한지 검증하고 그 대가로 보상을 받는 것이다. 작업증명 방식은 채굴자 간 경쟁을 촉발하고 과반 이상의 컴퓨팅 파워를 장악하려면 막대한 비용이 필요하다. 또한, 공격할 동기 자체를 꺾는 구조다. 하지만 작업증명 방식은 트랜잭션 처리 속도가 느리고, 연산을 위해 소모하는 전력이 많아 에너지 낭비가 크다는 단점이 있다.

지분 증명 방식(PoS)

지분증명 방식은 해당 암호화폐를 보유하고 있는 지분율에 비례해 블록 생성 확률을 갖는 합의 알고리즘이다. 참여자들의 돈을 테이블 위에 올려놓고 만지지 못하도록 감시하면서 블록을 생성할 권한을 임의로 부여하는 것과 같다. 작업증명 방식이 물리적 자원을 투입했다면 지분증명 방식은 경제적 자원을 투입하는 셈이다. 참여자가 불법적인 행동을 할 경우, 해당 참여자의 지분을 삭감함으로써 참여자가 네트워크에 이익이 되는 방향으로 행동하도록 유도한다. 작업증명 방식에 비해 자원 소모가 적다는 장점이 있다. 그러나 지분증명 방식에 비해 안정성에 대한 검증이 덜 되었고, 토큰을 대여해서 자신의 영향력을 비교적 적은 비용으로 크게 늘릴 가능성도 배제할 수 없다.

기존 서비스 제공업체가 사용하는 방법

기존 서비스 제공업체가 사용하는 방법으로 시빌 공격을 막기도 한다. 사람만이 할 수 있는 작업을 요구하는 것이다. 대표적으로 ‘CAPTCHA’가 있다. CAPTCHA는 이미지에 출력된 글자나 숫자를 입력창에 그대로 입력하게 해 사람인지 확인하는 방법이다. 사용자에겐 ‘로봇이 아닙니다’ 문구로 친숙하다. 단순해 보이지만 인공지능 기술로도 공격하기 어려울 정도로 효과적이다. 컴퓨터는 비틀거나 회전시킨 필체를 인식하지 못하기 때문이다. 변형된 필체를 인식하기 위해서는 별도의 딥러닝이 필요해서다. 다만 미래에는 인공지능 기술 발달로 무용지물이 될 수 있다. CAPTCHA도 신원확인은 할 수 없다. 신원확인은 제3자에게 인증 받는 방식을 활용하고 있다. 사용자가 계정을 만들 때 주민등록번호, 핸드폰 번호 등 개인의 고유 정보를 받아 다른 기관을 통해 신원을 확인하는 것이다. 통신사 본인인증과 여권 인증을 들 수 있다. 가장 확실한 신원확인 방법으로 평가받지만 인증 업무를 맡는 중앙 기관을 신뢰해야 한다는 한계가 있다.[3]

동영상

각주

  1. 1.0 1.1 시빌 공격(Sybil Attacks)이란?〉, 《BINANCE ACADEMY》, 2018-12-07
  2. 시빌 공격(Sybil Attack)〉, 《비트웹》, 2018-01-22
  3. 김도윤 기자, 〈디지털 신원과 블록체인 ②〉, 《D.STREET》, 2019-06-17

참고 자료

같이 보기


  검수요청.png검수요청.png 이 시빌공격 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.