Search
🔐

PPCT 보안성 평가 및 개선 방안

2020.05.10
PPCT 보안성평가 박필근.pdf
1851.4KB
PPCT(Privacy-Preserving Contact Tracing) 보안성 평가 및 개선 방안

1. 개요

코로나 바이러스가 확산됨에 따라 질병의 확산을 추적해야 할 필요성이 나날이 증가하고 있다. 이에 공무원들은 전통적인 방법을 사용해 접촉자 및 위치 정보를 확인하고 있다. 이에 기술적으로 해결하기 위해 많은 연구가 진행되고 있다.
수십 개국이 이를 효율적으로 해결하기 위해 다양한 형태의 추적 시스템을 구축하고 가지고 있다. 비상 법을 제정하여 개인을 감시하고 위치를 확인하고 공개하는 과정 등에서 개인 정보의 자유를 침해한다는 논란이 나타났다. 대표적으로 중국은 GPS를 사용해 위치 기록을 기반으로 위험 점수를 할당했고 우리나라는 스마트폰의 데이터를 기반으로 동선을 추적했다. 사람들은 코로나 사태 이후에도 이러한 감시가 지속되지 않을까 하는 우려를 표하기도 한다.
애플과 구글은 확진자와 접촉한 사람들을 확인하면서도 개인의 자유 침해 가능성을 최소화할 방법을 제공하기 위해 Bluetooth를 활용하기로 했고 해당 연구 문서를 공개했다. 본 보고서는 공개된 “PPCT (Privacy-Preserving Contact Tracing)” 시스템의 구조를 확인하고 위협을 식별, 이를 개선하는 방법에 대해 제안한다.

2. 동선 추적 시스템 (Contact Tracing System) 연구 사례

코로나 사태를 해결하기 위해 상당히 많은 기관이 기술 개발에 참여하고 있다.
미국의 MIT와 스탠포드대학교는 각각 ‘PACT(Private Automated Contact Tracing)’와 ‘Covid-Watch’라는 기술을 개발했으며, 유럽의 Pan-European Privacy-Preserving Proximity Tracing(PEPP-PT) 프로젝트팀은 ‘DP3T(Decentralized Privacy-Preserving Proximity Tracing)’라는 기술을 발표하기도 했습니다. MIT, 하버드 대학교부터 RSA 알고리즘의 공동 제작자인 Ron Rivest 교수가 도움을 준 Private Kit : Safe Path은 Bluetooth를 통해 잃어버린 내 기기를 찾는 Apple의 ‘나의 기기 찾기’ 기능에서 영감을 얻었다고 한다. 또한 지난 10일에는 애플과 구글이 ‘Privacy-Preserving COVID-19 Contact Tracing’ 스마트폰 앱 시스템을 공동 개발하기로 했다고 밝혔다.
Bluetooth 추적 앱 성공의 또 다른 핵심 요소는 앱 간의 상호 운용성이다. 여러 개의 이달 초 10 개 조직이 연합하여 만든 오픈 소스 TCN(Temporary Contact Number) 프로토콜은 연락처 이벤트 번호를 일괄적으로 공유하고 사용자가 선택한 어플리케이션에 상관없이 Bluetooth 신호를 수신하도록 설계됐다.

3. Data Flow Diagram

STRIDE와 LINDDUN을 위협에 적용하기 이전에 전반적인 구조를 파악하기 위해 DFD(Data Flow Diagram)을 작성하였다.

3.1 Context Diagram

애플과 구글이 제시한 PPCT에 대한 Context Diagram은 아래 [그림 1]과 같다. 시스템은 사용자에게 사용 범위에 대한 안내와 함께 사용 동의를 얻고 개인 정보 난수를 발송 및 수집한다. 이후 진단 서버로부터 받은 목록과 비교해 사용자에게 확진자로부터의 노출이 있었을 경우 해당 정보를 안내한다.
[그림 1] PPCT Context Diagram

