정보보안기사 기출문제 총정리 ㉙ 블록체인 보안 – 합의 알고리즘·스마트 컨트랙트 취약점

블록체인 보안 개요

블록체인은 분산 원장 기술로, 보안성이 높다고 알려져 있지만 고유한 보안 취약점이 존재합니다. 정보보안기사에서는 블록체인 구조와 합의 알고리즘, 주요 공격 유형이 출제됩니다.

블록체인 기본 구조

  • 블록: 트랜잭션 묶음 + 이전 블록 해시 + 타임스탬프 + 논스
  • 체인: 이전 블록 해시로 연결 → 하나 수정 시 이후 블록 전부 변경 필요
  • 분산 원장: 모든 참여자가 동일한 사본 보유
  • 해시 함수: SHA-256 (비트코인), Keccak-256 (이더리움)

합의 알고리즘

PoW (Proof of Work, 작업 증명)

  • 해시 퍼즐을 가장 먼저 푼 노드(채굴자)가 블록 생성
  • 비트코인, 이더리움(구버전)에서 사용
  • 51% 공격: 전체 해시 파워의 51% 이상 장악 시 블록 위·변조 가능
  • 에너지 소비 과다가 단점

PoS (Proof of Stake, 지분 증명)

  • 보유 코인량(지분)에 비례하여 블록 생성 확률 결정
  • 이더리움 2.0, Cardano에서 사용
  • 에너지 효율적, Nothing at Stake 문제 존재

DPoS, PBFT 등 기타 합의 알고리즘

  • DPoS (Delegated PoS): 대표자를 선출하여 합의 위임 (EOS)
  • PBFT: 허가형 블록체인의 비잔틴 장애 허용 합의 (Hyperledger Fabric)

블록체인 주요 공격

  • 51% 공격: 해시 파워 과반 확보 후 이중 지불, 블록 위조
  • 셀피시 마이닝(Selfish Mining): 채굴한 블록을 숨겼다가 한꺼번에 공개하여 이득
  • 이클립스 공격(Eclipse Attack): 특정 노드의 P2P 연결을 장악하여 고립
  • Sybil 공격: 다수의 가짜 노드를 생성하여 네트워크 장악 시도

스마트 컨트랙트 보안 취약점

재진입 공격 (Reentrancy Attack)

이더리움 DAO 해킹(2016년)에 사용된 취약점. 외부 계약 호출 중 콜백을 통해 같은 함수를 반복 실행하여 자금 탈취. Checks-Effects-Interactions 패턴으로 방어.

정수 오버플로우/언더플로우

uint 타입 범위 초과 시 예상치 못한 값. SafeMath 라이브러리 사용으로 방어.

타임스탬프 의존성

블록 타임스탬프를 무작위성 소스로 사용 시 채굴자가 조작 가능

프론트러닝(Front-running)

미처리된 트랜잭션을 확인 후 더 높은 가스비로 먼저 처리되도록 선행 트랜잭션 제출

시험 핵심 포인트

  • PoW 51% 공격: 해시 파워 과반 → 이중 지불 가능
  • 스마트 컨트랙트: 이더리움의 자동 실행 계약 코드
  • 재진입 공격 방어: Checks-Effects-Interactions 패턴
  • 블록체인 불변성: 해시 체인으로 과거 블록 위변조 사실상 불가
  • 허가형(Permissioned) vs 비허가형(Permissionless) 블록체인

마무리

블록체인 보안은 최신 기술 트렌드와 연계된 출제 영역입니다. 합의 알고리즘의 차이와 스마트 컨트랙트 취약점 유형을 이해하면 신규 출제 문제에도 대응할 수 있습니다.

Leave a Comment