Kant's IT/Issue on IT&Security

C++ 메모리 안전성 논란과 방어 전략

Kant Jo 2025. 3. 23. 20:32

C++ creator calls for action to address 'serious attacks'

 

C++ creator calls for action to address 'serious attacks'

Bjarne Stroustrup wants standards body to respond to memory-safety push as Rust monsters lurk at the door

www.theregister.com

 

  • C++의 메모리 안전성 논란
    • C++ 창시자 Bjarne Stroustrup, C++ 커뮤니티에 언어 보호 요청
    • C/C++의 수동 메모리 관리 방식이 주요 보안 취약점으로 지적됨
    • Rust, Go, C#, Java 등 메모리 안전성을 갖춘 언어의 대안으로 급부상
  • 정부 및 산업계의 C/C++ 사용 제한 움직임
    • 미국 CISA(사이버 보안 및 인프라 보안국), 2026년까지 C/C++ 사용 제한 권고
    • Microsoft Azure CTO, "새 프로젝트에서 C/C++ 사용 중단" 발언
    • Google, "C/C++보다 메모리 안전성 중심의 개발 환경으로 전환" 선언
  • C++ 커뮤니티의 대응
    • C++ 프로파일(Profiles) 제안: 메모리 안전성을 높이는 코드 마킹 체계
    • TrapC, Safe C++, Mini-C 등 대안 개발
    • Stroustrup, 기존 C++ 코드의 안전성 강화를 주장하며 전면적인 Rust 전환 반대
  • 메모리 안전성 논쟁과 주요 쟁점
    • C++ 개량 vs Rust 전환: 기존 코드 개선이 현실적이라는 주장 vs Rust로의 전환 필요성
    • ISO C++ 표준화 일정: C++ Profiles 표준화 및 컴파일러 구현이 2026년 이전에는 어려울 전망
    • Rust의 안전성 논란: Rust도 'unsafe' 키워드 사용 시 메모리 안전성 보장되지 않음
    • 다중 언어 환경 문제: C++과 Rust 등 다양한 언어가 혼합될 경우 메모리 안전성 유지 어려움
  • 보안 및 산업계 대응 전략
    • 기존 C++ 코드 개선을 통한 점진적 전환
    • 메모리 안전 기능 강화 컴파일러(TrapC 등) 활용
    • Rust와 C++의 상호 운용성 개선
    • 정부 정책 변화 모니터링: 새로운 미국 행정부의 정책이 기존 방침을 변경할 가능성 고려
  • 결론
    • C++의 메모리 안전성 강화를 위한 표준화 가속화 필요
    • C++ 보안 코드 가이드라인 준수 및 최신 보안 기능 도입
    • Rust 전환이 어려운 환경에서는 TrapC와 같은 메모리 안전 C++ 솔루션 활용
    • 다중 언어 환경에서의 메모리 안전성 유지 방안 연구 필수