최근 구글은 블로그 포스트를 통해 자사의 소프트웨어가 결함과 취약점에 덜 취약하도록 만드는 방법을 설명함. 이 접근법은 두 가지 주요 기둥을 포함함: 인기 있지만 안전하지 않은 프로그래밍 언어를 강화하고, 점진적으로 메모리 안전 언어로 전환하는 것임.
이번 주 초, Security Foundations의 Alex Rebert와 Core Developers인 Chandler Carruth, Jen Engel, Andy Qin은 메모리 안전하지 않은 코드베이스에서 약 70%의 심각한 취약점이 메모리 안전성 버그 때문이라는 기사를 작성함.
이러한 취약점은 악의적인 행위자에 의해 발견되고 악용될 수 있으며, 실제로 해를 끼칠 수 있음. 지난해, 악용된 취약점의 수는 거의 사상 최고치에 도달했으며, 이 중 75%의 CVE가 제로데이 악용에 사용된 메모리 안전성 취약점이었음.
C와 C++
이 문제를 이해하는 것은 이를 해결하는 것을 의미하며, 구글은 현재 이 두 가지 접근 방식을 취하고 있음.
"우리의 장기 목표는 구글의 코드베이스에 메모리 안전 언어를 점진적이고 일관되게 통합하고, 새로운 개발에서 메모리 안전하지 않은 코드를 단계적으로 제거하는 것임. 우리가 사용하는 C++ 코드의 양을 고려할 때, 당분간 성숙하고 안정적인 메모리 안전하지 않은 코드가 남아 있을 것으로 예상함."
기본적으로 구글은 C와 C++를 완전히 대체하는 것은 불가능하다고 말하고 있으며, 이들 언어가 메모리 안전하지 않다는 일반적인 합의가 있음에도 불구하고, 이 마이그레이션이 완료되기 전까지 위험 감소 및 격리를 위한 작업을 진행할 것임. 여기에는 C++ 강화(메모리 안전하지 않은 코드에서 안전성을 대규모로 재구성), 보안 경계(격리 기술의 확대 사용을 통한 중요한 소프트웨어 인프라 구성 요소 강화), 버그 탐지(버그 탐지 도구 및 혁신적 연구에 대한 추가 투자)가 포함됨.
마지막으로 구글은 메모리 안전성을 개선하기 위해 반도체 및 연구 커뮤니티와 "적극적으로 협력하고 있다"고 말함.
"우리는 메모리 안전성을 대규모로 달성할 기회를 포용하는 것이 중요하다고 믿으며, 이는 더 넓은 디지털 생태계의 안전성에 긍정적인 영향을 미칠 것임," 구글은 결론지음. "이 길은 안전성과 속도를 높이기 위한 지속적인 투자와 혁신이 필요하며, 우리는 이 길을 함께 걸어가겠다는 약속을 더 넓은 커뮤니티에 남김."