MS, 러스트 대안 '프로젝트 베로나' 만드는 이유

C, C++로 해결할 수 없는 메모리 보안 강화 및 레거시 코드 보호

컴퓨팅입력 :2020/05/27 10:01

마이크로소프트(MS)가 러스트에서 영감을 받은 신규 프로그래밍 언어 개발에 매진하고 있다.

최근 미국 지디넷에 따르면 마이크로소프트는 신규 프로그래밍 언어 개발을 위한 프로젝트 베로나를 진행 중이다.

프로젝트 베로나는 메모리 관리, 구획화 및 보안 샌드박스를 통해 안전한 시스템을 구축하기 위한 프로젝트다.

프로젝트 베로나(이미지=마이크로소프트)

마이크로소프트가 메모리에 주목하는 이유는 소프트웨어에서 발생하는 보안 문제의 주원인이기 때문이다. 지난 12년간 마이크로소프트 제품에서 발견된 보안 문제의 70%는 메모리 안전성으로 인한 것이었다.

메모리 관련 취약점 문제는 C 및 C ++ 등의 기존 프로그래밍 언어의 구조적인 문제로 해당 언어만으로는 해결할 수 없다는 것이 마이크로소프트 측의 설명이다.

마이크로소프트 라이언 레빅 러스트 개발자는 “시간이 지남에 따라 모든 소프트웨어에 나타나는 버그는 점점 늘어나고 있다”며 “최상의 대안을 찾기 위해 새로운 언어를 찾는 것에 집중했다”라고 말했다.

메모리 해결을 위해 마이크로소프트가 주목한 언어가 바로 러스트다. 모질라 리서치에서 개발한 이 언어는 소유권과 라이프타임으로 안전하면서도 빠른 메모리 관리를 지원하는 것이 특징이다.

스택오버플로우에서 진행된 프로그래밍 언어 인기 투표에서 4년 연속 1위를 차지할 정도로 많은 인기를 얻고 있으며 최근 공개된 언어 중 가장 높은 잠재력을 가지고 있다고 평가받고 있다.

마이크로소프트는 지난해 여름부터 C언어나 C++ 대신 러스트로 윈도 구성요소를 작성하는 등 다양한 실험을 진행해 왔다.

하지만 러스트는 소유권과 라이프타임을 개발자가 직접 설정해야 하고, 문법이 까다로워 작성이 쉽지 않다. 많은 기능 탓에 배우기도 어렵다. 실제 러스트를 적용한 프로젝트가 적고 그만큼 사용자가 부족해 개발자를 확보, 육성하기 힘든 상황이다.

마이크로소프트가 러스트를 그대로 사용하지 않고 새로운 언어를 개발하려는 이유도 이러한 단점이 작용한 것으로 해석된다. 직접 개발하는 만큼 보다 개발자 친화적으로 구조를 만들고 기능 추가도 자유롭기 때문이다.

또한 C#이나 타입스크립트처럼 개발자를 마이크로소프트 진영으로 확보하기 위한 의도도 엿보인다.

프로젝트 베로나는 사용 목적도 러스트와 차이를 보인다. 러스트와 달리 메모리 소유권 모델이 객체가 아닌 영역 단위로 적용해 메모리 공간을 구획 별로 나누어 관리할 수 있다.

이를 활용하면 기존에 C 및 C# 등 안전하지 않은 언어로 제작된 레거시 코드를 샌드박스에 넣어 안전하게 관리하는 것이 가능하다.

마이크로소프트가 보유한 대규모 레거시 코드를 안전하게 관리하기 위해 해당 기능을 도입한 것으로 보인다.

관련 업계에서는 마이크로소프트에서 개발 중인 프로젝트 베로나에 기대감을 보이고 있다. 개발자 친화적인 제품을 계속 선보이고 있는 만큼 러스트에 비해 쉬우면서도 비주얼 스튜디오 등 마이크로소프트의 개발 도구를 활용해 폭넓게 활용할 수 있을 것으로 기대되기 때문이다.

관련기사

또한 기존에 MS가 개발한 C#이나 타입스크립트처럼 해당 언어를 사용하는 프로젝트도 함께 대거 공개될 것이란 기대도 늘고 있다.

업계 한 관계자는 “아직 개발 단계고 나와봐야 알겠지만 마이크로소프트에서 개발하고 있는 만큼 일단 기대는 하고 있다”라며 “보안과 속도를 강조한 만큼 네트워크 인프라나 클라우드 서비스쪽에 주로 활용되지 않을까 생각한다”라고 말했다.