[IT열쇳말] 시빌 공격

가 +
가 -

시빌 공격의 정의

시빌 공격 설명도 <출처: Nothing in Particular Blog>

시빌 공격 설명도 <출처: Nothing in Particular Blog>

시빌 공격(Sybil Attack)은 네트워크를 해킹하기 위한 공격 방법의 일종으로, 어떤 특수 목적을 이루기 위해 한 사람의 행위를 여러 사람의 행위인 것으로 속여 네트워크를 공격하는 방법이다.

대부분 네트워크는 계정 하나를 참여자 한 명으로 가정한다. 그리고 이 가정이 현실에서 작동하도록 여러 장치를 마련한다. 가령 참여자가 네트워크에 참여하기 위한 계정(ID)을 만들 때 주민등록번호, 휴대전화 번호 등을 인증하도록 해 사용자 신원을 확인하는 식이다. 이런 방법은 인증을 도맡아 할 중앙 기관이 존재하는 네트워크에서 가능하다. 반면 피어투피어(Peer to Peer·P2P) 네트워크에서는 네트워크 중심에서 신원을 확인할 기관이 없다. 때문에 P2P 네트워크는 시빌 공격의 위험에 상대적으로 더욱 노출돼 있다. 실제로 2012년 P2P 파일 공유 프로그램인 ‘토렌트’가 시빌 공격에 매우 취약하다는 것이 입증됐다.

시빌 공격의 어원

<시빌> 표지 (출처: 위키백과)

<시빌> 표지 (출처: 위키백과)

시빌 공격이라는 말을 처음 제안한 사람은 마이크로소프트 리서치팀에서 일하던 존 R. 듀서(John R. Douceur)이다. 그는 2002년 『시빌 공격'(The Sybil Attack)』이라는 제목의 논문에서 이 용어를 처음 제안했다.

시빌(Sybil)이라는 용어는 1973년 출판된 동명의 책 제목에선 따온 것이다. 이 책은 다중 인격 장애를 가지고 이는 한 여성에 대한 사례 연구를 다룬 책인데, 다중 인격 장애를 겪는 사람이 여러 개의 인격을 가진 것처럼 한 명의 네트워크 참여자가 여러 명인 것처럼 속인다는 의미에서 시빌 공격이라는 말이 만들어졌다.

시빌 공격의 예

시빌 공격의 예를 들자면 다음과 같다. 가령 토렌트 같은 P2P 서비스 참여자 한 명이 중복 계정을 여러 개 만들어 해당 서비스에 대한 평가 점수를 조작할 수 있다. 마치 여러 사람이 서비스에 좋은 점수를 준 것처럼 꾸미거나 혹은 그 반대로 나쁜 점수를 준 것처럼 꾸밀 수 있다는 이야기다. 이런 시빌 공격의 가능성은 계정을 얼마나 쉽고 저렴하게 만들 수 있느냐에 달려 있다.

시빌 공격과 블록체인

블록체인

블록체인

중앙에서 네트워크를 관장하는 주체가 없는 블록체인에서 역시 시빌 공격은 중요한 이슈다.

좀 더 자세히 알아보기 위해 최초의 블록체인인 비트코인의 사례를 보자. 비트코인은 이중지불 문제를 해결하기 위해 채굴을 통한 합의 매커니즘을 사용한다. 이를 작업증명(Proof of Work·PoW)이라고 한다. 비트코인 네트워크는 작업증명을 통해 컴퓨팅 파워를 많이 써 네트워크에 기여한 참여자(노드)를 찾아 ‘장부 작성 권한’을 준다. 그런데 만약 채굴 연산량의 50% 이상을 보유한 참여자가 있다면 비트코인 네트워크에 기록되는 장부는 이 참여자가 의도하는 대로 작성될 것이다. 이 가능성을 ‘51% 공격’이라고 부른다.

비트코인을 만든 사토시 나카모토는 51% 공격의 위험성을 잘 인지하고 있었다. 그가 이 위협으로부터 비트코인 네트워크를 보호하기 위해 고안한 것이 암호화폐를 통한 경제적 보상 시스템이다. 이 암호화폐 보상 시스템으로 인해 누군가가 50%가 넘는 컴퓨팅 파워를 장만하는 데 천문학적 액수 들게 된다. 더구나 블록체인은 투명성을 지녀 누군가 시빌 공격을 하면 누구나 공격이 일어났다는 사실을 알 수 있다. 즉 만약 누군가 천문학적인 액수를 들여 50%가 넘는 컴퓨팅 파워를 가지고 시빌 공격을 할 경우, 네트워크 참여자들은 이를 알아차릴 수 있고 이는 곧 이탈로 이어질 것이다. 사용자 이탈은 다시 화폐 가격의 하락으로 이어진다. 결과적으로 블록체인은 시빌 공격에 나설 경제적 유인이 적게끔 설계된 것이다.

블록체인은 시빌 공격을 무력하게 만들기 위해 만들어진 수단이자 그 결과다. 블록체인은 시빌 공격이 수행될 수 있는 조건을 차단했다. 애초에 신원을 위조할 수 없게 한 것이다.

최초의 블록체인, 비트코인을 만든 사토시 나카모토는 중앙의 게이트키퍼가 없는 네트워크가 시빌 공격에 취약하다는 것을 잘 알고 있었다. 그래서 시빌 공격으로부터 네트워크를 방어하기 위해 합의 매커니즘을 만들었다. 사람들이 자신의 이익만을 위해 이기적으로 행동해도 그 행동들이 시스템에 이익이 되도록 프로그래밍한 것이다.

※ 참고문헌
– 나동빈, 『시빌 공격(Sybil Attack)』, (비트웹, 2018.01.22)
– John R. Douceur, 『The Sybil Attack』, (Microsoft Research, 2002)

이 글은 ‘네이버캐스트→테크놀로지월드→용어로 보는 IT’에도 게재됐습니다. ☞‘네이버캐스트’ 보기

네티즌의견(총 0개)