보안뉴스 창간 17주년을 축하합니다!!

Home > 전체기사

[테크칼럼] 소프트웨어 개발 단계 공급망 보안 관련 표준화 동향

입력 : 2023-11-05 23:50
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기
SW 공급망 공격은 개발단계에서 소스코드 무단 수정, SDK, 빌드 시스템 등 공격 형태
국제표준, SBOM 정의하는 국제표준과 미국 내 활용 위한 미국 내부 표준 및 규정
과기정통부, SBOM 생성 및 운영 실증 이후 SW 공급망 보안 가이드라인 도출 예정


[보안뉴스= 이만희 한남대학교 컴퓨터공학과 교수] 지난 9월 1일에 개최된 2023 보안평가기술 국제표준화 워크숍에서는 기존 보안평가기술 외에 새롭게 떠오른 보안기술인 소프트웨어 공급망보안의 표준화 내용이 소개됐다. 여기에서는 당시 발표에서 소개됐던 소프트웨어 공급망 공격 유형과 위협, 그리고 최근 발표된 공급망 보안 관련 문서들을 정리해 본다.

[이미지=gettyimagesbank]


SW 공급망 공격 유형 및 위협
소프트웨어 공급망은 소프트웨어를 개발·배포·운영하는 프로세스 과정에서 관여되는 모든 개인, 조직, 자원, 활동 및 기술을 의미한다. 최근 관심을 많이 받는 부분은 소프트웨어의 개발에 관련된 공급망 공격과 탐지·방지에 관한 활동이다. 그 이유는 많은 해커들이 소프트웨어 개발단계에서 공격을 많이 수행하기 때문이다.

따라서 국내외 많은 정책과 도구들도 주로 소프트웨어 개발과 관련된 공급망 보안에 초점이 맞춰져 있다. 개발단계 소프트웨어 공급망 보안은 소프트웨어 개발 라이프 사이클(SDLC)과 밀접한 관련성이 있다. 소프트웨어 개발 과정 자체가 소프트웨어 공급망을 형성하며, 이러한 프로세스의 취약한 부분에 해커가 침입하여 최종 제품인 소프트웨어에 악성코드나 취약한 코드를 삽입하는 것이 공급망 공격이다. 소프트웨어 개발의 각 단계에서 발생할 수 있는 공급망 위협은 다음과 같다.

계획 및 설계 단계 공격
소프트웨어의 계획 및 설계 단계에서는 요구사항 수집, 분석, 타당성 평가, 아키텍처 설계, 프로토타입 제작, 일정 계획 등이 이루어진다. 이 단계에서 실제로 발생한 공격 사례 중 하나는 2020년 6월에 발생한 ‘GoldenSpy’ 공격이다. 중국 은행이 외국 기업 고객을 대상으로 설치를 요구한 세무 소프트웨어에 백도어를 삽입한 사례로, 이 공격은 소프트웨어가 계획 단계부터 악의적으로 개발된 것으로 확인됐다.

개발단계 : 소스코드 무단 수정 공격
이 단계 공격은 공급망의 초기 단계 공격으로, 적절한 권한 없이 소스코드를 수정하는 모든 형태의 공격을 뜻한다. 대표적으로는 개발자 PC를 침해한 뒤, 개발자 PC에 저장된 소스코드를 악성코드나 취약점 있는 코드로 변경하거나 개발자의 인증 정보를 탈취한 후 소스코드 리포지토리에 불법 코드를 저장하는 방식이다. 2021년 9월, 한 해커가 DeFi 플랫폼을 제공하는 SushiSwap 사의 GitHub 계정에 접근하여 악성코드를 커밋함으로써 약 36억의 피해를 입히기도 했다.

개발단계 : SDK(Software Development Kit) 공격
SDK는 개발자들이 특정 플랫폼, 응용 프로그램 또는 하드웨어와 상호 작용할 수 있는 소프트웨어를 개발하는 데 사용하는 도구, 라이브러리, 문서 및 예제 코드의 집합이다. 소프트웨어 개발 중 악성 코드가 포함된 SDK를 사용할 경우, 최종 소프트웨어가 악성코드에 감염될 수 있다.

2020년 7월에 해커들이 Twilio SDK 라이브러리에 악성 코드를 삽입한 사례가 있었으며, 이로 인해 Twilio SDK를 기반으로 하는 소프트웨어의 민감 정보가 노출되었다. 이러한 공격은 프로그래머가 아무리 시큐어 코딩을 적용하더라도 SDK를 사용한 모든 소프트웨어에 영향을 미칠 수 있다.

개발단계 : 오픈소스 소프트웨어 소스코드 리포지토리 공격
오픈소스 소프트웨어의 사용이 증가함에 따라 소스코드 리포지토리를 통한 공격도 늘어나고 있다. 2021년 3월에는 PHP의 공식 Git 서버가 해킹 당해 악성코드가 삽입된 사례가 있었다. 이러한 리포지토리는 전 세계의 프로그래머들이 사용하는 중요한 요소로써 그 안전성이 보장되어야 한다.

