취약점이 사슬처럼 얽힌 오픈소스 라이브러리, 앱의 70%가 취약

2020-05-20 10:54
  • 카카오톡
  • 네이버 블로그
  • url
8만 개 넘는 애플리케이션 분석했더니...오픈소스 때문에 70%가 취약한 상태
XSS 취약점 가장 많아...패치가 있는데도 적용하지 않아서 큰 사고로 이어져


[보안뉴스 문가용 기자] 오픈소스가 ‘안전한 개발’을 꾸준히 위협하고 있다. 특히 오픈소스 라이브러리의 관리가 커다란 골칫거리라고 한다. 현재 약 70%의 애플리케이션들에서 취약점을 최소 1개 이상 가지고 있는 오픈소스 라이브러리가 발견되고 있으며, 이는 애플리케이션 생태계 전체에 암세포처럼 자리하고 있다. 보안 업체 베라코드(Veracode)가 8만 1천여 개의 애플리케이션을 분석해서 얻어낸 결과다.


[이미지 = iclickart]

오픈소스 라이브러리에서 나타나는 취약점들은 언어와 프레임워크에 따라 다양하게 갈린다. 따라서 개발자들은 사용하고자 하는 라이브러리의 언어나 프레임워크의 특성을 신중하게 고려해야 한다고 베라코드는 설명했다. “예를 들어 PHP 애플리케이션이라면, 임포트 된 오픈소스 요소들을 어느 정도 가지고 있습니다. 앱 하나 당 평균 34개이고 취약한 것들이 많이 발견됩니다. 자바스크립트는 어떨까요? 비교적 취약한 라이브러리가 적은 편입니다만 자바스크립트로 만든 애플리케이션에는 임포트 된 라이브러리가 평균 377개나 발견됩니다. 당연히 취약점이 많을 수밖에 없지요.”

그러므로 개발자들은 프로젝트가 다 끝난 후의 패치에만 신경 쓸 것이 아니라, 개발 과정 중 자신이 활용하고 있는 프레임워크에도 관심을 가져야 한다는 게 베라코드의 수석 연구 책임자인 크리스 엥(Chris Eng)의 설명이다. “오픈소스 소프트웨어에는 우리가 생각하는 것보다 훨씬 많은 취약점이 포함되어 있습니다. 따라서 공격이 들어올 수 있는 경로가 개발자들이 예상하는 것보다 다양하고 많죠. 게다가 오픈소스 라이브러리는 또 다른 오픈소스 라이브러리를 차용하는 식으로 디펜던시가 형성되어 있기 때문에 취약점과 공격 경로를 다 예상하는 게 힘듭니다. 그러나 그러한 위험성이 오픈소스 사용 시 발생한다는 걸 인지는 해야겠죠.”

베라코드가 이번 보고서를 통해 하나 더 강조한 건 “애플리케이션 보안을 위협하는 1순위는 여전히 ‘패치를 하지 않는다’는 것”이라는 점이다. 이미 널리 공개된 취약점이라면 픽스가 존재하는 것들이 대부분(90%)이라고 한다. 이걸 적용하기만 하면 공격 경로가 상당히 줄어들 수 있는데, 여러 가지 이유로 패치를 하지 않는 게 현재 가장 큰 문제라고 엥은 설명한다. “공격자들이 제일 좋아하는 게 오래된 취약점입니다. 검증된 공격법이 있으니 안정적이기 때문이죠. 새로운 취약점을 발굴하는 것보다 투자 비용이 덜 들고요.”

베라코드는 “오픈소스를 사용하지 말라는 것이 아니”라고 강조했다. “오픈소스를 사용한다는 것이 개발사에게 얼마나 큰 유익이 되는지 잘 알고 있습니다. 하지만 세상에 완전 공짜는 없습니다. 무료로 성능 좋은 라이브러리를 가져다 쓴다? 그러고도 아무런 문제가 없길 바란다? 이런 생각이 잘못된 것입니다. 현재 오픈소스 생태계는 취약점으로 가득하다고 해도 과언이 아니며, 따라서 이를 잘 알고 활용해야 할 것입니다.”

그러면서 베라코드는 “시큐어 코딩은 자신이 사용하는 오픈소스 라이브러리의 보안 특성을 파악하는 것에서부터 시작한다”고 말했다. “자바스크립트, PHP, 루비로 만들어진 애플리케이션의 80% 이상이 2/3 이상의 라이브러리를 임포트 해 옵니다. 그리고 이 라이브러리는 또 다른 라이브러리에서 코드를 호출하고요. 반면 마이크로소프트의 닷넷(.NET)이나 애플의 스위프트(Swift)로 만들어진 애플리케이션들이라면 이런 식으로 맞물린 라이브러리를 활용하는 사례가 10%도 되지 않습니다. 그 중간 즈음에 고(Go), 자바, 파이선이 있습니다.”

