본문 바로가기
네트워크

백악관 'C'와 'C++' 사용 중단 촉구

by 꼬미야옹 2024. 2. 29.
반응형

안녕하세요.

오늘 인터넷 기사를 보다가 백악관에서 백악관 'C'와 'C++' 사용 중단 촉구 관련 기사를 보게 되었습니다.

어떤 내용인지 알아보고 기사의 중요 부분을 체크해 보겠습니다.

 

 

백악관 'C'와 'C++' 사용 중단 촉구
백악관 'C'와 'C++' 사용 중단 촉구

 


어떤 행정부에서 발표를 했을까?

'백악관 국가사이버 책임자실(ONCD)'

 

[기사내용]

소프트웨어 개발자들이 C와 C++와 같은 취약한 프로그래밍 언어의 사용을 중단하라고 조 바이든 미국 대통령의 행정부가 촉구했다. 대신 메모리 안전 프로그래밍 언어(memory-safe programming languages)를 사용하라는 권고다.

 

백악관 국가사이버책임자실(ONCD)은 26일 발표한 보고서에서 개발자들에게 메모리 안전 취약점이 없는 프로그래밍 언어를 사용하여 사이버 공격의 위험을 줄여야 한다고 주문했다. 백악관은 보도자료를 통해 기술 기업들이 메모리 안전 프로그래밍 언어를 채택함으로써 "모든 종류의 취약점이 디지털 생태계에 유입되는 것을 방지할 수 있다"라고 밝혔다.

 

백악관 국가사이버 책임자실(ONCD)

미국의 국가 사이버 보안 정책을 주도하는 기관입니다.

 

1. 설립년도

  •     2021년

2. 주요 임무

  •  ONCD는 다양한 사이버 보안 문제에 대한 정부의 대응을 조정하고 이를 통합하는 역할을 합니다. 이는 사이버 공격에 대한 대응, 사이버 위협에 대한 정보 공유, 사이버 보안 인프라 구축 및 운영 등을 포함합니다.또한 ONCD는 민간 부문과의 협력을 촉진하여 사이버 보안에 대한 협력을 강화하고 사이버 위협으로부터 국가를 보호하기 위해 노력합니다.

3. 책임자 임명은 누가 하는가?

   ONCD의 임명된 리더십은 미국 대통령에 의해 지명됩니다.


어느 기관에서 C, C++ 언어를 보안에 취악하다고 했을까?

'CISA, FBI, 미국 국가안보국 및 동맹국 기관'

 

[기사내용]

CISA, FBI, 미국 국가안보국 및 동맹국 기관들도 12월에 '메모리 안전 로드맵 사례' 보고서를 발표했다. 19쪽 분량의 이 새로운 보고서에서는 메모리 안전 취약점이 있는 프로그래밍 언어의 두 가지 예로 C와 C++를 제시했다. 안전하다고 판단되는 프로그래밍 언어의 예로는 러스트를 언급했다.

 

2022년 11월에 발표된 NSA 사이버 보안 정보 시트는 메모리 안전성을 고려한 프로그래밍 언어로 러스트와 함께 C#, 고, 자바, 루비, 스위프트를 명시한 바 있다.

 

안전 프로그래밍 언어

일반적으로 메모리 관리 오류를 방지하고 프로그램의 안전성을 높이는 데 중점을 둔 프로그래밍 언어를 가리킵니다. 이러한 언어들은 일반적으로 메모리 누수(memory leaks), 버퍼 오버플로우(buffer overflows), 포인터 오류(pointer errors) 등과 같은 일반적인 보안 취약점을 방지하도록 설계되었습니다.

 

안전 프로그래밍 언어의 예시로는 다음과 같은 것들이 있습니다:

 

1. Rust

  • 안전성, 병행성, 및 신뢰성을 강조하는 프로그래밍 언어로, 메모리 안전성을 보장합니다.
  • 컴파일러가 컴파일 시점에 메모리 안전을 검증하여 런타임 오버헤드를 최소화하고 안정성을 높입니다.

2. Swift

  •  Apple에서 개발한 Swift는 iOS 및 macOS 애플리케이션을 개발하기 위한 안전한 프로그래밍 언어입니다.
  •  메모리 관리에 대한 자동화된 참조 계산(reference counting)을 사용하여 메모리 관리 오류를 방지합니다.

