본문 바로가기

보안 Information

소프트웨어 공급망 공격과 그 대안! - 위드네트웍스

 

소프트웨어 공급망은 공산품의 공급망과 비슷한 면이 많습니다. 우선 둘다 최근 많은 어려움을 겪고 있다는 공통점이 있죠.

이대 공산품의 어려움은 팬데믹 현상과 원자재 쇼크가 원인이었던 반면에 소프트웨어의 경우 최근 년간 수백 또는 수천 명의 피해자를 동시에 노리는 해킹 공격이 바로 그 어려움의 원인이었습니다. 실제로 2020년부터 소프트웨어 공급망으로 인한 많은 보안 사고들이 발생하고 있습니다.

 

오늘은 소프트웨어 개발 사이클에서 일반적취약점인 개인 식별 정보 또는 기밀 사항에 대해 살펴봄으로써 소프트웨어 공급망의 메커니즘과 위험에 대해 자세히 알아보겠습니다또한 이러한 공격에 대해 조직적, 국가적에서 어떻게 대응하고 있는지 살펴보겠습니다.

 

IT 개발 사이클의 핵심인 공급망

 공급망이란?

오늘날 소프트웨어를 100% 자체 개발하는 경우는 거의 없습니다. 오픈 소스 라이브러리, 개발자 도구, 온프레미스 또는 클라우드 기반 배포 시스템, SaaS(Software -as-a- Service) 서비스 이러한 요소들은 최신 소프트웨어 개발에서 필수가 되었습니다.

 

이러한 각각의 요소들 자체로 공급망의 산물이기 때문에 공급망이란 하드웨어에서 개발자가 작성한 소스 코드, 타사 도구 플랫폼소프트웨어를 개발, 테스트 배포하기 위해 마련된 데이터 스토리지 모든 인프라에 이르기까지 IT 모든 측면을 포괄하는 개념이 되는 것이죠.

 

따라서 공급망은 기업이 디지털 트렌스포메이션 엔진이라고 할 수 있는 고도로 유연한 소프트웨어 공장을 구현할 있게 해주는 계층 구조라고도 할 수 있습니다.

 

소프트웨어 공급망 (Supply Chain) IMG source: cycode

 

 최근 오픈 소스 구성 요소 라이브러리가 대량으로 재사용되고 있습니다. 그 결과 보다 더 빨리 개발 사이클과 고객 기대에 따라 기능을 제공할 수 있게 되었는데요이러한 장점이 있는 반면 단점도 있습니다. 바로 제품에 들어가는 코드의 출처에 대한 통제력을 상실할 수 있다는 것입니다. 통제할 수 없는 요소들에 의존하는 것은 결국 소프트웨어 자체 뿐아니라 이를 사용하는 기업과 고객을 위험 노출시킬 수 있기 때문입니다. 이것은 분명히 중요한 사이버 보안 문제이며 공급망이 매년 점점 복잡해짐에 따라 그 심각성 또한 커지고 있습니다. 

 

약한 링크의 위험

 해커에게 소프트웨어 공급망은 여러 가지 이유로 흥미로운 대상이 됩니다. 소프트웨어를 구성하는 요소 수가 많고 복잡하기 때문에 공격 표면이 매우 크기 때문입니다. 또한 애플리케이션 보안은 내부 빌드 서버와 CI/CD 파이프라인 효과적으로 보호하기 위한 가시성 및 툴이 부족한 경우가 많기 때문입니다.

 

공격 표면 (Attack Surface) IMG source: JupiterOne

 

또한 오늘날 개발 체인이 지속적으로 발전하고 새로운 툴들을 도입하고 다는 것을 이해하는 것이 중요합니다이것은 DevOps의 특징을 정의하는 중요한 요소입니다.

 

DevOps(데브옵스): 소프트웨어 개발(Development)와 운영(Operation)의 합성어로서, 소프트웨어 개발자와 정보기술 전문가 간의 소통, 협업 및 통합을 강조하는 개발 환경이나 문화를 말한다. 또한 개발과 운영 사이의 경계를 모호하게 하여 개발자가 고객에게 가능한 한 빨리 기능을 제공할 수 있도록 하는 것을 말한다.

 

