북한 OS ‘붉은 별’ 추적 기능 분석

북한의 컴퓨터 운영체제인 붉은 별 3.0에 추적 기능이 있다는 애기를 듣고 분석하게 되었다.

붉은 별 OS ?

조선콤퓨터쎈터가 개발한 컴퓨터 운영 체제이다.

오픈소스 리눅스 커널을 기반으로 하여, 북한에 맞는 맞춤형 기능과 보안 체계를 추가했다.

특징

내부 네트워크 보안 강화와 국외 정보 유출 차단을 위해, 다른 OS에서는 찾기 어려운 사용자 및 시스템 감시 기능이 포함되어 있을 가능성이 있다.

붉은 별 OS에 추적 기능이 있다?!

붉은별 OS는 단순한 운영체제 이상의 역할을 수행하며, 특히 파일의 메타데이터나 태그 변화로 사용자를 추적할 수 있다는 의혹이 제기되고 있다.

붉은 별 OS (VMware)

확인 방법으로 USB를 통해 특정 파일이 붉은 별 OS에 인식되었다가 나오면 파일의 메타데이터가 변경 되었는지를 확인할 것이다.

각 파일에는 고유의 hash 값이 존재한다.

파일이 변경되지 않는 이상 다른 PC에 들어가도 값이 바뀌지 않는다.

새롭게 만든 파일을 USB에 저장.

해당 test.pdf 파일의 hash 값을 확인. (E8CC4924DB5CEB9577087AF901FDE4E4)

붉은 별에 USB를 연결 후 폴더 확인. ( 파일을 열진 않음 )

USB를 제거 후 hash 값 확인. (EB448F1B0AB6FDB9BDA086EFBF4F0A3E)

hash 값이 달라 졌다.

hash 값이 바뀌는 이유는 해당 OS가 파일에 특정 정보를 자동으로 추가하는 기능이 있다고 볼 수 있다.

=> 추적하고 통제하려는 의도로 설계되었음을 예상.

자동 태그 기능 :

  • 붉은 별 OS는 컴퓨터나 연결된 USB에 담긴 모든 파일에 고유한 태그를 추가.
  • 해당 태그는 파일이 어떤 컴퓨터를 거쳤는지 추적할 수 있도록 설계.
  • 이러한 태그는 열거나 수정하지 않아도 자동으로 추가되며, 이로 인해 파일의 Hash 값이 변경.

파일 메타데이터 변경 :

  • Hash 값은 파일의 내용이 조금이라도 바뀌면 달라지기 때문에, 붉은 별 OS가 파일 내부에 정보를 기록하거나 메타데이터를 수정하면 Hash 값이 달라 짐.
  • 보안 및 감시 목적으로 설계된 기능으로 예상.

분석

붉은 별의 조작탁을 통해 모듈 확인

현재 로드된 커널 모듈을 확인.

북한에서 만든 모듈

rtscan 모듈 상세 정보 확인

해당 모듈을 보면 파일의 위치를 확인할 수 있다.

추가로 설명을 보면 실시간 모니터링을 하는 모듈이라는 설명이 덧붙여있다.

해당 모듈의 어셈블리 코드를 분석

rtscan의 내부 함수들을 확인했고, 그 중에 특별히 의심스러운 함수가 rts_send_files_ioctl 함수이다.

가볍게 어셈블리어 코드를 분석을 해보니

ioctl 인터페이스를 통해 파일을 전송 명령을 처리하는 함수인 듯 했다.

  1. ioctl은 사용자 공간과 커널 공간 간의 통신을 위해 사용되며, 주로 디바이스 드라이버에서 특정 명령을 처리하는 데 사용됨
  2. rts_send_files_ioctl은 파일 전송과 관련된 특정 작업(ex. 파일 데이터 전송, 파일 메타데이터 처리 등)을 수행하기 위한 명령어를 처리할 가능성이 있음

정리

  1. 이벤트 기반의 rtscan 모듈 실행 가능성
    • 외부 장치가 접근 시 실행.
    • 문서 열람 및 파일 수정 시 실행.
  2. 파일에 추적 기능
    • rtscan 모듈에 내포된 함수들(ex. rts_send_files_ioctl, rts_device_ioctl, rts_receive_files_ioctl, etc)에 의해 파일에 태그를 추가하고 파일의 메타 데이터를 변경

더 자세한 내용은 더 구체적인 분석이 필요할 듯하다.

By 신성민(@smongs/velog.io/@sssm0928)