NoWayOS
KO
GitHub
메뉴닫기

2026년 11월 13일

NoWayOS 장치에 셸이 없는 이유

대부분의 전용 장치는 범용 컴퓨터 위에 한 가지 일을 올려 두고, 그 아래에 나머지를 모두 그대로 남겨 둡니다. 저희는 다른 길을 택했습니다. 각 장치를 그 일에 필요한 것만으로 만들고, 나머지는 넣지 않는 길입니다.

전용 장치에 대한 공격은 대부분 그 장치가 하는 일을 노리지 않습니다. 장치가 돌아가는 컴퓨터의 나머지 부분을 노립니다. 유지보수용으로 남겨 둔 셸, 아무도 끄지 않은 원격 접속 서비스, 애플리케이션 뒤의 브라우저, 충돌 한 번이면 드러나는 데스크톱입니다.

이 “컴퓨터의 나머지 부분”은 어디에나 있습니다. 정수장에서 측정값을 내보내는 게이트웨이, 전력망 제어실의 단말기, 병원이 의지하는 장치, 기계 옆면의 패널, 역 대합실의 화면. 이들 중 다수는 범용 운영체제를 실행하며, 그 위에 한 가지 일이 있고, 아래에는 나머지가 설정으로 꺼진 채 모두 남아 있습니다. 키오스크 모드는 그 가장 단순한 형태입니다. 침해는 언제나 누군가 놓친 설정 하나를 찾아내는 일입니다.

끄는 대신, 넣지 않습니다

NoWayOS는 반대쪽에서 출발합니다. NoWayOS 이미지에는 장치의 애플리케이션, 그 애플리케이션이 쓰는 드라이버, 그리고 seL4 마이크로커널이 들어 있습니다. 목록은 그것이 전부입니다.

들어갈 셸이 없습니다. 처음부터 넣지 않았기 때문입니다. 비밀번호를 추측해 볼 원격 로그인도 없습니다. 빠져나갈 데스크톱도 없습니다. 악성 페이지를 기다리는 브라우저 엔진도 없습니다. 없는 소프트웨어의 설정은 잘못 지정할 수 없습니다.

여기까지는 모두 운영체제에 관한 이야기입니다. 그 위에서 실행되는 애플리케이션은 다릅니다. 애플리케이션은 맡은 일에 필요하다면 사용자를 로그인시킬 수 있고, 다른 시스템에 로그인할 수도 있습니다. 다만 그 아래에 누군가 로그인할 수 있는 운영체제가 없을 뿐입니다.

저희는 이것을 Single Purpose OS라고 부릅니다. 다른 할 일이 없는 컴퓨터.

그리고 있는 것은 봉인되어 있습니다

넣지 않는 것은 절반입니다. 남은 각 부분(네트워크, 화면, 입력, 애플리케이션)은 저마다의 구획, seL4 용어로 보호 도메인 안에서 실행되며, 부여받은 것에만 닿습니다. 네트워크 드라이버는 패킷을 옮깁니다. 디스플레이 드라이버는 화면을 그립니다. 애플리케이션은 고정 크기 메시지로 각각과 통신합니다.

모든 권한 부여는 한 줄에 사실 하나씩 파일에 기록되며, 시스템과 파일이 일치하지 않으면 빌드가 실패합니다. 한 부분의 폴트가 그 부분 안에 머물도록 만들어져 있습니다.

“그런데 셸 없이 어떻게 고칩니까?”

엔지니어들이 가장 먼저 묻는 질문이고, 당연한 질문입니다. NoWayOS 장치의 운영체제에는 로그인하지 않습니다. 계정이 없어서 로그인할 사용자가 없기 때문입니다. 새 이미지를 빌드해 이전 이미지를 교체합니다. 지금은 이미지를 빌드해 보드에 올린다는 뜻입니다. 장치가 검사하고 안전하게 되돌아갈 수 있는 서명된 업데이트는 설계되어 있으며, 구현을 앞두고 있습니다.

그 대가로 얻는 것은 자신의 한 가지 일로 곧장 시작하는 장치, 패치할 것도 공격할 것도 훨씬 적은 장치입니다. 한 나라가 의지하는 시스템이라면, 이 맞바꿈이 바로 목적입니다.

직접 확인해 보십시오

실제 NoWayOS 이미지 하나의 증거, 곧 권한 부여 파일, 소프트웨어 자재 명세서, seL4 구성 기록은 저희 보안 페이지에 있습니다. 가입도 스크립트도 없습니다. 파일만 있습니다.