이때 적절한 관리 시스템 없이 이러한 DevOps 환경이 구현되거나 같은 부서 내에서도 팀마다 매우 다른 방식으로 개발 사이클이 운영된다면 어떻게 될까요? 서로 다른 개발 도구, 라이브러리 플랫폼으로 인해 효과적인 보안 관리의 초석이 되는 정확한 인벤토리를 생성하기가 매우 려워지게 될 것입니다.

 

해커는 공급망을 악용하여 공격의 영향을 최대화하여 결과적으로 수익을 극대화하는 방법을 찾습니다이를 이해하려면 소프트웨어 개발 기업의 공급망의 제품과 서비스가 다른 공급망의 한 요소가 될 수 있음을 충분히 고려해야 합니다공급망의 링크에 성공적으로 침투한 공격자는 전체 사용자 기반에 침투할 있으며, 이는 최악의 결과를 초래할 있습니다.

 

공급망 공격의 증가

2020년을 발칵 뒤집었던 SolarWinds 공격에 대해 살펴보겠습니다. 2020 3월에서 6 사이에 다수의 미국 정부 기관을 포함하여 18,000명의 SolarWinds Orion 플랫폼 고객이 자신도 모른채 악성 코드가 포함된 업데이트를 다운로드했습니다. 그 결과 거의 100 개체의 시스템 사설 네트워크에 대한 무단 백도어 액세스 권한을 해커에게 부여하게 되었습니다. SolarWinds 2020 12월까지 위반 사항을 발견하지 못했고 그 결과 전 세계적인 사이버보안 사고가 터졌습니다. 바로 이 엄청난 보안 사고의 원인이 소프트웨어 공급망이었습니다.

SolarWinds 공급망 공격 IMG Source: CYBERARK

솔라윈즈의 사례 뿐 아니라 전 세계적으로 공급망 공격이 크게 증가하고 있습니다. 

 

l  오픈 소스를 전파 매개체로 사용하여 공급망에 도달하는 공격의 수가 2020년에서 2021년 사이에 650% 증가했습니다
l  ENISA(European Cybersecurity Agency)는 공급망 공격이 2022년까지 4배 증가할 것으로 예측됩니다

 

소프트웨어 공급망을 보호하기 위해서는 오픈 소스 구성 요소의 사용 목록을 작성하거나, 무결성을 확인하거나, 민감한 정보의 유출을 방지하는 시스템  도입 등의 많은 방법들이 있지만 오늘은  걸음 물러서서 공급망 공격의 핵심 보안 요소 자세히 살펴보겠습니다.

 

공급망의 열쇠: 기밀

암호화되지 않은 크리덴셜(credential) 확보하는 것은 해커가 공급자에서 고객에 이르기까지 공급망을 포착 공격할 있는 완벽한 방법일 것입니다. 유효한 크리덴셜을 사용하면 공격자가 인증된 사용자처럼 행동하기 때문에 침입 탐지가 훨씬 어려워지기 때문입니다.

 

방어적인 관점에서 하드 코딩된 밀은 취약점이 될 수 있습니다. 소스 코드는 본질적으로 여러 시스템에 자주 복제되고 배포되도록 만들어졌기 때문에 매우 되기 쉽기 때문입니다. 사실, 그러나 이 코드에 문제가 되는 것은 코드에도 '메모리' 있다는 것입니다.

 

오늘날 모든 코드 리포지토리(code repository) 버전 제어 시스템(VCS), 일반적으로 Git 통해 관리되며 때로는 수십 년에 걸쳐 코드 기반의 파일에 적용된 모든 변경 사항의 완벽한 히스토리를 반영하고 있습니다. 문제는 여전히 유효한 밀이 해당 타임라인의 아무 곳에나 숨어서 소프트웨어 공격 표면에 새로운 차원 있다는 것입니다.

 

l 코드 리포지토리(Code Repository): 작업 중인 코드의 아카이브이다. 코드 자체 외에도 설명서, 메모, 웹 페이지 및 기타 항목을 저장소에 보관할 수 있다.

IMG Source: W3docs

 

불행하게도 대부분의 보안 스캔은 애플리케이션 소스 코드의 현재 상태, 배포된 상태 또는 배포될 상태를 확인하는 것으로 범위 안에서만 이루어집니다, 오래된 커밋(Commit)이나 배포되지 않은 브랜치(branch) 숨겨진 기밀은 스캔하지 못한다는 것입니다.

 

l 작년 한 해에만 GitHub의 공개 리포지토리에 600 만개이상의 기밀이 공개되었습니다.
평균적으로 1,000개 중 3개의 커밋에 기밀이 포함되었습니다. 이는 전년도에 비해 50% 증가한 것입니다.

 

