메인 콘텐츠로 건너뛰기
눈 부분에 가느다란 슬릿이 있는 헬멧을 착용한 은색 갑옷을 입은 기사의 머리와 어깨를 찍은 사진.
관점

7 소프트웨어 공급망을 방어하는 방법

해커들의 수법이 점점 더 정교해지고 소프트웨어가 점점 더 복잡해짐에 따라, CISO들은 악성 소프트웨어 공격을 식별하고, 격리하며, 그 피해를 완화하는 능력을 향상시켜야 합니다. 자동화와 AI는 그들에게 새로운 든든한 조력자가 될 것입니다.

지난 몇 년간 네트워크 위협에 주목해 오셨다면, 아마도 어떤 변화가 있었음을 눈치채셨을 것입니다. 악의적인 행위자들은 여전히 봇넷과 자동화된 랜섬웨어 공격을 수행하고 있지만, ‘빅 게임 헌팅’ – 즉, 수많은 조직에서 사용 중인 소프트웨어를 공급하는 공급망을 공격하는 데 더 많은 노력을 기울이고 있습니다.

이 공격들의 이름은 이제 악명 높습니다. SolarWinds, Kaseya, NotPetya, 그리고 2023’s MoveIT 침해 사건 등이 대표적이며, 공급망을 표적으로 삼는 것의 이점은 분명합니다. 바로 더 큰 이익을 얻을 수 있다는 점입니다. 해커들이 GitHub 저장소를 통해 오픈소스 또는 타사 라이브러리를 침해하든, 패키지화된 소프트웨어에서 취약점을 발견하든, 아니면 사회공학적 기법을 이용해 개발 환경에 침투하든, 단 한 번의 공격만으로도 전 세계 수백, 수천 개의 사설 및 공용 네트워크에 침투할 수 있습니다.

The SolarWinds attack impacted some 18.000 enterprises; MoveIT, more than 2.500 organizations (and counting), affecting some 67 million people.

Juniper Research predicts that by 2026, software supply chain attacks will cost the global economy nearly $81 billion, with the majority of those costs hitting healthcare, finance, government, and automotive industries.

보안 책임자의 목표는 취약점을 근절하고 공격 표면을 줄이는 것입니다. 컴퓨터 네트워크에 대한 침해는 공격자가 백도어를 심어놓은 신뢰할 수 있는 소프트웨어를 설치하는 것부터, 의 ‘섀도우 IT’와 같은 위협을 간과하는 것에 이르기까지, 점점 더 교묘하고 미묘한 방식으로 발생하고 있습니다. 후자의 경우, 직원이 승인되지 않은 설치 프로그램이나 프리웨어를 다운로드하는 단 한 번의 부주의한 행동만으로도 수개월 또는 수년에 걸친 보안 노력이 물거품이 될 수 있습니다.

그렇다면 ‘ ’의 최고정보보안책임자(CISO) 는 어떻게 해야 할까요? 해커들이 이러한 영향력이 큰 표적에 집중하고 있는 만큼, CISO들은 선제적으로 대응해야 합니다. 그들이 흔히 듣는 조언은 “믿되 확인하라”는 것이다. 하지만 이는 신뢰를 전제로 한 것이며, 그러한 전제는 점점 더 문제가 되고 있다. 제가 CISO들에게 전하는 말은 다음과 같습니다. “ ” 제로 트러스트 – 신원이 확인될 때까지는.

끊임없는 위협에 직면한 복잡한 공급망

예전에는 소프트웨어를 설치하는 것이 꽤 간단했습니다. 신뢰할 수 있는 공급업체를 찾아서 해당 제품을 다운로드하기만 하면 됐죠. 오늘날 공급망에는 라이선스를 구매한 회사뿐만 아니라, 소프트웨어를 구성하는 타사 구성 요소, 직원들이 사내에서 직접 개발하고 개선하는 유틸리티, 그리고 클라우드()에서 사용하는 소프트웨어까지 포함됩니다.

“CISO는 선제적으로 대응해야 하며, [새로운] 간단한 모토인 ‘제로 트러스트 – 확인될 때까지’를 따라야 합니다.”

소프트웨어 공급망에서 새로운 취약점(아파치 스트러츠, OpenSSL, cURL 및 기타 공유 유틸리티와 라이브러리에서 발견된 것과 같은)이 놀라울 정도로 빈번하게 나타나고 있다. 악의적인 행위자들이 이러한 해킹된 코드를 묶어 알려진 소프트웨어에 삽입할 때, 그들은 단순히 취약점을 악용하는 것뿐만 아니라 소프트웨어가 “안전하다”는 공급자와 고객 간의 신뢰까지 악용하고 있는 것이다. 만약 악의적인 공격자가 소프트웨어 회사가 코드의 진위 여부를 인증하는 데 사용하는 기술에 침투한다면, 그 악성 코드는 코드가 변조되었다는 사실을 아무도 모른 채 외부로 퍼져 나가게 됩니다.

