← 최신 논문
💻 computer science

Security Vulnerabilities in Software Supply Chain for Autonomous Vehicles

이 장은 Autoware, Apollo, openpilot와 같은 인기 있는 플랫폼에 정적 분석기를 활용하여 자율주행 자동차의 오픈 소스 소프트웨어 공급망에 만연한 보안 취약점을 분석하며, 이를 통해 치명적인 결함을 강조하고 시스템의 신뢰성과 대중의 신뢰를 확보하기 위해 개발 생애 주기 초기 단계에서 보안 모범 사례를 통합할 것을 옹호하는 것을 목표로 한다.

원저자: Md Wasiul Haque, Md Erfan, Sagar Dasgupta, Md Rayhanur Rahman, Mizanur Rahman

게시일 2026-08-25
📖 3 분 읽기☕ 가벼운 읽기

원저자: Md Wasiul Haque, Md Erfan, Sagar Dasgupta, Md Rayhanur Rahman, Mizanur Rahman

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

자율주행 자동차는 단순히 첨단 엔진을 탑재한 자동차가 아니라, 승객과 보행자의 안전이 전적으로 코드 한 줄 한 줄에 달려 있는 '바퀴 달린 컴퓨터'입니다. 이 기계들은 개발자들이 자동차가 보고, 생각하고, 움직일 수 있도록 엮어 만든 방대한 디지털 재료의 네트워크인 복잡한 소프트웨어 공급망에 의존합니다. 이 체인에는 자동차 제조사가 직접 작성한 원본 코드가 포함되지만, 전 세계 프로그래머 커뮤니티가 만든 자유롭게 이용 가능한 빌딩 블록인 오픈 소스 소프트웨어에도 크게 의존합니다. 이러한 공유 방식은 혁신을 가속화하고 새로운 아이디어를 빠르게 테스트할 수 있게 해주지만, 독특한 위험을 초래하기도 합니다. 만약 이 공유된 소프트웨어의 단 한 조각에 숨겨진 결함이 있다면, 그 약점은 전체 시스템으로 퍼져나가 차량이 주변 환경을 잘못 해석하거나 멈추지 못하게 만들 수도 있습니다. 이 차량들이 연구실을 벗어나 공공 도로로 나옴에 따라, 모든 디지털 구성 요소의 무결성을 보장하는 것은 생사와 직결된 문제가 되었습니다.

앨라배마 대학교의 연구진은 가장 저명한 세 가지 오픈 소스 자율주행 플랫폼인 Autoware, Apollo, openpilot의 코드를 직접 조사함으로써 이 디지털 토대의 건전성을 검토하고자 했습니다. 이 프로젝트들은 자율주행 기술의 최첨단을 상징하며, Autoware와 Apollo는 자동차가 스스로 운전하는 높은 수준의 자동화를 목표로 하고, openpilot은 인간이 통제력을 유지하도록 돕는 운전자 보조 시스템에 집중하고 있습니다. 연구팀은 이 소프트웨어 저장소들을 복잡한 엔진을 점검하는 정비사처럼 다루었습니다. 다만 녹슨 볼트를 찾는 대신, 특수 스캐닝 도구를 사용하여 디지털 균열을 찾아냈습니다. 그들은 두 가지 주요 영역에 집중했습니다. 하나는 프로젝트 팀이 직접 작성한 코드이고, 다른 하나는 이 프로젝트들이 작동하기 위해 의존하는 제3자 라이브러리(다른 출처에서 빌려온 사전 작성된 코드 조각들)입니다.

조사 결과, 이 플랫폼들은 강력하지만 어디에나 존재하는 일반적인 오류로부터 자유롭지는 못했습니다. 연구진은 코드 내에서 '공통 약점 열거(common weakness enumerations)'라고 불리는 반복적인 약점 패턴을 발견했습니다. 운전 작업의 핵심적인 처리를 위해 자주 사용되는 언어인 C와 C++ 코드에서는, 데이터가 의도된 저장 공간을 넘어 흘러넘쳐 시스템을 손상시킬 수 있는 버퍼 오버플로와 같은 메모리 관리 관련 문제들이 식별되었습니다. 고차원적인 계획 및 도구에 주로 사용되는 Python 코드에서는, 소프트웨어가 예상치 못한 상황이나 입력을 처리하는 방식과 관련된 문제들이 드러났습니다. 세 프로젝트 모두에서 발견된 가장 빈번한 문제 중 하나는 예외 상황의 부적절한 처리였는데, 이는 소프트웨어가 상황이 잘못되었을 때 올바르게 반응하지 못함을 의미합니다. 또 다른 주요 발견은 악의적인 공격자가 시스템을 속여 승인되지 않은 명령을 실행하게 할 수 있는 커맨드 인젝션(command injection) 결함의 존재였습니다.

연구는 또한 차량이 의존하는 수천 개의 외부 패키지를 심층적으로 조사하며 공급망을 살펴보았습니다. 결과는 프로젝트에 따라 극명하게 갈렸습니다. 대규모 양산을 위해 설계된 Apollo 플랫폼은 방대한 수의 의존성을 가지고 있는 것으로 나타났으며, 스캔 결과 이 중 91개의 외부 구성 요소에서 알려진 보안 취약점이 확인되었습니다. 여기에는 파일 처리 및 웹 렌더링에 사용되는 패키지들의 치명적인 결함이 포함되어 있었으며, 일부는 공격자가 시스템을 제어하거나 민감한 데이터에 접근할 수 있게 할 수 있습니다. 반면, 범위가 더 좁은 openpilot 프로젝트는 외부 의존성 문제를 훨씬 적게 보였으며, 단 하나의 취약한 구성 요소만이 감지되었습니다. Autoware 프로젝트는 이 분야에서 가장 적은 문제를 보였는데, 스캔 당시 제3자 라이브러리에서 알려진 취약점이 발견되지 않았기 때문입니다.

발견된 결함의 수와 관계없이, 연구가 전달하는 핵심 메시지는 명확합니다. 이 차량들을 구동하는 소프트웨어는 현재 상당한 위험에 노출되어 있다는 것입니다. 연구진은 자동차 분야의 사이버 공격 중 거의 절반이 이미 소프트웨어 시스템의 약점을 악용하고 있다고 언급했으며, 그들의 분석은 이러한 취약점이 사람을 안전하게 지키기 위해 만들어진 바로 그 코드 안에 존재한다는 것을 확인해 주었습니다. 이 연구는 시스템이 수리 불가능할 정도로 망가졌다고 말하는 것이 아니라, 끊임없는 경계가 필요한 토대 위에 구축되어 있다는 점을 지적합니다. 저자들은 보안이 사후 고려 사항이 되어서는 안 되며, 개발 과정의 시작부터부터 엮여 들어가야 한다고 제안합니다. 자동화된 도구를 사용하여 이러한 결함을 지속적으로 점검하고, 시스템에 도입되는 소프트웨어 구성 요소를 신중하게 관리함으로써 개발자들은 파멸적인 실패의 위험을 줄일 수 있습니다. 이 연구는 점점 더 자동화되는 세상에서, 기계의 안전은 그 코드의 보안에 달려 있다는 사실을 상기시켜 줍니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →