테크레시피

닌텐도 DSi를 표준 웹브라우저에서 해킹했다

지난 2008년 닌텐도에서 출시된 휴대용 게임기인 닌텐도 DSi에는 브라우저 오페라를 개발한 오페라소프트웨어(Opera Software)와 공동 개발한 닌텐도 DSi 브라우저가 탑재되어 있어 인터넷에 접속해 웹페이지를 볼 수 있다. 엔지니어 네이선 팔로우가 이런 닌텐도 DSi 브라우저를 해킹해 임의 코드를 실행하는 익스플로잇을 발표했다.

먼저 닌텐도 DSi 브라우저를 시작하고 즐겨찾기를 연다. 등록해둔 곳(stylehax)에 액세스해 익스플로잇을 진행하면 화면이 잠시 깜박이다가 사라진다. 재부팅을 하면 닌텐도 DSi가 아닌 화면이 나타난다.

개발자는 처음에는 멜론DS(melonDS)라는 닌텐도DS 에뮬레이터에서 익스플로잇을 찾으려 했지만 작동하지 않았다고 한다. 여기에서 오페라 9.50 윈도 빌드를 찾아내 와인(Wine)에서 실행해 힙 영역을 이용한 디버그 기능을 유효하게 한 다음 웹킷 레이아웃 테스트를 실시했다고 한다. 그 위에 사용된 객체를 찾아 손상된 걸 조작하고 제어 가능한 주소를 점프시켜 임의 코드를 실행하는 방법을 발견했다고 한다. 이 방법이 멜론DS 에뮬레이터로 잘 됐기 때문에 실물 닌텐도 DSi로 검증한 것이다. 이 코드는 깃허브에도 공개되어 있다. 관련 내용은 이곳에서 확인할 수 있다.

정용환 기자

대기업을 다니다 기술에 눈을 떠 글쟁이로 전향한 빵덕후. 새로운 기술과 스타트업을 만나는 즐거움을 독자들과 함께 나누고 싶습니다.

뉴스레터 구독