로봇 운영체제(Robot Operating System, ROS)는 로봇공학 개발에서 널리 사용되는 미들웨어이다. ROS는 네트워크 내에서 노드 간의 통신을 단순화하여 로봇 개발자가 로봇 응용을 손쉽게 개발할 수 있게 한다. 그러나 ROS의 통신은 인증과 암호화가 제공되지 않으므로 보안이 취약하다. 권한이 없는 노드는 악성 메시지를 전송하여 로봇 응용의 오작동을 유발할 수 있다. ROS의 차세대 버전인 ROS2는 기존 미들웨어인 데이터 분배 서비스(Data Distribution Service, DDS) 위에 구축되어 있으며, 보안 기능을 통합한다. ROS와 달리 ROS2에서는 보안 기능을 활성화하면 통신을 보호할 수 있다. 하지만 보안 채널이 존재하더라도 권한이 없는 노드는 여전히 위협이 될 수 있다. 예를 들어, ROS2에서는 인증서 폐기 목록(Certificate Revocation List, CRL)이 기본적으로 활성화되어 있지 않기 때문에, 폐기(revoked)된 인증서를 가진 노드가 메시지를 전송하는 일이 여전히 가능하다. 이는 인증서가 적절히 검증되지 않을 수 있음을 의미한다. 또한 ROS2에서 암호화 및 인증과 같은 암호학적 연산은 높은 지연(latency)을 유발할 수 있으며, 이는 시간에 민감한 응용의 성능에 영향을 줄 수 있다. 이러한 이유로 일부 개발자는 성능 문제를 피하기 위해 보안 기능을 비활성화할 가능성이 있다. 이 논문에서는 권한이 없는 노드가 생성되고 악성 메시지를 게시하는 공격 모델을 제시한다. 또한 우리는 클록 오프셋(clock offsets)을 기반으로 권한이 없는 노드를 탐지하기 위한 새로운 방법(ROSID)을 설계한다. 클록 오프셋은 각 장치에 대한 고유 식별자로 기능할 수 있으므로, 악성 노드가 메시지를 전송하는 경우 서로 다른 클록 오프셋을 갖게 된다. ROSID는 모든 메시지를 수동적으로 수신하는 추가 장치(ROSIDNode)를 ROS 응용에 부가함으로써 통합될 수 있다. 그에 따라 ROSID는 기존 노드의 수정이 필요하지 않다. 우리는 여러 장치로 ROSID를 평가하여 클록 오프셋이 고유 식별자로 기능할 수 있음을 검증한다. 평가 결과, ROSID는 클록 오프셋을 지문(fingerprint)으로 활용한 노드 식별에서 F1-score 0.9703을 달성함을 보여준다. 또한 ROSID가 낮은 오탐(false positive) 및 미탐(false negative) 비율로 표적 대상 공격(on-target attack)과 비표적 대상 공격(on-others attack)을 탐지할 수 있음을 제시한다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.