[Blockchain] 블록체인의 보안적 이슈 (51% 공격 / 시빌 공격 등)
51% 공격 / 레이스공격 / 핀니공격 / 리플레이공격 / 이클립스공격 / 크립토재킹공격 / 더스팅공격 / 시빌공격
51% 공격
-
단일 주체나 조직이 ‘50% 이상의 해시 레이트’(채굴파워)를 가지게 될 경우,
👉 트랜잭션이 승인되지 못하도록 하거나 / 트랜잭션 순서를 ‘조작’할 수 있게 된다
👉 채굴자들이 채굴을 하지 못하도록 하고 채굴 작업을⛏ 독점할 수 있다 -
비트코인에서 해당 공격이 발생할 가능성은 매우 낮지만,
규모가 작은 다른 네트워크에서는 발생할 수도 있다
레이스 공격 (Race Attacks)
-
동일한 자금을 사용하는 ‘두 개의 충돌하는 트랜잭션’이 연속으로 전송되지만,
하나의 트랜잭션만 승인되는 것 -
두 개의 충돌하는 트랜잭션 중 자신에게 이익이 되는 트랜잭션만 유효하게 만들어 나머지 결제는 무효화하는 것
핀니 공격 (Finney Attacks)
-
공격자는 네트워크에 즉각적으로 트랜잭션을 전송하지 않고,
👉 코인을 자신의 다른 지갑으로 전송하는 ‘트랜잭션을 미리 생성’해두고,
👉 블록을 ‘미리 채굴해두어’ 해당 블록에 기록한다 -
동일 코인을 다른 트랜잭션에서 사용하는 대신,
이전에 채굴한 블록만을 전송하며, 결제는 무효화된다
리플레이 공격 (Replay Attack)
-
공격자가 보안 네트워크 통신을 가로채고,
👉 해당 통신의 수신자로 하여금 공격자가 원하는 일을 수행하도록 하기 위해
👉 통신을 ‘지연시키거나 재전송’하는 방식이다 -
리플레이 공격은 해커가 네트워크에서 메시지를 가로챈 후 📃
👉 메시지를 복호화하기 위한 별도의 과정이 필요하지 않으며,
👉 메시지를 포함한 통신 전체를 다시 전송하는 것으로도 ‘공격을 성공’할 수 있다
이클립스 공격 (Eclipse Attack)
-
공격자가 네트워크 상의 ‘노드를 방해’하기 위한 공격으로,
👉 정교한 공격을 준비하기 위해 네트워크에 혼란을 야기시킬 때 주로 사용한다 -
이클립스 공격은 전체 네트워크를 공격하기 보다는,
👉 특정 노드를 격리시켜 정직한 다른 노드로부터 정보를 수신받지 못하게
👉 여러 악의적인 공격자 노드가 ‘네트워크를 독점’한다
크립토재킹 (Cryptojacking) 공격
-
감염된🧪 피해자의 장치를 사용해 암호화폐를 채굴하는 것을 의미한다
-
공격자는 악성 채굴 프로그램을 ‘사용하도록 유도’하여,
👉 해당 프로그램을 실행하면 악성 프로그램에 감염 되어 눈치채지 못할 만큼
👉 시스템 자원을 이용해 채굴을 하게 된다 -
감염된 피해자는 자신도 모르는 새에 채굴을 시작하고,
공격자는 피해자의 해시 파워를 사용해 채굴 보상을 받는다
더스팅 공격 (Dusting Attack)
-
해커들이 아주 적은 양의 코인을 사용자의 지갑에 전송하여 ‘사용자의 신원을 파악’하는 악성 공격이다
-
일반 사용자들의 주소로 ‘아주 적은 양의 금액’을 보내 많은 주소를 더스팅 하고,
👉 해당 송금 트랜잭션과 더스팅된 지갑들의 ‘트랜잭션을 추적’한다
👉 일반적으로 대부분의 개인 지갑은 출금을 위해 ‘거래소 지갑과 연결’되어 있기 때문에,
👉 트랜잭션을 추적하다보면, 결국 ‘지갑을 소유한 개인이 누구인지’ 알수 있다
시빌 공격 (Sybil Attack)
-
‘한 개인’이 네트워크의 ‘여러 노드를 장악’하려는 악성 공격이다
-
공격자는 ‘충분한 수의 가짜 노드를 생성’하여,
👉 기존의 '신뢰할 수 있는 노드'를 네트워크에서 제외시킨다
👉 이를 통해 블록을 수신하거나 전송하는 것을 ‘거부’하거나,
👉 다른 노드들을 네트워크에서 ‘차단’할 수도 있다