Rust가 리눅스를 구할 것이다: 그렉 크로아-하트먼, 실험 종료 확정

키 포인트:
  • 그렉 크로아-하트만은 Rust Week 2026에서 리눅스 커널에서 Rust를 사용하는 것이 더 이상 실험적인 단계가 아니며 공식 표준이 되어가고 있다고 발표했습니다.
  • 리눅스 팀은 매일 약 13건의 취약점 보고를 받는데, 대부분 C 언어 사용 시 발생하는 사람의 실수로 인한 것입니다.
  • Rust의 컴파일러는 메모리 오류와 충돌을 자동으로 감지하여 시스템 오류를 최대 80%까지 줄일 수 있습니다.
  • 하드웨어 데이터를 "신뢰할 수 없음"으로 표시하는 시스템이 구현되어 개발자는 사용하기 전에 해당 데이터를 검증해야 합니다.
  • 현재 C 코드(36만 줄)는 다시 작성하지 않을 것입니다. Rust는 새로운 컨트롤러 및 하위 시스템 개발에만 사용될 예정입니다.

러스트 위크 2026

최근 위트레흐트에서 열린 Rust Week 2026 컨퍼런스에서 리눅스 커널 유지보수를 담당하는 주요 인물 중 한 명인 그렉 크로아-하트만은 무대에 올라 매우 분명한 메시지를 전달했습니다. 바로 "Rust는 이 프로젝트에 필요한 구원자"라는 것입니다.

매일 무려 13건의 CVE (일반적인 취약점)가 공개 되면서 개발팀은 거의 감당할 수 없는 수준의 버그 문제에 직면하고 있습니다. 2005년부터 이러한 취약점을 다뤄온 크로아-하트만에 따르면 , 그 원인은 C 언어의 메모리 및 오류 처리 방식의 고질적인 결함에 있으며, 러스트는 이러한 문제를 획기적으로 완화해 줄 것으로 기대됩니다.

개발자들로 가득 찬 청중 앞에서 전달된 메시지는 직설적이고 명확했습니다 . 베테랑 프로그래머는 팀이 러스트 커뮤니티가 현대 컴퓨팅의 기반을 지켜줄 것이라는 데 전적으로 신뢰한다고 밝혔습니다. 러스트를 커널에 사용하는 것이 이제 현실이 되었으므로, 테스트 단계는 끝났으며 , 가장 중요한 구성 요소에 러스트를 통합하기 위해 전력을 다할 것이라고 말했습니다.

C 코드의 악몽과 Rust의 자동화된 해결책

개발자는 매일 직면하는 실제 문제를 설명하기 위해 15년 동안 발견되지 않았던 블루투스 코드의 결함을 예로 들었습니다. 이 결함은 단순히 메모리 포인터를 확인하지 않아 발생한 것이었습니다 . 또한 Xen 코드에서 누군가가 락을 해제하는 것을 잊어버린 버그도 언급했습니다 . 이러한 사소한 사람의 실수는 시간이 지남에 따라 누적되어 시스템 충돌을 일으키거나 사이버 공격의 취약점을 노출하게 됩니다. Rust의 큰 장점은 코드가 검토 단계에 도달하기 전에 컴파일 단계에서 이러한 오류를 잡아낸다는 것입니다. 프로그래머가 오류 검사를 잊거나 리소스를 해제하지 않으면 프로그램은 컴파일되지 않습니다.

이 자동 검증 덕분에 코드 검토자는 더 이상 사소한 세부 사항을 찾는 데 시간을 낭비하지 않고 프로그램의 실제 논리에 집중할 수 있습니다. 크로아-하트만은 이러한 기능만으로도 현재 커널 버그의 60%를 제거할 수 있을 것으로 추정합니다. 더욱이, 이러한 새로운 작업 방식은 이미 C 코드에 영향을 미쳐 프로그래머들이 인터페이스를 깔끔하게 정리하고 더 안전한 기법을 채택하도록 만들었으며, Rust의 존재 자체가 이미 Linux를 개선했음을 보여줍니다.

메모리 잠금 외에도, 이번 ​​발표에서는 마이크로소프트의 오래된 격언에 기반한 중요한 보안 철학 , 즉 시스템에 입력되는 모든 데이터는 악의적이라고 가정하라는 원칙을 다루었습니다 . 크로아-하트만은 러스트(Rust)의 타입 시스템 내에서 데이터를 "신뢰할 수 없음"으로 명시적으로 표시하는 방법을 개발 중이라고 설명했습니다.

이러한 방식으로 컴파일러는 프로그래머가 정보를 사용하거나 접근하기 전에 유효성을 검사하도록 강제합니다 . 이는 특히 오늘날 개발자들이 사용자 프로그램뿐만 아니라 공장 결함이 있거나 악의적으로 설계된 경우가 많은 하드웨어 자체도 불신하는 상황에서 더욱 중요합니다. 모든 유효성 검사를 한 곳에 집중시킴으로써 보안 검사가 훨씬 빠르고 정확해집니다.

처음부터 다시 쓰지 않고 진화하는 것

전문가는 열정적인 모습에도 불구하고 Rust가 마법이 아니라는 점을 분명히 했습니다 . 예를 들어, 시스템 충돌 시 QR 코드를 표시하도록 Rust로 작성된 작은 코드를 언급했는데, 데이터 버퍼 크기를 확인하지 않아 메모리 문제가 발생했다고 합니다. Rust 역시 주의해서 상식적으로 사용하지 않으면 문제가 생길 수 있습니다. 이러한 이유로 해당 조직에서는 이미 Linux에 있는 36만 줄의 C 코드를 다시 작성하는 것을 고려하는 사람이 아무도 없습니다. 규칙은 명확합니다. 기존 코드는 그대로 유지하고, 새로운 도구는 최신 드라이버를 개발하는 데에만 사용할 것입니다.

현재 커널은 Rust로 작성된 약 113.000줄의 코드로 구성되어 있으며 , 대부분 두 언어 간의 격차를 해소하기 위한 임시적인 수정 사항입니다. 하지만 안드로이드의 내부 통신 시스템 (Binder) 과 같은 대규모 프로젝트는 이미 전환 과정에 있으며 , 이는 곧 수십억 대의 스마트폰에서 매일 이 코드가 실행될 것임을 의미합니다.

이 프로젝트는 이러한 변화를 자연스러운 진화 과정으로 간주하며, 새로운 하드웨어가 최신 보안 기능을 갖춘 새로운 프로그램을 요구함에 따라 기존 C 드라이버는 시간이 지남에 따라 자연스럽게 사용되지 않게 될 것이라고 예측합니다.


Google에서 선호하는 검색 엔진으로 추가