3.2 Level 1 Diagram, Level 2 Diagram, Level 3 Diagram

PPCT에 대한 Level 1 Diagram, Level 2 Diagram, Level 3 Diagram을 각각 [그림 2], [그림 3], [그림 4]로 표현했다. 한 User가 한 개의 어플리케이션에서 Broadcasting과 Scan을 동시에 진행해야 추적 앱의 기능을 온전히 한다고 본 바 추가적인 User를 할당하지 않고 한 명의 사용자를 기준으로 DFD를 구성했다. DFD에서 사용된 약어는 애플 및 구글이 공개한 문서에 사용된 용어와 동일하며, 다음과 같다.
RPI: Rolling Proximity Identifier
AEM: Associated Encrypted Metadata
TEK: Temprorary Exposure Key
[그림 2] PPCT Level 1 Diagram
[그림 3] PPCT Level 2 Diagram
[그림 4] PPCT Level 3 Diagram
프로세스는 크게 4단계로 나뉜다. 첫째로 난수를 통해 생성한 RPI(Rolling Proximity ID)를 포함한 Bluetooth payload를 주변에 송출하는 “P1 Broadcasting” 단계, 둘째로 payload를 수집하고 저장하는 “P2 Scanning” 단계, 셋째로 확진을 받을 경우 이를 진단 서버(Diagnosis Server)에 업로드하는 “P3 Update Diagnosis Key” 단계, 마지막으로 진단 서버로부터 확진자 키 리스트를 받아와 수집한 payload 들과 비교해 노출 위험도를 산정하는 “P4 Check Exposure” 단계로 이뤄진다.
[표 1]에는 DFD를 구성하는 각 구성요소 Entity, Data Store, Process에 대한 설명을 담았다.

4. STRIDE

4.1 STRIDE 모델링

STRIDE는 위장(Spoofing), 변조(Tampering), 부인(Repudiation), 정보 노출(Information Disclosure), 서비스 거부(Denial of service), 권한 상승(Elevation of Privilege) 등 소프트웨어에서 발생할 수 있는 6가지 보안 위협을 다룬다. 이 프레임워크는 소프트웨어에 대한 공격 유형 정의 및 위협 식별을 위해 설계되었으며, STRIDE의 각 속성에 대한 설명은 다음과 같다.
a.
위장(S): MAC 주소, IP 주소, 포트, 이메일 등 네트워크 통신과 관련된 정보를 속이고, 이를 사용자가 신뢰하도록 유도하는 행위
b.
변조(T): 프로세스, 파일, 네트워크 전송 값 등 대상의 구성요소를 변조시키는 행위
c.
부인(R): 주체가 대상에 대해 읽기, 쓰기, 접근과 같은 행위를 한 뒤, 이를 부인하는 행위
d.
정보 노출(I): 데이터 주체의 민감한 정보가 허가되지 않은 대상 또는 사람에게 노출됨
e.
서비스 거부(D): 정보 시스템의 데이터나 자원을 적절한 대기 시간 내에 사용하는 것을 방해하는 행위
f.
권한 상승(E): 권한 없는 사용자가 특정 권한을 획득하여 정보 시스템을 손상시키는 행위

4.2 Attack Library

어택 라이브러리는 DFD의 각 요소에서 발생 가능한 보안위협을 정확하게 식별했는지 판단할 수 있는 근거를 제공한다. 본 보고서에서는 CVE, 논문 및 관련 정보를 통해 Attack Library를 수집했고 [표 2]는 해당 목록을 보여준다.

4.3 STRIDE 위협 식별

DFD를 기반으로 위협을 식별했고 실제 활용 가능성을 판별하기 위해 4.2에서 구축한 Attack Library와의 상관관계를 [표 3]에 작성했다. PPCT에서 대부분의 data flow는 API 내부에서 이뤄지는 관계로 따로 STRIDE 모델에 포함시키지 않고 외부 서버나 블루투스 통신이 이뤄지는 P1.3, P2.2, P3.2, P4.1의 data flow에서 해당 위협을 각 프로세스에 함께 식별했다.