3. Kotlin

  • JVM 언어이며 안드로이드 애플리케이션을 개발하기 위한 공식적인 언어로 사용됩니다.
  • 널 포인터 예외(null pointer exceptions)와 같은 일반적인 오류를 방지하기 위해 널 안전성(null safety)을 강 화한 언어입니다.

4. Ada

  • 고신뢰도 및 안전성이 필요한 시스템에서 사용되는 언어로, 메모리 안전성을 중요시합니다.
  • Ada는 컴파일러가 코드를 검증하여 메모리 관리 오류를 사전에 방지합니다.

5. Go

  • Google에서 개발한 컴파일 언어로, 간결하고 안전한 프로그래밍을 지향합니다.
  • 포인터 산술을 제공하지 않으며, 가비지 컬렉션을 통해 메모리 관리를 단순화하여 메모리 오류를 방지합니다.

6.Java

  • 널 포인터 예외와 같은 메모리 관리 오류를 방지하기 위한 안전한 프로그래밍 기능을 제공합니다.
  • 가상 머신의 가비지 컬렉션을 통해 메모리 누수를 방지하고, 널 안전성을 강화하여 안전한 프로그래밍을 도와줍니다.

 


C, C++ 사용하는 개발자는 얼마나 될까?

 

스태티스타 2023년 기준 전체 프로그래머의 약 22%는 C++를, 19%는 C를 사용하고 있었다. 자바스크립트, 파이썬, 자바 등에 비해 인기가 낮다. 하지만 티오베 프로그래밍 커뮤니티 지수에 따르면 파이썬이 가장 인기 있었고 그다음으로 C, C++, 자바가 뒤를 이었다.


전문가들의 의견 정리

댄 그로스먼 (워싱턴 대학교의 컴퓨터 과학 교수) 曰

"이제 변화할 시간 메모리 안전 허점을 악용하는 공격자들의 위협이 정교해졌기 때문에 변화가 필요하다."

 

ONCD 보고서가 유용하고 시의적절하다고 말했다. 그는 "C와 C++의 위험성은 수십 년 동안 널리 사용돼 왔지만, 이제는 실용적이고 성숙한 대안이 나왔다. 백악관이 메모리 안전을 추진하기에 좋은 시기"라고 말했다.

그러나 특히 임베디드 시스템에서 C와 C++에서 벗어나는 것은 하루아침에 이루어지지 않을 가능성이 크다는 평가다. 그는 "다행히 시스템 소프트웨어, 특히 러스트와 같은 다른 언어의 사용은 이미 크게 증가했다. 많은 사람들이 C와 C++ 활용이 그저 중단되기보다는 대안을 향한 진화가 가속화될 것으로 예상하고 있다"라고 전했다.

 조시 아스 (인터넷 보안 연구 그룹의 전무이사이자 공동 설립) 曰
"C와 C++에서 벗어나는 것은 길고 어려운 과정이지만 안전에 대한 문제를 새롭게 인식시키는데 도움"

 

"사람들이 생각하는 방식을 바꾸려면 지속적인 노력이 필요하다. 이번과 같은 커뮤니케이션은 사람들의 마음속에 안전에 대한 문제를 새롭게 인식시키는 데 도움이 된다"라고 평했다.

아스는 "궁극적으로 새로운 코드를 작성하고 배포해야 하지만 이를 위해서는 리소스가 필요하고 정부에서 민간 부문에 이르기까지 모든 수준의 리더들이 이를 우선순위로 삼아야 한다. 업계의 리더들이 이 문제를 인식해야 하며, 이 문제 해결을 최우선 과제로 삼으면 지원을 받을 수 있다는 사실을 알아야 한다"라고 말했다


관련기사 링크 공유 드립니다.

https://www.ciokorea.com/news/327256

 

백악관, 'C'와 'C++' 사용 중단 촉구··· 전문가들 "시의적절한 권고"

바이든 행정부가 버퍼 오버플로 및 기타 메모리 액세스 취약성을 유발하는 프로그래밍 언어에서 벗어날 것을 촉구했다. Image Cr

www.ciokorea.com

 

 

이상 해당 뉴스에 대해 정리하면서 궁금한 정보를 추가해 보았습니다.

 

C, C++ 언어 사용하시는 개발자분들 파이팅입니다. 아자아자!!!

반응형