[기고] 오픈소스 보안 관리의 중요성
 
블록체인시큐리티 기태현 대표
 

공유를 위한 오픈소스

코로나로 인한 온라인 서비스가 강조되는 시대를 살고 있는 지금 더욱 강조되는 것이 공유라는 단어이다.

언제부터인지 개발을 할 때면 새로운 아이디어보다는 어딘가 있을 오픈소스를 잘 찾아서 활용하는 것이 더욱 중요해 진 사회이다.

 

발전단계로 보면 전자정부 거의 대부분의 발전을 만든 것이 오픈소스 기반이며, 행정적인 분야뿐만 아니라 생활 서비스, 경제, 산업, 자동화 등 다양한 활동영역에서 오픈소스를 빼고 발전하는 분야가 없다고 해도 과언이 아니다.

특히 첨단 분야 최근 크게 관심받는 AI를 이용한 부분이나 메타버스 및 로봇 분야 등에서도 오픈소스를 활용하지 못한다면 모든 것들이 매우 더디게 발달하는 사회에 살고 있다.

 

일반 경제 활동에서는 매우 어려운 부분일 수 있으나 소프트웨어 개발 분야에서는 세계 모든 공통 지식을 활용하여 보다 좋은 서비스 또는 보편화된 서비스를 위해서는 당연히 오픈소스를 사용한다.

 

이것은 비단 1인 개발자를 위한 것만은 아니며, 대기업에서도 마찬가지이다. 큰 기업일수록 새롭게 개발한 것들을 기꺼이 오픈소스로 제공하고 세상에 있는 모든 개발자들이 기왕이면 자신의 오픈소스를 사용할 수 있도록 더욱 열을 올려 홍보하거나 사용처를 더욱 늘려가는 경우가 많다.

향후 유선의 한계를 벗어나서 양자컴퓨터와 5G를 넘어 무선으로 언제 어디서나 소통할 수 있는 사회에서 보다 많은 사용자들을 대상으로 서비스하는 모든 분야에 공통으로 대상들을 만족시키기고 다양한 요구사항을 대응하기 위해서는 당연히 오픈소스의 효과적인 활용과 제공이 필요하다.

 

 

글로벌 사용자를 위한 개발 필수품 오픈소스

글로벌 기준으로 많은 나라에서 격리와 분리를 진행하는 매우 어려운 시기인 지금은 더욱 온라인으로 또는 모바일로 정보를 제공받거나 서비스를 활용하는 환경이 더욱 중요해졌고 이를 오픈소스가 어떻게 혁신을 촉진하는지 지켜보는 것은 놀라운 일이다.

 

오픈소스의 장점은 가장 절실한 사람에게 솔루션을 신속하게 제작해 배포할 수 있다는 점이다. 현재 세계는 동일한 어려움에 처해있고 이를 극복하는 방법 역시 동일한 경우가 많아, 좋은 대응 방식은 서로 공유하기 시작했고 더 널리 퍼트려 사용되어 안전한 사회를 만들자는 분위기도 늘어났다. 이를 위해서는 필수적으로 필요한 것을 서로 더 많이 공유하고 공유된 지식기반의 많은 것들이 오픈소스화되어 사람들에게 제공되어야 하며 그렇게 되어 가고 있다.

 

당연하게 늘어가는 모바일 환경으로의 전환, 공통의 어려움에 대응하기 위한 공공 서비스의 빈번한 제공과 새로운 환경에서 서비스 소비를 위한 사용자들의 극적인 디지털 환경으로의 변화 등을 통해 더 많은 개발 인력과 개발 소스 및 디지털 소비가 동시에 늘어나면서 전세계가 공통적으로 오픈소스의 활용이 늘어나고 있다.

 

환경의 변화에 따른 개인정보의 제공과 위치정보의 제공 그리고 모바일 환경으로의 전환과 공공 와이파이 환경의 소비는 온라인 환경에서 사용자에게 보다 많은 위협에 노출됨을 의미하며 당연한 결과로 무분별하게 늘어나는 오픈소스의 위험에 대한 취약점은 모두가 공통으로 대응하고 관리해야 할 내용으로 발전하고 있다.

 

오픈소스로 디지털 트랜스포메이션 가속화에 대응