이러한 많은 기밀이 기업 리소스에 불법적인 접근을 가능하게 합니다. GitHub에서 호스팅되는 대부분의 오픈 소스 프로젝트가 개인 리포지토리인 경우에도 전문 개발자가 회사 리소스에 대한 액세스 권한을 부여하는 코드를 실수로 공개하기가 매우 쉽다는 것이 믿겨지시나요? 실제로 이러한 일들이 종종 발생한다고 합니다.

 

GitHub Codespaces IMG Source: GitHub

 

따라서 소프트웨어 공급망 공격하려 공격자는 GitHub 공개 리포지토리를 면밀히 살펴본다고 합니다. 왜냐하면 소스에 존재하는 밀인 결함을 손쉽게 발견할 기 때문입니다. 심지어 이러한 코드는 시스템에 자신을 인증할 기 때문에 이러한 코드를 통해서 공격자는 너무나도 쉽게 중요 시스템에 접근할 수 있는 것이죠.

 

가능한 빨리 침입 위험을 위한 해결책은 하나뿐입니다. 바로 기밀을 즉시 제거하는 것입니다그러나 경험과 지식이 부족한 경우 오류를 잡기 위해 기밀 지우는 커밋을 추가하려고 하지만 이는 보안 결함을 전혀 처리하지 합니다. 실제로 Git 추가, 수정 및 삭제 모든 코드 기록을 추적하기 때문에 현실적으로 과거 오류의 흔적을 모두 지우기는 어렵기 때문입니다. 그 결과 밀이 코드의 "최종" 상태에서 제거된 후에도 온라인에서 속 이 기밀을 포착해서 공격에 사용할 수 있다는 것이죠.

 

l Git(깃): 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템 또는 명령어이다.

 

그러나 문제는 여기서 끝나지 않습니다. 밀이 포함된 파일이 "깨끗한" 파일로 대체되면 수동 코드 검토 또는 스캐너와 같은 기존 보안 툴 이상 가 안 됩니다. 그렇다면 이러한 오류를 더 발견하기 어렵게 되어 우리가 알지 못하는 사이 수많은 기밀들이 전파될 수 있다는 것입니다. 또한  코드가 복제될 때마다 결함이 복제되어 오랫동안 조용히 전파될 위험이 있기 때문에 더욱 처리하기가 힘든 것이죠.

 

 

2022년 7월, 거대 암호화폐 바이낸스는 "10 명의 중국거주자 기록" 유출한 것으로 추정되는 대규모 침해에 대해 경고했습니다. 이 기록에는 이름, 주소, 국적, 전화번호, 의료 기록이 포함되어 있었는데요, 이러한 거대한 유출의 원인이 뭐였을까요? 거대한 개인 정보 데이터베이스에 연결하는 밀이 포함된 소스 코드의 일부가 중국 CSDN  개발자에 의해 복사되어 블로그에 붙여진 것으로 추정됩니다.

 

IMG Source: threatpost

 

조직적 대응: 개발 사이클에 보안을 도입하라

DevSecOps 등장

소프트웨어 공급망에는 기존의 보안 방법으로는 해결되지 않는 회색 영역이 많이 있습니다따라서 조직은 생산성과 탄력성 간에 적절한 균형을 유지하는 개발 라이프 사이클 보안을 도입해야 필요가 있습니다.

 

DevSecOps DevOps 보안을 추가하는 것으로 구성됩니다. DevOps 개발자가 운영 팀과 보다 효과적으로 협력할 있도록 하는 프로세스와 기술을 결합하는 개발 방식입니다. 제품 개발 단계에서 지속적인 방식으로 코드를 통합, 테스트, 검증 제공해야 합니다.

 

DevSecOps: 개발(Development), 보안(Security) 및 운영(Operation)의 합성어로 초기 설계에서부터 통합, 테스트, 배치 및 소프트웨어 딜리버리를 거치면서 소프트웨어 개발 주기의 모든 단계에서 보안의 통합을 자동화하는 것을 말한다.

DevSecOps IMG Source: Dynatrace

 

 

보안 관리자의 경우 DevOps 빠른 속도를 유지하면서 개발 주기의 초기 단계(계획, 설계)부터 보안 포함하여 결함을 보다 일찍 포착해 결과적으로 MTTR(평균 대응 시간) 단축해야 합니다.

 

