오픈 소스 SW 구성 요소 악용, 사이버공격 날로 늘어나
합법적 패키지 복사, 악성 코드 삽입, 유사한 이름 업로드 수법
[애플경제 김향자 기자] 오픈 소스 소프트웨어는 무료이고 사용하기 쉬우며 여러 비즈니스 애플리케이션의 효율성을 높여준다. 그러나 오픈소스 소프트웨어가 널리 사용되면서 사이버 공격의 표적이 되는 오픈 소스 소프트웨어도 점점 늘어나고 있다.
사이버보안 업체인 ‘멀웨어바이츠’와 이를 인용한 ‘AI 포스트’, ‘채널Pro’ 기술전문매체 전문가들은 심지어 “실존적 긴장으로 인해 오픈소스가 위기 지점에 놓이게 되었다”고까지 한다.
이에 따르면 “비즈니스 애플리케이션이 의존하는 소프트웨어를 대상으로 하는 오픈 소스 소프트웨어 공격으로 모든 부문의 기업이 인지해야 할 위험이 점점 커지고 있다”고 강조했다.
특히 또다른 사이버 보안 회사인 ‘체크막스(Checkmarx)’는 “은행 부문을 대상으로 한 오픈 소스 소프트웨어 공격이 극심해지는 가운데, 그런 추세가 지속적으로 이어질 것”이라고 했다.
그렇다면 왜 그런 문제가 발생하며 이를 방지하기 위해선 어떻게 해야 할까? 앞서 보안업체와 전문가들의 조언을 종합하면 우선 오픈 소스 소프트웨어 공격은 본질적으로 공급망이 주타깃이다.
‘협업’ 위한 오픈소스 본질 자체가 취약점
역시 사이버보안 기관인 ‘카스퍼스키(Kaspersky)’ 사이트에 따르면 특히 오픈 소스 소프트웨어의 본질이 오히려 취약점이 된다. 즉, “본질적으로 오픈소스는 이를 수정하고 배포하기 위한 협업을 장려하기 때문에 위험이 매우 크다”는 것이다.
그래서 오픈 소스 소프트웨어 공격은 해커가 오픈 소스 코드의 취약점을 악용하여 숨겨진 위협 요소를 심는 방식으로 이뤄진다. 이러한 오픈소스 패키지를 사용하는 제품은 대책없이 당할 수 밖에 없는 것이다.
또 다른 오픈 소스 소프트웨어 공격 수법은 라이브러리에서 사용할 수 있는 합법적인 패키지를 복사하고 여기에 악성 코드를 삽입하는 것이다. 즉, 범죄자들은 오염된 소프트웨어 패키지를 유사한 이름으로 공개 저장소에 다시 업로드하고, 이를 의심하지 않는 피해자가 다운로드할 때까지 기다리곤 한다.
보안 회사 ‘체크막스’의 한 보안 전문가는 실제 오픈 소스 소프트웨어를 표적으로 삼는 여러 사례를 소개했다.
즉 ‘LofyGang’이라는 공격 그룹과 연결된 수천 개의 설치가 포함된 약 200개의 악성 NPM 패키지가 횡행한 것이다. 또 다른 공격 그룹인 ‘RED-LILI’는 소프트웨어 공급망을 대상으로 하는 공격 생성 프로세스를 자동화하는 ‘공장’을 만들기도 한다.
또 개발자의 개인 데이터와 자격 증명을 훔치기 위해, 개발자들 간에 인기 있는 PyPI(Python Package Index) 저장소를 악용하기도 하다. 즉, 이를 통해 배포된 악성 Python 패키지를 개발자들이 의심하지 않고 설치하도록 한 것이다.
은행 등 금융 부문이 주 타깃
이런 공격으로 인해 특히 은행을 비롯한 금융 부문이 가장 큰 타격을 입고 있다. 보안회사 ‘체크막스’ 보고서에 따르면 특히 은행들은 오픈 소스 소프트웨어에 크게 의존하고 있으므로 손쉬운 ‘먹잇감’이 되고 있다.
특히 금융업계는 ‘매우 민감하고 가치 있는 데이터’를 처리하므로, 해커들이 가장 노리는 대상이 될 수 밖에 없다. “특히 업계의 디지털 혁신이 계속 진행되면서 은행은 더 큰 공격 표면에 노출되어 사이버 범죄자의 매력적인 표적이 되고 있다”는 것이다.
또한 여러 오픈 소스 구성 요소가 함께 작동하는 것을 볼 수 있도록 한, 복잡한 뱅킹 시스템도 원인이 되고 있다. 흔히 이를 적절하게 관리하지 않는 경우가 많아 보안상의 공백이 발생하곤 한다는 지적이다.
전문가들은 또 “금융 부문 외에도 오픈 소스 구성 요소에 지나치게 의존하거나, 이를 통합한 모든 산업 부문에 영향을 미칠 수 있다”면서 “의료, 소매, 정부 및 기술산업 등도 큰 피해를 입을 수 있다”고 경고했다.
내․외부의 SW에 대한 정확한 인식이 중요
이를 방지하기 위해선 무엇보다도 자체 개발했거나, 외부에서 도입한 SW에 대한 정확한 인식이 중요하다는 조언이다.
예컨대, Log4j 공격을 관리하기 어려운 주된 이유도 그런 경우다. 즉 소프트웨어가 어떤 구성 요소를 사용하고 있는지 확인하는 데 어려움을 겪었기 때문이다. 일부 기업들은 위험에 처해 있음을 깨닫는 데 몇 달이나 걸린 것으로 전해졌다.
그래서 “개발자가 비즈니스에서 사용되는 오픈 소스 소프트웨어 패키지를 자세히 설명하는 문서를 사용해야 한다”고 권한다.
컨설팅 회사 NCC 그룹은 “오픈 소스 소프트웨어 프로젝트는 악성 코드가 추가되지 않았는지 확인하기 위해 그 사용을 승인하기 전에 ‘엄격한 코드 검토’를 거쳐야한다”고 했다.
또 개발자는 취약점이 발생할 가능성을 줄이기 위해 보안 코딩 관행을 따를 것을 권한다. 즉, 소프트웨어 개발자는 신뢰할 수 있는 소스에서만 다운로드해야 한다. 그래야만 프로젝트의 공식 사이트나 잘 알려진 패키지 저장소에서 악의적인 수정을 방지할 수 있다는 주문이다. 또 침투 테스트 및 보안 검색을 포함한 정기적인 보안 테스트도 필수적이다.