설상가상으로, 해커들은 서명 인증서나 개발자 자격 증명을 탈취한 뒤, 이러한 특권적 신원을 이용해 자신의 악의적인 의도가 보안 탐지 시스템을 우회하도록 할 수도 있습니다.

다행히도, 적절한 도구와 철저한 준비, 자동화, 그리고 네트워크 아키텍처에 대한 ‘검증이 완료될 때까지 신뢰하지 않는(zero-trust-till-verify)’ 접근 방식을 통해 보안 책임자들은 이러한 위협을 신속하게 파악하고 무력화하는 방법을 익힐 수 있습니다. 다음 7가지 단계를 따르실 것을 권장합니다:

1. 네트워크 현황 파악부터 시작하세요

속담에 “보이지 않는 것은 지킬 수 없다”고 하듯이. 조직 내의 모든 기기와 소프트웨어에 대한 완벽한 현황 파악이 가능하도록, 필요한 도구와 프로세스, 그리고 훈련된 인력을 갖추어야 합니다. 의 자동화된 엔드포인트 관리 또는 보호 시스템은 모든 엔드포인트에서 정상적으로 작동하는 한, 공격 표면을 보호하는 데 도움이 될 수 있습니다.

자동화 솔루션 은 귀사의 소프트웨어 공급망을 보호하는 데에도 도움이 될 수 있습니다. 단순히 숫자적인 측면에서만 보더라도, 개별 조직이 직면한 문제, 대응 대상, 그리고 과제는 해당 조직에 소속된 사이버 보안 전문가의 수보다 훨씬 더 많습니다. In its Cost of a Data Breach 2023, IBM notes that “organizations that used [AI and automation] experienced, on average, a 108-day shorter time to identify and contain the breach,” and saved an average of $1,76 million in lower data breach costs.

이 싸움에서 AI 또한 든든한 아군이 될 것입니다. 아직은 신생 기술이지만, 에서 볼 수 있듯이, 제가 종종 ‘ ’라고 부르는 ‘augmented intelligence’가 보안 팀이 더 빠르고 전반적으로 더 높은 정확도로 우선순위를 결정할 수 있도록 지원할 것이라는 점에서 유망한 잠재력을 지니고 있습니다.

[함께 읽어보세요: AI 사이버 보안에 대한 완벽한 가이드 – 이점, 위험 및 보상]

첨단 기술을 활용하면 공격 대응에 수반되는 업무 부담을 줄일 수 있을 뿐만 아니라, 이에 따른 인력의 소진과 “경보 피로”로 인해 발생하는 인적 오류도 줄일 수 있습니다.

2. SBOM을 활용하세요

현대 소프트웨어가 그토록 쉽게 악용될 수 있게 만드는 한 가지 특징은, 더 이상 처음부터 새로 작성되지 않는다는 점이다. 개발자들은 제3자 온라인 코드 라이브러리에서 코드 스니펫을 가져오는데, 이러한 스니펫 하나하나가 잠재적인 취약점을 내포하고 있습니다. 따라서 시스템에 어떤 소프트웨어가 설치되어 있는지 아는 것만으로는 더 이상 충분하지 않습니다. 이제 설치하려는 소프트웨어를 빌드하는 데 사용된 라이브러리나 모듈을 하나도 빠짐없이 모두 나열해야 합니다.

”네트워크에 있는 모든 소프트웨어의 모든 구성 요소에 대한 정확한 목록을 관리하는 것은, 그 목록이 고정된 상태라 해도 이미 충분히 어려운 일입니다. 그렇지 않습니다.”

‘소프트웨어 자재 명세서(SBOM)’( ,)라고 불리는 이러한 목록은 타사 파일, 라이브러리 및 구성 요소의 취약점을 추적하는 데 도움이 됩니다. 이는 유용할 뿐만 아니라, 인간이 수작업으로 만들어 낼 수 있는 능력을 훨씬 뛰어넘는 것입니다.

이상적으로는 공급업체와 소프트웨어 개발자들이 자사 소프트웨어에 대한 ‘유일한 신뢰할 수 있는 정보원’으로서의 역할을 적극적으로 수용하고, 자사 소프트웨어 애플리케이션에 대한 SBOM을 포함시켜야 합니다. 이러한 목록을 자동으로 생성해 주는 도구도 있습니다. 또한 연방 정부도 이에 동참했습니다. 바이든 대통령의 ‘국가 사이버 보안 강화’에 관한 2021 호 행정명령( )은 연방 정부에 소프트웨어를 공급하는 업체들이 자사 제품에 포함된 모든 구성 요소에 대한 SBOM을 제공하도록 의무화하고 있습니다.

