상세 컨텐츠

본문 제목

닌텐도 스위치, 리눅스를 실행하도록 해킹 돼 – 패치 될 수 없는 익스플로잇 공개

국내외 보안동향

by 알약(Alyac) 2018. 4. 26. 14:01

본문

Nintendo Switches Hacked to Run Linux—Unpatchable Exploit Released


서로 다른 보안 연구원들이 Nvidia의 Tegra의 임베디드 프로세서 제품군에서 패치할 수 없는 취약점을 발견해 실제로 동작 하는 PoC 익스플로잇을 공개했습니다. 


해당 취약점은 현재 출시 된 모든 닌텐도 스위치 콘솔에 포함 되어 있습니다.


Fusée Gelée 및 ShofEL2라 명명 된 이 익스플로잇은 콜드 부트 실행 해킹으로 이어질 수 있습니다. 이로써 기기 소유자들은 닌텐도 스위치 콘솔에 리눅스를 설치하고, 비공식 게임 및 커스텀 펌웨어를 실행하고, 다른 서명 되지 않은 코드를 실행할 수 있게 됩니다. 이는 일반적으로 불가능한 일입니다.


익스플로잇들은 모두 읽기 전용 부트 명령 ROM(IROM/bootROM)의 USB 소프트웨어 스택의 버퍼 오버플로우 취약점을 악용해, 칩의 bootROM을 보호하는 잠금 기능이 효과를 발휘하기 전 게임 콘솔에서 인증 되지 않은 임의 코드가 실행되도록 허용합니다.


이 버퍼 오버플로우 취약점은 기기 소유자가 “초과 길이” 인수를 잘못 코딩 된 USB 제어 프로시저로 보낼 경우 촉발 됩니다. 이로 인해 bootROM의 중요한 DMA(Direct Memory Access) 버퍼가 오버플로우 되어 결국 보호 된 응용프로그램 스택에 데이터를 복사할 수 있게 되며, 공격자가 원하는 코드를 실행할 수 있게 됩니다.


즉, 사용자는 부트 프로세스의 보안 파트가 동작하기 전 bootROM에서 DMA를 오버로드시키고 실행해 기기에서 높은 수준의 접근 권한을 얻을 수 있게 된다는 이야기입니다.


하지만, 이 익스플로잇을 악용하기 위해서는 사용자가 물리적으로 하드웨어 콘솔에 접근해 스위치를 USB 복구 모드 (RCM)로 전환해야 합니다. 이는 시스템을 열지 않고도 오른쪽 조이 커넥터의 특정 핀을 누르고 쇼팅아웃함으로써 가능합니다.


Fail0verflow는 하드웨어의 단순한 선 조각을 이용해 콘솔의 오른쪽 조이 컨트롤러 커넥터의 Pin 10과 Pin 7연결할 수 있다고 설명했으며, Temkin은 문제의 핀들을 구부리는 것도 효과가 있을 것이라 밝혔습니다.


위의 작업이 완료 되면, 컴퓨터에 케이블(USB A -> USB C)을 이용해 스위치를 연결 후 익스플로잇을 사용하면 됩니다.


Temkin이 공개한 Fusée Gelée를 사용하면, 스크린에 기기 데이터만 표시할 수 있습니다. 그녀는 다른 누군가 공개하지 않을 경우 2018년 6월 15일에 자세한 스크립트와 기술 정보 전체를 공개하겠다고 밝혔습니다. 또한 Fusée Gelée.를 통해 설치할 수 있는 커스텀 닌텐도 스위치 펌웨어인 Atmosphère도 준비 중 이라고 밝혔습니다.


fail0verflow 팀이 공개한 ShofEL2 익스플로잇을 이용하면 닌텐도 스위치에 리눅스를 설치할 수 있습니다. 하지만 fail0verflow팀은 이 코드를 이용할 때 이미 잘못 된 전원 시퀀싱 코드로 LCD 판넬 하나에 일시적인 손상을 입혔으며, 이에 만약 무엇인가 잘못되더라도 불평은 하지 말아달라고 당부하였습니다. 


하드웨어 해커 팀인 Xecutor는 사용하기 쉬운 고객용 버전의 익스플로잇을 준비해 판매할 계획으로, 이 팀은 “이는 설치 된 펌웨어에 상관 없이 모든 Nintendo Switch 콘솔에서 동작할 것입니다.”고 밝혔습니다.



닌텐도, 펌웨어 업데이트를 통해 취약점 수정 불가


Temkin에 따르면, 이 취약점은 닌텐도 스위치 뿐만이 아닌 Tegra X1 프로세서 제품군 전체에 존재합니다.


그녀는 “Fusée Gelée는 NVIDIA에 일찍이 공개했으며, 닌텐도를 포함한 제작사에도 전달했습니다.”고 밝혔습니다.


기기의 부트업 루틴을 제어하기 위해 bootROM 컴포넌트는 Tegra 기기에 통합되며, 이 모든 것은 읽기 전용 메모리에서 발생하기 때문에, 닌텐도가 단순한 소프트웨어나 펌웨어 업데이트로는 패치할 수 없습니다.


“이 버그는 Boot ROM에 존재하기 때문에, 하드웨어 변경 없이는 패치될 수 없습니다. 따라서 현존하는 모든 스위치 기기들은 영원히 이에 취약할 것이라는 이야기입니다. 닌텐도는 이 기기의 생산 단계에서만 Boot ROM 버그를 패치할 수 있습니다.”


따라서, 회사는 하드웨어 수정을 통해 앞으로 출시하는 기기들은 패치할 수 있을지 모르지만 이미 사용 중인 스위치 기기에 대한 패치는 기대하지 않는 편이 좋을 것입니다.




출처:

https://thehackernews.com/2018/04/nintendo-switch-linux-hack.html



관련글 더보기

댓글 영역