MTTR(Mean Time to Respond; 평균 대응 시간): 장애 또는 사이버 공격에 대한 알림을 받은 후 시스템을 정상 작동 상태로 되돌리는 데 필요한 평균 시간

 

DevSecOps 가장 중요한 요소는 보안  개발 주기  모든 단계에 포함되어야 한다는 생각의 전환이 될 것입니다. 보안은 버전이 출시되기 직전에 확인해야 하는 단순한 체크리스트로 존재할 없습니다.

 

책임 분담 원점 회귀

DevSecOps 전환을 시작하려는 조직의 경우 소프트웨어 공급망을 효과적으로 확보하기 위해 책임 분담원점 회귀(Shift Left)변화를 유도하는 것이 좋습니다.

 

원점회귀(Shift Left) IMG Source: Dynatrace

 

이러한 새로운 보안 모델은 프로젝트에 관련된 모든 구성원이 책임을 분담하는 것을 의미합니다. 또한 "원점 회귀(shift left)"라는 용어는 보안 운영을 조기에 이동하고 탐지 치료에 드는 비용을 절감하기 위해 보안을 사일로에서 벗어나려고 하는 현상을 설명하는 합니다.

 

개발자의 권한 부여는 이를 위한 필수 요인입니다. 그렇기 때문에 그들은 자신의 필요와 작업 방법을 고려하기 위해 보안 결정에 참여해야 합니다. 또한 개발팀보다 규모가 작은 보안팀은 가장 복잡한 경우를 대비해 신속하게 동원될 준비를 해야 합니다.

 

주기의 단계에서 보안성을 증진하기 위해 모든 간에 투명성한 커뮤니케이션 및 협력을 위한 노력이 필요합니다이것은 신뢰의 환경을 조성하고 비난을 책임 도구로 사용하는 것을 거부하는 문화를 조성하기 위한 필수 조건입니다. 공급망을 따라 일하는 다양한 직업 간의 협업은 이제 정보 시스템 보안의 우선 순위입니다.

 

 

국가적 대응: 공급망 보안 포럼 출범

 

이러한 전세계적인 흐름 가운데 2022년 10월 과기부가 디지털 질서를 위한 새로운 보안 패러다임 마련을 위해 '제로트러스트・공급망 보안 포럼'을 출범하였습니다. 올해 삼성전자와 LG전자 등 국내 대기업도 신흥해커 조직 '랩서스'로부터 공격을 받는 등 우리나라도 공급망 공격에서 더이상 안전하지 않습니다.

 

 

이미 미국은 '제로트러스트'와 '공급망' 보안에 대한 정책 수립을 진행하고 있는데요, 올해 바이든 정부는 국가 사이버 보안 개선에 대한 행정 명령을 발표하면서 제로트러스트 아키텍처를 연방정부에서 구현하도록 하였습니다. 

 

이렇게 전세계적으로 공급망 보안에 대한 필요성과 이를 위한 움직임들이 곳곳에서 일어나고 있습니다.

 

 

앞으로 위드네트웍스 또한 제로트러스트와 공급망 보안에 대해 끊임없이 고민하고 연구하여
전세계 흐름에 맞을 뿐 아니라 고객사 환경에 최적화된 사이버 보안 모델을 구축하겠습니다.





위드네트웍스
는 지난 10여년 간 매지니드 보안 시장의 선도 주자로서 축적된 노하우와 인프라를 기반으로 Global New Technology 기반의보안 솔루션을 개발할 뿐 아니라 클라우드, 5G, 와이파이 등 디지털 트랜스포메이션의 기반이 되는 인프라를 구축하여 4차 산업 혁명을 선도하고 있습니다.

 

또한 다양한 보안 전문 기술/컨설팅 노하우 및 지능형 보안 플랫폼을 통하여 고객사 환경에 최적화된 정보 보안 및 IT 인프라를 구축하고 있습니다. 여러분의 비즈니스를 안정적으로 운영하기 위한 도움과 다가올 보안 이슈에 대응하기 위해 도움이 필요하시다면 언제든지 자유롭게 연락해주세요!

 

위드네트웍스는 여러분의 비즈니스를 응원합니다!




Copyright(c) 2022. (주)위드네트웍스 All Right Reserved.


<참고내용: "How the Software Supply Chain Security is Threatened by Hackers", The Hacker News, 2022.10>