오픈소스 보안 현황과 시사점
김혜영 BDSK 차장 / 「한국인터넷진흥원, KISA Report」 9월호
▶ 전 세계는 빠른 속도로 디지털화되고 데이터 중심으로 변해가면서 수많은 사회기반 시설 및 서비스들이 오픈소스에 의존하기 시작함
- 현재 4차 산업혁명을 촉발하는 IT 기술을 포함해 다양한 분야에서 널리 사용되고 있음
- 깃허브(GitHub)의 2018년 개발자 리포트에 따르면, 응답자 중 92%가 오픈소스는 소프트웨어 이노 베이션을 위한 중요한 도구이며, 84%는 상용도구보다 오픈소스를 더 선호한다고 응답함16
▶ 기업은 상용 애플리케이션 중 평균 50% 이상이 오픈소스로 구성하고 있음
- 1,100개 이상의 상용 애플리케이션을 대상으로 조사한 시놉시스의 2018년 오픈소스 보안과 리스크 분석 리포트 결과에 따르면, 상용 애플리케이션의 96%에서 오픈소스가 발견되었으며, 오픈소스 코드의 비율은 57%로 나타남
▶ 2018년 6월 마이크로소프트가 75억 달러(약 8조 원)에 깃허브를 인수한 소식은 오픈소스가 유용할 뿐만 아니라 많은 부가가치를 창출할 수 있음을 보여주는 좋은 사례임
- 리눅스재단과 다이스그룹의 2018 오픈소스 직업 리포트에 따르면, 기업 채용 담당자의 87%는 오픈 소스 역량을 갖춘 직원을 찾는데 어려움을 겪고 있고, 오픈소스 역량이 채용 조건에서 우선순위라고 꼽는 응답자는 83%에 달함17
기업에서 오픈소스를 사용하는 이유
- 비용절감 : 오픈소스는 기본적으로 라이선스 의무사항 준수를 기반으로 무료 사용이 가능하며, 대규모 인프라 운영에 필수 요소가 되고 있음
- 벤더 종속성 탈피 : 고품질의 다양한 오픈소스들이 존재하므로, 하나의 벤더에 의존하지 않고 용도와 기능에 맞게 다양하게 선택하여 사용할 수 있음
- 맞춤화 가능 : 사용자에게 코드 복제, 수정 및 재배포에 대한 권리가 부여되어 니즈에 따른 커스터 마이제이션이 가능함
- 소프트웨어 혁신 : 소스코드가 공개되어 최신 IT 기술에 대한 개발지식을 빠른 시간 안에 습득하고 더 나은 기술로 발전시킬 수 있음
- 기능 및 성능 : 상용 소프트웨어와 견주어도 뒤지지 않는 높은 품질의 기능과 성능을 보유함
- 코드 품질 및 보안 : 다수의 개발자들에 의한 코드 품질 검증과 보안 취약점 발견 및 패치속도가 우수함
- 우수인재 등용 : 개발자들은 자신의 실력을 증명할 수 있는 포트폴리오로, 오픈소스 개발을 할 수 있는 기업을 선호함으로 인해 기업은 우수한 개발자를 등용하기 위해 오픈소스 개발 참여 및 커뮤 니티 운영을 적극적으로 주도할 필요가 있음
- 개발속도 향상 : 처음부터 모든 소스코드를 개발하지 않고 이미 개발된 오픈소스 컴포넌트를 사용 함으로써 핵심역량이 되는 컴포넌트 개발에 집중하여 마켓에 적기 출시가 가능함
- 글로벌 커뮤니티의 서포트 : 오픈소스 커뮤니티의 개발자들로부터 기술지원이 가능함
오픈소스의 또 다른 이면
▶ 오픈소스는 다양한 우수성으로 인해 많은 기업에서 활용하고 있으나 관리체계 없는 무분별한 오픈 소스의 활용은 오히려 잠재적 기업 손실을 야기할 수 있음
- 이에 오픈소스의 안전한 사용을 위하여 라이선스와 보안 관리가 필요함
▶ 오픈소스 라이선스 컴플라이언스 관리의 필요성
- 소프트웨어는 지적재산권에 의해 보호받고 있으며, 원칙적으로 저작권자만 자신의 소프트웨어에 대한 독점 사용허가권을 소유함
- 저작권자는 자신의 소프트웨어의 사용허가권(라이선스)을 타인에게 무료 또는 유료로 허가할 수 있음
- 상용 소프트웨어는 보통 유료로 허가하며, 오픈소스도 저작권자가 타인에게 오픈소스 소프트웨어를 이용하는 방법 및 조건의 범위를 라이선스에 명시하여 사용 허가규칙을 정의하고, 다른 개발자 또는 사용자에게 무료 사용을 허가함
- 오픈소스 활용 시 저작권자가 명시한 규칙(라이선스 의무사항)을 준수하지 않을 경우 상용 소프트 웨어의 저작권과 동일하게 저작권 위반에 대한 소송을 당할 수 있으며, 기업 이미지 실추 및 손해 배상에 따른 손실이 발생할 수 있음
▶ 라이선스 관리도 중요하지만 최근 들어 오픈소스로 인한 사이버 공격 피해사례가 급증하고 있어 오픈소스 보안에 각별한 주의가 필요함
대표적인 오픈소스 보안 피해사례
▶ 마젠토 브루트 포스(Magento Brute Force) 해킹(2018년 4월)
- 7,000개 이상의 마젠토 기반 온라인 스토어에 대해 브루트 포스 공격이 발생했으며, 지난 6개월 동안 1,450개 이상의 온라인 스토어가 해킹되었음
- 마젠토는 가장 널리 사용하고 있는 오픈소스 전자상거래 플랫폼 중 하나임
- 해커는 디폴트 계정을 사용하는 관리자 패널을 찾기 위해 무작위로 대입하는 브루트 포스 공격을 수행하고 관리자 패널에 침투한 뒤 금전적 이득을 취득함
- 금전적 이득은 결제 페이지 내 자바스크립트 스니퍼를 심어서 카드정보를 탈취하고, 지불과 관계 없는 웹사이트일 경우 암호화폐를 채굴하는 툴을 업로드하여 암호화폐 채굴, 또는 가짜 어도비 플래시 플레이어 다운로드 페이지로 리다이렉트하여 멀웨어 다운로드를 유도 후 암호화폐 채굴코드를 추가 실행하여 취함
- 이 해킹사건은 주로 미국과 유럽에서 발생했으며, 피해는 온라인 쇼핑몰이 가장 많았고 교육 및 의료분야가 뒤를 이음
▶ 영국 글로스터 시의회(Gloucester City Council) 해킹(2017년 6월)
- 영국 글로스터 시의회 직원의 3만 건 이상의 메일과 전 ·현직 의원 30~40명의 민감한 재무정보가 탈취됨
- 해당 공격은 Heartbleed로 알려진 오픈소스 OpenSSL 보안취약점이 이용되었으며, 이는 지난 2014년 4월 발견된 이래 위험에 대한 심각성으로 세간의 주목을 받았던 보안 취약점임
- ICO(Information Commissioner's Office, 영국 정보위원회)는 데이터 보호법 6개 항목 위반에 따른 벌금 10만 파운드를 부과함
- 보안 전문가들은 유럽연합 일반 개인정보보호 규정(GDPR)로 인해 추가적인 벌금이 부과될 수도 있다고 보고 있음
▶ 에퀴팩스(Equifax) 해킹(2017년 5월)
- 미국 3대 신용평가기관 중 하나인 에퀴팩스는 자바 기반의 웹 애플리케이션 개발 오픈소스 프레임 워크 아파치 스트럿츠의 보안취약점을 방치하여 대규모 정보 침해를 초래함
- 2017년 5월부터 7월까지 두 달 동안 해커의 공격을 받았으며, 이로 인해 이름, 사회보장번호, 생년 월일, 주소, 일부 운전면허증 및 신용카드 번호 등 개인정보가 유출됨
- 공식적인 피해정보 유출 규모는 1억 4,300만 명에서 최근 1억 4,800만 명까지 증가하였으며, 이는 점점 더 늘어날 것으로 예상되고 그 외 주가 폭락, 집단소송, 청문회 및 CSO와 CIO 해임 등 다양한 기업 손실이 발생함
- 에퀴팩스 해킹사건의 직접적인 영향을 미친 보안취약점은 아파치 스트럿츠의 보안취약점 CVE-2017-5638로 밝혀졌으며, 패치버전은 사건 발생 두 달 전에 아파치 스트럿츠 커뮤니티에서 이미 배포하였음
- 언론에서는 2017년 3월 패치가 발표된 이후부터 해당 보안취약점으로 인한 공격이 발생하고 있다는 기사가 나오기 시작했으나, 에퀴팩스는 이에 대한 방치와 패치버전 업데이트 실패로 대규모 정보 침해 사건을 초래하였음
오픈소스 보안, 핫이슈가 된 배경
▶ 80% 이상의 사이버 공격 타깃은 소프트웨어 애플리케이션에서 발생18
▶ 최근 들어 오픈소스 보안취약점은 매년 급속도로 증가하고 있는 추세
- NVD(National Vulnerability Database) 에서 2017년 발견된 신규 오픈소스 보안취약점은 4,800개임 (2016년 3,623개 대비 32% 증가)
▶ 오픈소스는 산업 전반에 걸쳐 대부분 사용되고 있고, 보안이 취약한 오픈소스 또한 다양한 산업군에서 공통적으로 사용되고 있으며, 보안취약점에 대한 정보 획득이 쉬움
- NVD(National Vulnerability Database), 메일링 리스트, 프로젝트 홈페이지, 유튜브 등 다양한 형태의 공개적인 경로를 통해 익스플로잇과 보안취약점에 대한 정보를 획득할 수 있어, 풍부한 공격 타깃을 제공하는 환경을 조성함
▶ 많은 기업에서 오픈소스 보안에 대한 인식이 여전히 부족하고 대응체제 구축이 미비함
- 시놉시스의 설문조사 결과에 따르면, 60% 이상의 응답자가 조직에서 오픈소스 관리에 대한 인식 및 프로세스가 없다고 답함
- 사이버 공격자들은 이러한 특성을 잘 이해하고 오픈소스 보안취약점이 발생할 경우 커뮤니티 또는 텍스트 스토리지 웹사이트 등의 다양한 경로를 통해 익스플로잇이 올라오길 기다리거나 직접 만들 어서 보안공격에 활용함
기업의 오픈소스 보안관리 현 주소
▶ 오픈소스 보안관리에 대한 인식, 노하우 및 전문가 부족
- 오픈소스 관리자를 대상으로 진행한 스닉(Snyk) 설문조사에 따르면, 응답자의 44%가 오픈소스에 대한 보안 감사를 수행한 적이 없으며, 17%만이 높은 수준의 보안 노하우가 있다고 밝힘
▶ 오픈소스 보안취약점 관리 방치로 상용 애플리케이션에 고위험도의 오픈소스 보안취약점을 다수 보유함
- 시놉시스 조사결과에 따르면, 96%의 오픈소스를 사용한 상용 애플리케이션 중 78%는 오픈소스 보안취약점을 보유(앱당 평균 64개)하고 있고, 그 중 17%는 고위험도의 보안취약점을 포함하고 있음
▶ 미국 소비자협회에서 조사한 미국에서 가장 유명한 330개 안드로이드 앱의 조사결과에 따르면, 전체 앱 중 1/3은 여전히 보안취약점이 발견되었으며, 앱당 평균 19개의 보안취약점을 갖고 있음
▶ 오픈소스 보안 조치 이력 관리 체계가 제대로 구축되어 있지 않아 보안공격 피해사례를 유발한 오픈 소스 보안취약점조차 상용 애플리케이션에서 여전히 발견되는 경우가 많음
- 에퀴팩스 사건 이후, Fortune(포춘) 글로벌 100대 기업 중 57%는 여전히 에퀴팩스 해킹사건의 원인이 되었던 오픈소스 보안취약점이 포함된 Apache Struts(아파치 스트럿츠)를 다운로드함19
- 시놉시스의 조사결과에 따르면, 오픈소스 보안취약점은 상용 애플리케이션에 평균 6년간 포함됨20
- 2014년 4월 전 세계적으로 이슈가 되었던 OpenSSL의 Heartbleed(하트 블리드) 보안취약점이 발생 한지 3년이 지난 시점에도 여전히 Heartbleed가 포함된 OpenSSL을 사용하고 있으며 한국은 2위를 차지함
오픈소스 보안의 오해와 진실
▶ 오픈소스는 상용 소프트웨어보다 더 안전하거나 덜 안전하다고 단정지을 수 없음
- 오픈소스도 상용 소프트웨어와 동일하게 사람이 만들기 때문에 코딩 에러가 있을 수 있고, 이는 보안취약점을 야기할 수 있음
- 현재 대부분의 상용 소프트웨어 또한 수많은 오픈소스로 구성되어 있음
▶ 오픈소스는 특성상 보안취약점이 인터넷에 공개적으로 노출되어 있어 사이버 공격자에게 매력적인 공격대상이 될 수 있으며, 사이버 공격자는 기업에서 오픈소스를 많이 사용하지만 오픈소스 컴포넌트와 보안취약점을 제대로 관리하지 않는다는 사실을 알고 이를 충분히 악용하고 있음
- 하지만 오픈소스 커뮤니티에 수많은 개발자와 보안 리서처들 또한 함께 모니터링하고 있기 때문에 보안취약점이 발견될 경우 상용 소프트웨어보다 더 빠른 패치가 업데이트 됨
- 오히려 상용 소프트웨어는 비전매 특허 계약에 따라 라이선스가 있는 경우 일반적으로 업체가 대응 할 때까지 기다려야 함
▶ 오픈소스의 생태계와 특성을 잘 알고 적절한 관리와 통제를 한다면, 기업은 오픈소스 사용으로 많은 이윤 창출 및 혁신의 도구로 경쟁력을 확보할 수 있지만, 올바른 관리체계가 구축되지 않고 무분별한 사용을 할 경우 보안공격에 쉽게 노출될 수 있는 양날의 칼이라고 할 수 있음
- 상용 소프트웨어와 달리 유지보수 계약이 되어 있지 않기 때문에 오픈소스는 사용자가 직접 보안 및 기능에 대한 트래킹과 업데이트가 필요함
- 오픈소스의 무분별한 사용을 방지하기 위해서는 기업에서 오픈소스에 대한 정책 및 프로세스 구축, 그리고 사용에 대한 적절한 가이드와 교육이 필요함
오픈소스 보안 관리가 어려운 이유
▶ 오픈소스 보안 관리의 진입장벽
- 오픈소스는 벤더사에서 푸시 알림을 주는 상용 소프트웨어와 달리 사용자가 직접 사용하는 오픈 소스에 대한 보안취약점, 패치 및 업데이트를 모니터링 해야 하나, 개발자는 이러한 오픈소스의 특성에 대한 이해 부족으로 보안취약점 관리를 방치함
- 개발자는 빡빡한 개발일정으로 소프트웨어 개발 및 빌드의 압박을 받으며 오픈소스 보안관리에 투여할 시간이 부족함
- 관리자들은 개발자들에 비해 오픈소스에 대한 전문지식이 부족하고, 경영진 또한 오픈소스의 컴플 라이언스와 보안에 대한 요구사항을 제대로 인식하지 못하고 있어, 오픈소스 관리에 대한 필요성을 제기하지 않음
- 다양한 경로를 통해 유입되는 오픈소스에 대한 가시성이 확보되지 못할 경우, 사용된 오픈소스 컴포넌트에 알려진 보안취약점을 타깃으로 한 공격에 대응하지 못함
- 사용한 오픈소스 컴포넌트에 대한 가시성 부족은 하루 평균 10개 이상 발견되는 오픈소스 보안 취약점에 대한 모니터링을 더욱 어렵게 만듬
- 사용된 오픈소스 트래킹 및 관리는 대부분의 조직에서 높은 가시성이 있는 이슈의 원인으로 밝혀 지기 전까지 간과되기 일쑤임
▶ 오픈소스 수동 관리의 한계
- 오픈소스 가시화를 위한 수동식별은 많은 리소스가 들어가며 정확도가 높지 않음 - 보통은 개발자의 노력과 기억력에 의존함 - 소스코드 파일을 검색엔진을 통해 식별하는 작업은 많은 시간이 소요되며 원 출처 오픈소스에 대한 정확성과 신뢰성이 저하됨
- 스프레드시트를 통한 목록관리 - 각 부서의 담당자간 버전관리가 힘들어 유지보수가 어렵고, 신뢰성이 부족함
- 기존에 알려진 보안취약점 매핑 및 새로운 보안취약점 모니터링 - 하루 평균 10개 이상의 보안취약점이 발생하고 있는 이 시점에 해당 보안취약점이 어떤 애플리케이션의 어떤 오픈소스 버전과 연관이 있는지 찾아내고 이를 지속적으로 모니터링 한다는 것은 사실상 거의 불가능함
- 이러한 프로세스를 적용하여 오픈소스 보안을 효과적으로 관리할 수 있는 솔루션을 통한 자동 관리가 필요함
▶ 기존의 보안 테스팅 도구의 한계
- 기존의 정적분석도구와 동적분석도구는 소프트웨어 품질 관리에 좋은 솔루션이지만 오픈소스 보안취약점 관리에는 적합하지 못함
- - 정적분석도구 : 시큐어 코딩 관점에서 내부적으로 작성된 커스텀 코드의 결함을 탐지하지만, 환경 설정의 오류와 같이 코드범위를 벗어난 부분 또는 협력업체의 코드는 결함을 알 수 없음
- - 동적분석도구 : 설정 오류 및 인증 이슈 탐지에 탁월하나 대부분 웹 기반 애플리케이션의 HTTP와 HTML 인터페이스만 검사하여 종종 복잡하고 모호한 오픈소스 보안취약점 탐지에 비효율적임
- 오픈소스 보안취약점은 룰셋 기반의 보안 테스팅 도구보다 보안 리서처를 통해 발견되고 해결되고 있음
- - 시놉시스의 조사 결과에 따르면, 2004년부터 2015년까지 NVD에서 약 7만 4,000개의 보안취약점이 발견되었고, 그 중 63개(전체 보안취약점의 1% 미만)만 보안 테스팅 도구를 통해 발견되었으며, 나머지는 모두 보안 리서처가 발견하였음
오픈소스 보안 관리방안
▶ 시놉시스는 오픈소스 보안 관리방안를 5가지로 정리함
- 오픈소스 인벤토리 구축 : 오픈소스 보안관리의 시작은 어떤 오픈소스가 자사 애플리케이션에서 사용되었는지 아는 것부터 시작함
- 알려진 보안취약점 매핑 : 기업에서 사용된 오픈소스에서 기존의 알려진 보안취약점을 맵핑하여 보안취약점 현황을 파악함
- 리스크 식별 : 보안취약점에 대한 리스크를 식별하고 프로젝트 우선순위와 보안취약점의 위험도를 기반으로 조치대상을 우선순위화하여 분류함
- 보안취약점 조치 이행 : 우선순위로 분류된 보안취약점을 기반으로 조치 이행 및 이력관리를 함
- 새로운 보안취약점 모니터링 : 기업의 위협요소가 될 수 있는 오픈소스 보안취약점을 지속적으로 모니터링하면 빠른 탐지 및 대응이 가능함
<주석> 16. https://about.gitlab.com/developer-survey/2018 17. https://www.linuxfoundation.org/publications/2018/06/open-source-jobs-report-2018 18. https://www.securityweek.com/why-do-vast-majority-applications-still-not-undergo-security-testing 19. http://fortune.com/2018/05/07/security-equifax-vulnerability-download/?xid=gn_editorspicks 20. 2018 오픈소스 보안과 리스크 분석 리포트 |
※ 본 내용은 한국인터넷진흥원의 저작권 동의에 의해 공유되고 있습니다.
Copyright (C) KISA. 무단전재 및 재배포 금지
[원본 출처-[2018년 Vol.09 KISA Report] :
[2018년 Vol. 09] <이슈 & 트랜드>
• 금융 생태계를 변혁하는 인공지능(AI)의 확산 및 시사점 (이응용 / 애널리스트)
• 오큘러스가 시도하는 교육 파일럿 프로그램 (최홍규 / EBS 연구위원)
• 바이오인식 기술 현황 및 전망 (이승재 / 한국인터넷진흥원 수석연구원)
• 5G 기반 보안의 양자정보통신기술 (곽승환 / SK텔레콤 퀀텀테크랩 리더)
• 오픈소스 보안 현황과 시사점 (김혜영 / BDSK 차장)
• 바다로 간 사이버 범죄 사례 및 전망 (조용현 / 고려대 스마트시큐리티랩 수석연구원)
• 중국의 사이버보안 정책 현황 및 시사점 (박성림 / 대만국립정치대학 박사)
• 'IFA 2018'의 인공지능은 어떤 풍경이었을까? (최필식 / 기술작가)
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
공지 | [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file | support | 12529 | 2024-01-03 |
공지 | [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 10050 | 2024-01-03 |
공지 | [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9947 | 2024-01-03 |
공지 | 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file | support | 22446 | 2022-07-28 |
공지 | 공개소프트웨어 연구개발 수행 가이드라인 file | OSS | 20794 | 2018-04-26 |
328 | [Redhat Brandpost]컨테이너 플랫폼으로 데브옵스 환경까지 조성하는 법 | OSS | 2164 | 2018-11-06 |
327 | [Redhat Brandpost] ‘더 풍요로운 쿠버네티스 생태계의 미래’ 오픈시프트 4.0 이후를 말한다. | OSS | 1826 | 2018-11-02 |
326 | [Redhat Brandpost] 오픈시프트가 지원하는 베어메탈과 쿠버네티스 환경 | OSS | 2218 | 2018-11-02 |
325 | 오픈소스 보안 현황과 시사점 | OSS | 4542 | 2018-10-23 |
324 | 블로그 | 머신러닝, 이론과 실제의 간극 메우려면… | OSS | 1770 | 2018-10-10 |
323 | DevOps 성과을 위한 13가지 공개SW 툴 | OSS | 4897 | 2018-10-08 |
322 | [리눅스 재단] '엔터프라이즈를 위한 오픈 소스 가이드' 사이트 | OSS | 2214 | 2018-10-02 |
321 | 칼럼 | 성공적인 인공지능(AI) 적용을 위한 단계 | OSS | 2397 | 2018-10-01 |
320 | 2018 SAS,R, Python 선호도 조사...Burtch Works file | OSS | 2433 | 2018-09-21 |
319 | 칼럼 | 더 많은 개발자를 채용해야 한다, 그러나··· | OSS | 1966 | 2018-09-20 |
0개 댓글