연합학습/사이버 보안

FL-04. 연합학습의 사이버 보안을 위한 위협 모델링

FedTensor 2025. 10. 10. 15:40

1. 개요

 

연합학습(Federated Learning, FL)은 데이터가 생성된 위치(예: 모바일, 병원)에서 데이터를 버로 이동시키지 않고 머신러닝 모델을 훈련하는 분산형 AI 기술입니다. 이는 사용자의 개인정보를 보호하면서도 대규모 데이터를 활용할 수 있는 강력한 패러다임으로 주목받고 있으며, 이로 인해 기존과 다른 새로운 보안 위협에 직면하고 있습니다.

 

하지만 데이터가 중앙화되지 않는다는 특성은 기존의 데이터 센터 중심 보안 모델로는 대응하기 어려운 새로운 공격 벡터와 보안 취약점을 야기합니다. 따라서 연합학습 시스템을 안전하게 구축하고 운영하기 위해서는 잠재적 위협을 체계적으로 식별하고 분석하는 위협 모델링(Threat Modeling) 프로세스가 필수적입니다.

 

본 문서는 STRIDE 방법론을 활용하여 연합학습 환경의 고유한 보안 위협을 체계적으로 식별 및 분석하고, 이에 대응하기 위한 구체적인 완화 전략을 제시함으로써 개발자, 보안 분석가, 시스템 설계자가 참고할 수 있는 기술적 청사진을 제공하는 것을 목표로 합니다.

2. 연합학습 아키텍처 이해

​위협을 식별하기에 앞서, 일반적인 연합학습의 구성 요소와 데이터 흐름을 이해해야 합니다.

  • 클라이언트 (Clients / Participants): 개별 기기 또는 기관으로, 로컬 데이터를 보유하고 모델 훈련에 참여합니다. (예: 스마트폰, 웨어러블 기기, 개별 병원)
  • 중앙 서버 (Aggregator): 클라이언트로부터 모델 업데이트(예: 가중치, 그래디언트)를 수신하여 이를 병합(Aggregation)하고, 개선된 글로벌 모델을 다시 클라이언트에게 배포하는 역할을 합니다.
  • 모델 업데이트: 각 클라이언트가 자신의 로컬 데이터로 모델을 학습시킨 후, 학습 결과를 요약한 파라미터입니다. 원시 데이터(Raw Data)는 공유되지 않습니다.
  • 글로벌 모델: 모든 클라이언트의 학습 결과를 종합하여 만들어진 최종 모델입니다.

데이터 흐름:

  1. 서버가 초기 글로벌 모델을 참여할 클라이언트들에게 배포합니다.
  2. 각 클라이언트는 자신의 로컬 데이터로 모델을 다운로드하여 훈련합니다.
  3. 클라이언트는 훈련 결과(모델 업데이트)를 중앙 서버로 전송합니다.
  4. 서버는 다수의 클라이언트로부터 수신한 모델 업데이트를 종합하여 글로벌 모델을 개선합니다.
  5. 이 과정(1~4단계)을 모델이 목표 성능에 도달할 때까지 반복합니다.​

3. STRIDE 기반 위협 식별 및 분석

STRIDE는 마이크로소프트에서 개발한 위협 모델링 방법론으로, 시스템의 잠재적 위협을 6가지 범주로 분류합니다.

