NAND와 아이폰 해킹
2016/03/29
댓글들을 보니 nand 미러링 이야기가 있네요....
해킹 기법이 실제로 nand를 복제해서 브루트포스를 했다고 가정하면, 칩을 순수 복제 하진 않겠죠... 그리고 eMMC의 경우 애플이 보안 트릭을 더 써놨을 요소가 더 있는데, 여기서는 퓨어 nand 라고 가정해봅시다. 그리고 보안 키나 침입 시도 기록 등이 AP와 기타 부가 부품, 보안 기능등과 페어링 되어 있지 않다고 가정해봅시다.
- 리웤 기구로 목표 폰의 nand 를 조심히 떼낸다.
- 다른 아이폰의 nand 를 뗀 자리에 핀맵을 뜬 다이를 붙인다. 이 다이는 FPGA 등을 탑재한 PCB에 연결되어 있다.
- FPGA는 nand 에뮬레이터로서 동작한다. 학교 다닐때 롬에뮬 만들어본 사람은 알 것임. nand 가 아니고 램으로 만드는 것이다. 그래야 재사용하고 계속 빠르게 작업이 가능하니까.
- 떼낸 nand를 잘 청소해서 소켓에 삽입하고 gang 장비 든 뭐든으로 풀덤프를 뜬다. 배드나 스페어까지 다 떠내야 됨.
- 이 이미지 파일을 PC를 통해서 FPGA 보드 연결하고 보낸다.
- jtag 레벨 제어가 안 될테지만 된다면 클럭단위 브렠을 걸 수 있다. 이런 브렠은 못 건다고 치고, 폰에 암호를 입력한다음, 틀린 다음, 메모리상에서 변동된 주소를 찾아낸다. FPGA에 통 이미지 제어권을 해킹쪽 개발자가 다 가지고 있으므로 그냥 된다. (그 옛날 게임 위저드로 해킹하는 방식) 그리고 브루투포스가 실패했다면 이제 다시 FPGA의 이미지를 초기 상태로 원복! 클럭단위 브렠이 되도 골아프긴 한데, 펌웨어가 아닌 OS이므로 nand 상에 변동되는 부분이 여러 곳이 있기 때문.. 아이폰 개발자가 신경써서 저장소 난독화 등 여러 꼼수를 더 써놨다면 더 무식한 부르트포스를 시행했을 가능성이 있다.
- 변동된 주소와 값의 패턴을 분석하여 쉬운 해킹이 가능한지 본다. 단순히 틀린 횟수 1, 2, 3 변동되는 것이 보이면 그것만 계속 0으로 바꿔서 해킹이 가능한 것이나 이렇게 쉽게 만들진 않았을 듯.
------------------------<절취선>-----------------------
터치스크린 부루투 포스도 마찬가지로 할 수 있는데...
- 아마도 정전용량 터치를 제어하는 IC가 달려있을 것인데, 커스텀 IC이며 암호화가 됐을 수도 있고, 암호화 없는 일반 마켓 IC가 있을 것이다 . 나 일하던 시절이라고 치면 I2C이며 로직 어날리이저 걸면 누를 때 마다 뭐 나오는지 다 보인다. 그냥 제조사 데이터 쉬트대로 동작한다면 여튼 패턴은 파악된 것이다. 강강약약강강중강강... 안 돼!!! 돼!!!
- I2C에 로직 어날라이너 점핑 시켜서 미리 생성한 터치 입력 에뮬레이션 패킷을 생성해서 걍 줄줄 날린다. 강약약중강강...
------------------------<절취선>------------------------
기계식 브루투포스도 할 수 있는데...
- 필리핀이나 중국에서 작업방을 컨택한다.
- 그게 힘들면 각종 만능 시험기 제조사에 공압식 터치 자동화 지그를 개발 의뢰한다.
[t:/] is not "technology - root". dawnsea, rss