안녕하세요. 구독자 님.🫡
"Apple Vision Pro", 요근래에 뉴스레터를 발행하면서 구독자님에게 가장 많이 보내드린 키워드 중 하나인 듯 합니다. 그만큼 요즘 미국에서는 Vision Pro가 큰 인기를 끌고 있는데요. MIT 박사 과정을 진행중인 @Joseph Ravichandran 는 Vision Pro 출시 당일에 취약점을 발견했다고 해요.😱
이런 사례는 MR, AR, VR 등 시각화를 하는 제품에서도 취약점이 존재한다라는 것을 증명하는 선례로 남을 듯 해요. 과연 "취약점"이란게 뭔지, 어떤 일이 일어났는지를 정리하여 공유드려요.
* 쉽게 읽고 싶다면 "1. 쉽게 풀어 쓰기"를 읽어주시고, 전문 용어라도 괜찮다하는 분은 "2.좀 더 전문가처럼 읽어보기"를 읽어주세요.
1. 쉽게 풀어 쓰기 👀
1) 세 줄 요약
- Vision Pro의 운영체제는 Vision OS라는 것이 설치되어 있다.
- Joseph은 이 운영체제(VisionOS) 내부에 있는 Kernel이라는 것에서 취약점을 발견했다.
- 이 취약점을 악용한다면, 악의적인 소프트웨어를 설치할 수 있다. (Jail break라고도 알려짐)
2) 상세하게 들여다보기
A) Kernel? 먹는 건가?
구독자님의 컴퓨터는 윈도우인가요? 맥인가요?
모든 컴퓨터나 기기에는 운영체제(ex:윈도우, macOS, 리눅스 등)라고 하여, 사용자가 기계를 사용할 수 있도록 기반이 되는 프로그램이 설치됩니다.
이러한 운영체제 위에 카카오톡이나 파워포인트, 엑셀 등의 다른 프로그램을 설치하게 되죠. (예를 들면 운영체제 == 지구/땅, 파워포인트 == 건물1, 엑셀 == 건물2)
Apple의 Vision Pro 기기에도 VisionOS라는 운영체제를 사용하는데요.
운영체제를 굳이 비유하자면 지구와도 같은데 운영체제 내부에는 지구의 핵과 같은 Kernel 이라는게 존재해요.
Kernel이라는 것은 장치(PC, 노트북, Vision Pro)를 구동시키는데 필요한 프로그램을 실행하거나, 장치와 사용자 프로그램(카톡, 엑셀, 각종 앱)사이에 데이터를 처리하는 역할을 하고 있어요.
Vision Pro의 취약점을 발견한 Joseph은 Vision OS의 Kernel이라는 공간에서 취약점을 발견했다고 합니다.
B) 취약점 악용 사례
만약 Kernel에서 취약점을 발견하고 악용할 경우 다양한 위험에 노출되게 됩니다.
- Apple측에서 보안상 막아둔 기기의 영역을 침범할 수 있고
- 악의적인 앱(소프트웨어)을 사용자도 모르게 기기에 설치 및 실행할 수 있으며
- 이로 인해 사용자의 기기에서 발생되는 일(음성,비디오,사용중인 앱)들이 외부 해커에게 노출될 수 있음
아래의 이미지는 Joseph이 취약점을 재현하기 위해 만든 취약점 검증용 앱이라고 합니다.
사용자가 "Crash My Vision Pro"라는 버튼을 클릭할 경우, 취약점이 발생되는지 테스트하기 위한 앱인데요.
실제 해킹 사건에 빗되어 설명드린다면, 출처가 불분명한 앱들을 실행하고 버튼을 클릭하면 구독자님의 기기는 바로 해킹이 된다고 보시면 되겠습니다. (!!조심!!)
c) 그럼 앞으로 어떻게 되는거야?
아직 Joseph이 Apple측으로 취약점을 전달했는지 공개된 바는 없습니다.
하지만 과거에도 Apple의 취약점을 찾고 제보를 한 이력이 있는것으로 보아, 이번 취약점도 조치될 수 있도록 Apple측으로 전달할 것으로 보여집니다.👍
이렇게 발견된 취약점을 Apple측으로 전달하면 그에 상응하는 보상을 받게 되어 있는데요. 이를 Bug Bounty라고 합니다.
Apple의 보상 테이블대로라면 이 취약점은 최소 $5,000달러(한화 6,642,475원)부터 시작할 듯 하네요. 💰
3) 끝으로
아직 한국에는 출시되지 않은 기기라서 먼 이야기처럼 들렸을 거에요.
하지만 이러한 보안 문제는 컴퓨터 프로그램, 앱, 모바일 기기 등 다양한 곳에서 발생하고, 위협을 주고 있습니다.
앞으로 프로그램 업데이트를 하라고 알림이 온다면 웬만하면 하시는 걸 권장드립니다. 👍
2. 좀 더 전문가처럼 읽어보기 📚
Joseph은 트위터를 통해서 Vision Pro에서 Kernel panic이 발생한 이미지를 업로드 했어요.
Exploit이 성공되었는진 공개되진 않았으나, 과거에도 멋진 취약점을 찾은 이력이 있으니 Panic에서 Exploit까지 연계될 수 있을 취약점으로 보여집니다.
1) Kenel Panic 메시지 분석
트위터에 올라온 사진을 좀 더 확대한 모습입니다. JSON 포맷으로 하여 Panic에 대한 정보가 있는데요. 주요한 부분은 이미 가려져 있어서, 간단히 보이는 부분들만 나열해보았습니다.
- Panic Cause: Kernel data abort at pc xxxxxxxx(가려짐. 코드의 주소 중 0xXXXXX를 실행하던 중에 panic난 것을 의미함)
- Product: Reality Device 14.1
- Build Version: xrOS 1.0 (21N307)
- Vision Pro의 운영체제는 Vision OS라고 공개되었으나,
- 아직은 Apple에서 개발한 reality전용 운영체제인 xrOS(과거: RealityOS)라는 이름이 사용되고 있음
- Kernel Version: Darwin Kernel Version RELEASE_ARM64_T8112 (M2 기반)
- Boot Version: iBoot-10151.42.2
2) Jail break 가능성은?
Jail break라 함은 감옥을 탈출한다라는 의미로 기기에서 최고 권한인 root를 획득하는 것을 칭하는데요.(보통 이런 기기는 root권한이 아닌 다른 user의 권한으로 사용됨)
Apple에서는 Jail Break를 막기 위해서 많은 보안 기법을 도입해두었습니다. PPL, PAC 등.. 이러한 보안 로직을 우회해야지만 Kernel Panic에서 그치지 않고 root 권한을 획득할 수 있게 돼요. (갈 길이 먼..😱)
하지만 이 취약점을 발견한 Joseph은 과거에 PAC를 우회를 한 경험이 있기에, 공을 드린다면 가능할 것 같기도 합니다. 👀
3) Hello World for Vision Pro
앞선 목차에서 보면 Vision Pro에서 POC(개념 증명 코드)를 하기 위해 앱을 개발했는데요.
혹여나, Vision Pro에서 앱 개발 혹은 보안 테스트를 하고 싶은 분이라면 아래 링크에서 배우실 수 있을 듯 합니다.
물론 장비가 필요하겠지만, 언젠가 국내에 도입되지 않을까 싶어요. 😭
3. 끝맺음
긴 글을 읽어주신 구독자 님 감사드리며, 도움이 되셨다면 주변에도 공유해보는게 어떨까요? 🥹
그럼 이만 다음에 또 새로운 Article로 찾아뵐게요.
의견을 남겨주세요