시빌 공격(Sybil Attack)은 하나의 공격자가 수많은 가짜 신원(Sybils)을 생성하여, 분산 시스템이나 P2P 네트워크에서 자신이 다수인 것처럼 위장하고 부당한 영향력을 행사하려는 공격입니다.
이 이름은 다중인격장애를 다룬 1973년작 소설 '시빌(Sybil)'에서 유래했습니다.
1. 시빌 공격의 핵심 원리
대부분의 분산 시스템은 '1인 1표' 또는 '다수결'의 원칙에 따라 작동합니다. 시빌 공격은 이 점을 악용합니다.
- 정상 시스템: 100명의 정직한 사용자와 1명의 공격자가 있다면, 공격자의 영향력은 1%에 불과합니다.
- 시빌 공격: 100명의 정직한 사용자가 있는 시스템에, 1명의 공격자가 1,000개의 가짜 계정(시빌)을 만들어 참여합니다. 이제 시스템은 1,100명의 "사용자"가 있는 것으로 착각하며, 공격자는 전체의 90%가 넘는(1000/1100) 막강한 영향력을 갖게 됩니다.
2. 연합학습에서의 시빌 공격
시빌 공격은 특히 견고한 집계 전략(Robust Aggregation)에 치명적입니다.
- 공격 시나리오: 공격자가 수천 개의 가짜 클라이언트(시빌)를 연합학습 라운드에 참여시킵니다. 이 시빌들은 모두 동일하거나 유사한 '악의적인 모델 업데이트'(예: 백도어)를 서버로 전송합니다.
- 치명적인 이유: 견고한 집계 전략의 무력화
- Krum, Trimmed Mean(절삭 평균), Median(중앙값) 등의 견고한 전략은 "악의적인 클라이언트는 소수일 것"이라고 가정합니다. 하지만 시빌 공격 하에서는 악의적인 클라이언트가 다수가 됩니다.
- 예를 들어, 100개의 정직한 업데이트와 1,000개의 악의적인 업데이트가 있다면:
- Trimmed Mean은 상/하위 값을 잘라내도 여전히 악의적인 값이 중앙에 남아있게 됩니다.
- Krum이나 Median은 업데이트들의 "중심"을 찾으려 하는데, 그 중심이 이미 1,000개의 악의적인 업데이트 쪽으로 완전히 치우쳐 버립니다.
- 결국, 서버는 악의적인 업데이트를 '정상적인 다수의 의견'으로 착각하고 그대로 글로벌 모델에 반영하게 됩니다.
3. 시빌 공격 방어 전략
시빌 공격의 핵심은 "신원을 만드는 비용이 거의 0"이라는 데 있습니다. 따라서 방어 전략은 "신원을 만들거나 유지하는 데 비용이 들게" 만드는 데 집중됩니다.
3.1. 신원 기반 방어 (가장 강력함)
신원 생성 자체를 통제하는 중앙화된 방식입니다.
- 클라이언트 인증 (Client Authentication):
- 동작: 서버가 신뢰할 수 있는 클라이언트에게만 암호화된 인증서(Certificate)나 API 키를 발급합니다. 연합학습 참여 시, 이 인증서로 서명된 요청만 허용합니다.
- 구현: PKI(공개 키 기반 구조)를 구축하여, 신뢰할 수 있는 기관(CA)이 각 기기(예: 스마트폰, IoT 장치)에 고유한 키를 발급합니다. 공격자는 1,000개의 유효한 인증서를 발급받을 수 없습니다.
- 하드웨어 증명 (Hardware Attestation):
- 동작: TPM(Trusted Platform Module)이나 SGX(Software Guard Extensions) 같은 하드웨어 보안 칩을 사용합니다. 클라이언트가 "나는 조작되지 않은 정품 하드웨어에서 실행 중"임을 암호학적으로 증명해야만 서버가 받아줍니다.
- 구현: 가짜 시빌 클라이언트는 이러한 하드웨어 증명을 통과할 수 없습니다.
2. 비용/자원 기반 방어
신원을 만드는 데 컴퓨팅 파워나 경제적 비용이 들게 하는 방식입니다.
- 작업 증명 (Proof-of-Work, PoW):
- 동작: (비트코인과 유사하게) 학습 라운드에 참여하려는 모든 클라이언트에게 약간의 연산이 필요한 암호학적 퍼즐을 풀도록 요구합니다.
- 구현: 1개의 신원을 유지하는 데는 비용이 적게 들지만, 1,000개의 시빌을 유지하려면 1,000배의 컴퓨팅 자원이 필요하므로 공격 비용이 급증합니다.
- 비용 증명 (Proof-of-Stake / Proof-of-Cost):
- 동작: 시스템에 참여하기 위해 일정량의 보증금(Stake)을 예치하도록 합니다. 만약 해당 클라이언트가 악의적인 행동(예: 이상치 업데이트)을 보낸 것이 발각되면 보증금을 몰수합니다.
- 구현: 1,000개의 시빌을 참여시키려면 1,000배의 보증금이 필요하여 공격이 경제적으로 불가능해집니다.
3. 평판 기반 방어
신뢰를 시간에 걸쳐 쌓도록 강제하는 방식입니다.
- 평판 시스템 (Reputation System):
- 동작: 모든 클라이언트는 초기에 낮은 평판 점수로 시작합니다.
- 구현: 클라이언트가 꾸준히 '정직하고 유용한' 업데이트(예: 다른 클라이언트와 유사도가 높은 업데이트)를 제출할 때마다 평판 점수가 서서히 오릅니다.
- 서버는 집계 시 평판 점수가 높은 클라이언트의 업데이트에 더 높은 가중치를 줍니다.
- 효과: 공격자가 1,000개의 시빌을 만들어도 모두 평판 0점에서 시작하므로, 이들의 악의적인 업데이트는 집계 시 가중치가 0에 가까워져 시스템에 아무런 영향을 미치지 못합니다.
'연합학습 > 사이버 보안' 카테고리의 다른 글
| FL-08. 방어 전략: 기여도 평가 (0) | 2025.11.03 |
|---|---|
| FL-07. 방어 전략: 견고한 집계 전략들 (0) | 2025.11.03 |
| FL-06. 연합학습의 사이버 보안을 위한 공격 경로 분석 (0) | 2025.10.10 |
| FL-05. 연합학습의 사이버 보안을 위한 공격 표면 분석 (0) | 2025.10.10 |
| FL-04. 연합학습의 사이버 보안을 위한 위협 모델링 (0) | 2025.10.10 |