# 애플이 정말로 실행하는 모든 앱을 다 서버에 기록할까 ?

> Clean Markdown view of GeekNews topic #3206. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=3206](https://news.hada.io/topic?id=3206)
- GeekNews Markdown: [https://news.hada.io/topic/3206.md](https://news.hada.io/topic/3206.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-11-16T09:30:58+09:00
- Updated: 2020-11-16T09:30:58+09:00
- Original source: [blog.jacopo.io](https://blog.jacopo.io/en/post/apple-ocsp/)
- Points: 9
- Comments: 4

## Topic Body

- 이번에 이슈가 된 OCSP에 대한 기술적인 분석

ㅤ→ 개발자 인증서가 유효한지를 확인하기 위해 앱 실행시에 애플서버에 접속해서 체크

ㅤ→ 네트웍 연결이 불가능하면 그냥 실행함

ㅤ→ 접속은 가능한데 서버가 느리면 이번처럼 애플이 만든것 외의 모든 앱이 안뜨는 이슈가 발생

ㅤ→ 앱 실행시마다 애플서버로 앱의 해쉬를 보내고 있다는 주장이 있음 [1]

ㅤ→ 문제는 HTTPS 가 아닌 HTTP를 사용한다는 것 (HTTPS 인증서를 확인하기 위해서 또 커넥션을 열어야 하는 상황이 나오므로)

- 내부 들여다 보기

ㅤ→ 중간에 HTTP Proxy 나 Wireshark 만 있으면 모두 캡쳐 가능

ㅤ→ 한번 실행해서 OCSP 인증이 되면 특정 시간 동안은 다시 인증 안함

ㅤ→ GET 으로 base64 인코딩 된 80바이트 문자열을 전송

ㅤ→ 해당 값이 앱의 Hash 같지만 "아님"

ㅤ→ OpenSSSL로 그 바이너리 정보를 열어보면, 진짜로 인증서 Issuer 이름 & 키 해쉬값과 시리얼번호가 들어있음

ㅤ→ 그래도 인증서가 앱마다 다르면 어차피 그게 앱에 대한 해쉬값이랑 같은거 아닌가 ? 하는 의심

- 개발자 인증서

ㅤ→ 이 인증서 정보는 어디서 오는 것일까?

ㅤ→ codesign 으로 맥앱의 인증서를 추출해봄(여기선 Firefox)

ㅤ→ 시리얼 번호가 위에 캡쳐한 것과 일치함

ㅤ→ 그럼 다시 Thunderbird 의 인증서를 뽑아보니 역시 시리얼번호가 같음(당연하겠지만)

ㅤ→ 즉 [1]에서 얘기한 대로 모든 앱을 알수 있는 해쉬 정보를 보낸다는 것은 틀린 정보임

ㅤ→ 물론 언제 어떤 컴에서 "어떤 개발자의" 앱을 실행했다는 것 자체를 알 수 있다는 것은 사실

- OCSP를 차단 하는 것에 대해서

ㅤ→ Little Snitch 를 이용하거나 /etc/hosts 를 통해서 막을 수는 있음

ㅤ→ 하지만 이건 중요한 보안 기능 자체를 막는 것이니까 하지 말기를 권함

- TL;DR

ㅤ→ macOS 가 앱을 실행할 때마다 애플로 앱의 해쉬를 보내지 않음

ㅤ→ macOS 가 당신이 사용하는 앱의 개발자 인증서 정보를 보내고 있고, 이건 HTTP로 전송됨

ㅤ→ 웬만하면 ocsp.apple.com 접속을 막지 마세요.

## Comments



### Comment 3522

- Author: kunggom
- Created: 2020-11-16T23:40:17+09:00
- Points: 1

참고로 영문 위키피디아에 따르면 구글 크롬은 이미 2012년부터 OCSP를 비활성화했습니다. “이득은 찾기 어려우면서 비용(딜레이 및 프라이버시 문제 발생)은 분명하다”는 것이 그 이유입니다.

https://www.imperialviolet.org/2012/02/05/crlsets.html

### Comment 3519

- Author: galadbran
- Created: 2020-11-16T12:41:04+09:00
- Points: 1

ocsp 는 원래 웹 브라우저도 SSL 인증서의 만료 여부 등을 확인하기 위해서 사용하는 방법이긴 할텐데요. 앱 인증을 SSL 인증서와 동일한 방식으로 하기 때문에 그런 것으로 추정할 수도 있겠네요.

### Comment 3511

- Author: godrm
- Created: 2020-11-16T09:46:45+09:00
- Points: 1

이게 iOS처럼 맥앱도 App Analytics 정보를 수집하기 위한게 아닐가 추측해봅니다.

### Comment 3510

- Author: xguru
- Created: 2020-11-16T09:31:03+09:00
- Points: 1

관련해서 읽어볼 이슈들

[1] 당신의 컴퓨터는 당신만의 것이 아니다 https://news.hada.io/topic?id=3200

[2] 맥 OS 카탈리나(10.15) : 디자인에 의해 느려지다 https://news.hada.io/topic?id=2145
