Eclipse Kuksa 보안 감사 보고서 공개
자동차 소프트웨어 개발에 대한 신뢰 증진
우리는 Eclipse Kuksa에 대한 외부 보안 감사 보고서 발간을 발표하게 되어 매우 기쁘게 생각합니다. 이는 안전하고 신뢰할 수 있는 자동차 소프트웨어 개발을 위한 우리의 지속적인 노력에서 중요한 이정표입니다. 이타스 개발자들은 Eclipse KUKSA 참여를 통해 간단하고 안전한 API를 사용하여 차량 신호에 대한 읽기 및 쓰기 액세스를 가능하게 하는 오픈소스 프로젝트에 기여하고 있습니다. 그 결과물로 탄생한 Kuksa 데이터 브로커는 차량 신호 사양(VSS)으로 정의된 데이터 포인트를 관리합니다. 이 조합은 차량에 대한 통합적인 관점을 제공하는 추상화 계층을 형성하여 소프트웨어 정의 차량(SDV) 시스템 내 다양한 애플리케이션의 이상적인 기반이 됩니다.
그러나 이러한 애플리케이션은 데이터 브로커의 안전한 실행에 의존해야 합니다. 따라서 Quarkslab이 수행한 외부 감사 보고서의 발간을 발표하게 되어 기쁘게 생각합니다. 본 감사는 OSTIF 및 Eclipse 재단의 지원을 통해 진행되었으며, Alpha-Omega 프로젝트의 자금 지원으로 가능했습니다. 감사는 KUKSA 데이터 브로커와 해당 Python 클라이언트 SDK에 중점을 두었습니다. 총 19건의 발견 사항이 있었으며, 그중 2건은 심각도가 높았습니다. KUKSA 팀은 보고서 공개 전에 대부분의 발견 사항을 해결했습니다.
이 게시물에서는 일부 조사 결과와 그에 대한 대응 방안을 설명합니다. 전체 감사 보고서는 여기에서 확인하실 수 있습니다.
오픈소스 소프트웨어 협업은 다양한 배경을 가진 개발자들이 코드에 직접 협력할 수 있도록 함으로써 혁신을 가속화하고 복잡한 소프트웨어 개발 과정을 간소화합니다.
조사 결과
공급자는 새로운 신호를 추가함으로써 데이터 브로커를 중단시킬 수 있습니다.
Kuksa 배포 환경에서 소위 '프로바이더'는 차량 버스(예: CAN)에서 값을 가져와 VSS 신호로 변환한 후 데이터브로커에 기록함으로써 신호를 업데이트합니다. Kuksa API 'sdv.databroker.v1'을 사용하면 프로바이더가 런타임 중에 데이터브로커가 관리하는 데이터 모델을 확장하기 위해 새 신호를 등록할 수 있습니다. 그러나 제공자가 추가할 수 있는 항목 수에는 상한선이 없었습니다. 감사관들은 조사 과정에서 2,900만 개의 신호를 등록했으며, 이로 인해 32GB RAM을 탑재한 컴퓨터에서 운영 체제가 데이터 브로커를 중지시켰습니다. VSS 4.0의 기본 데이터 모델은 현재 약 1,000개의 신호로 구성되어 있어, 이 시나리오가 얼마나 이례적인지 보여줍니다.
사용자는 구독 쿼리로 데이터 브로커를 중단시킬 수 있습니다
'sdv.databroker.v1' API에서는 사용자가 신호의 변경 사항을 구독할 수 있습니다. 또한 사용자는 알림 수신 여부를 제어하는 특정 필터를 등록할 수 있습니다. 예를 들어, 차량 속도(Vehicle.Speed)가 시속 100킬로미터를 초과할 때만 데이터 브로커가 메시지를 전송하도록 쿼리를 정의할 수 있습니다. 이 API는 SQL을 사용하여 이러한 필터를 표현하므로, 사용자가 데이터 브로커를 중단시키는 특정 쿼리를 작성할 수 있습니다.
결과적으로
사용자는 이제 시작 시 'sdv.databroker.v1'을 명시적으로 활성화해야 합니다. 그렇지 않으면 비활성화 상태로 유지됩니다. Eclipse Velocitas와 같은 일부 애플리케이션은 'sdv.databroker.v1'의 특징에 의존하므로, 연장된 마이그레이션 기간을 허용하기 위해 아직 제거되지 않았습니다. 누락된 기능 중 'kuksa.val.v1' 또는 향후 버전에 포함되어야 할 기능에 대한 커뮤니티 피드백을 수집할 예정입니다. 'sdv.databroker.v1'과 무관한 기타 발견 사항에 대해서는 제안된 변경 사항을 구현했습니다. 예를 들어 Python SDK의 여러 특수 사례 처리 등이 포함됩니다.
설정에 Kuksa를 배포하세요
OSTIF, Eclipse Foundation, Quarkslab에 감사드립니다. 이번 감사 과정 전반에 걸쳐 협력해 주시고 소중한 피드백을 제공해 주셨습니다. 이러한 결과와 수정 사항이 여러분의 사용 사례에서 데이터 브로커를 활용하는 데 도움이 되길 바랍니다. 예를 들어 현재 Python, Android용으로 제공되는 SDK 중 하나를 통해, 곧 Rust용으로도 제공될 예정입니다.
Eclipse Kuksa를 지속적으로 개선해 나가고 있으니, 더 많은 업데이트 소식을 기대해 주세요!
문의하기
문의 사항이 있으시면 언제든지 연락해 주세요.
이타스가 신속하게 안내해 드리겠습니다.