4.4 Attack Tree

분석 대상에 대한 보안 위협을 분류 및 체계화하기 위해 Attack Tree[그림 5]를 작성했다. 트리 최하단 자식 노드에 있는 번호는 STRIDE에서 할당된 위협 번호다.
[그림 5] STRIDE 모델에 대한 Attack Tree
대부분의 Data Flow가 어플리케이션 내부에서 이뤄지므로 대부분의 공격과 위협이 스마트폰 자체의 취약점 또는 변이된 어플리케이션으로부터 도입되는 것을 확인할 수 있다. 이외 블루투스 통신, 진단 서버와의 통신 간에 Spoofing 및 Sniffing, DOS와 같은 위협이 존재하는 것을 쉽게 확인할 수 있다.
Privacy의 관점에서 수립된 PPCT이므로 개인정보 관점에 대한 위협을 도출하기 위해 LINDDUN 위협 모델링을 행한다.

5. LINDDUN

5.1 LINDDUN 위협 모델링

LINDDUN은 연결(Linkability), 식별(Identifiability), 부인 방지(Non-repudiation), 검출(Detectability), 정보 노출(information Disclosure), 내용 몰인식(content Unawareness),
정책 및 동의 불이행(policy and consent Non-compliance) 등 7가지 개인정보 관련 위협을 다룬다. 이 위협모델은 DFD(Data Flow Diagram)으로 표현된 외부 객체, 프로세스, 데이터 저장소, 데이터 흐름에 대해 위협을 식별하고, 각각의 위협을 위협트리로 작성하여 개인정보위협을 체계화한다. 이후 위협트리에 대한 상세 설명을 제공하기 위해, 오용사례 시나리오를 작성하여 식별된 위협을 문서화한다. 마지막으로 도출된 위협을 완화하기 위한 전략을 결정한다. LINDDUN의 각 속성에 대한 설명은 다음과 같다.
a.
연결(L): 획득한 데이터들을 통해 데이터 주체를 연결지어(Link) 유추 가능
b.
식별(I): 획득한 데이터를 통해 데이터 주체 식별 가능
c.
부인 방지(N): 데이터 주체가 데이터의 소유권의 부인 불가능
d.
검출(D): 데이터를 통해 데이터 주체의 관심항목(데이터 주체의 생활패턴 등) 구별 가능
e.
정보 노출(D): 데이터 주체의 민감한 정보가 허가되지 않은 대상 또는 사람에게 노출됨
f.
내용 몰인식(U): 데이터 주체는 자신의 데이터 수집, 처리, 저장 또는 공유 활동을 인식하지 못함
g.
정책 및 동의 불이행(N): 개인정보의 처리, 저장

5.2 LINDDUN 위협 식별

LINDDUN은 DFD의 각 요소에 따라 적용되는 개인정보 위협의 범위가 다르며, [표 4]는 적용 가능한 범위를 나타낸다. 해당 범위를 기반으로 LINDDUN 위협을 식별했으며 [표 5]는 그 결과를, 설명은 [표 6]에 작성했다.
외부와의 통신이 이뤄지는 P1.3, P2.2, P3.2, P4.1을 제외하고는 대부분 사용자의 스마트폰 내에서 이루지는 내부 통신이고, 익명성을 보장하기 위한 암호 모듈을 채택하고 있어 식별(I) 위협은 크게 적은 편이다.

5.3 Threat Tree

Threat Tree는 5.1.2에서 도출한 [표 5]의 LINDDUN 위협에 대해 작성하며, 각 위협의 범주가 세분화되어 표현한다. [표 7]에서 *는 이미 작성된 Threat Tree의 재사용을 의미한다.

5.4 Misuse Case

