보안 제품정보


애플리케이션 개발의 근간 오픈소스, 여전히 취약해 2016.10.19

오픈소스 대부분에서 이미 알려진 취약점 1개 이상 발견
개발자들, 오픈소스 사용 전 점검 및 업데이트 꼼꼼히 해야


[보안뉴스 문가용 기자] 애플리케이션 개발자들은 오픈소스나 제3자 프레임워크 및 소프트웨어 요소들을 즐겨 사용한다. 즉 전부는 아니지만 외부에서 ‘부품’을 가져다가 ‘조립’하는 형태로 개발 일정을 맞추는 경우가 많다는 것이다. 그렇기에 여기에 취약점이 있으면 개발자로서는 속절없이 당하는 수밖에 없다.

최근 보안 전문업체인 베라코드(Veracode)가 발행한 ‘소프트웨어 보안 상태 2016(State of Software Security)’ 보고서를 통해 제기된 가장 큰 문제 역시 바로 이 부분이었다. 베라코드는 지난 18개월 동안 수천억 줄의 코드 라인을 분석해서 해당 보고서를 작성했으며 그 결과 97%의 자바 애플리케이션에서 최소 한 개 이상의 ‘이미 공개된’ 소프트웨어 취약점이 발견되었다고 밝혔다.

또한 이렇게 오픈소스나 서드파티 코드에 포함된 오류가 최종 제품 및 솔루션에 얼마나 많은 오류를 일으키는지도 베라코드는 보고서를 통해 설명했다. “그러므로 기업 및 기관들은 자신들이 작성한 애플리케이션 코드에서 발견된 문제의 근원을 해결하려면 서드파티 및 오픈소스의 취약점을 검토하는 것이 효율적일 것입니다.”

이를 해결하려면 오픈소스나 서드파티를 활용하는 개발자나 개발팀이 오픈소스 라이브러리 및 툴들에 대한 업데이트 상태를 확인하고 취약점 조사를 꼼꼼히 하는 수밖에 없다. 베라코드의 마케팅 책임자인 팀 자렛(Tim Jarrett)은 “실험 및 분석 대상이 된 애플리케이션들 중 1/4이 2012 버전의 스트러츠(Struts) 라이브러리를 사용하고 있었다”며 “2012 버전이라면 이미 업데이트가 서른 번도 넘게 된 오래된 버전”이라고 짚었다.

개발자들이라고 해서 서드파티 라이브러리를 꼼꼼하게 업데이트하는 건 아니라고 자렛은 강조했다. “오픈소스에 대한 의존도가 너무나 높아지고 있는 개발 문화 자체에 문제가 있는 것은 아닐까 생각해봐야 합니다. 그리고 그런 문화는 빠른 출시를 요구하는 기업 문화에 기인하고요. 그러니 개발자들은 딱히 기능적인 오류가 많지 않은 이상 눈에 잘 보이지 않는 취약점을 일일이 찾아서 고치지 않게 되는 겁니다. 위험을 감수하는 거죠.”

인터넷의 창시자인 폴 빅시(Paul Vixie)는 “오픈소스 코드를 관리할 수 있는 주체가 필요하다”며 “특히 사물인터넷 시대가 다가오는 만큼 이런 주체의 설립이 보안에 있어 반드시 필요한 절차가 될 것”이라고 주장한다. 보안 전문업체 파사이트 시큐리티(FarSight Security)의 CEO이기도 한 폴 빅시는 “사물인터넷 개발에 자주 사용되는 자바 모듈부터 안전해야 사물인터넷의 상당 부분이 안전해지지 않겠느냐”며 “이렇게 원인이 될 만한 것부터 보완해나가는 것이 비용적으로도 낫고, 상식적인 방법”이라고 설명했다.

이는 오픈소스를 더 안전하게, 널리 활용하게 위한 ‘오픈소스 진화’의 한 단계일 뿐이라고 빅시는 추가로 주장을 펼쳤다. “오픈소스가 분명히 더 안전했던 때가 있었습니다. 그때는 모두가 오픈소스를 들여다보고 점검했기 때문이죠. 그러나 지금은 오픈소스가 상대적으로 너무 많아졌어요. 아무리 개발자 커뮤니티가 커져도 따라잡을 수 없을 만큼요. 그러니 이를 조직적으로 누군가 관리해야 한다는 겁니다.”

또한 베라코드는 “보고서를 위해 스캐닝한 애플리케이션들 중 60%가 기초적인 보안 사항도 전혀 지키지 않은 상태”라고 해 관리 조직의 필요성에 간접적으로 힘을 싣기도 했다. 오픈소스가 계속해서 보안의 문제로 지적되고 있고 빅시처럼 누군가 꾸준히 관리해줄 필요가 있다는 주장도 계속해서 제기되어 왔으나, 누구나 자유롭게 공유하는 오픈소스의 특성 상 ‘중앙 관리’ 개념이 실현될 수 있을까 하는 의구심이 아직은 팽배한 상태다.
Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]

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