프로그래밍 언어 총체적 평가, ‘메모리에 안전한 언어’ 특정
“C와 C++, 널리 사용되는 언어지만 안전하진 않아”
최근 인기 ‘러스트’, 안전하지만, 항공우주 분야는 미정

파이썬으로 코딩하고 있는 모습으로 본문과 직접 관련은 없음. (사진=한국텍트로닉스)
파이썬으로 코딩하고 있는 모습으로 본문과 직접 관련은 없음. (사진=한국텍트로닉스)

[애플경제 전윤미 기자]  미국 백악관이 파이썬, 자바, C# 사용을 적극 권장해 새삼 눈길을 끈다. 백악관은 5일 “사이버보안을 위해 가장 안전한 파이썬, 자바, C#과 같은 프로그래밍 언어로 취약점을 줄이고 소프트웨어 보안을 위한 표준화된 생성을 촉진한다”고 권했다. 파이썬, 자바, C# 등 ‘티오비 인덱스’에서 최상위에 있는 이들 언어가 사이버보안의 최첨단 방어막임을 백악관이 인정한 셈이다.

컴퓨팅 보안 위해 모든 언어 평가 발표

최근 이런 내용을 담은 보고서를 펴낸 백악관은 “사이버 공격의 근본 원인은 컴퓨팅 보안의 취약점”이라며 3개의 대표적인 언어를 권장했다. 이를 통해 특히 ‘메모리에 안전한 프로그래밍 언어’를 구현하고, 하드웨어 보안 측정을 위한 새로운 지표를 개발할 것을 요망했다.

6일 '테크리퍼블릭', 디지타임즈 등 외신을 종합하면 ‘기본 구성 요소로 돌아가기 : 안전하고 측정 가능한 소프트웨어를 향한 길’이라는 제목의 이 보고서는 설계 단계에서부터 하드웨어․소프트웨어 보안과 관련, 미국 정부가 우선 순위로 삼고 있는 대목을 IT 전문가 및 비즈니스 리더에게 전달하기 위한 것이다. 보고서는 또 ‘조언’과 ‘느슨한 지침’을 포함, 다양한 사이버보안 방법론을 제안하고 있다.

보고서는 또 “알려진 모든 취약점이 수정되더라도, 소프트웨어 생태계 전반에 걸쳐 발견되지 않은 취약점이 만연해 추가적인 위험을 초래할 것”이라고 경고하면서 “전체 취약성 클래스를 제거하는 데 초점을 맞춘 ‘사전 예방적 접근 방식’이 중요하다”고 강조했다.

즉, “잠재적인 취약점을 줄이고 더 안정적인 코드를 생성하고, 가동 중지 시간을 줄이는 등 예측 가능한 시스템을 제공한다”고 덧붙였다.

보고서는 또 지난 35년 간 ‘메모리 안전 취약점’이 늘 있어왔음에도 아직까지 뚜렷한 해결책이 나오지 않았다고 지적했다. 또 “모든 사이버 보안 문제에 대한 ‘만병통치약’은 없지만 메모리 안전 기능이 내장된 프로그래밍 언어를 사용하면 가능한 사이버 공격 유형을 크게 줄일 수 있다”고 강조했다.

“안전한 언어로 신제품 제작, 기능 작성” 당부

백악관 ONCD(국가사이버국장실)는 그러나 C와 C++도 매우 널리 사용되는 프로그래밍 언어이지만 “메모리에 안전하지는 않다”고 비교해 관심을 끌었다. 특히 최근 널리 배포되고 있는 ‘러스트’(Rust)에 대해선 “메모리에 안전한 프로그래밍 언어이지만 정부가 특별한 보안을 원하는 종류의 항공우주 시스템에서는 입증되지 않았다.”고 전제했다.

ONCD는 또 “소프트웨어 및 하드웨어 제작자는 메모리 안전 하드웨어 제작을 담당하는 가장 관련성이 높은 이해관계자”라며 “그런 만큼 메모리 안전 프로그래밍 언어로 새로운 제품을 만들거나, 중요한 기능이나 라이브러리를 다시 작성해야 할 것”이라고 주문했다.

앞서 지난 2023년 4월에도 미 NSA(국가안보국)이 보고서를 통해 가장 안전한 프로그래밍 언어를 평가, 공표한 적이 있다. 이에 따르면 역시 파이썬, 자바, C#가 가장 안전한 언어로 꼽혔다. 그 뒤를 이어 Go, Delphi/Object Pascal, Swift, Ruby, Rust, Ada는 일단 메모리에 안전한 프로그래밍 언어로 평가되었다.

이번 백악관 보고서는 한 발 나아가서 “소프트웨어의 사이버 보안 품질을 측정하는 ‘경험적 지표’를 개발하는 것이 중요하다”고 제안했다. 그러나 현실적으로 이는 메모리 안전 프로그래밍 언어만을 사용하는 것보다 더 어려운 과제라는 지적이다. 그래서 소프트웨어 보안을 측정, 평가하기 위한 중요한 지표나 도구를 만드는 것은 지난 수십 년 동안 미완의 과제로 남아있다.

업계 “공감하지만, 안전한 언어만 사용은 제약많아”

이에 대해 업계는 대체로 공감하면서도 현실적인 제약이 많다는 입장이다. 가트너 부사장인 폴 퍼타도는 “기업들이 ONCD 보고서에서 제안한 것과 같은 방법으로 공격 표면을 줄이기 위해선 갈 길이 멀다”고 지적했다.

그는 “내부적으로 개발된 애플리케이션 내에서도 기본 코드 라이브러리에 의존하다보니, 모든 환경과 애플리케이션에는 일정 수준의 기술적 보안 위험이 도사리고 있다”면서 “그런 기술적 보안 위험이 전체 기술 체인에 걸쳐 해결될 때까지는 설사 공격 표면을 줄이기 시작하더라도 근본적인 위험은 여전히 남아있을 수 밖에 없다”고 했다.

그러면서 “기업이나 조직이 여전히 악용되기 쉬운 잔여 기술적 보안 위험 요소를 모두 해결하는 데눈 앞으로도 수 년이 걸릴 것”이라고 덧붙였다.

저작권자 © 애플경제 무단전재 및 재배포 금지