각 언어별 특성 역시 시큐어 코딩에 있어서 고려되어야 할 요소다. “예를 들어 PHP 애플리케이션은 서로 종속되어 있는 라이브러리의 특성 때문에 취약점이 비교적 많은 편입니다. 게다가 이 취약점들이란 게 라이브러리끼리 맞물려서 생기는 것이기 때문에 개발자의 눈에 좀처럼 보이지도 않습니다. 심지어 PHP 라이브러리의 27%가 익스플로잇 가능한 오류를 가지고 있기도 하지요. 이런 점을 인지하고 PHP를 사용해야 안전합니다.”

자바스크립트라고 안전한 건 아니다. “자바스크립트 애플리케이션들에서 나타나는 특성은, 다수의 소규모 라이브러리를 임포트 한다는 겁니다. 네 줄 정도로 구성된 아주 작은 라이브러리들이 다량으로 사용됩니다. 그런데 라이브러리 하나하나를 살펴보면 취약한 게 상대적으로 적어요. 즉, 이렇게 정리할 수 있죠. 자바스크립트 애플리케이션은 비교적 안전한 라이브러리를 활용하는 편이나, 라이브러리 수 자체가 워낙 많기 때문에 취약점이 있을 가능성이 높다, 라고요.”

그렇다면 이런 오픈소스 라이브러리들에서 가장 많이 나타나는 취약점은 무엇일까? 베라코드가 조사한 바에 의하면 XSS 취약점이 29% 정도 비율로 발견된다고 한다. 불안전 비직열화(insecure deserialization) 취약점과 불완전 접근 제어(broken access control) 취약점 역시 높은 비율로 나타났다. 다만 XSS 취약점들 중 실제 익스플로잇이 가능하다고 알려진 건 8%에 그쳤고, 불안전 비직열화와 불완전 접근 제어 취약점들의 경우 이 비율이 30%에 달한다고 한다.

희망적인 소식이라면, 이런 오류들의 90%가 간단한 픽스로 해결이 가능하다는 것이다. “오픈소스 소프트웨어는 많은 장점을 가지고 있습니다. 그렇기 때문에 점점 더 커질 생태계일 수밖에 없습니다. 이걸 불안하다고 사용하지 말라고 한다면, 시장에서 뒤쳐질 겁니다. 안전하게 활용하는 게 최선의 방법입니다. 그러기 위해서는 먼저 오픈소스 속에 많은 취약점이 사슬처럼 얽혀 있다는 걸 알고, 개발이 진행되는 와중에 이를 탐지하고 해결할 방법론을 구축해야 합니다. 대부분 픽스가 나와 있으니, 그걸 부지런히 찾아 적용하는 것도 좋은 습관입니다.”

3줄 요약
1. 오픈소스 라이브러리에 취약점이 얼마나 많은지 애플리케이션의 70%가 취약한 상태.
2. 각 프로그래밍 언어나 프레임워크의 특성에 따라 취약점의 특성도 달라짐.
3. 90%의 경우 간단한 픽스 적용으로 문제 해결 가능. 픽스만 잘 해도 시큐어 코딩.

Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]

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

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


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

    • 라온피플

    • 인콘

    • 엔텍디바이스

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨프로

    • 웹게이트

    • 지오멕스소프트

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 유니뷰코리아

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • TNTKOREA

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 한국씨텍

    • 비전정보통신

    • 와이즈콘

    • 경인씨엔에스

    • 트루엔

    • 성현시스템

    • 위트콘

    • 케비스전자

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

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

    • 한결피아이에프

    • 세연테크

    • 구네보코리아주식회사

    • 포엠아이텍

    • 넥스트림

    • 씨게이트

    • 안랩

    • 파고네트웍스

    • 앤앤에스피

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

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 인빅

    • 아이엔아이

    • 미래시그널

    • 엣지디엑스

    • 새눈

    • 인더스비젼

    • 일산정밀

    • 주식회사 에스카

    • 솔디아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 네티마시스템

    • 에이앤티글로벌

    • 알씨

    • 에이앤티코리아

    • 레이어스

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

    • 이엘피케이뉴

    • 미래시그널

    • 엘림광통신

    • 엔시드

    • 엔에스티정보통신

    • 제네텍

    • 넥스텝

    • 혜성테크원

    • 포커스에이아이

    • 티에스아이솔루션

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

IP NEWS

회원가입

Passwordless 설정

PC버전

닫기