brunch

You can make anything
by writing

C.S.Lewis

[넋두리 2] 9. 오픈소스의 반격

Log4j 사태의 교훈 : 공짜는 없다

정말 세상에 공짜는 없다.


  2021년 12월 초부터 전 세계를 강타한 보안 위협인 Log4j 취약점으로 인해 세계의 모든 기업/기관 보안조직 담당자들이 2022년 새해 1월까지도 관련 조치에 매달려야 했다. 일부 언론들과 보안전문가들은 '사상 최악의 위협'이니 '가장 치명적인 취약점 발견' 등의 용어를 써가면서 호들갑을 떨 정도였으니 더 말해 무엇하겠는가. 힘들게 보안조직이 조치를 마무리할 때쯤 다시 Log4j 취약점이 나타나 재조치를 하고, 또 취약점이 나와 재재조치를 하는 과정이 반복되면서 새해 1월까지 이어지고야 말았던 것이다. 더해 일부 보안업체들은 이 기회를 틈 타 설루션을 판매해 보고자 Log4j 취약점 대응방안이라는 주제로 각종 세미나를 개최해 초청 메일을 보내고 있다.


하지만 정작 위험한 것은 Log4j가 아닌 Log4j의 본래 정체다. Log4j의 정체가 오픈소스이기 때문이다. 


  오픈소스란 오픈소스 소프트웨어의 줄임말로 영어 약자로 OSS라고 표현하기도 한다. 개발자가 자신이 개발한 프로그램을 누구나 가져다 사용할 수 있도록 라이브러리 형태로 제작해 공개한 소스코드를 말한다. 누구나 사용하도록 허용하였으므로 전 세계 많은 개발자들이 수 없이 많은 오픈소스 중 자신이 원하는 기능을 찾아서 프로그램 개발에 사용하고 있다.


  문제가 되는 부분은 공개된 오픈소스를 전 세계 여러 개발자들이 가져다 개발에 사용하고 있으므로 정확히 누가 어디에 적용해서 개발했는지를 확인하는 것이 어렵다는 점이다. 이번에 논란이 된 Log4j 하나만 놓고 보더라도 취약점이 발견되었다는 사실보다 대체 어느 프로그램에 해당 오픈소스를 가져다 사용했는지를 누구도 모른다는 점이 가장 큰 위협이 되었다. 알면 바로 조치하면 되지만 사용 여부를 모르니 보안조직이 조치 여부를 결정할 수 없었던 것이다. 꽤 시간을 들여 사용 여부를 조사한 뒤에야 조치 여부를 결정하고 조치할 수 있었던 만큼 Log4j로 인한 위협의 규모가 커졌고, 그 이유로 '사상 최악의 위협' 등의 타이틀이 붙게 된 것이라고 볼 수 있다.


개발자들은 왜 오픈소스를 사용하는 것일까? 


  개발자가 모든 기능을 직접 개발하기에는 너무 많은 시간과 노력, 비용이 필요하다. 때로는 개발자의 능력이 부족해 해당 기능을 개발하지 못하는 경우도 있다. 그때 오픈소스가 문제를 해결해 주는 역할을 하게 된다. 이미 기능 개발이 완료되어 제공되는 것이므로 그냥 가져가 사용하기만 하면 된다. 개발에 필요한 시간도 노력도 비용도 절감되는 것이다. 이러한 장점으로 인해 전 세계 거의 모든 개발자들이 오픈소스를 가져다 프로그램 개발에 사용하고 있다. 사용되는 분야도 산업 전분야에 걸쳐 있다. 웹 개발, 인공지능 분야, 가상현실 분야, 클라우드 서비스, 빅데이터, 게임, 쇼핑몰, 가전제품, 군사 분야 등 모든 분야에 걸쳐 있다.


  이번 사태는 그렇게 많은 이로움을 제공했던 오픈소스의 사용으로 인한 부작용이 시작된 것이라고 할 수 있다. 오픈소스의 반격이 시작된 셈이다. 


  Log4j 뿐 아니라 헤아릴 수 없이 많은 오픈소스들이 제공되고 있고 지금도 개발자들이 이를 이용해 개발하고 있다. 기업/기관에서 사용되고 있는 상용 소프트웨어의 대부분에도 오픈소스들이 이용되었다고 하니 거의 모든 소프트웨어에 다양한 오픈소스들이 사용되고 있다고 봐도 무방하다.


  해커들이 이 오픈소스를 이용한 공격을 시작했다. 하나의 오픈소스에서 하나의 취약점만 제대로 발견해 내도 전 세계를 대상으로 한 공격이 가능한 취약점이다. 이번 Log4j 사태에서 세상은 그 점을 뼈저리게 깨달았다. 


  이제 우리에게 남은 과제는 분명하다. Log4j 취약점 조치라는 단기적 작업이 아닌 오픈소스의 반격에 대비해야 한다. 지금 저 멀리서 제2 제3의 Log4j 사태가 밀려오고 있다.

이전 08화 [넋두리 2] 8. 좋은 개발보안이란 무엇인가!
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari