Home > 열린마당 > 공개SW 소식

공개SW 소식

2021.04.08.

ⓒZDNet Korea/남혁우

 

안드로이드 운영체제(OS) 기반 언어로 러스트가 추가된다. 주요 보안 취약점인 메모리 버그를 줄이기 위함이다.

미국 지디넷에 따르면 구글은 안드로이드 오픈소스 프로젝트(AOSP)의 안드로이드 OS 빌드 개발 언어로 위해 러스트를 추가했다.

일반적으로 안드로이드 앱은 자바, 코틀린 등 관리언어로 작성한다. 자바가상머신(JVM) 기반으로 이뤄져 플랫폼 제한 없이 개발할 수 있으며, 상대적으로 보안에 강하다는 장점이 있다.

반면 안드로이드OS는 C, C++ 등 시스템 프로그래밍 언어 기반으로 구축돼 있다. 하드웨어를 직접 제어하고, 빠른 처리속도를 확보하기 위함이다.

하지만 C, C++은 구조적으로 해결되지 않는 메모리 버그로 인해 보안을 강화한 언어로 점차 대체되고 있다.

메모리 버그는 보안 취약점의 가장 큰 원인이다. 구글에 따르면 안드로이드의 심각성 높은 보안 취약점의 70%가 메모리 버그로 인해 발생하고 있다.

러스트는 2006년 개발 초기부터 C, C++ 등의 기계어에서 발생하는 보안 결함인 메모리 버그를 해소하려는 목적으로 만들어졌다. 또한 C언어처럼 하드웨어와 메모리에 직접 접속할 수 있으며, 비슷한 수준의 처리속도를 제공한다.

또한 멀티코어 하드웨어 환경의 동시성, 병렬성을 지원하고 메모리 안정성을 보장하는 정적 타입 시스템을 제공하는 등 최신 개발환경에 적합한 기능도 갖추고 있다.

구글 안드로이드 팀의 제프리 벤더 스톱 소프트웨어 엔지니어는 “메모리 버그를 개선하기 위해 지속적인 노력을 기울이고 있으며, 이와 우리는 근본적으로 이를 방지하기 위해 러스트를 도입하기로 했다”며 “러스트는 객체 수명, 소유권 및 런타임 검사를 시행하는 컴파일 시간 검사의 조합을 사용해 메모리 안전을 보장함과 동시에 C, C++과 동등한 성능을 제공한다”고 설명했다.

구글은 기존 C, C++로 작성한 코드는 우선 유지한다는 방침이다. 워낙 규모가 커서 모두 수정하기 어려울 뿐 아니라 문제가 발생할 확률이 적기 때문이다.

(후략)

 

[원문 기사 : https://zdnet.co.kr/view/?no=20210407175100 ]

 

※ 본 내용은 (주)메가뉴스 (https://zdnet.co.kr/)의 저작권 동의에 의해 공유되고 있습니다.
© 2020 ZDNET, A RED VENTURES COMPANY. ALL RIGHTS RESERVED. 무단전재 및 재배포 금지.

 

맨 위로
맨 위로