위협 범주
설명
연합학습 환경에서의 의미
Spoofing (가장)
악의적인 행위자가 합법적인 클라이언트나 서버인 것처럼 위장하는 행위
신뢰할 수 있는 기관(예: 특정 병원)의 클라이언트로 위장하거나, 수많은 가짜 클라이언트(시빌)를 생성하여 시스템에 참여합니다. 이를 통해 모델 포이즈닝 공격의 영향력을 증대시키거나 특정 클라이언트 그룹의 기여도를 희석시킬 수 있습니다.
Tampering (변조)
데이터나 모델 파라미터를 무단으로 수정하는 행위
악의적인 클라이언트가 의도적으로 조작된 모델 업데이트(예: 백도어가 심어진 가중치)를 서버에 전송합니다. 이 업데이트가 글로벌 모델에 통합되면, 모델의 성능이 저하되거나 특정 입력에 대해 예측할 수 없는 오작동을 일으킬 수 있습니다.
Repudiation (부인)
행위자가 특정 행위를 수행한 사실을 부인하는 것
모델 포이즈닝 공격을 수행한 클라이언트가 "나는 조작된 업데이트를 보낸 적이 없다"고 주장하는 시나리오입니다. 클라이언트 측에서 수행된 작업에 대한 서버의 가시성이 제한적이므로, 명확한 로깅 및 감사 체계가 없다면 공격 행위를 입증하고 책임을 묻기 어렵습니다.
Information Disclosure (정보 유출)
민감한 정보가 비인가자에게 노출되는 것
서버나 다른 참여자가 수신한 모델 업데이트(가중치, 그래디언트)를 분석하여, 훈련에 사용된 특정 데이터의 존재 여부(멤버십 추론)나 원본 데이터의 일부(모델 역공학)를 복원하려는 시도입니다. 이는 연합학습의 핵심 목표인 개인정보 보호를 직접적으로 위협합니다.
Denial of Service (서비스 거부)
정상적인 시스템의 작동을 방해하여 훈련 과정을 지연시키거나 중단시키는 행위
악의적인 클라이언트가 서버에 대량의 훈련 요청을 보내거나, 계산적으로 복잡하지만 무의미한 모델 업데이트를 전송하여 서버의 리소스를 고갈시킬 수 있습니다. 또한, 모델이 수렴하는 것을 방해하는 방향으로 업데이트를 계속 전송하여 전체 훈련 과정을 지연시키거나 무효화할 수 있습니다.
Elevation of Privilege (권한 상승)
일반 사용자 권한을 가진 공격자가 관리자 권한을 획득하는 것
서버의 집계 알고리즘의 취약점을 악용하여, 특정 클라이언트의 모델 업데이트가 다른 클라이언트보다 더 큰 가중치로 반영되도록 조작하는 것을 의미합니다. 이는 시빌 공격과 결합될 때 더 큰 위협이 되며, 사실상 공격자가 글로벌 모델의 방향성을 제어하게 만듭니다.

3.1. 주요 위협 및 공격 시나리오

A. 정보 유출 (Information Disclosure)

 

연합학습의 가장 큰 목표는 개인정보 보호이지만, 모델 업데이트 자체에도 정보가 포함될 수 있어 이를 통한 데이터 유출 공격이 가능합니다.

  • 멤버십 추론 공격 (Membership Inference): 특정 희귀 질병 환자들의 데이터를 학습한 병원 클라이언트가 있다고 가정해 보겠습니다. 악의적인 서버는 모델 업데이트를 분석하여, 특정 인물 A가 해당 병원의 훈련 데이터셋에 포함되었는지, 즉 그 희귀 질병을 앓고 있는지 여부를 높은 확률로 추론할 수 있습니다.
  • 속성 추론 공격 (Property Inference): 훈련 데이터의 통계적 속성(예: 특정 인종의 비율)이나 모델이 학습한 의도와 다른 정보를 추론하는 공격입니다.
  • 모델 역공학 (Model Inversion): 공유된 모델 파라미터(특히 그래디언트)를 분석하여 원본 훈련 데이터를 복원하려는 시도입니다. 특히 이미지나 텍스트 데이터에 취약할 수 있습니다.

B. 변조 (Tampering) - 모델 포이즈닝

가장 치명적인 위협 중 하나로, 악성 클라이언트가 의도적으로 조작된 모델 업데이트를 전송하여 글로벌 모델의 성능을 저하시키거나 특정 목적을 위해 조작하는 공격입니다.

  • 백도어 공격 (Backdoor Attacks): 공격자는 글로벌 모델에 '백도어'를 심습니다. 이 모델은 평소에는 정상적으로 작동하지만, 공격자가 설정한 특정 입력(트리거)이 들어오면 오작동을 일으킵니다. 예를 들어, 안면 인식 시스템에서는 특정 액세서리(예: 안경)를 착용한 모든 사람을 특정 인물로 오인하게 만들거나, 금융 사기 탐지 모델에서는 특정 패턴의 거래를 정상 거래로 분류하도록 백도어를 심을 수 있습니다.
  • 데이터 포이즈닝 (Data Poisoning): 악성 클라이언트가 자신의 로컬 데이터셋을 오염시켜(예: 라벨을 바꾸는 등) 모델이 잘못된 패턴을 학습하도록 유도합니다.

C. 가장 (Spoofing) & 권한 상승 (Elevation of Privilege) - 시빌 공격

  • 시빌 공격 (Sybil Attack): 공격자가 수많은 가짜 클라이언트(시빌)를 생성하여 연합학습 과정에 참여시키는 공격입니다. 이를 통해 공격자는 소수의 악성 노드만으로 글로벌 모델에 부당하게 큰 영향력을 행사하여 모델 포이즈닝 공격의 성공률을 높일 수 있습니다.