[관련 기사: 공급망을 강화하기 위한 미국 정부의 대응 방안]

네트워크에 있는 모든 소프트웨어의 모든 구성 요소에 대한 정확한 목록을 관리하는 일은, 그 목록이 고정된 상태라 해도 이미 충분히 어려운 일일 것입니다. 그렇지 않습니다. 소프트웨어 개발자가 공개 소스 코드를 다운로드한 뒤 이름을 바꾸거나 약간 수정하면, 그 코드는 다른 사람의 소프트웨어에서 보이는 모습과는 다르게 해당 개발자의 소프트웨어에서 나타날 수 있습니다. 혹은 화요일에는 GitHub 코드 저장소가 안전했다 하더라도, 수요일에 공격자가 악의적인 “커밋”을 하거나 코드를 변경하면, 누군가 해당 저장소를 다시 가져오는 즉시 네트워크는 다시 취약해집니다.

3. 소프트웨어 테스트 환경 구축하기

소프트웨어를 개발하고 있다면, 구현한 모든 코드를 비공개 저장소에 보관하여 방어 체계를 한 단계 더 강화해야 합니다. 이 코드는 검토를 거쳐 보안을 강화해야 하며, 보안 검토를 거치지 않은 상태에서는 절대로 원본 업스트림 소스에서 직접 가져와서는 안 됩니다. 안전한 저장소가 마련되어 있다면, 소프트웨어를 다운로드하여 조직 외부에서는 아무도 이를 수정할 수 없다는 확신을 가지고, 비공개적으로 한 줄 한 줄 꼼꼼히 검토할 수 있습니다.

예를 들어, 소프트웨어 라이브러리 OpenSSL을 사용하고자 한다면, 소스 코드를 가져와 개인 개발 환경에 통합한 뒤, 새 버전이 출시될 때마다 패치나 업그레이드를 적용할 수 있습니다. 이 접근 방식의 장점은 코드를 이식할 수 있을 뿐만 아니라, 여기에 추가되는 새로운 코드에 대한 검토 과정을 직접 관리할 수 있다는 점입니다. 이 저장소를 통해 소프트웨어를 배포하기 전에 직접 테스트해 보고, 해당 소프트웨어가 사용자의 환경에 문제를 일으키지 않는지 확인할 수 있습니다.

4. 취약점 관리 계획 수립

테스트 환경이라 하더라도 일부 공격은 성공할 가능성이 높습니다. 따라서 의 취약점 관리 계획을 수립해야 하며( ), 다음 질문을 스스로에게 던져보아야 합니다:

  • 무언가가 뚫고 들어올 때, 나는 조치를 취할 준비가 되어 있는가? 대응 업무는 누가 담당하게 될까요?
  • 중대한 취약점이 발견되었을 때, 의 패치 관리 를 어떻게 처리해야 할지 안내해 줄 정책과 절차가 마련되어 있습니까?
  • 의 타사 리스크 관리 계획은 무엇입니까? 타사 라이브러리에 심각한 취약점이 발견될 경우, 해당 타사 라이브러리를 사용하는 애플리케이션을 어떻게 파악할 것이며, 패치를 적용하기 위해 핵심 서비스를 어떻게 중단할 것입니까?

[관련 기사: 공급망 보안은 어려운 과제입니다 – 그렇다면 이상적인 모습은 어떤 모습일까요?]

  • 비즈니스에 필수적인 운영에 큰 지장을 주지 않으면서도 이 공격을 무력화할 수 있을까요?
  • 비상 대응 계획의 일환으로, 내부 및 외부 이해관계자를 대상으로 효과적인 커뮤니케이션 정책 을 수립했습니까?

5. 정책에 실질적인 집행력을 부여하십시오

수많은 공격이 발생한 이후, CISO들은 의심스러운 사이트에서 아무것도 다운로드하지 않도록 하거나, 예를 들어 자녀가 업무용 기기에 ‘마인크래프트’를 설치하는 것을 막는 등 직원들에게 교육을 실시하는 것이 얼마나 중요한지 잘 알고 있습니다. 또한 근로자들은 카메라, 프린터, VoIP 전화기(인터넷 연결과 ‘인터넷 프로토콜을 통한 음성 전송(Voice over Internet Protocol)’ 기술을 이용해 통화를 하는 기기)와 같은 사물인터넷(IoT) 기기에 대해 점점 더 신중해지고 있다.

”허용되는 소프트웨어 사용에 관한 서면 정책과 이를 기술적으로 시행할 수 있는 방안이 모두 마련되어 있어야 합니다. 이 작업은 간단하지는 않지만, 자동화를 통해 더 쉽게 처리할 수 있습니다.”

