안전성 논란 C++, 메모리 버그 해결 방안 제시

C++얼라이언스, 메모리 버그 해결 위한 안전한 'C++ 확장' 기능 제안

컴퓨팅입력 :2024/09/19 10:47

메모리 버그로 인한 안정성 문제로 대체가 요구되는 C++측에서 반격에 나섰다.

9일 더레지스터 등 외신에 따르면 개발 커뮤니티 C++얼라이언스는 C++의 메모리 안전성을 보장하는 '안전한 C++ 확장(Safe C++ Extensions)'기능을 제안했다.

안전한 C++은 메모리, 타입, 스레드 관련 버그를 쉽게 발견하고 해결할 수 있도록 안전성을 강화하는 것을 목표로 한다.

C++

이를 위해 메모리 버그 위험이 없는 안전한 코드를 라이브러리로 지원하며, 러스트의 안전성 모델을 참조해 보안 취약성을 사전에 판별하고 런타임 검사, 안전한 메모리 관리 등의 기능을 추가로 제공한다.

이 제안은 C++ 언어의 안전성을 강화하기 위한 다양한 기능을 실험하고 통합하며 지속 개발 및 조정될 예정이다.

C++는 1985년 컴퓨터 과학자인 비야네 스트롭스트룹이 개발한 범용 프로그래밍 언어다. 시스템 및 애플리케이션 프로그래밍 개발에 최적화되어 전 세계에서 가장 많이 쓰이는 언어 중 하나로 꼽힌다.

하드웨어 구성 요소에 대한 강력한 제어를 지원해 금융 시장의 거래 시스템과 리스크 관리 시스템 등 엔터프라이즈용 시스템과 빠른 속도와 성능을 요구하는 인공지능(AI), 데이터베이스 관리 시스템 게임 등 다양한 분야에 활용되고 있다.

하지만, 메모리 관리와 관련한 보안 취약점이 문제점으로 지목되며 러스트 등 보다 안전한 시스템 언어로 대체하려는 움직임이 늘어나는 추세다.

연초 미국 백악관 국가사이버국(ONCD)은 메모리 안전 취약점이 없는 프로그래밍 언어를 사용해 사이버 공격 위험을 줄일 것을 촉구하는 보안 보고서를 발표했다.

미국 국가안보국(NSA)도 프로그래밍 언어를 C 및 C++에서 러스트, 고(GO), C# 등으로 전환을 권장하는 지침을 제시한 바 있다.

관련기사

비니 팔코 C++ 얼라이언스 사장 겸 전무이사는 "소프트웨어 보안과 안정성의 중요성이 커짐에 따라 개발자는 더 안전한 코딩 관행을 채택하라는 압력에 직면해 있다"며 "안전한 C++는 일반적인 메모리 관련 오류를 방지하는 새로운 기능을 도입해 이 중요한 필요성을 해결하는 것을 목표로 한다"고 말했다.

이어 "안전한 C++ 확장은 언어의 성능과 유연성을 유지하면서도 C++를 보다 안전하고 효율적으로 만드는 데 큰 진전을 이룬다"며 "라이브러리 추가는 개발자에게 필수 데이터 구조와 알고리즘의 강력하고 메모리 안전한 구현을 제공할 것"이라고 소개했다.