일론 머스크가 이끄는 우주탐사기업 스페이스X는 얼마 전 사상 첫 민간 유인 우주선 '크루 드래곤'을 국제우주정거장(ISS)에 성공적으로 안착시키며 많은 주목을 받았다. 스페이스X는 현재 재활용 발사체 ‘팰콘9’, 우주선 ‘크루 드래곤 캡슐’, 통신 위성 ‘스타링크’ 위성 등 다양한 로켓을 개발하고 있으며, 여기에는 다양한 소프트웨어들이 탑재돼 있다.
NASA의 우주 비행사 봅 켈리와 더그 헐리는 국제우주정거장으로 비행하면서 크루 드래곤 캡슐에 탑재된 현대식 터치스크린을 두드리며 우주선을 제어했다. 이 터치 스크린은 세계에서 가장 널리 쓰이는 구글 크롬 브라우저를 기반으로 제작됐다.
최근 스페이스X 개발자들이 커뮤니티 사이트 레딧에서 운영하는 AMA 참여해 스페이스X가 우주선 소프트웨어 현대화를 위해 어떻게 노력했는지를 밝혔다고 IT매체 씨넷이 9일(현지시간) 보도했다.
■ 크루드래곤, 크로미엄 기반 터치스크린 탑재
스페이스X는 크루 드래곤 캡슐의 터치스크린에 구글 ‘크롬’의 오픈소스 버전 크로미엄(Chromium)을 사용했다고 크루드래곤 디스플레이 개발자 소피안 히네이드가 밝혔다.
이는 웹 사이트처럼 HTML과 자바스크립트로 작성된 웹 앱이 우주인들에게 필요한 것을 보여주고 탭과 스와이프로 작동한다는 것을 의미한다며, 낮은 레벨의 언어를 사용하던 기존 항공 우주 프로그래밍 방법에서 벗어난 것이라고 씨넷은 평했다.
하지만, 모든 기능이 터치스크린으로 작동하는 것은 아니다. 우주선 내 화재 대응 등 중요 기능에는 전통적인 UI인 버튼이 사용된다고 개발자들은 설명했다.
■ 스타링크, 크루 드래곤 모두 리눅스OS 사용
크루 드래곤의 크로미엄 기반 인터페이스는 C++ 언어로 프로그래밍되며, 오픈소스인 리눅스 운영체제에서 실행되는 차량제어 소프트웨어와 연결된다. 크루 드래곤 캡슐 소프트웨어 설계 책임자 조시 설킨은 스페이스X는 리눅스 변형 OS를 쓰는데 이는 모든 안드로이드폰에서 실행되는 버전과 가깝다고 설명했다.
설킨은 스타링크 위성의 경우, 지구상의 컴퓨터에 인터넷 연결을 제공하기 위해 "60기 위성 발사 시 4,000대 이상의 리눅스 컴퓨터가 포함되어 있다"고 밝혔다. 이 컴퓨터 중 대부분은 작지만 중요한 기능을 하는 마이크로 컨트롤러라고 불리는 작은 컴퓨터들을 관리하게 된다. 그는 "현재 우주에 떠 있는 스타링크 군집위성에는 3만 개 이상의 리눅스 노드와 6천개 이상의 마이크로 컨트롤러가 있다"고 밝혔다.
■ 해커톤, 소프트웨어 업데이트 채택
스페이스X는 최신 소프트웨어를 사용하는 것 뿐 아니라 소프트웨어 업데이트 등 최신 개발 방법도 도입했다.
스타링크는 매주 스타링크 소프트웨어를 업데이트한다고 스타링크 소프트웨어 작업을 이끄는 매트 몬슨은 밝혔다. 소프트웨어 업데이트가 중요할 수 있다. 그는 "예전에는 우주에 있는 위성이 생각지도 못한 고장을 겪은 사례가 많았지만, 디버그, 수정 등 소프트웨어 업데이트를 통해 안전할 수 있었다”고 덧붙였다.
또, 스페이스X는 이번 유인 우주 탐사를 위해 우주 비행사들과 함께 일주일 동안 해커톤을 개최했다. 낮 동안에는 소프트웨어를 테스트하고 이를 피드백을 받아 밤에는 이를 다시 고치고 다음 날 다시 테스트를 진행하는 것을 반복했다.
■ 보안 위해 종단간 암호화, 해킹 전담팀 운영
스페이스X 비행 소프트웨어 및 사이버 보안 프로그램 운영자 제프 덱스터는 "스페이스X는 우주선과 시스템, 데이터 보호를 위해 다양한 보안 기술을 사용한다"고 밝혔다.
관련기사
- 우주 미스터리 ‘빠른 전파 폭발’ 비밀 풀릴까2020.06.10
- 'ISS 안착' 머스크의 첫 유인우주선, 어떤 SW 사용했나2020.06.10
- 화성도 한때 토성처럼 고리가 있었다?2020.06.10
- 민간 우주시대 연 스페이스X, 또 로켓 띄운다2020.06.10
예를 들어, 스페이스X는 종단간 암호화 기술을 통해 스타링크 위성과 통신하는 데이터를 해커가 가로채지 못하도록 보호한다. 또, 모든 하드웨어는 스페이스X가 승인한 소프트웨어를 실행해 외부 소프트웨어를 차단하며, 소프트웨어의 문제를 찾기 위해 자동 테스트를 주기적으로 실행한다.
그는 "우리는 차량과 인공위성의 해킹을 감지하는 전담팀을 운영해 이러한 종류의 위협을 제거하거나 금지 할 수 있다"고 설명했다.