모바일 기술의 대변화로 온라인 커머스, 화상회의, 스트리밍 서비스, 클라우드 채택, 오픈소스 등 장기적 트렌드가 모두 빠르게 실현되고 있음은 이미 확인됐다. 따라서 많은 기업이 생존하려면 더 빠르게 혁신해야 한다. 전통적인 방법을 천천히 수정해 장기적인 트렌드에 대응하는 것은 변화하는 시대에 커다란 위협과 도전을 제공한다.

 

오늘날 우수한 디지털 경험을 제공하는 것은 앞서가기를 원하는 기업에 필수다. 그리고 모든 위기상황마다 오픈소스 소프트웨어는 기업이 적은 비용으로 더 많은 일을 할 수 있도록 해왔다. 코로나19라는 어려움 속에서 우리는 오픈소스의 선한 위력을 다시 확인하고 있다. 오픈소스 팀은 어려운 시기마다 단결해 도움을 제공했고 놀라운 솔루션을 보급해 왔다.

 

애플리케이션에 사용된 오픈소스 취약점 관리의 중요성

오픈소스 도입으로 소프트웨어 개발에 소요되는 시간과 비용을 줄일 수 있고 품질의 안정성을 확보할 수 있어 다양한 산업 분야에서의 오픈소스 사용량이 급증하고 있는 가운데, 애플리케이션 개발에도 오픈소스 적용이 활발하다. 한 보안 업체의 조사에 따르면 1개의 애플리케이션에는 약 450개의 오픈소스 요소가 포함되어있는 것으로 나타났는데 이처럼 애플리케이션은 대부분 오픈소스를 기반으로 개발된다. 이런 현상은 모바일과 첨단기술분야 일수록 그 활용도가 더욱 높아지고 있다.

 

특히 최근의 활용된 팬더믹 상황에 대한 궁금증을 해결하는 방안으로서의 활용된 모든 프로그램이 그렇게 빠르게 제공된 것은 오픈소스의 역할이 크다. 그러나 오픈소스의 경우 상용 소프트웨어와 달리 소스코드가 모두 공개되어있기 때문에 취약점이 쉽게 노출될 수 있다. 오픈소스 보안 취약점은 매년 약 2,000개에서 3,000개씩 꾸준히 증가하고 있는 상황으로, 오픈소스 보안 취약점에 대한 상세한 정보나 이를 악용하는 공격 방법까지도 인터넷을 통해 쉽게 찾을 수 있을 정도지만 오픈소스는 특정 기업이나 단체가 그 개발과 활용을 주도하는 것이 아니기 때문에 보안 취약점을 빠르게 탐지하는 것이 쉽지 않고 보안 취약점을 탐지했다고 하더라도 보안 담당자 또는 소프트웨어 개발자가 오픈소스 커뮤니티를 통해 관련 패치를 수동으로 직접 적용해야 하기 때문에 각 오픈소스 취약점을 보완하기까지 현실적으로 많은 시간이 소요된다.

 

오늘날에는 프로그램을 개발할 때 어떻게 하는지 아는(Know How)’ 것보다 어디서 소스를 구해오면 되는지 아는(Know Where)’ 능력이 더욱 빛을 발하고 있다. 소프트웨어 도구도 기능이 워낙 다양해지고, 또 수많은 설정값들로 인해 전문 개발자가 아니고는 이러한 도구를 이용해 프로그램을 개발할 엄두가 안 나기 때문이다. 오픈소스 기반 활동 덕분에 이런 분위기가 소프트웨어 분야에도 생겨난 셈이다.

 

오픈소스 프로그램도 취약점이 있을 수 있다. 개발자 모두에게 검증의 권한이 주어지는 경우 다른 사람이 하겠지라는 생각으로 검증을 소홀히 할 수 있는 틈이 존재하며, 오픈소스에 대해서는 누구도 제대로 된 책임의식을 갖지 않기에 문제가 발생하면 책임소재를 따지기 어렵다. 특히, 방대한 프로그램에서 상호 간에 정보가 이동할 때 어떻게 그러한 결과가 도출되었는지를 궁금해하는 사람도 없다. 아울러 자신이 직접 개발하지 않은 객체 프로그램을 이용한 데 대한 책임감도 떨어진다.

 