개발단계 : 타이포스쿼팅(Typosquatting) 공격
타이포스쿼팅은 인터넷 사용자가 웹 사이트 주소를 입력할 때의 오타를 이용해 사용자를 속이거나 공격하는 온라인 위협 기술과 유사한 기술로, 해커들은 개발자가 필요한 패키지 및 라이브러리명 입력시 발생할 수 있는 오타와 같은 이름의 악성 패키지를 리포지토리에 미리 등록한다.

대부분의 타이포스쿼팅 공격은 원래 패키지와 동일한 기능을 제공하므로 개발자들이 타이포스쿼팅 공격 발생을 인지하기 어렵다. 최근 빈도가 가장 높은 공급망 공격으로, 하루에도 수십에서 수백건씩 정상 패키지와 유사한 이름의 패키지가 발견되기도 한다. 최근의 사례 중 하나는 Rust의 정상 패키지인 ‘rust_decimal’의 타이포스쿼팅인 ‘rustdecimal’이 등록되기도 했다.

개발단계 : 빌드 시스템 공격
소스코드 파일을 컴파일하고 실행 가능한 소프트웨어 애플리케이션 또는 라이브러리로 변환하는 빌드 시스템은 DevOps와 CI/CD(Continuous Integration/Continuous Deployment) 환경에서 핵심 역할을 수행한다. 이 빌드 시스템이 해킹당하면 소스코드 개발 단계의 모든 보안 제어가 무용지물이 된다.

대표적인 사례가 2021년 말에 발생한 솔라윈즈 공격이다. 솔라윈즈의 빌드 시스템이 침해당한 후, 백도어가 삽입된 업데이트가 생성됐고 이 코드가 업데이트 서버를 통해 전 세계로 전파됐다. 이 공격으로 전 세계 18,000개 기관에 피해를 입혔고, 이듬해 미국 정부는 대통령 행정명령을 발표하기에 이르렀다.

테스팅 단계 : 테스팅 환경 공격
CI/CD 환경에서 자동 테스팅은 필수적 단계로 인식되고 있다. 이 자동 테스팅 환경 자체가 공격 대상이 되면 큰 위협이 될 수 있다. 소프트웨어 품질 및 코드 커버리지 분석을 위한 클라우드 기반 서비스인 Codecov의 도커 이미지의 취약점을 활용해 Codecov 고객의 자격 증명을 획득한 사건이 대표적인 사례다.

SW 공급망 보안 표준 및 규정
소프트웨어 공급망 보안 관련 표준은 소프트웨어의 구성 요소 명세인 SBOM(Software Bill of Materials)를 정의하는 국제표준과 미국 내 활용을 위한 미국 내부 표준 및 규정이 존재한다.

먼저 미국 대통령 행정명령 14028로 인해 규정된 개발단계와 테스팅 단계의 표준을 살펴보자. Secure Software Development Framework(NIST SP 800-218)은 보안 요구사항을 정의하고 빌드 시스템을 포함한 보안 위험을 식별하며, 적절한 보안 제어를 선택하도록 하여 소프트웨어의 보안성을 보장하는데 목적이 있다.

Guidelines on Minimum Standards for Developer Verification of Software(NIST IR 8397)은 소프트웨어 개발자가 소프트웨어 제품을 검증하기 위한 최소 기준을 제공한다. 지난 2023년 8월에는 Strategies for the Integration of Software Supply Chain Security in DevSecOps CI/CD pipelines(NIST SP 800-204D)의 드래프트가 공개됐는데, 이 문서는 DevSecOps라고 불리는 민첩한 SDLC 패러다임을 위해서 사용되는 CI/CD에 공급망 보안을 위한 실질적 조치가 담겼다.

마지막으로 소개할 미국 연방정부의 추진 내용은 Secure Software Self-Attestation Common Form이다. 연방정부에 소프트웨어를 납품할 때 작성해야 하는 양식으로, 2024년부터 도입될 것으로 예상된다.

이 양식은 소프트웨어 개발사가 소프트웨어 개발 환경의 안전에 충분한 조치를 수행했다는 것과 개발에 사용한 코드의 출처를 잘 관리했다는 것, 그리고 소프트웨어의 취약점 제거를 위해서 자동화 프로세스를 도입하여 충분히 제거했다는 것을 스스로 확인하는 것이다.

만약 자가 증명 내용이 거짓으로 드러날 경우, 상당한 법적 책임을 지게 된다. 따라서 현재 미국 연방정부에 소프트웨어를 납품하려는 회사들은 이 자가 증명의 내용을 수행하기 위해 SW 공급망 관련 도구를 도입하는 등 준비를 서두르고 있다.

국제표준으로는 Linux Foundation에서 제안한 SPDX(ISO/IEC 5692:2021), OWASP에서 제안한 CycloneDX, 그리고 NIST에서 제안한 SWID(ISO/IEC 19770-2:2015)가 있다. SPDX는 라이선스 관리 도구로서 만들어졌으나 현재는 소프트웨어 패키지의 구성 요소에 대한 자세한 정보를 공유하는 데 유용하게 사용되고 있다.

