애플의 보안 정책은 날이 갈수록 강화되어 최근에는 아이폰에서 사용자의 흔적을 찾기란 쉬운 일이 아니다. 미국 동부 샌 버나디노에서 발생한 총기 사건의 용의자 사예드 파룩은 사건 현장에 아이폰을 남겼다. FBI는 사건현장에서용의자의 아이폰을 찾아 증거를 확보했지만 막상 아이폰에 적용된 강력한 보안 때문에 FBI도 아이폰을 어떻게 하질 못했다. 이 때문에 FBI는 애플에게 자신들이 아이폰을 분석할 수 있는 방안을 달라 요청하였지만 애플은 이러한 요청을 거절했다. 결국, FBI는 용의자의 아이폰을 전문 포렌식 업체에 맡겨 아이폰의 보안을 해지하는 데 성공했지만 FBI의 능력에 대한 위상은 곤두박질쳤다. 이와 반대로 아이폰을 만들어낸 애플의 위상은 높아졌고 아이폰을 둘러싼 보안정책이 다시 한 번 이슈가 되었다.
아이폰의 보안은 날이 갈수록 강화되어 새로운 디바이스와 운영체제 버전이 더 해질수록 보안의 효과는 더욱 발휘된다. 이에 따라 아이폰 디바이스와 운영체제에 따른 포렌식 여부와 방법도 제각각인지라 이와 관련하여 포렌식 분석가 Devon Ackerman는 아이폰 버전과 디바이스 별로 적용된 보안 기능을 잘 정리해놓은 글을 올리기도 했다.
샌 버다니도 총기사건 용의자의 아이폰은 ‘Apple iPhone 5C’ 으로 잘 알려진 A1532모델로 운영체제 iOS 9가 설치되어 있었다. 애플이 설계하고 삼성이 만든 A6 Chip을 내장하고 있었으며 Verizon 통신사를 이용하고 있었다. 용의자가 사용한 아이폰의 시리얼 넘버 ‘FFMNQ3MTG2DJ’와 단말기 고유 번호(International Mobile Station Equipment Identity, IMEI)는 ‘358820052301412’로 인터넷에 관련 정보를 검색하면 이 아이폰 모델에 대해 더 상세히 알 수 있다. 아이폰의 용량은 16GB 혹은 32GB이며 패스코드를 설정하여 아이폰을 보호하고 있었다.[1]
휴대폰의 시리얼 넘버와 단말기 고유 번호를 아는 것은 모바일 디바이스와 관련하여 더 세부적인 기술 정보를 알 수 있기 때문에 포렌식 작업에서 좋은 정보가 될 수 있다. 특히나 이러한 정보를 통해 실제 사용자의 휴대폰에서는 이 휴대폰 기기가 유효한지 기지국과 메시지를 교환하는 역할을 하고 있다. 따라서 시리얼 넘버와 단말기 고유 번호를 알면 디바이스와 관련하여 상세 기술 정보를 알 수 있을 뿐만 아니라 휴대폰 사용자에 대해서도 판별할 수 있다. 즉, 모바일 디바이스의 시리얼 넘버나 단말기 고유 번호는 결국 스마트폰의 주민번호과 같은 역할을 한다.[2]
용의자 모바일 디바이스의 모델과 설치된 운영체제가 무엇인지 알았다면 가장 먼저 포렌식 하기 전, 원본 보존을 위해 이미지 덤프 작업을 한다. 다른 기기와 마찬가지로 아이폰 역시 물리적 이미지를 추출할 수 있는데 이를 이미지 덤프 작업이라 한다. 하지만 이미지 덤프를 하기 위해서는 먼저 아이폰의 패스코드를 알고 있어야 하고 아이폰 역시 탈옥을 해야 할 수 있다. 혹은 최소한의 아이폰 내부에 있는 데이터를 백업하기 위해서라도 사용자의 패스코드 정도는 알고 있어야 한다. 이 말은 아이폰의 이미지를 덤프는 하고 싶다고 해서 쉽사리 될 수 있는 것이 아니란 이야기다. 이처럼 아이폰 이미지 덤프가 번거로운 이유는 아이폰 디바이스 하드웨어 자체에 암호화가 걸려있기 때문이다.[3]
최근에는 안드로이드에도 적용되었지만 당시만 해도 아이폰은 안드로이드와 달리 하드웨어에 암호화가 되어 있었다. 이 때문에 아이폰은 잠금 상태에서 다른 케이블과 연결되어 있다고 하더라도 내부 데이터에 접근하기가 어렵다. 이는 아이폰이 256 bit의 AES 암호화 알고리즘으로 아이폰 디바이스를 하드웨어 수준으로 암호화되어 있기 때문이다. 하드웨어 암호화의 키값 역시 아이폰 내부에 있는 읽는 기능만 가능한 공간(Read Only Memory, ROM), Effaceable 스토리지에 저장되어 있어 쉽게 접근이 불가하다. 하드웨어 암호를 풀 수 있는 키 역시 사용자가 패스코드를 먼저 입력하고 잠금을 풀어야지만 접근할 수 있다.
이같이 하드웨어 암호화를 하는 이유는 사용자가 만약 자신의 휴대폰을 잃어버렸을 경우, 디바이스를 주운 사람이 강제로 뜯어 모바일에 설치된 프로그램과 내부 데이터의 유출을 막기 위해서다. 실제로 패스코드가 풀리지 않은 아이폰에 연결하여 데이터를 확인하면 막상 보이는 것은 파일 시스템과 메타 데이터만 확인될 뿐 자료에 대한 정보는 하나도 보이지 않는다.
또한, 아이폰의 이미지 덤프가 까다로운 이유는 용의자의 전 버전 iPhone4부터는 부트로더에서 사용할 수 있는 명령어의 개수를 줄여 보안을 더욱 강화했다. 이는 결국 이미지을 더욱 어렵게 만들었고 갈수록 명령어의 개수를 줄이면서 보안의 강도는 더욱 세지고 있다. 안타깝게도 용의자의 모바일 디바이스는 iPhone5c로 iPhone4 이후에 나온 기종이다.[4]
결국 아이폰의 이미지 덤프는 쉽지 않은 이야기다. 본래는 아이폰의 이미지를 덤프할 수 있었다. 하지만 애플은 서서히 그 길도 막아버렸고 그나마 아이폰4까지는 24kpwn라는 bootrom과 관련된 취약점을 통해 이미지 덤프를 할 수 있었지만 보안패치는 물론 iPhone 6의 A8 chip을 적용하면서 완전하게 구조가 변경되어 이마저도 막혔고 현재는 아이폰 이미지 덤프를 하는 것은 굉장히 번거롭고 까다로워졌다.[5]
아이폰은 하드웨어적으로 디바이스 암호화를 하는 것뿐만 아니라 애플은 사용자의 디스크 파티션에 저장된 논리적 파일들 각각 개별 암호화를 수행한다. 이는 Data Protection 이라 불리는 방식으로 수행되는데 chip-off, JTAG와 같이 하드웨어적인 접근을 통해 아이폰 내부에 침입하였더라도 막상 내부에 있는 자료들은 암호화되어 확인할 수 없다. 이 기술은 만약에 디바이스 암호가 풀렸더라도 안에 있는 파일들을 보호하기 위한 보안 기술로 실제로 이 파일을 보면 파일이 있다는 것은 확인할 수 있지만, 내용은 암호화되어 있어 확인할 수 없다.[6]
결국 아이폰을 포렌식 하기 위해서는 가장 먼저 패스코드를 풀어야 무엇이든 간에 시도해볼 수 있을 듯하다. 아이폰의 패스코드를 해제할 수 가장 잘 알려진 3가지 방법의 하나는 자동으로 패스워드를 추측하는 도구, IP-BOX는 iOS 8.1.1 버전까지 호환되는 프로그램으로 4자리의 암호를 뚫는다. 단순하게 아이폰의 암호를 찾는 프로그램이지만 이 프로그램을 사용해서 찾아지는 비밀번호라고 하여도 법정에서도 사용할 수 있도록 검증된 프로그램으로 정당한 절차를 효과적으로 거쳐 사용할 수 있다. 하지만 이마저도, iOS 8.1.1 버전 이후로는 이 프로그램의 사용이 막혔다. 용의자의 아이폰 버전은 iOS 9로 이 기기는 사용할 수가 없다.[7]
두 번째는 아이폰의 잠금을 해제할 수 있는 서비스로 celebrities advanced investigative services(CAIS)라고도 불린다. 본 서비스는 당사자뿐만 아니라 제 3자도 사용할 수 있어 악용의 가능성이나 실제 사례도 상당하다. 그러므로 좋은 의도로 제공해주는 서비스지만 이 서비스 자체를 안 좋게 바라보는 시선도 있다. 이러한 서비스는 해당 아이폰을 이스라엘 포렌식 회사인 cellebrite에 전달하면 아이폰의 패스코드를 풀어 사용자에게 다시 제공해준다. 이 서비스 역시 iPhone 4S 이상의 모델에서 유효했지만, 어느 순간 이 역시 막혀버렸고 이 프로그램 역시 iOS 7까지 만 작동한다.[8]
마지막으로 Secure View에서 나온 svStrike 역시 패스워드 크래킹 프로그램이다. 단지 4자리의 암호를 푸는 기존의 프로그램과 달리 svStrike는 6자리 이상의 숫자로 이루어지는 암호화도 거뜬하다. 물론, 잘못 입력하였을 시에 데이터가 소거되는 기능에 대해서는 언급되어 있지 않다. 이 세 가지의 기능으로 아이폰의 패스 코드를 풀 수 있지만 가장 잘 알려진 방법이지만 이 또한 최근에 나온 아이폰의 패스코드를 뚫기에는 무리가 있다.[9]
iPhone 5S부터 도입된 애플의 Touch ID(지문 인식 보안 시스템) 역시 막강한 애플의 강수다. 옛날에는 테이프를 이용하여 지문 보안을 뚫을 수 있다고 하지만 필자가 해본 결과 사실이 아님을 몸소 배웠다. 만약 사용자의 손가락을 가지고 있다면 지문 보안은 해제할 수 있을 것이다. 하지만 전원을 한번 껐다 키면 다시금 패스 코드를 입력해야 하고, 48시간 이상 잠금이 풀어있거나 지문 인식을 5번 실패하면 다시 패스 코드를 입력해야 한다. 물론 패스코드를 깨기란 앞서 말했듯이 쉽지 않다.
이번 사건 용의자의 아이폰은 iPhone 5S 보다 한참 늦게 나온 iPhone 5C로 touch ID 기능이 제외되어있고 단지 패스코드 보안 기능만 가지고 있다. 따라서 용의자의 패스코드는 단순히 숫자로만 혹은 6개 자리의 숫자 그리고 알파벳 조합으로 이루어진 경우 이 3가지다. 단순하게 사전대입공격으로 보안을 해지할 수 있다고 생각한다면 너무 가볍게 생각하고 있다. 사실 이는 사용자의 설정에 따라 달라지지만, 아이폰에는 몇 번 이상 패스코드를 틀렸을 때 안에 있는 내용을 완전히 삭제해버리는 기능이 존재한다. 포렌식은 전자 디바이스 내부에 있는 데이터를 알아내야 하는 기술로 이와 같은 기능이 설정되어 있다면 절대적으로 조심해야 할 부분이다. 가장 좋은 방법으로는 iOS의 DFU mode(Device Firmware Upgrade mode)에 진입하여 데이터를 손상하지 않고 비밀번호를 우회하는 것이 가장 좋은 방법이지만 이번 사건에서는 해당하지 않는다.[10]
iCloud 역시 좋은 정보 제공처가 될 수 있다. 아이폰의 사용자는 iCloud를 이용하여 자신의 폰에 있는 데이터를 백업하거나 복구하는 등 자신이 가진 자료를 iCloud를 통해 관리한다. 즉, iCloud에는 사용자의 아이폰에 있는 여러 데이터를 동기화하여 보관할 수도 있고 디바이스를 바꾸더라도 이 iCloud를 통해 데이터를 옮길 수 있어 iCloud 역시 사용자의 정보를 얻기에 좋은 자료가 될 수 있다.[11]
용의자 사예드 파룩의 아이폰 역시 iCloud와 연동이 되어 있었다. 사건의 용의자는 사건을 일으키기 약 한두 달 전, 2015년 10월 19일에 백업해놓은 파일이 있었다. FBI는 파일을 통해 몇몇 email, 연락처, 일정, 사진, Apple keychain 데이터를 확인할 수 있었다. 최근 파일이 아닌 이렇게 약 한두 달이 지난 시점의 파일이 존재할 수 있는 것은 iCloud의 기능은 특정 조건에서만 처리되기 때문에다. 특정 조건 중 첫째는 WIFI가 접속된 상태여야 하고 휴대폰의 배터리가 충전되고 있어야지만 백업 기능이 실행된다. 즉, iCloud의 기능이 설정되어 있다면 WIFI를 통해 정기적으로 백업을 실행한다. 또한, iCloud backup의 환경설정을 변경하기 위해서는 사용자의 iCloud 비밀번호가 요구되며 정확한 암호를 입력해야만 변경할 수 있다. 만약 이미 iCloud의 암호화가 풀려있다고 하더라도 아이폰에서 새로운 비밀번호로 재로그인이 되어야지만 백업 기능이 정상적으로 작동된다. 하지만 이번 사건의 용의자 모바일 폰에서는 용의자의 모바일 iCloud 가 원격에서 비밀번호가 재설정되어 있었으며 자동으로 백업 되는 기능이 해제되어 있었다.[12][13]
이외에도 아이폰 5C에는 분명 다른 흔적이 남아있을 수 있다. 용의자의 iCloud 계정, 해당 아이폰이 연결되었던 컴퓨터 하드 드라이브 속의 백업 데이터, 네트워크 장비에 남아있는 정보, 설치된 여러 가지 애플리케이션에 연동되어 동기화된 데이터들 등등 잠재적인 가능성이 존재한다. 더불어, iOS 9부터 추가된 ‘연속성 기능’이 활성화되어 있다면 다른 iOS 장치들과 MAC OS X에 담긴 관련 정보까지 획득할 수 있을 것이다. 하지만 안타깝게도 이번 용의자의 하드 드라이브는 주변 하천에 빠뜨린 것으로 추정되어 이러한 방법은 통하지 않았을 것이다. 한 가지 더 추측하기에는 이번에 공개된 아이폰 5C뿐만 아니라 현장에서 두 개의 아이폰이 추가로 발견되었고 이를 증거품으로 조사하였다고 한다. 둘 다 파손된 상태로 그들의 아지트 근처 쓰레기장에서 발견되었고, 실제로 이 아이폰이 용의자와 관련이 있다면 실제로 많은 도움이 되었을 것으로 본다. 실제로 고장이 난 폰에서 유용한 정보를 획득한 때도 많을 뿐만 아니라 사용되는 비밀번호도 같은 비밀번호를 사용할 확률이 높아 이를 분석하면 아이폰의 암호를 쉽게 풀 수도 있을 것이다.
애플은 사실 정보국의 요청에 응하여 아이폰에 있는 데이터를 추출하여 FBI를 도왔다. 당시 사용했던 방식으로는 특수 제작된 Ram disk를 사용하여 해당 아이폰의 패스코드를 우회하여 데이터를 취득할 수 있었지만, 애플의 암호화 정책이 바뀌면서 이 같은 방법도 무용지물 되었다. 애플이 사용한 암호화 정책은 사용자의 패스코드를 기반으로 생성된 key를 통해 내부의 파일들을 암호화하여 안전하게 보호할 수 있게 하였다. 해당 key 값은 애플도 사용자도 알 수가 없도록 만들어져 결국 애플에서도 파일에 대한 데이터 추출을 할 수가 없다.
하지만 완벽한 프로그램과 하드웨어가 없듯이 꼭 방법이 없을 것이라고는 생각하지는 않는다. 많은 이들이 아이폰을 만든 애플 관계자는 자신이 만든 프로그램의 보안을 격파할 방법을 모르지 않을 것으로 추측한다. 단지 외부로 발설할 수가 없고 할 리도 없을뿐더러 입을 다무는 것이 당연하리라 본다. 포렌식 분석가이며 iPhone forensics의 저자 Zdziarski 역시 자신들이 만들어낸 하드웨어와 iOS이므로 아이폰을 만든 자신들의 작품의 취약점은 애플이 가장 잘 알 것이라고 말했다.[14]
FBI뿐만 아니라 다른 분석가들 입장에서도 이러한 사건에서 아이폰을 분석해야 할 필요성이 존재하는 것도 사실이다. 하지만 날이 갈수록 더욱 단단해져 가는 Apple이 책정한 보안 정책과 사용자의 개인정보 보호를 위해 좀 더 강도 높은 보안을 제공하려고 노력은 사용자 입장에서 신뢰감을 가질 수밖에 없다. 여기에서 언급된 내용은 단순히 아이폰의 겉으로 표현된 보안 정책이지 패스 코드를 입력하여 아이폰의 대문을 열었다고 하더라도 내부에는 어떤 식으로 암호화가 되어 있고 보안 정책을 책정해놨는지는 다루지 않았다. 한 가지 변화로는 최근 들어서 많은 개발자 역시 자신이 만든 프로그램을 좀 더 안전하게 만들기 위해서 암호화된 데이터를 데이터베이스에 저장하고 구현될 수 있도록 보안 조치에 많은 관심을 두고 있다는 것이다. 실로 아니 기쁜 소식이 아닐 수 없다.
=> 아이폰의 암호를 풀어줘, 아이폰의 포렌식 ③