C++ 창시자, NSA의 메모리 안전언어 사용 권고 반발
프로그래밍 언어 C++의 창시자 비아네 스트로브스트룹이 미국 국가안보국(NSA)의 권고안에 반대하는 성명을 발표했다. C++ 역시 자바, 고 등 메모리 안전 언어 수준의 안정성을 제공할 수 있다는 주장이다. 최근 슬래시독 등 외신에 따르면 비야네 스트로브스트룹 콜롬비아 대학 교수는 "안전에 대해 진지하게 생각하고 현명한 조치를 취해야 한다"는 성명서를 오픈스탠다드 사이트에 올렸다. 비야네 스트로브스트룹 교수는 성명서를 통해 NSA에서 보안 강화를 위해 개발자에게 C 및 C++대신 C#, 고, 자바, 및 스위프트 등을 사용할 것을 권고하는 것은 공정하지 않다고 지적했다. 그는 "C와 C++의 안정성이 떨어진다는 평가는 30년 이상의 발전해 온 내용을 무시한 채 두 언어를 하나로 묶어 평가했기 때문"이라고 밝혔다. 더불어 국가안보국이 주요 소프트웨어 커뮤니티와 논의했다고 하지만 ISO C++ 표준 위원회의 전문가와는 상의하지 않았다며 권고안 발표 전 깊이 있는 기술적 논의가 있었는지에 대해 의문을 표시했다. 비아네 스트로브스트룹 교수는 "나는 수십 년 동안 더 우수하고 안전하며 효율적인 C++ 작성을 가능하게 하기 위해 노력해 왔다"며 "특히 C++ 핵심 지침에 대한 작업은 이러한 강력한 보장 없이 관리할 수 있는 코드 베이스를 중단하거나 추가 도구 체인을 도입하지 않고 필요한 사람들에게 정적으로 보장된 유형 안전 및 리소스 안전 C++를 제공하는 것을 목표로 했다”고 설명했다. 이어서 그는 좋은 정적 분석기는 새로운 언어로 변경하는 비용의 일부만으로 보안에 대한 보장을 완벽하게 제공하도록 만들어졌다고 주장했다. 또한 비야네 스트로브스트룹 교수는 NRA에서 권고한 메모리 안전언어가 포괄적인 보안의 개념에서 보면 오히려 취약점이 발생할 수 있다고 주장했다. 메모리 보안 외에도 수십 가지 다른 유형의 보안 또는 보안 취약점이 있지만 해당 언어 들은 이에 대한 보호 기능을 아직 제공하지 않는 경우가 많다는 설명이다. 마지막으로 그는 모든 산업 분야에서 보안이 최우선시 되는 것은 아니라며 무조건 안전을 위해 성능이나 다른 장점을 놓치거나, 과도한 전환으로 인한 비용투자 등은 적절하지 않다고 덧붙였다. 이러한 분야는 성능이나 다른 주요 요소는 유지한 채 보안을 위한 안전조치만 추가하는 것이 유리할 것이라고 말했다. 한편, C++ 국제 기술표준인 C++20을 개발한 워킹그룹21(WG21)은 메모리 버그를 해결하기 위한 개선 작업을 진행 중이다.