엔비디아가 안전한 자율주행 자동차의 미래를 위해 무엇을 했는가?

엔비디아, 자율주행 자동차의 인적 오류 줄이기 위해 아다코어와 협력 소프트웨어 보안에 Ada와 SPARK 프로그래밍 언어 적용
by NVIDIA Korea

소프트웨어는 이동 수단을 구성하는 주요 요소를 정의합니다. 모빌리티 앱부터 실시간 지도, 점차 자동화 돼가는 차량에 이르기까지, 소프트웨어 코드는 교통 수단의 기본으로 자리잡고 있습니다.

이 소프트웨어가 더욱 복잡해지면서 인적 오류가 발생할 확률이 높아져 보안과 안전 위험 또한 커지고 있죠.

이 중요한 소프트웨어의 안전성을 보장하기 위해 엔비디아는 안전과 보안에 중요한 소프트웨어를 위한 개발·인증 도구 업체인 아다코어(AdaCore)와 협력하고 있습니다. 특정 펌웨어 요소에 프로그래밍 언어인 AdaSPARK를 구현해 인적 오류 발생 가능성을 낮출 수 있답니다.

두 언어 모두 안전성과 견고함, 보안을 염두에 두고 설계됐습니다. 프로그래밍에 이를 사용해 코드에 버그나 취약성이 없음을 인증하는 과정에 효율성을 더할 수 있죠.

컨설팅 업체 VDC 리서치(VDC Research) 연구에 따르면, 항공우주, 자동차와 같이 강력한 안전과 안정성, 보안 표준을 가진 업계의 경우, 이를 통해 소프트웨어 인증을 향상시켜 약 40%에 달하는 비용과 시간 절감 효과를 누릴 수 있다고 하네요.

결함 조기 탐지

Ada에는 소프트웨어 수명 주기 초기에 코드 결함을 감지하는 다양한 내장 기능이 갖춰져 있습니다. 이 기능은 인재 발생 가능성과 개발 후 테스트나 동료 검토를 따로 해야 하는 필요성을 덜어주죠.

Ada의 하위 집합인 SPARK는 이 언어로 쓰여진 코드에 오류가 없는지 수학적으로 검증할 수 있습니다. 이 검증으로 소프트웨어 애플리케이션 작동 방식을 정의할 수 있죠. 또한 그 정의에 맞게 구현되고 있는지 여부를 가려내거나 다른 방법으로는 감지하기 어려울 수 있는 버그나 취약성을 찾기도 한답니다.

이들 언어를 엔비디아에 통합하면 소프트웨어가 오작동하거나 악용될 가능성이 최소화 됩니다. 이러한 검증 프로세스가 개발 주기에서 한층 신속하게 이뤄져 시간 낭비를 줄일 수 있습니다.

소프트웨어 정의 안전

엔비디아의 플랫폼에 Ada SPARK 언어를 통합하는 등의 방법은 특히 차량 자율 주행화가 점차 본격화 되어가는 시점에서 차량 보안의 견고함을 개선시키는데 도움이 될 수 있답니다.

이 소프트웨어는 기반 하드웨어만큼 기능적으로 안전해야 하며, 동일한 수준의 엄격한 표준을 적용 받고 전문가 평가를 거쳐야 합니다. 검증을 수행하는 언어를 사용하면 이 프로세스가 바로 개발 단계로 넘어갈 수 있어 한층 원활한 검토 주기가 형성되죠.

엔비디아 소프트웨어 보안 부사장 다니엘 로러(Daniel Rohrer)자율주행 자동차는 복잡하며, 현재까지 나온 것 중 가장 엄격한 보안 표준을 능가하는 정교한 소프트웨어를 필요로 합니다. Ada SPARK는 이 생태계의 중요한 요구사항을 해결할 수 있는 흥미로운 가능성을 제시합니다라고 말했습니다.