# Apple, 경찰이 iPhone에서 삭제된 채팅 메시지를 추출하는 데 쓰던 버그 수정

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28807](https://news.hada.io/topic?id=28807)
- GeekNews Markdown: [https://news.hada.io/topic/28807.md](https://news.hada.io/topic/28807.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-04-23T11:33:16+09:00
- Updated: 2026-04-23T11:33:16+09:00
- Original source: [techcrunch.com](https://techcrunch.com/2026/04/22/apple-fixes-bug-that-cops-used-to-extract-deleted-chat-messages-from-iphones/)
- Points: 1
- Comments: 1

## Topic Body

- 메시징 앱에서 **삭제되었거나 자동 소멸된 메시지**가 알림 캐시에 남아 포렌식 도구로 읽힐 수 있었고, Apple이 iPhone과 iPad용 **소프트웨어 업데이트**로 이를 수정함
- 메시지 내용이 표시된 알림은 기기에 최대 한 달 동안 저장될 수 있었으며, Apple 보안 공지에는 삭제 대상으로 표시된 알림이 **예상치 않게 유지**될 수 있었다고 적혀 있음
- 이 추출 경로는 삭제된 **Signal 메시지**가 휴대폰 데이터베이스에 남아 있던 방식과 연결되며, 법 집행 기관은 오래전에 삭제된 메시지도 읽을 수 있었음
- Signal은 이 문제 공개 뒤 Apple에 수정을 요청했으며, 자동 삭제 **타이머 기능**은 기기 압수 상황에서도 대화를 비밀로 유지하려는 사용자에게 도움이 될 수 있음
- 앱 내부 삭제만으로는 운영체제 수준의 **알림 저장소**에서 같은 내용이 사라지지 않을 수 있었고, 이번 수정은 자동 삭제 메시지의 프라이버시 보호에서 OS 계층도 중요함을 드러냄

---

### 버그 수정과 영향
- Apple이 iPhone과 iPad용 **소프트웨어 업데이트**를 배포해, 법 집행 기관이 메시징 앱에서 삭제되었거나 자동 소멸된 메시지를 추출할 수 있게 했던 버그를 수정함
  - 메시지 내용이 표시된 **알림(notification)** 이 기기에 최대 한 달 동안 캐시되면서 이런 문제가 발생했음
- Apple의 보안 공지에는 삭제 대상으로 표시된 알림이 기기에 **예상치 않게 유지**될 수 있었다고 적혀 있음
- 알림 내용이 왜 처음부터 기록됐는지는 **확인되지 않음**
  - 이번 수정으로 그 현상이 버그였음이 드러남
- Apple은 왜 알림이 보존됐는지 묻는 질의에 즉시 답하지 않았음
- Apple은 **구형 iOS 18**을 실행하는 iPhone과 iPad에도 수정 사항을 백포트함

### 드러난 추출 경로
- 이번 수정은 이달 초 404 Media가 공개한 문제와 직접 연결됨
  - FBI는 포렌식 도구를 사용해 누군가의 iPhone에서 삭제된 **Signal 메시지**를 추출할 수 있었음
- 추출이 가능했던 이유는 메시지 내용이 한때 알림으로 표시된 뒤, Signal 내부에서 메시지가 삭제된 이후에도 휴대폰 데이터베이스 안에 저장되어 있었기 때문임
- 법 집행 기관은 **포렌식 도구**를 사용할 때, 오래전에 삭제된 메시지도 읽을 수 있었음

### Signal과 삭제 메시지 기능
- Signal의 Meredith Whittaker는 이 문제가 공개된 뒤 Apple에 수정 조치를 요청했다고 밝힘
  - 삭제된 메시지에 대한 알림은 어떤 운영체제의 알림 데이터베이스에도 남아 있어서는 안 된다고 적었음
- Signal은 WhatsApp 등 다른 메시징 앱과 마찬가지로, 일정 시간이 지나면 메시지를 자동 삭제하는 **타이머 기능**을 제공함
- 이 기능은 당국이 기기를 압수하는 경우에도 대화를 비밀로 유지하려는 사용자에게 도움이 될 수 있음

### 프라이버시 우려
- FBI가 매일 사용되는 보안 기능을 우회하는 경로를 찾았다는 사실이 알려지자 **프라이버시 활동가들**의 경각심이 커졌음
- 자동 삭제 메시지 기능은 특히 **위험에 노출된 사용자들**이 일상적으로 사용하는 보안 수단에 해당함
- 이번 버그는 앱 내부에서 메시지를 삭제해도 운영체제 수준의 알림 저장소에 같은 내용이 남을 수 있음을 드러냄

## Comments



### Comment 56119

- Author: neo
- Created: 2026-04-23T11:33:18+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47868867) 
- 이건 기기에 캐시가 남는 **버그**였다고 봄. 다만 Apple과 Google이 대부분의 알림 흐름 한가운데 들어가 있어서 내용이 서버를 지나가는 구조 자체는 여전히 우려스러움. 그래서 종단간 암호화된 메시지를 남에게 덜 노출하고 싶다면, 알림에는 **새 메시지 도착** 정도만 보이게 하고 내용이나 발신자는 숨기는 설정이 맞다고 봄
  - 나는 이 설명이 **두 가지 점**에서 틀렸다고 봄. 첫째 이번 이슈는 OS가 알림을 기기 로컬에 추적 저장한 문제이지 Google이나 Apple의 알림 서버 문제는 아님. 둘째 알림이 Apple이나 Google 서버를 거치더라도 데이터 자체를 암호화하거나 메시지 본문을 빼면 **E2EE**를 유지할 수 있음. 실제로 Signal도 그런 식이라 Apple이나 Google이 평문 메시지를 보는 구조는 아님
  - 내 생각엔 Apple과 Google 모두 앱이 표시 전에 메시지를 가로채 수정할 수 있는 기능을 제공함. 그래서 **암호화된 알림**을 보내고, 사용자 기기에서 앱 코드로 복호화해 표시하면 됨
  - 맞는 말이라고 봄. 서버는 알림만 보내고, 실제로는 기기 로컬에서 잠금 해제 후 읽은 메시지와 조합해 표시하면 되니, 굳이 Apple이나 Google 서버에 평문이 갈 필요는 없다고 느낌
  - 내가 최근 읽은 **Matrix FAQ** 기준으로는 저 설명이 정확하지 않다고 봄. Matrix 앱에서는 일부 메타데이터만 채팅 서버에서 푸시 서버를 거쳐 Google을 통해 내 기기로 오고, 메시지 본문은 E2EE 상태로 남음. 앱은 메타데이터 알림으로 깨어난 뒤 실제 메시지를 다시 가져와 알림에 표시함. 마지막 지적처럼 Android 쪽도 고쳐지기 전까지는 로컬 보관 문제는 남는다고 봄
  - 이 경우에는 맞게도 Google과 Apple의 **OS 알림 API**를 쓰면서 우리가 평문 메시지를 넘겨준 셈이라고 봄
- 기사에서 말하는 **버그**는 문제의 일부일 뿐이라고 봄. 핵심은 알림 텍스트가 Signal 바깥에서 휴대폰 DB에 저장된다는 점이고, 이걸 피하려면 설정을 바꿔야 함. 이번 사례에서는 피고인이 Signal 앱 자체를 지웠고, 원래라면 그 앱 알림도 내부적으로 삭제 표시가 됐어야 하는데 제거되지 않은 점이 이번 수정 사항으로 보임. 공개된 내용의 핵심은 삭제 대상으로 표시된 알림이 예상 밖으로 기기에 남을 수 있었다는 점이고, 설명상으로는 **logging issue**라서 DB 본체보다는 로그 쪽에 남았을 가능성도 있어 보임
  - 내가 본 바로는 이게 로그만이 아니라 **logs, json, plist, SQLite DB**까지 걸친다는 뉘앙스였음. Biome의 `/private/var/mobile/Library/Biome/streams/.../Notification/segments/`에는 제목과 본문 원시 로그가 있고, BulletinBoard와 UserNotificationsCore의 `/var/mobile/Library/{BulletinBoard,UserNotificationsCore}/`에는 전달됨과 닫힘 상태의 json, plist가 있으며, CoreDuet의 `/var/mobile/Library/CoreDuet/coreduetdClassD.db`에는 Biome 이벤트를 다시 집어넣는 SQLite가 있다고 봄. 출처는 [이 트윗](https://x.com/zeroxjf/status/2047081983449178128?s=46)임
  - 나는 그 해석이 아직 **추측**이라고 봄. 삭제 대상으로 표시됐다는 말은 앱 전체를 지운 뒤만이 아니라, 사용자가 알림을 닫은 뒤를 뜻할 수도 있음
  - 내 머릿속에는 **SQLite WAL** 가능성도 먼저 떠오름
  - 나는 둘이 사실상 **같은 문제**일 수도 있다고 봄. 왜 굳이 별개라고 보는지 궁금함
- 내 생각엔 Signal이 제공하는 **일반형 알림**인 “메시지를 받음” 같은 방식이 전반적으로 좋은 보안 습관임
  - 사실 이런 건 거의 모든 앱에서 가능함. iOS 설정의 notifications shows previews를 **never**로 바꾸면 됨
- 나는 Signal이 이 문제를 사용자에게 적극적으로 알리지 않는 점이 꽤 **답답함**. 나는 알림을 꺼뒀는데도 Signal은 다시 켜라고만 리마인드했음
- 이걸 보면 Mythos 관련해 제일 큰 걱정이 **취약점 발견**인지, 아니면 **취약점 수정**인지 되묻게 됨
- 처음엔 나도 좀 헷갈렸음. 푸시 알림이 **종단간 암호화**되어 있으니 푸시 서비스가 읽을 수 있는 형태로 캐시할 수 없고, 기기에서 앱이 받은 뒤 복호화한다고 생각했기 때문임. 그런데 실제로는 앱이 복호화해 OS API로 사용자에게 보여준 뒤, 그 알림 텍스트가 기기 로컬의 어떤 **알림 히스토리 DB** 같은 곳에 다시 저장된 것으로 보임
  - 나도 대략 **그런 종류의 동작**으로 이해함
  - 내가 보기엔 Apple과 Google의 푸시 아키텍처에서는 **메타데이터** 상당수가 평문임
- 프라이버시 쪽에서는 이 문제가 원래부터 꽤 알려져 있었다고 봄. Google과 Apple이 종종 알림 내용을 자기 서버로 보내기 때문에 앱의 경계를 우회하는 일이 생김. 비슷한 범주의 설명으로는 [이 글](https://blog.davidlibeau.fr/push-notifications-are-a-privacy-nightmare/)도 참고할 만함
  - 나는 Signal이 Apple로 보내기 전에 알림 데이터를 **사전 암호화**하고, 기기에서는 Notification Service Extension으로 복호화할 거라고 예상함. 이건 Apple을 신뢰하지 않기 위한 흔한 패턴이라, 결국 Apple이 아니라 기기 쪽에서 복호화 후 평문이 저장된 셈이라고 봄
  - 이번 보고 사례에서는 내용이 서버를 떠난 게 아니라, **연방 수사기관**이 휴대폰에서 직접 가져간 것으로 이해함
  - 나는 Snapchat이나 WhatsApp 같은 메신저도 함께 떠오름. WhatsApp은 **end-to-end**를 말하지만, 키워드 기반으로 일부 메시지 사본을 당국에 넘긴다는 주장도 있어 범주상 비슷한 우려가 있다고 느낌
- 앱은 iOS에 표시 후 이 알림을 **보관하지 말라**고 지시할 수 없어서, 페이로드가 그냥 캐시된다고 봄. 결국 “삭제됨이 곧 삭제됨은 아님”이라는 전형적인 문제이고, 데이터는 생각보다 더 많은 곳에 남음. 그런 점에서 Signal이 잘 짚어낸 사례라고 느낌
- 다행히 Apple이 이 수정 사항을 **iOS 18**에도 백포트한 점이 반가움
  - 그뿐 아니라 iOS 18.7.8은 iOS 26을 돌릴 수 있는 기기에도 별다른 우회 없이 배포되는 것처럼 보여 흥미로움. 반면 18.7.3부터 .6까지는 그렇지 않았던 걸 보면, 중간 배포판들이 원래는 나왔어야 했는데 **배포 문제**가 있었고 아무도 고치지 않았던 건지 궁금해짐
- 나는 보안 메시징을 위해 폐쇄형 시스템에 절대 기대지 않겠다는 쪽임. 특히 많은 **불특정 상대**와 통신할 때는 더 그렇다고 봄
  - 그럼에도 iOS는 아마 보안 메시징에 가장 안전한 **모바일 플랫폼**일 가능성이 큼. 특히 lock down mode에서는 더 그렇다고 봄
