개발세발보안중
[BoB]서비스 로봇 보안 프로젝트 2부 : 서비스 로봇을 해킹할 수 있다면? 위협 모델링으로 모든 가능성 상상하기 본문
“당신이 매일 마주치는 로봇, 과연 믿을 수 있을까요?”
스마트 오피스에서 커피를 나르고, 손님을 안내하고, 청소까지 도맡는 서비스 로봇. 편리함 뒤에 숨어 있는 보안 위협은 우리 상상보다 훨씬 현실적이고, 복잡하며, 무섭습니다. 이번 글에서는 저희 팀이 서비스 로봇의 보안을 해부하기 위해 사용한 방법론과 프레임워크들을 소개합니다.
왜 위협 모델링이 필요한가?
서비스로봇과 같은 스마트 IoT 시스템은 단일 시스템이 아니라, 여러 계층과 장치들이 물리적/논리적으로 연결된 복합적 구조를 가집니다. 예를 들어 서비스 로봇 하나만 해도, 센서(카메라, 마이크, LiDAR), 네트워크 인터페이스 (BLE, MQTT, LTE, Wi-Fi), 서버 연동 및 OTA 업데이트 기능, 사용자 앱/관리자 대시보드/음성 인식 모듈 등이 동시에 작동하며 외부와 상호작용합니다.
이처럼 다양한 통로가 공격 지점(Attack Surface)이 되며, 단 하나의 취약점이 전체 시스템을 무너뜨릴 수 있습니다.
위협모델링은 그 복잡한 경로들을 사전에 지도화하는 작업으로 생각할 수 있습니다. 위협 모델링은 마치 해커가 될 것 처럼 시스템을 들여다보는 과정인데, 어떤 데이터가 흐르고, 누가 접근할 수 있고, 어떤 위치에서 공격이 가능한지 구조적인 관점에서 시각화하고 분류하는 것입니다. 이는 단순한 취약점 스캐닝 도구로는 포착할 수 없는. "설계 레벨의 보안 문제"를 찾아내는 데 필수적입니다.
신규 시스템 설계 초기에 아키텍처 검토 및 보안 요구사항 수립 시, 기존 시스템 변경 시 새로운 인터페이스나 외부 API가 추가될 때, 규제/인증 준비 시 보안 인증을 위한 리스크 분석 과정에서, 그리고 사고 대응 이후 재발 방지를 위한 위협 식별 등을 위해 수행되는 것이 일반적입니다.
위협 모델링이 실질적으로 주는 가치를 4가지로 정리해봤습니다.
1. 사전적 리스크 식별
- 침해사고가 나기 전에, 가능성 높은 위협을 체계적으로 예측하고 대응책을 수립할 수 있습니다.
2. 보안 설계 품질 향상
- 인증/암호화/권한 구조를 설계 초기부터 고려함으로써, 시스템 전반의 보안 수준이 향상됩니다.
3. 이해관계자 간의 공통 언어 형성
- 개발자, 보안 담당자, 기획자 간에 추상적인 위험이 아닌, 구체적 위협 시나리오를 기반으로 대화할 수 있습니다.
4. 보안 예산의 효율적 배분
- "모든 걸 다 막을 수는 없다." 따라서 가장 위험한 부분에 우선적으로 자원을 투입할 수 있게 해줍니다.
위협을 구조화하다 - STRIDE 프레임워크
우리는 마이크로소프트가 제안한 STRIDE 프레임워크를 기반으로, 서비스 로봇을 구성하는 수많은 컴포넌트(센서, ROS, 네트워크 등)에 내재된 위협을 식별했습니다.
Threat 설명 예시 (서비스 로봇)
| Threat | 설명 | 예시 |
| Spoofing | 인증되지 않은 사용자의 위장 접근 | 외부인이 관리자 앱을 흉내내 로봇을 제어 |
| Tampering | 코드/데이터 변조 | OTA 업데이트 과정에서 악성 펌웨어 주입 |
| Repudiation | 행위 부인 | 로봇의 로그 조작으로 책임 회피 |
| Information Disclosure | 민감 정보 유출 | 카메라 영상이 외부로 전송됨 |
| Denial of Service | 서비스 불능화 | ROS 메시지 폭주로 SLAM 시스템 마비 |
| Elevation of Privilege | 권한 상승 | 저권한 계정으로 root shell 획득 |
이를 통해, 로봇 내부와 외부 간의 공격 경로를 시각적으로 정리한 DFD(Data Flow Diagram)와 함께, 각 컴포넌트별 위협 목록을 수립했습니다.
프라이버시를 정밀 분석하다 - LINDDUN 적용
STRIDE가 “보안”에 집중한다면, LINDDUN은 “프라이버시 보호”에 초점을 맞춥니다. LINDDUN 프레임워크는 벨기에 KU Leuven 대학교의 연구 그룹에서 2010년대 초에 발표하였습니다.
약자 의미 설명
| L – Linkability (연결 가능성) | 사용자의 활동이 서로 연결되어 프로파일링이나 식별이 가능한 위험 |
| I – Identifiability (식별 가능성) | 익명화된 정보에서 개인을 식별할 수 있는 가능성 |
| N – Non-repudiation (부인 불가) | 사용자가 본인의 행위를 부인할 수 없는 상태. 프라이버시 측면에선 오히려 과도한 책임 추적으로 인식됨 |
| D – Detectability (탐지 가능성) | 시스템 내 존재 여부나 특정 활동이 외부에 노출될 수 있는 위험 |
| D – Disclosure of Information (정보 노출) | 권한 없는 제3자가 민감한 정보를 볼 수 있는 상황 |
| U – Unawareness (인지 부족) | 정보 주체가 자신의 데이터가 어떻게 수집·처리되는지 알지 못하는 상태 |
| N – Non-compliance (규정 미준수) | 데이터 처리 방식이 법적·정책적 규제를 위반하는 경우 |
LINDDUN의 적용 방식은 아래와 같습니다.
1. DFD 모델 작성
로봇의 센서-처리-저장-전송 구조를 DFD 형태로 도식화
2. 각 구성요소별 위협 적용
예) 카메라 → Identifiability, Detectability, Disclosure of Information 등
3. 위협 시나리오 도출
각 구성요소별로 '어떤 행위'가 '어떤 방식'으로 프라이버시 위협을 일으킬 수 있는지 설명
4. 대응 전략 수립
익명화, 접근 통제, 보관 기간 제한, 사용자 고지 등 프라이버시 보강 설계 적용
이를 통해, 로봇의 센서→저장→전송→처리의 각 단계에서 프라이버시 침해 가능성을 정밀하게 짚어냈습니다.
개인정보 취약성 평가
단순한 기술 분석을 넘어서, 서비스 로봇이 법적으로도 안전한가?를 점검했습니다.
- 카메라 영상 | 저장 위치, 암호화 여부, 접근 권한 관리 체계 점검
- 정보주체 권리 보장 여부 | 열람/삭제/동의 절차가 명시되어 있는가?
- 보유기간 및 처리 정책 | 목적 외 수집/보관이 존재하는가?
우리는 개인정보보호법, 영상정보 가이드라인, GDPR 등을 기준으로 진단 항목을 도출했습니다.
해부하듯 분석하다 - 로봇 시스템 구조 3단 분해
서비스 로봇을 진단하려면 ‘겉만 보아선 안 된다’. 그래서 우리는 로봇을 소프트웨어-하드웨어-통신 인터페이스로 해체했습니다.
- 소프트웨어 구조
- ROS 기반의 메시지 버스, 서비스 API, 펌웨어 구조
- 관리자 앱/사용자 앱의 인증 구조
- 취약한 WebSocket 통신 구조 분석
- 하드웨어 구성 요소
- CPU와 메모리 권한 분리 미비
- 마이크와 RGBD 카메라의 직접 접근 가능 여부
- USB 포트 → root 권한 탈취 가능성 평가
- 통신 인터페이스 분석
- MQTT, BLE, Wi-Fi, USB 연결 등 경로별 위협 시나리오 도출
- 예: 블루투스 연결 상태 유지 중 권한 인증 생략 → 공격자 임의 명령 전송 가능
EMB3D - 임베디드 보안 위협 모델
EMB3D(Embedded Device Threat Model)는 MITRE와 MIT Lincoln Laboratory, Johns Hopkins APL 등이 공동 개발한 위협 모델링 프레임워크로, 다양한 임베디드 시스템에서 발생할 수 있는 보안 위협을 구조적으로 분류합니다.
EMB3D의 주요 특징
- 공격자 행위 기반 분류
EMB3D는 위협을 공격자가 취할 수 있는 행동(예: 펌웨어 변조, 인증 우회, 물리적 접근) 중심으로 분류합니다. - 디바이스 속성 기반 위협 매핑
예: 블루투스, USB, 부트로더, JTAG, 센서 등 기능 단위로 위협을 매핑합니다. 이를 통해 "이 디바이스가 갖고 있는 속성 때문에 어떤 위협에 노출되는가?"를 명확히 파악할 수 있습니다. - 임베디드 시스템 특화
IoT, 산업 제어 시스템, 자동차, 헬스케어 등 다양한 환경의 디바이스를 포괄하며, 로봇 역시 그 핵심 영역 중 하나입니다.
저희 프로젝트 진행 중에는 EMB3D가 정식 릴리즈가 되지 않아, BoB 프로젝트 중에서는 apply하지 못하였지만 후속 프로젝트 진행을 하며 적용 할 수 있었습니다.
저희는 EMB3D가 정의하는 위협 분류 방식을 참조해 서비스 로봇의 구조적 위험 요소를 분석했고, 다음과 같은 잠재적 위협 시나리오를 도출했습니다.
위협 범주 분석된 잠재 시나리오
| 펌웨어 무결성 위협 | OTA 업데이트 과정에서 서명 검증이 부재하거나 취약할 경우, 악성 코드 삽입 가능성이 존재할 수 있습니다. |
| 물리적 접근 위험 | 테스트 포트(JTAG, UART 등)가 보호되지 않거나 노출된 경우, 로컬 공격자가 내부 시스템에 접근할 수 있는 경로가 될 수 있습니다. |
| 통신 인터페이스 위험 | BLE 또는 MQTT와 같은 인터페이스가 인증 없이 연결되거나, 메시지를 평문으로 송수신하는 경우 정보 탈취 위험이 존재할 수 있습니다. |
| 부트 체인 위협 | 보안 부팅(Secure Boot)이 적용되지 않은 경우, 부트로더 단계에서 시스템 권한을 탈취당할 가능성이 있습니다. |
EMB3D의 위협-속성 매핑 구조를 바탕으로 저희 분석 대상 로봇의 구성요소별 위협 벡터를 도출하고 우선순위를 설정하는 데 참고 자료로 활용했습니다.
마무리하며
서비스 로봇의 보안을 강화하기 위한 첫걸음은, 그 시스템을 올바르게 이해하고 위협을 구조화하는 것입니다. STRIDE는 기술적 보안 위협을, LINDDUN은 사용자 프라이버시 침해 가능성을, 그리고 EMB3D는 하드웨어 기반의 구조적 공격 경로를 체계적으로 보여줍니다.
저희 팀은 이 세 가지 위협 모델링 도구를 통해 서비스 로봇의 전반적인 구조와 데이터 흐름, 센서의 물리적 특성까지 종합적으로 분석하며, 단순한 기능 테스트를 넘는 심층적인 보안 진단 프레임워크를 구성했습니다.
이러한 분석은 단지 위협을 나열하는 데 그치지 않습니다. 서비스 로봇이라는 복합 시스템에 특화된 보안 모델이 왜 필요한지, 기존 프레임워크의 한계는 무엇인지, 그리고 산업 현장에서는 어떤 방식으로 현실적 제약을 극복해야 하는지에 대한 통찰을 주었습니다.
서비스 로봇은 단지 기계가 아닙니다. 사람과 공간, 데이터를 연결하는 지능형 존재입니다. 그러므로 보안 역시 기술뿐 아니라 프라이버시, 사용자 권리, 물리적 안전까지 아우르는 다차원적 접근이 필수입니다.
다음 3부에서는, 이 모델링 작업이 실제 상용 서비스 로봇에 적용되었을 때 어떤 취약점이 드러났고, 어떤 구체적인 개선책이 도출되었는지 소개해드리겠습니다. 기술과 현실이 충돌하는 지점에서, 우리가 어떻게 실질적인 보안을 만들어냈는지 함께 살펴보시죠.