메모리 안전 장치가 내포된 프로그래밍 언어에 대한 관심 높아진다

2022-12-07 14:27
  • 카카오톡
  • 네이버 블로그
  • url
드디어 C와 C++의 시대가 저무는 걸까. ‘보안’을 이유로 구글에서는 오랜 시간 프로그래밍 업계에 군림했던 이 두 언어를 러스트나 C#, 자바스크립트와 같은 신진 세력들로 교체하기 시작했다. 왜? 메모리 안전 문제 때문이다. 취약점을 유형별로 나눠 통째로 없애가겠다는 게 구글의 계획이다.

[보안뉴스 문가용 기자] 소프트웨어 산업이 각종 취약점 공격에 대한 방어력을 강화하기 시작했다. 특히 ‘메모리 안전’ 문제와 관련이 있는 유형의 취약점들인 버퍼 오버플로우와 UaF 등에 대한 대처 방법이 하나 둘 늘어나고 있다고 한다. 가장 인기 높은 방법 중 하나는 메모리 안전 언어(memory-safe languages)인 자바, C#, 러스트(Rust) 등을 적극 활용하는 것이다. 언어만 살짝 바꿨을 뿐인데 메모리 안전 취약점들이 크게 감소했다고 한다.


[이미지 = utoimage]

지난 주 구글도 최근 들어 안드로이드 OS에 새로운 코드를 추가할 때 “대부분 메모리 안전 언어로 작성된 코드를 활용했다”고 밝혔다. 그 결과 지난 3년 동안 메모리 안전 관련 취약점이 223개에서 85개로 줄었다고 한다. 구글의 소프트웨어 엔지니어인 제프리 반더 스토에프(Jeffrey Vander Stoep)는 “취약점을 유형별로 나누고, 가장 위험한 유형부터 통째로 없애는 방안을 마련 중에 있다”고 설명한다. “프로그래밍 언어를 바꿈으로써 메모리 안전 취약점들이 눈에 띄게 줄어들었고, 이제 다음 유형의 취약점들을 공략하게 될 것입니다.”

지난 수십 년 동안 C와 C++는 소프트웨어 개발에 있어 ‘디폴트 언어’나 다름이 없었다. 여러 가지 장점을 가지고 있었기 때문이다. 하지만 약점도 있었으니, 바로 C#, 고, 자바, 파이선, 루비, 러스트, 스위프트와 같은 현대 언어들에 비해 메모리 보호 기능이 부족하다는 것이었다. 그럼에도 C와 C++는 꾸준히 사용됐고 그 결과 애플리케이션의 59%에서 메모리 관련 취약점들이 발견됐다. 자바스크립트로 만들어진 애플리케이션에서 메모리 관련 취약점은 9%, 파이선에서는 10%만 나올 뿐이었다.

버퍼 오버플로우와 워머블 취약점
C와 C++를 사용하는 것만으로도 메모리 안전 문제가 내포된 애플리케이션이 높은 확률로 탄생한다는 것인데, 이처럼 오류와 취약점이 있는 소프트웨어를 만들어 출시하는 게 너무나 간단한 일이라는 것은 모든 소프트웨어 회사들의 골칫거리였다. MS와 같이 큰 회사의 경우도 2018년까지 70%의 확률로 메모리 안전 문제가 포함된 소프트웨어를 출시하곤 했었다. 소프트웨어 엔지니어 알렉스 게이노(Alex Gaynor)는 “2020년 기준 여러 생태계에 걸쳐 메모리 안전 취약점이 60~70%에 달했다”고 설명하기도 한다.

베라코드(Veracode)의 CTO인 크리스 와이소팔(Chris Wysopal)은 “메모리 안전 취약점은 익스플로잇도 쉬운 편”이라고 지적한다. “이 때문에 여러 중대한 사건의 뿌리에 이런 류의 메모리 안전 취약점들이 존재하는 걸 자주 발견할 수 있습니다. 메모리 안전 오류는 최소 고위험군에 속하는 문제로, 공격자들이 임의의 코드를 실행함으로써 애플리케이션이나 장비를 완전히 장악하게 합니다. 심지어 워머블(자동 증식이 가능한 특성) 익스플로잇을 허용하기도 합니다.”