4. 위협 완화 및 대응 전략

위협 영역
대응 전략
세부 기술
정보 유출
프라이버시 강화 기술 (PETs)
  • 차분 프라이버시 (Differential Privacy): 모델 업데이트에 통계적 노이즈를 추가하여 개별 데이터의 기여도를 식별하기 어렵게 만듭니다. (멤버십 추론 및 모델 역공학 방어에 효과적)
  • 동형 암호 (Homomorphic Encryption): 데이터를 암호화된 상태에서 연산할 수 있게 하여 서버가 원본 업데이트를 볼 수 없도록 합니다. (서버의 데이터 접근 원천 차단)
  • 보안 다자간 계산 (Secure Multi-Party Comp.): 여러 참여자가 자신의 입력을 노출하지 않고 함께 함수를 계산하는 기술입니다. (서버 및 다른 참여자로부터 업데이트 비밀 보장)
변조 (포이즈닝)
강건한 집계 (Robust Aggregation): 악의적인 클라이언트가 전송한 비정상적인 모델 업데이트가 전체 글로벌 모델에 미치는 영향을 최소화하는 집계 기법을 적용합니다.
  • 이상치 탐지 기반 방어: 다른 클라이언트의 업데이트와 통계적으로 크게 다른 악성 업데이트를 탐지하고 필터링합니다.
  • 중앙값/절삭 평균 사용: 단순 평균 대신 중앙값(Median)이나 절삭 평균(Trimmed Mean) 같은 통계적 방법을 사용하여 극단적인 값의 영향을 줄입니다.
  • 평판 기반 시스템: 각 클라이언트의 기여도를 추적하여 신뢰도가 낮은 클라이언트의 업데이트 가중치를 낮춥니다.
  • 영지식 증명 (Zero-Knowledge Proofs): 클라이언트가 자신의 모델 업데이트가 정해진 규칙(예: 올바른 데이터셋으로 정직하게 훈련)에 따라 생성되었음을 데이터 자체를 노출하지 않고 증명하도록 합니다. 이를 통해 악의적으로 조작된 업데이트 제출을 원천적으로 방지할 수 있습니다.
가장/권한 상승 (시빌 공격)
클라이언트 인증 및 신원 확인
  • 신뢰할 수 있는 클라이언트 풀: 사전에 검증된 신뢰할 수 있는 클라이언트로만 학습 풀을 구성합니다.
  • 리소스 기반 인증: 작업증명(PoW)과 유사하게, 클라이언트가 훈련에 참여하기 위해 일정 수준의 컴퓨팅 파워를 사용하도록 요구하여 시빌 노드 생성 비용을 높입니다.
  • 영지식 증명 (Zero-Knowledge Proofs): 클라이언트가 유효한 데이터 소유권이나 정직한 훈련 수행을 증명하도록 하여, 단순 복제된 가짜 클라이언트(시빌)의 참여를 어렵게 만듭니다.
공통
시스템 보안 강화
  • 보안 통신: TLS/SSL을 사용하여 서버와 클라이언트 간의 모든 통신을 암호화합니다.
  • 지속적인 모니터링 및 감사: 모델의 성능, 클라이언트의 행동 패턴을 지속적으로 모니터링하여 이상 징후를 조기에 발견합니다.

5. 결론

​연합학습은 개인정보 보호와 AI 기술의 발전을 동시에 이룰 수 있는 혁신적인 접근 방식이지만, 결코 '은 탄환(Silver Bullet)'이 아닙니다. 분산된 아키텍처는 데이터 유출, 모델 오염, 시스템 마비 등 다양한 보안 위협에 노출될 수 있습니다.

성공적이고 안전한 연합학습 시스템을 구축하기 위해서는 개발 초기 단계부터 위협 모델링을 통해 잠재적 취약점을 식별하고, 차분 프라이버시, 강건한 집계 알고리즘, 강력한 클라이언트 인증 등 다층적인 방어 전략을 적용해야 합니다. 따라서 보안은 단순히 시스템을 구축할 때 고려하는 일회성 점검 사항이 아니라, 시스템의 설계, 개발, 운영, 폐기에 이르는 전체 수명 주기에 걸쳐 지속적으로 평가되고 개선되어야 하는 동적인 프로세스입니다. 향후 연합학습 기술이 더욱 발전함에 따라 새로운 위협이 등장할 것이므로, 이에 대응하기 위한 지속적인 연구와 커뮤니티의 협력이 필수적입니다.