오픈소스 소프트웨어(OSS) 사용이 증가하고 있습니다. 전 세계 OSS(Open Source Software) 사용률은 2,000여개 기업 대상으로 2015년 75%에서 2016년 이후 99%로 거의 모든 기업이 사용할 것으로 전망됩니다. (Gartner, Predicts 2011: OSS, the power behind the throne)
OSS의 사용 목적은 개발 시간 단축, 개발 비용 절감, 개발 및 사후 지원의 편의성, 높은 코드 품질이 주된 사용 이유로 조사되었는데요. OSS 도입으로 인해 스마트폰, 클라우드, 빅데이터, IoT 등 급변하는 ICT 융합 시장에서 이용자의 요구사항에 신속하고 유연하게 대응할 수 있게 되었습니다.
l OSS 사용 목적 (출처: Gartner, Predicts 2011: OSS, the power behind the throne)
그럼 OSS를 사용하기에 앞서 고려해야 할 사항은 무엇일까요? 안전한 오픈소스 사용을 위해서는 크게 2가지가 고려되어야 합니다. 바로 라이선스와 보안입니다.
OSS는 사용료를 받지 않은 공개된 소프트웨어이지만 준수해야 할 라이선스 규칙이 있습니다. 라이선스 위반으로 확인될 경우에는 벌금, 소스코드 공개, OSS 컴플라이언스 오피스로 지정 등 재제 조치의 이행 의무가 발생합니다.
OSS 라이선스를 위반해 분쟁으로 이어진 대표적인 사례는 다음과 같습니다.
l OSS 라이선스 위반 사례
OSS 사용자는 리눅스 커널 코드, 드라이버 등 라이선스 위반에 대해 사전에 파악하기 어렵습니다. 그러나 OSS 비영리단체인 FSF(Free Software Foundation), SFC(Software Freedom Conservancy) 등의 커뮤니티에서 OSS 라이선스 준수 여부에 대해 관리 감독하고 있습니다.
● OSS 라이선스 유형은?
OSS 라이선스는 의무 강도에 따른 분류와 사용 빈도 및 재사용 가능 여부에 따른 분류로 구분할 수 있습니다. 이러한 분류 기준은 한국 저작권위원회의 "오픈소소 SW 라이선스 종합 정보 시스템(OLIS) 및 정보통신시스템 산업진흥원의 "공개 SW 포털"을 통해 라이선스 카테고리를 확인할 수 있습니다. 먼저 의무 강도에 따른 분류는 다음과 같습니다.
l OSS 의무 강도에 따른 분류
다음은 대표 라이선스들의 주요 의무사항을 비교한 표입니다.
l 대표 라이선스들의 OSS 의무사항 비교 (출처: NIPA, 공개 SW 라이선스 가이드 재구성)
사용 빈도 및 재사용 가능 여부에 따른 분류는 다음과 같습니다.
l 사용 빈도 및 재사용 가능 여부에 따른 분류 (출처: OSI, Open Source Licenses by Category 재구성)
OSS를 사용하기에 앞서 OSS 라이선스 카테고리 정보를 공개한 시스템을 통해 라이선스 유형을 파악하고, 그에 따른 의무(소스코드 공개, 재사용 가능 여부 등)를 이행하도록 해야 합니다. OSS는 라이선스 문제만이 아니라 보안 취약점 관리 문제도 고려해야 합니다.
OSS는 공개되어 있기 때문에 사용하기 쉽지만, 공개된 코드로 인해 보안 취약점도 발생하기 쉽습니다. OSS는 발표 후 취약점이 바로 발견되기도 하지만, 오랜 기간이 지나서 발견되는 경우도 있습니다. 다음은 OSS 보안 취약점 중 매우 잘 알려진 취약점에 관한 배포 및 발견 시기를 정리한 도표입니다.
l OSS 보안 취약점 배포 및 발견 시기
OSS의 보안 취약점이 발생하는 원인은 무엇일까요?
첫째, 공개된 소스코드로 인한 위협입니다.
최근 OSS로부터 고위험성 취약점이 발견되고 있으며 이로 인한 해킹 사고 또한 계속해서 발생하고 있습니다. 실제로 2014년 미국의 NVD(National Vulnerability Database, 미국 정부 산하 국립표준기술연구소에서 운영한 공개 취약점 DB)에 새롭게 등록된 7,937개의 취약점 중에서 4,300개가 OSS에서 발견된 취약점이었습니다. 소스코드가 공개되어 있다는 점은 공격자 입장에서도 공격 대상 선정 및 악의적인 역분석이 매우 쉽기 때문입니다.
둘째, 관리적 보안 위협입니다.
OSS 커뮤니티에 많은 개발자가 참여하고, 코드가 공개된 만큼 보안 패치 등의 해결책이 빠르게 제공되는 것도 사실입니다. 하지만 이는 커뮤니티에 참여자가 많거나, 기술 지원 전문업체가 존재하는 경우에 해당합니다.
그렇지 않은 경우에는 관리 소홀로 인해 보안성이 더 취약할 수밖에 없습니다. 또한 보안 패치가 빨리 이루어졌다 하더라도 이용자 측에서 체계적인 버전 관리가 이루어지지 않거나, 버전 변경에 따른 호환성 문제 등을 우려해 이용자가 패치를 적용하지 않는 경우도 있습니다.
대표적인 OSS 점검 관리 도구 회사인 시놉시스가 제안하는 오픈소스 보안 관리 방안은 다음과 같습니다.
① 오픈소스 인벤토리 구축: 오픈소스 보안 관리의 시작은 어떤 오픈소스가 자사 애플리케이션에서 사용되었는지 아는 것부터 시작함
② 알려진 보안취약점 매핑: 기업에서 사용된 오픈소스에서 기존의 알려진 보안취약점을 맵핑해 보안취약점 현황을 파악함
③ 리스크 식별: 보안취약점에 대한 리스크를 식별하고 프로젝트 우선순위와 보안취약점의 위험도를 기반으로 조치대상을 우선 순위화해 분류함
④ 보안취약점 조치 이행: 우선순위로 분류된 보안취약점을 기반으로 조치 이행 및 이력 관리를 함
⑤ 새로운 보안취약점 모니터링: 기업의 위협요소가 될 수 있는 오픈소스 보안취약점을 지속적으로 모니터링하면 빠른 탐지 및 대응이 가능함
(출처: 시놉시스 오픈소스 보안 관리 방안)
OSS 보안 위협에 대응하기 위해서는 OSS 취약점 발표 내용을 모니터링해 신속하게 인지하고, 패치하는 관리체계 수립이 요구됩니다.
그렇다면, OSS의 라이선스와 보안취약점을 관리하는 도구는 무엇이 있을까요?
오픈소스 라이선스 점검 도구는 비용이 무료이고, 라이선스 고지 문구나 주석문을 분석을 통해 위반 여부를 파악할 수 있습니다. 상용 라이선스 점검 도구는 소스코드 비교 분석 또는 바이너리 분석을 통해 위반 여부를 파악할 수 있습니다. OSS 라이선스는 다음의 도구들을 선택하여, 소스코드의 위반 여부를 파악할 수 있습니다.
l OSS 라이선스 점검 도구
국외 공개용 소스코드 보안 약점 분석 도구는 다음과 같습니다.
l OSS 소스 약점 점검 도구 (출처: NIST SAMATE)
OSS 사용에 있어 라이선스 문제나, 보안 취약점에 있어 철저한 관리가 필요합니다. 이에 대해 OSS에 대한 관심을 가지고, OSS 관리 거버넌스(조직, 프로세스, 시스템, 점검 도구 등)를 수립해야 합니다. 이를 위해 소프트웨어를 사용하는 기업은 관련 예산 확보와 전문 인력 양성해 가도록 노력해야 합니다.
글 l LG CNS 보안컨설팅팀
* 해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.
* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
'IT Solutions > Security ' 카테고리의 다른 글
고민되는 팩토리 보안 어떻게 해야 할까? (0) | 2019.06.13 |
---|---|
양자 컴퓨팅 시대, 양자 암호 기술과 보안 (1) | 2019.06.12 |
SDN 적용 시 보안 고려 사항은? (0) | 2019.05.16 |
법률을 준수하는 보안 설계 (0) | 2019.05.07 |
통합 보안 관리 플랫폼 ‘보안 포탈’이란? (0) | 2019.04.11 |