사용 현황만 제대로 파악할 수 있다면 오픈소스 관리 가능해
[보안뉴스 문가용 기자] 들리는 바에 의하면 보스턴에는 호수가 많다고 한다. 그 호수들에 각종 조류들이 많이 깃드는데, 어느 날 미국오리(American Black Duck) 혹은 검은 오리 한 마리가 다쳐서 오도 가도 못하고 있었다고 한다. 그리고 한 사람이 그 새를 집으로 들고 가 치료했고, 들리는 바에 의하면 그 사람이 나중에 IT 기업을 창업했고 그때의 작은 선행이 혹여 보은처럼 돌아오지 않을까 하여 회사 이름을 검은 오리(Black Duck)라고 지었다고 한다.

사실 사업이라는 것이 성공 확률도 낮고 워낙 사람 자신감을 빼앗는 일인지라 대부분 이렇게 미신적인 것에 기대고 싶어진다. 자신감이나 성공 근거가 차고 넘친다면야 이런 저런 것들 다 건너뛰고 시장에 물건을 척척 내놓겠지만 오지 않은 미래를 두고 자신 있어 할 사람은 꽤나 드문 편이다. 그래서 고사를 지내거나, 각종 종교행사를 벌이거나, 이름을 블랙덕이라고 짓는다.
널리 알려진 취약점만 해결해도
현재 IT 환경 내에서 정보보안 담당자들의 자신감을 빼앗는 가장 큰 요인은 간략히 두 가지로, 1) 새롭게 개발되는 공격들과 2) 이전부터 알려져 왔던 공격들이라고 요약할 수 있다. 그러나 새로운 것들이 항상 주목을 받는 현상 때문에, 이전부터 알려져 왔으나 해결되지 않은 채 넘어간 문제들에 대해서는 그다지 신경을 쓰지 않는 편이다. 실상은 “1989년에 처음 생긴 쉘쇼크(Shellshock) 취약점이 2004년에 발견되고, 여전히 여러 공격의 근간이 되고 있는데” 말이다.
블랙덕소프트웨어의 부사장인 마이크 피튼져(Mike Pittenger)는 – 물론 그 오리 소년은 아니다 – “하트블리드, 쉘쇼크, 푸들처럼 이미 알려진 오픈소스 보안 취약점들 때문에 여러 가지 보안 사고가 올해에도 발생할 것”이라고 전망하며 “반대로 널리 알려진 것만 취약점만 파악해 패치해도 상당한 보안 사고를 막을 수 있다”고 역설했다. “하트블리드(Heartbleed)는 2011년부터, 푸들(POODLE)은 1996년부터, 프릭(FREAK)은 1990년대부터 생겨왔지만 죄다 2014년~2015년에 발견되었습니다. 그리고 여전히 오픈소스 코드에 존재하고 있고요.”
이는 “보안 담당자가 보호하고 있는 기업 내에 오픈소스 코드가 얼마나 사용되고 있는지 알 수가 없기 때문에 생기는 문제”라고도 볼 수 있다. “요즘 개발 환경에서 오픈소스는 아무리 못해도 전체 코드의 절반은 차지합니다. 다만 보안 담당자가 개발자들의 오픈소스 사용 현황을 일일이 통제할 수도 없고, 그걸 다 추적할 수도 없습니다. 개발자들이 소스코드를 사용하기 전에 보안 검사를 일일이 해보는 것도 요즘 개발 속도에 맞지 않고요. 그러니 1) 무슨 버전의 오픈소스가 사용되고 있는지, 2) 어떤 취약점이 존재하는지, 3) 어떤 패치를 적용해야 하는지 알 수가 없죠. 그래서 당했던 것에 또 당하는 현상이 발생하는 겁니다.”
오픈소스, 누군가 통제한다면 어떨까?
그러니 어디선가 사고가 났다하면 보안 담당자들은 자기에게 닥친 일인 것처럼 불안해한다. 사업을 시작하는 자의 미래처럼, 보이지도 않고 닿을 수도 없는 취약점들이 네트워크에 득실대고 있으니 말이다. 그렇기 때문에 일각에서는 아예 오픈소스를 관리하는 국제기관을 만들어 오픈소스를 등록하고 사용하는 걸 통제하고, 보안 취약점을 관리하도록 해야 한다는 주장이 있어왔다. 물론 그게 말처럼 쉬운 건 아니겠지만, 오픈소스 보안 취약점의 문제는 통제장치 없는 자유분방함에 근거하기에 일리가 있는 주장이기도 하다.
하지만 마이크 피튼져는 “철저히 보안의 관점에서야 괜찮은 주장일 수도 있지만 개인적으로 찬성하지는 못하겠다”고 분명히 말한다. “자유분방함이 오픈소스를 취약하게 하기도 하지만, 오히려 패치가 더 빨리 나오게도 합니다. 오픈되어 있기 때문에 발전도 빠르고 문제를 탐지하는 것도 빠르죠. 그걸 누가 통제하기 시작하면, 그런 장점들이 싹 사라질 거라고 봅니다. 그런 관리 기관을 만든다는 것 자체도 쉽지 않아 보이긴 하지만요.”
또한 그러한 생각은 “아무 것도 하지 못하게 함으로써 보안을 강화하겠다는 구시대적 발상과 같다”며 “요즘의 보안은 사업의 촉진제(business enabler)의 역할에 충실해야 한다”고 말을 이어갔다. “오픈소스의 좋은 점을 그대로 살리면서, 안전하게 사용할 수 있는 방법을 강구하는 게 건강한 방향이라고 봅니다.”
▲ 오픈소스 통합 관리? 난 반댈세.
오픈소스 사용 현황을 파악만 할 수 있다면
보안의 관점에서는 오픈소스를 다 막고 모든 개발을 백지에서부터 시작하게 한다면 문제가 해결된다. 관리적인 차원에서는 오픈소스 관리 국제기관을 만들어 전 세계적인 표준과 관리 방법론을 도입해 지키게 하면 된다. 하지만 이 둘 모두 오픈소스의 본질을 죽이는 행위다. 오픈소스의 본연을 보존하면서 안전까지 도모하려면, 우리 회사에서 사용되었거나 사용되고 있는 오픈소스에서 취약점들만 빼내면 된다. 간단하다.
“회사 내 모든 코드에 어떤 오픈소스가 포함되어 있는지 그 버전 정보와 함께 목록을 만들고, 그 코드에 대한 취약점 점검을 해서 그에 맞는 최신화 패치를 적용하면 됩니다.” 어디선가 밥 로스 화가의 ‘참 쉽죠?’ 목소리가 들리는 듯 하다. 이미 수천 장의 팔레트와 수천 리터의 물감을 사용해본 밥 로스니 그림 그리는 게 쉽지, 기껏해야 두 자리 수 도화지 적셔본 사람에게 이 쉽다는 말은 약 올리는 꼴이다.
마이크 피튼져 부회장이 오픈소스 취약점 문제를 두고 해결이 쉽다고 하지는 않았지만 해결의 기본 원리가 간단하다는 식으로 말한 건 블랙덕이 오픈소스 코드라인 오천억 개가 저장되어 있는 데이터베이스와 팔만 여개의 취약점 정보가 간직되어 있는 데이터베이스를 보유하고 있기 때문이다. 원래 쉬워 보이는 자신감의 뒤에는 남 모르는 데이터베이스가 있는 법이다. “게다가 그 데이터베이스들은 항시 업데이트 됩니다. 그리고 그 내용들은 블랙덕 고객들에게 실시간으로 전송되고 있지요.”
그러니 회사 내 개발 업무가 그리 활발하지 않거나, 많은 부분 아날로그 방식으로 일처리를 하는 곳에서는 블랙덕이 별 필요가 없다. 모든 개발을 백지부터 하는 개발자도 마찬가지고, 오픈소스 관리를 처음부터 엄격하게 해왔던 업체도 마찬가지다. 이미 그 내용과 해결방법까지 다 공개된 오픈소스 보안 취약점 가시화 및 관리에 자신 있다면, 검은 오리의 보은 따위 바라지 않아도 된다는 거다. 하지만 구글, 삼성, LG, 현대자동차, JP모건체이스, IBM, 지멘스, BMW 등의 기업들이 블랙덕의 오픈소스와 취약점 DB 업데이트를 활용하고 있다면, 그 자신감 갖기가 녹록치는 않은 것 같다.
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>