Threat Tree에 대한 이해도를 높이기 위해 Misuse Case(MUC)를 작성한다. 해당 위협을 실제 시나리오로 작성하는 과정이고 이를 [표 8]에 작성했다. 이 중 일반적인 경우를 제하고 진단 서버와의 통신, 블루투스 통신 등 PPCT에 크게 관계된 시나리오는 Bold체로  표시했다.

6. 개선된 PPCT 제시

6.1 설계 가정

PPCT로부터 STRIDE 및 LINDDUN 위협 모델링을 이용하여 위협을 도출했다. PPCT 모델을 살펴보면 위협 대다수는 내부 프로세스에서 이뤄진다. 그러나 내부 프로세스에 대한 공격은 현실 가능성이 낮을 뿐더러 PPCT 모델 외에 스마트폰 기기 자체의 보안 위협이나 유저의 실수로부터 비롯된다. 이에 PPCT 모델에 집중해 명확한 보안 대책을 제시하기 위해 [표 9]에서 다음 사항들을 가정한다. (해당 가정은 이후 Design Assurance에서 추가될 수 있다.)

6.2 DREAD

식별한 위협에서 개선해야할 보안 사항이 무엇인지 확인하기 위해 MS의 DREAD 모델을 이용해 위협 우선순위를 확인한다. 이때 6.1에서 정의한 가정을 바탕으로 내부 프로세스에서 발생하는 위협 및 조작된 어플리케이션에 의한 위협은 제외했다.
DREAD는 피해 가능성(Damage potential), 공격의 재현성(Reproducibility), 악용 가능성(Exploitability), 영향 받는 사용자(Affected users), 취약점의 발견 가능성(Discoverability) 등 5가지 요소를 기준으로 위험 점수를 계산한다. 위험 점수는 낮음(1), 중간(2), 높음(3) 등 간단한 체계를 이용할 수 있으며, DREAD의 각 요소별 합산한 점수가 클수록 높은 우선순위를 지정한다.

6.3 개선 스키마

DREAD를 바탕으로 위협 우선순위를 살펴봤고, 우선순위가 높은 위협들 일부를 완화하고자 개선 스키마를 [표 11]에서 제시한다.

7. 참고문헌

[1] Apple Inc and Google Inc. "Apple and Google partner on COVID-19 contact tracing technology." https://www.apple.com/newsroom/2020/04/apple-and-google-partner-on-covid-19-contact-tracing-technology/ April, 2020
[2] Apple Inc and Google Inc. "Contact Tracing Bluetooth Specification" v1.2 April, 2020
[3] Apple Inc and Google Inc. "Contact Tracing Cryptography Specification" v1.2 April, 2020
[4] Apple Inc and Google Inc.  "Contact Tracing iOS Framework Documentation" v1.2 April, 2020
[5] 이지섭, 강수영, 김승주. AI 스피커의 보안성 평가 및 대응방안 연구. 정보보호학회논문지, 28(6),1523-1537. 2018
[6] Serge Vaudenay, “Analysis of DP3T”, Cryptology ePrint Archive: Report March, 2020
[7] Yaron Gvili, "Security Analysis of the COVID-19 Contact Tracing Specifications by Apple Inc. and Google Inc.", Cryptology ePrint Archive: Report April, 2020
[8] "Covid Watch" http://www.covid-watch.org  April , 2020
[9] "COVID SafePaths" http://covidsafepaths.org April 2020
[10] Ramesh Raskar, Isabel Schunemann, Rachel Barbar, "Apps Gone Rogue: Maintaining Personal Privacy in an Epidemic" Whitepaper, PrivateKit:MIT April, 2020

✓ 다른 [탐구생활] 포스트

Pretendard vs SUIT 최고의 한글 고딕 폰트
Design
Pretendard vs SUIT 최고의 한글 고딕 폰트
Design
︎ 더 많은 게시물을 보려면
︎ 작성자가 궁금하면?
 2023. Absolroot all rights reserved.