보다 안전한 언어로 갈아타기
이런 상황에서 덜 안전한 언어를 고집한다는 건 그냥 아집일 뿐이다. 구글이 자사 개발자들에게 메모리 안전 언어로 전환하라고 촉구한 것은 너무나 당연한 일이다. 현재 구글에서 만들어지는 모든 새로운 코드 중 C와 C++로 만들어지는 건 반도 되지 않는다고 한다. 안드로이드 최신 버전인 13은 거의 대부분이 메모리 안전 코드로 작성됐다. C와 C++가 있던 자리에 러스트가 들어섰다고 구글은 설명한다. 현재 미국의 NSA조차도 메모리 안전 프로그래밍 언어의 사용을 권하고 있다.

이처럼 메모리 안전 언어로의 이동이 가시적으로 눈에 띄고 있다는 건 취약점을 줄인다는 면에서는 좋은 소식이다. 하지만 메모리 안전 언어만으로 모든 문제가 해결되는 건 아니다. 왜냐하면 모든 프로그램들마다 약점이 있고, 메모리 보호 기능의 수준도 제각각이기 때문이다. 그래서 NSA는 다양한 애플리케이션 보안 도구들을 같이 활용해 가며 개발하라고 권하고 있기도 하다.

“보안이 강화된 언어를 찾아 프로그래밍을 한다는 건 너무나 좋은 방향임이 확실합니다. 하지만 언어 자체가 소프트웨어 보안 도구는 아니지요. 우리는 보안을 위해 뭔가 변화를 꾀하고, 그 변화에 적잖은 노력이 들어갈 때 보안이 꽤나 튼튼해진다고 생각하려는 경향이 있습니다. 내가 힘들었으니 보안이 잘 되었겠지, 라고 여기는 겁니다. 사실 비논리적이죠. 내가 힘든 것과 보안이 튼튼한 건 아무런 상관이 없어요. 언어를 바꿔서 보안을 강화했다면, 그 다음의 절차를 밟아 여전히 빈 곳을 보충해야 합니다. 그래서 언어를 바꾼 데 이어 보안 도구들을 활용하라고 NSA가 권하는 것이죠.” 와이소팔의 설명이다.

3줄 요약
1. 코드하면 떠오르던 C와 C++은 메모리 보호 기능이 취약함.
2. 그래서 이 언어들로 앱 만들면 메모리와 관련된 취약점들이 자주 생김.
3. 이 때문에 최근에 메모리 안전 프로그래밍 언어들로 많이 바꿔가는 편.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 이노뎁

    • 인콘

    • 엔텍디바이스

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨게이트코리아

    • 웹게이트

    • 판빌코리아

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • 지인테크

    • 에스엠시스템즈

    • 이화트론

    • 다누시스

    • 테크스피어

    • 휴먼인텍

    • 슈프리마

    • 제이더블유씨네트웍스

    • 시큐인포

    • 미래정보기술(주)

    • 엔토스정보통신

    • 홍석

    • 티비티

    • 경인씨엔에스

    • 씨엠아이텍

    • 성현시스템

    • 렉스젠

    • HS효성인포메이션시스템

    • 다후아테크놀로지코리아

    • 와이즈콘

    • 주원

    • 한국씨텍

    • 유니뷰코리아

    • 케비스전자

    • 진명아이앤씨

    • 스마트시티코리아

    • 트루엔

    • 지엠케이정보통신

    • 한국표준보안

    • 넥스트림

    • 세연테크

    • 포엠아이텍

    • 시놀로지

    • 빔소프트웨어

    • 펜타시큐리티

    • 한국퀀텀컴퓨팅

    • 드림시큐리티

    • ICTK

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 이지에이아이

    • 아이엔아이

    • 미래시그널

    • 새눈

    • 누리콘

    • 인더스비젼

    • 혜성테크원

    • 주식회사 에스카

    • 솔디아

    • 윈투스시스템

    • 네티마시스템

    • 일산정밀

    • 더플러스

    • 미래시그널

    • 크렌베리

    • 아이에스앤로드테크

    • 제네텍

    • 스마컴

    • 티에스아이솔루션

    • 창성에이스산업

    • 메트로게이트
      시큐리티 게이트

    • 엘림광통신

    • 에이앤티코리아

    • 엔에스티정보통신

    • 엔시드

    • 동곡기정

    • 가우테크닉스

    • 현대틸스
      팬틸트 / 카메라

    • 구네보코리아

    • 레이어스

    • 태양테크

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

회원가입

Passwordless 설정

PC버전

닫기