2020-04-01 23:30 (수)
[기고] 개발자의 오픈소스 사용과 보안과의 관계에 대한 고찰
상태바
[기고] 개발자의 오픈소스 사용과 보안과의 관계에 대한 고찰
  • 길민권 기자
  • 승인 2017.11.20 11:01
이 기사를 공유합니다

오픈소스 사용하는 경우, 고객사에 미칠 보안상 이슈에 대해 보다 관심을 가져야

no-2.jpg
[황석훈 타이거팀 대표] 얼마전 모 블로그에서 글을 하나 읽었다. 글쓴이는 개발자였다. 자신이 웹용 오픈소스(게시판, 쇼핑몰 패키지 등등) 이용해 웹사이트를 개발해 주었는데, 고객사에서 남의 소스를 가지고 개발하는 사람도 개발자냐는 등의 핀잔을 들었다고 한다. 그래서 자괴감에 빠졌다는 이야기였다. 이에 댓글이 많이 달렸고 대부분 개념없는 고객을 욕하는 내용들이었다.

일단, 고객이 핀잔을 줬다는 부분에 대해 잘못했다는 것은 개인적으로도 동의한다. 고객이 돈을 지불하는 것은 원하는 기능 구현에 있지 어떤 언어로 어떤 방식으로 개발하라는 내용이 계약서에 없는 한 그러한 발언을 해서는 안된다. 어쩌면 높은 생산성 덕분에 빠른 결과물을 받은 것에 오히려 감사해야 할지도 모르겠다.

하지만 필자는 이 글을 보면서 뭔가 어색함을 느꼈다. 그건 바로 직업적인 이슈, 즉 보안적인 이슈였다.

해당 개발자는 납품 이후 업체가 어떤 식으로 운영하던 관심을 가질 이유가 없을 것이다. 여기에 전제중 하나는 해당 개발자가 보안에 관심이 없을 확률은 가질 확률보다 매우 높다고 생각한다. 대부분의 경우 이러한 고객사의 상황은 내부 개발자가 없거나, 자체적으로 운영이 어려운 경우들이 많다. 운영이 가능하다고 하더라도 운영자가 보안 전문가가 아닐 확률이 매우 높다고 판단된다.

따라서 해당 웹용 오픈소스에 취약점이 발견될 경우, 고객사는 대응방안이 사실상 없는 것이다. 개발자는 자신의 편리와 생산성의 논리에 따라 개발했을지 모르지만, 그 때문에 고객에게는 잠재적인 보안 위협을 내포해 전달한 것이다.

오픈소스 취약점은 대부분 구조와 설치 경로가 유사해 취약점 스캐너 개발도 쉽다. 따라서, 한번 발견되면 신속한 패치만이 유일한 해결책이다. 그게 아니라면 사이트를 일시적으로 폐쇄하거나 하는 등의 방안이 필요하다. 유명한 오픈소스일수록 파급력은 더 크다. 하지만 고객사의 입장에서는 이러한 정보를 쉽게 접하기는 힘들다.

따라서 만약 오프소스를 이용해 개발을 하게 될 경우에는 반드시 계약후 몇 년 동안 오픈 소스 취약점이 발견될 경우 개발사에서 이를 사전에 인지하고 패치를 해 줄 것을 요청하는 내용이 담겨야 한다고 생각한다. 물론 해당 업체가 폐업하지 않는다는 전제가 있어야 하지만 말이다.

그러면 자체로 개발하면 안전하냐라고 반문할 것이다. 필자가 이 부분에 대해서 답할 수 있는 말은 “모른다”이다. 개발사가 얼마나 보안에 대해서 이해도가 있는지에 따라서 결정될 것이기 때문이다. 또한, 그러한 경험들도 필요할 것이다.

하지만 자체로 개발했을 경우에는 적어도 위의 상황을 직면할 일은 발생하지 않을 것이다. 해서 일반적으로 보안에서 논하는 것은 개발시에 오픈소스 사용을 자제하라고 하는 것이다. 오픈소스가 아니라면 악의적인 사용자가 직접 해당 사이트를 찾아와서 취약점을 고의적으로 발견하기 전까지는 찾기가 쉽지 않기 때문이다. 이러한 것이 취약점이 “있다-없다”, “더 많다-적다”의 논지가 아님을 다시 한번 밝힌다.

최근 3100만원치의 명품 시계를 2만원에 구매한 사건이 발생했는데, 법원이 판결(2016가단5146446)에서 피해액의 절반을 개발사가 책임지라고 판결한 사건이 있었다. 이건 매우 전형적이고 간단한 해킹 기술로 파라미터 조작을 통해서 가격을 조작한 것이다. 쇼핑몰에서 매우 흔한 기술이고, 특히나 패키지에서 자주 발생하는 문제점이다.

필자는 간혹 강의할 때 대한민국 쇼핑몰 80% 이상은 가능할 것이라고 애기하기도 했던 부분이다. 대부분의 결제 시스템 업체는 암호화 방식을 제공하지만, 개발자의 대다수는 공개된 패키지 사용을 선호하고 한번 개발된 제품을 재 판매에만 집중하기 때문에 생기는 문제라고 판단된다. 현재 공개된 많은 패키지는 여전히 이 문제를 가지고 있다.

오픈소스는 개발 기간을 단축해주고 보장된 성능과 기능을 빠른 시간내에 구현 가능하게 해준다. 이러한 점은 매우 유용하며 오픈소스 사용을 개인적으로도 권장한다. 하지만 오픈소스를 사용하는 경우 고객사에 미칠 보안상의 이슈에 대해서 보다 관심을 가지고 개발에 임해주었으면 하는 보안을 하는 사람으로서의 바람이다.

▲ 황석훈 타이거팀 대표
▲ 황석훈 타이거팀 대표
글. 황석훈 타이거팀 대표 / h9430@tigerteam.kr



★정보보안 대표 미디어 데일리시큐!★