기대할 사항: 소프트웨어 개발자 Graydon Hoare가 2006년 Mozilla Research에서 일하면서 만든 Rust는 계속해서 인기를 얻고 있으며 거대 기술 기업 사이에서 새로운 지지자를 확보하고 있습니다. Google조차도 현재 Chrome 브라우저에 새로운 언어를 통합하는 방법을 찾고 있습니다.
Rust는 새롭고 더 안전하며 더 나은 성능의 웹 브라우저를 구축하기 위한 방법으로 Mozilla의 후원과 지원을 받았습니다. 이제 Google은 곧 자체 Chromium 프로젝트에 이 언어를 사용하기 시작할 것입니다. 이는 Mountain View가 유비쿼터스 Chrome 브라우저를 위한 보다 안전한 미래를 준비하고 있음을 의미합니다.
Chrome 보안 팀 구성원인 Dana Jansens는 Google의 보안 블로그를 통해 새로운 개발을 발표했습니다. 앞으로 Chromium 프로젝트는 Rust로 작성된 라이브러리를 지원할 것입니다. 개발자들은 이미 Chrome 빌드 시스템에 추가하기 위해 생산 Rust 툴체인에서 작업하고 있으며, “내년 안에” Chrome 바이너리 파일에 실제 Rust 코드를 가져와야 합니다.
Rust는 전통적인 컴퓨터 소프트웨어에서 저자원 및 임베디드 기기에 이르기까지 여러 유형의 컴파일된 응용 프로그램에 기본 성능을 제공하는 현대적인 범용 프로그래밍 언어입니다. 또한 Rust는 처음부터 메모리 안전을 제공하도록 설계되어 컴파일 시간에 많은 종류의 버그와 잠재적 취약성을 제거합니다.
구글은 크롬과 파이어폭스가 두 개의 경쟁 브라우저이고 모질라 재단이 구글의 돈 없이는 존재하지 않을 것이라는 사실에도 불구하고 “시스템 소프트웨어 산업에 대한 엄청난 공헌”에 대해 모질라에게 감사를 표합니다. Jansens는 “Rust는 언어가 안전을 제공하는 동시에 성능도 제공할 수 있어야 한다는 놀라운 증거였습니다.”라고 썼습니다.
Rust와 C++는 서로 다른 디자인에서 태어난 두 가지 프로그래밍 언어이므로 Chromium의 Rust 통합은 당분간 타사 라이브러리를 통해서만 제공됩니다. 두 언어 간의 상호 운용성도 문제가 될 수 있으므로 Google 개발자는 두 코드 유형이 서로 통신하도록 할 때 각별히 주의해야 합니다.
이것과 Chromium 레이아웃 엔진과 같은 하나의 거대한 프로젝트에 두 가지 다른 프로그래밍 언어를 사용하는 부담에도 불구하고 Rust는 Chrome을 더 안전하게 만드는 데 큰 도움이 될 수 있습니다. Rust 프로그래밍이 제거하도록 설계된 문제인 메모리 안전 결함은 Chromium에서 발견된 최악의 보안 버그의 70%를 나타냅니다.
Jansens는 “메모리 불안전성은 업계 전반의 문제”라며 “Rust를 활용하는 것은 이 분야에서 바늘을 움직이기 위한 전략의 일부입니다.”라고 말했습니다.
물론 Google은 C++ 코드의 보안을 개선하기 위해 노력하고 있습니다. 38년 된 언어가 여전히 Chrome 코드에서 수백만 줄을 작성하는 데 사용되기 때문입니다.
이미지 크레디트: Chris Ried