게임

닌텐도 스위치는 디바이스를 물리적으로 변경하는 것으로 시스템 소프트웨어 다운그레이드를 막고 있다

나나시노 2018. 4. 28. 00:21
반응형




닌텐도 스위치는 디바이스를 물리적으로 변경하는 것으로 시스템 소프트웨어 다운그레이드를 막고 있다



수많은 게임기에서 동작하는 시스템 소프트웨어는, 보안 문제 등 대응 때문에, 소프트웨어 갱신을 수시 합니다. 그러나, 시스템 소프트웨어를 의도적으로 다운그레이드 하고, 취약성을 사용해서 악용하려고 하는 사람이 일정수 있는 것이 사실로, 다운그레이드를 못하게 하는 것도 보안 대책에 하나로 여겨지고 있습니다. 보안 연구자 JonLuca De Caro씨에 의하면 「Nintendo Switch는 팁내에 존재하는 퓨즈를 물리적으로 파괴하는 것으로, 시스템 소프트웨어 다운그레이드를 막고 있다」라고 합니다.




Nintendo Switch는 시스템 소프트웨어의 다운그레이드를 못하게 하기 위해, 시스템 소프트웨어 버전이 오를 때마다, 디바이스를 물리적으로 변경하는 어프로치를 채용하고 있습니다.


Nintendo Switch는 「NVIDIA Tegla X1」이라고 불리는 SoC를 탑재하고, 이 SoC는 팁내 퓨즈를 조작하기 위한 드라이버가 부속되어 있습니다. 즉, 이 드라이버를 이용하는 것으로, 소프트웨어 명령으로 퓨즈를 파괴하는 것이 가능해지고, 임의하는 타이밍으로 디바이스에 물리적인 변함을 더할 수 있습니다.




Caro씨에 의하면, Nintendo Switch는 이러한 방식으로 시스템 소프트웨어 다운그레이드를 무효화합니다.


1. 닌텐도 스위치를 기동하면, boot loader가 퓨즈 상태를 확인

2. 퓨즈 수치가 시스템 소프트웨어 버전에 달려 있는 수치와 일치하면, 시스템을 기동

3. 파괴된 퓨즈 수치가 상정보다 적을 경우는, 맞은 수치가 되게 퓨즈를 파괴하고 나서 시스템을 기동

4. 파괴된 퓨즈 수치가 상정보다 많을 경우는, 다운그레이드 되었다고 간주해서 시스템을 기동하지 않는다


이 구조를 이해한 뒤에서 시스템 소프트웨어를 이전의 버전에 다운그레이드 하기 위해서는, 소프트웨어 자체의 다운그레이드로 맞춰, SoC내에서 파괴된 퓨즈를 물리적으로 복원할 필요가 있습니다. 복원은 이론적으로 가능하지만, 매우 난이도가 높고, 현실적인 대응이 아니다고 Caro씨는 진술했습니다.




또, 「NVIDIA Tegla X1」의 SoC내에는 퓨즈가 32개 존재합니다. 이것 때문에, 버전 번호가 1가산되는 메이저 버전업마다 퓨즈가 파괴되었다고 한들, 합계로 32번 메이저버전업에 대응할 수 있는 계산이 된다고 Caro씨는 진술했습니다.


그러나, 퓨즈 상태를 확인하는 처리는 바이패스하는 것이 가능하고, 완전한 것이 아닙니다. 이것 때문에 Nintendo Switch가 채용한 이 구조는, 다운그레이드를 쉽게 못하게 하기 위한, 시간벌기적인 이유가 강하다고 생각됩니다.



반응형