CycloneDX는 소프트웨어 구성 요소 명세 뿐만 아니라 취약점 명세 및 사이버 리스크 감소를 위한 고급 공급망 기능을 제공한다.

SWID는 미국 정부에서 소프트웨어 자산 관리를 위한 표준 목록 중에 하나로, 소프트웨어 제품을 식별하기 위해 제품의 이름, 버전, 판매 버전 및 제조업체와 관련 정보를 포함한다. 최근 개발되는 SBOM 생성 및 관리 소프트웨어는 주로 SPDX와 CycloneDX 모두 지원하거나 하나를 선택하여 지원하고 있다.

국내 SW 공급망 보안 관련 규정 및 가이드 방향성 제안
현재 국내에서는 과기정통부가 KISA를 통해 수행 중인 실증사업을 통해 개발에서 운영까지 SBOM 생성 및 운영을 실증해보고 최종적으로 SW 공급망 보안 가이드라인을 도출할 예정이다. 이는 SW 공급망 보안 관련 첫 가이드라인이 될 것으로 보이며, 학계 및 산업계가 많은 기대를 하고 있다.

향후 추진되어야 할 내용으로는 ‘소프트웨어 개발보안 가이드’의 수정 추진이 있을 수 있다. 이 가이드는 NIST SP 800-218과 유사한 부분이 많이 있지만, SW 공급망 보안 부분이 빠져 있다. 이 가이드에 SW 공급망 보안이 추가된다면, 국가·공공기관에 도입되는 소프트웨어의 공급망 보안이 상당히 강화될 것이다.

마지막으로 소프트웨어를 도입·운영하는 기관을 위한 소프트웨어 및 공급망 보안 운용 가이드의 필요성을 제안한다. Log4j 사태에서 보듯이, 심각한 취약점이 발견되면 이를 악용하는 사이버 공격이 즉각적으로 발생하고 있다.

이런 공격에 대응하기 위해서는 취약점이 발견된 소프트웨어를 패치, 제거 또는 네트워크를 통한 공격 완화가 빠른 시간내에 수행되어야 하지만, 현재 대부분의 기관들은 기관내에 어떤 소프트웨어가 설치되어 있는지조차 모르고 있는 실정이다. 이런 상황에서 제2, 제3의 Log4j가 발견되면 다시 똑같은 피해를 입게 된다.

이를 방지하기 위해서 소프트웨어를 도입할 때부터 안전하게 개발되고 공급망이 잘 관리된 소프트웨어를 도입해야 한다. 또한, 취약점 발견 시 빠르게 조치할 수 있도록 기관 내 컴퓨터에 설치된 모든 소프트웨어를 관리하고, 추후 업데이트 수행 시 업데이트를 통한 형상 변화 등도 철저히 관리해야 한다.

▲이만희 한남대 교수(공급망보안연구회 위원장)[사진=보안뉴스]

현 상황에서 당장 추진하기는 어려울지라도 장기적으로 이러한 관리가 필요하며, 특히 망분리 편의성이 제고되어 제로트러스트 개념이 구현된 차세대 망분리가 도입되거나 공공기관 데이터가 민간 클라우드에 탑재될 경우, 관련된 소프트웨어 관리가 더욱 철저히 이루어져야 한다.

시사점
소프트웨어가 없는 4차 산업혁명은 존재할 수 없고, 공급망 보안이 없는 소프트웨어 보안 또한 불가능하므로, SW 공급망 보안은 4차 산업혁명 시대에 필수라고 할 수 있다. 지금까지 소프트웨어 공급망 보안의 위협과 표준화 현황을 간단히 소개했고, 국내 SW 공급망 보안 관련 규정 및 가이드 방향성을 제안했다.

소프트웨어 공급망 위협은 날로 심해지고 있으며, 이 문제를 해결하기 위해 제정되고 있는 관련 표준들은 향후 소프트웨어 개발 보안에 큰 영향을 미칠 것으로 예상되므로 소프트웨어 개발자들의 특별한 관심이 필요할 것으로 보인다. 또한, 국내 관련 기관에서 SW 공급망 보안 관련 규정 또는 가이드 작성을 추진할 때, 기업에 대한 규제로 받아들이기보다 국가안보를 향상시키기 위한 세계적 추세임을 이해하고, 가이드 작성 및 실증 사업에 적극 참여하고 협조하는 분위기가 형성되기를 기대한다.
[글 _ 이만희 한남대학교 컴퓨터공학과 교수/공급망보안연구회 위원장)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
 하이젠 파워비즈 23년 11월 16일~2024년 11월 15일까지 아스트론시큐리티 파워비즈 2023년2월23일 시작 위즈디엔에스 2018 넷앤드 파워비즈 진행 2020년1월8일 시작~2021년 1월8일까지
설문조사
2023년 주요 보안 위협 가운데, 올해 말까지 가장 큰 피해를 끼칠 것으로 예상되는 위협은?
공급망 공격
다크웹 기반 랜섬웨어 조직
북한/중국/러시아 등 국가 지원 해킹그룹 활동
스마트폰을 노린 보안 위협
OT 타깃 공격
피싱 공격
기타(댓글로)