그러나 어떤 방어 체계에서든 가장 중요한 요소는 원치 않는 침입이 애초에 발생하지 않도록 막아주는 기술적 통제 수단입니다. 직원들에게 신뢰할 수 없는 USB 드라이브나 소프트웨어를 노트북에 설치하지 말라고 말하는 것과, 기술적으로 그렇게 할 수 없도록 막는 것은 전혀 다른 문제입니다.

이 부분이 바로 많은 기업들이 어려움을 겪는 부분입니다. 규정 준수를 위해서라도, 허용되는 소프트웨어 사용에 관한 서면 정책과 이를 기술적으로 시행할 수 있는 방안을 모두 마련해야 합니다. 이는 결코 쉬운 일이 아니지만, 자동화를 활용하면 다시 한번 더 간단하게 처리할 수 있습니다. “문서화된 정책”을 정기적으로 검토하고, 이를 보완하기 위한 기술적 이행 방안이 마련되어 있는지 테스트하는 것은 조직의 보안 태세를 한 단계 발전시키는 탁월한 전략입니다.

[함께 읽기: 직원들이 사이버 보안 정책을 위반하는 이유]

6. 역량에 대한 철저한 평가를 실시한다

피할 수 없는 공급망 위기에 대비하기 위한 계획을 수립함에 있어, CISO들은 이 그래픽에 제시된 질문들에 답해 보는 것이 좋습니다:

피라미드 형태의 차트로, 핵심 사이버 보안 요구 사항에 대해 물어봐야 할 질문들을 정리한 것으로, 밑바닥의 ‘자산 현황 파악’을 시작으로 텔레메트리, 탐지, 우선순위 분류, 위협, 행동 패턴, 위협 탐색, 추적, 대응 순으로 위쪽으로 이어집니다.

의 마이크로소프트 보안 전문가 매트 스완(Matt Swann)이 개발한 이 그래픽은 사고 대응의 “필요의 계층 구조”를 나타냅니다. 이 모델은 미국 심리학자 아브라함 매슬로우(Abraham Maslow)의 ‘욕구 계층 이론’을 바탕으로 한 것으로, 인간의 욕구를 가장 기본적인 것부터 순서대로 정리하고 있습니다. 스완의 설명은 조직이 자사의 비즈니스 자산을 보호하기 위해 구축해야 할 역량을 다루고 있다. 이 과정 역시 가장 기본적인 단계인 ‘자산 목록 작성’에서 시작되며, 각 단계는 그보다 상위 단계의 역량을 갖추기 위한 필수 전제 조건이 됩니다.

보안 책임자들은 조직의 성숙도 측면에서 이 피라미드에서 현재 어느 위치에 있는지 파악하기 위해 내부적으로 어려운 논의를 해야 할 수도 있습니다. 일부 기업은 가장 하위 계층에 갇혀, 방어 대상인 모든 자산에 대해 가시성을 확보하고 이를 명확히 파악할 수 있을지 확신하지 못하는 상황에 처할 수도 있습니다. 에서 모든 자산을 파악하고 위치를 확인하지 못한다면, 그 단계부터 수행하는 모든 조치는 전체 공격 표면의 일부에만 영향을 미칠 수 있으며, 이는 팀의 효율성에 치명적인 타격을 줄 수 있습니다.

의 위협 탐지 전문가들( )은 강력한 텔레메트리 및 가시성을 갖춘 환경에서 위협을 탐지할 때 훨씬 더 효과적인 성과를 거둘 수 있습니다.

7. 관계의 생태계를 가꾸어 나가자

이 간행물을 발행하는 타늄(Tanium)에서 엔드포인트 보안 연구 책임자로 재직하는 동안, 저는 고객들이 자체 개발한 도구부터 상용 솔루션에 이르기까지 다양한 접근 방식을 통해 소프트웨어 공급망을 보호하려는 모습을 지켜보았습니다. 문제는, 신중하게 진행하지 않을 경우, 잘못된 코드를 식별하고 격리하며 무력화하려는 시도가 시스템의 속도를 저하시키거나, 더 나쁘게는 시스템 전체를 마비시킬 수 있다는 점입니다.

보다 효과적인 전략은 조직 내부, 공급업체 네트워크, 공급망 전반에 걸쳐 모든 이해관계자 간의 관계를 돈독히 다지는 것입니다. CISO는 직원들이 기술을 어떻게 활용하고 있는지, 공급업체들이 소프트웨어를 어떻게 보호하고 있는지, 그리고 정부 및 기타 업계 파트너들이 이러한 노력을 어떻게 지원할 수 있는지 이해할 때 더 큰 효과를 발휘합니다.

귀사의 소프트웨어 공급망은 수많은 연결 고리로 구성되어 있습니다. 그러니 그것을 보호하는 것이 최선의 방법입니다.

의 허가를 받아 제공된 맷 스완(Matt Swann)의 “사고 대응 필요성 계층 구조” 차트,.