다음으로, 협업을 하거나 오픈소스를 가지고 오는 경우 그대로 믿고 사용하면 안 된다. 그 소스가 정확할지라도, 매개변수의 타입이 다르면 전혀 엉뚱한 결과가 나올 수 있기 때문이다. 가장 우려해야 할 점은 해킹 프로그램이 사이버공간에서 아무런 제약 없이 공개되고 있다는 사실이다. , 기본적인 소양 교육을 받지 않은 해커들이 공개 사이트에서 해킹 도구를 다운로드받은 뒤 사이버범죄를 저지를 수 있게 된 것이다. 물리적 공간에서는 피해자를 바로 식별할 수 있지만, 사이버공간에서는 직접 보이지 않는 불특정 다수를 대상으로 저지르다 보니 자책감이나 죄의식 없이, 일종의 자아도취에 빠져 범죄를 저지르게 되는 것이다.

 

특히, 이러한 범죄가 심각한 사회 혼란을 야기하고 있는데도 대다수 네티즌들은 그런 신입해커를 영웅이니 천재니 하며 떠받들기 일쑤여서 영웅심에 빠진 해커들이 이러한 범죄를 더 많이 저지르게 된다. 그러니 해킹 도구처럼 범죄에 이용될 수 있는 코드의 공개 범위를 제한할 필요가 있다.

인공지능 프로그램을 개발하는 과정이나 앱서비스를 개발하는 과정에서 이러한 오픈소스를 이용하는 데 따른 책임 범위를 어떻게 정해야 할지가 당연히 검토해야 할 사항이다.

 

오픈소스 소프트웨어(SW)가 해커들의 주요 표적이 되고 있다.
오픈소스SW는 소스코드가 공개돼 누구나 자유롭게 활용할 수 있는 SW를 말한다. 이를 사용해 개발기간을 줄이거나 여러 개발자들이 공유해 성능을 개선할 수 있어 클라우드, 빅데이터 등의 분야에서 널리 활용되고 있다. 다만 오픈소스는 소스코드와 함께 보안 취약점도 공개돼 있어 사이버 공격의 위험에 항상 노출돼 있는 게 전문가들의 지적이다.

 

해커들은 오픈소스 보안 취약점을 통해 사용자 PC나 서버를 장악하거나, 다른 사람 PC로 몰래 암호화폐를 채굴하는 악성코드인 '마이너'를 심고 있다. 전문가들은 보안 정책 설정이나 보안 패치 등 이미 알려진 조치만 잘 취해도 이런 피해를 줄일 수 있다고 강조했다.

 

미국표준기술연구소가 공개한 정보에 의하면 보안 취약점 1위에 안드로이드 OS가 선정되었다고 한다. 오픈소스 운영체제인데다 전 세계 가장 많은 사용자 수를 가지고 있는 스마트폰에 적용되어 있다 보니 아무래도 많은 공격에 노출되어 있다는 문제도 있다. 전 세계 모바일 운영체제 기준 70% 이상을 점유하고 있는 안드로이드의 아쉬운 점 중 하나이다.

 

정적 동적 보안 관리 솔루션 활용

보안관리에 있어서 어플리케이션 개발에 사용하는 프로그램이 오픈소스를 활용하는지 검토하고 만약 활용하고 있다면 이를 얼마나 사용하는지 라이선스 문제는 없는지를 제공해 주는 다양한 툴을 활용하는 것도 좋을 것이다. 해당 관리 솔루션들은 개발에 활용된 소스코드에 대한 라이선스 문제뿐 아니라 업그레이드는 충분히 진행되어 있는 코드인지, 혹시 모를 취약점은 없는지 기타 활용 시에 피해야 되는 설정값 변경은 없는지 등의 다양한 취약점에 대한 정보를 제공하기에 대형프로젝트를 진행하는 개발자라면 정적인 코드 관리차원 뿐아니라 동적인 메모리 관리 등의 다양한 방면에서의 점검을 수행해서 오픈소스를 활용한 개발에 있어 안전한 어플리케이션을 만들고 배포하는 것에 도움을 받을 수 있다.

 

기태현 대표

 

 BCS(블록체인시큐리티) 대표
現 이화여자대학교 사이버보안학 교수  

 

 

 

 

 

 

 

 

 

 

 

 


 

정보통신산업진흥원 Open UP(오픈소스통합지원센터)
 

Open UP센터에서는 올바른 오픈소스 활용을 위한 오픈소스 라이선스/보안 검증 지원라이선스/거버넌스 컨설팅 및 교육을 진행하고 있습니다.
2018년도부터는 보안취약점 게시판을 운영하며 오픈소스 보안취약점 정보를 제공하고 있습니다.

 

[라이선스/보안검증 문의 : 02-561-0952, licese@oss.kr]

 

.
.
2021
맨 위로
맨 위로