소프트웨어 공급망 보안의 첫걸음, 소프트웨어 생명주기 보안의 내재화는 선택 아닌 필수
<보안뉴스>에서는 한국정보공학기술사회 소속 기술사들이 다양한 관점에서 고민해온 주요 보안 이슈에 대한 의견들을 들어보고자 합니다. 10회 연재로 진행되는 [한국정보공학기술사 보안을 論하다] 시리즈에 많은 관심 부탁드립니다. [편집자주]
[연재 목차]
1. 클라우드 보안의 허와 실
2. LLM 위협과 대응방안
3. 개인정보 보호의 중심에서 활용을 외치다
4. 블록체인의 쓸모와 보안
5. 공공시스템의 보안이슈
6. 신뢰할 수 있는 소프트웨어를 위하여
7. 데이터 거래와 보안
8. 비대면 개통의 편리성과 보안 문제점
9. 기술적 보안 효과를 극대화하려면
10. 모바일 신분증의 보안위협과 대응방안
[이미지=gettyimagesbank]
[보안뉴스=윤아영 기술사/XN시스템즈] 어느샌가 세상은 소프트웨어로 움직이기 시작했다. 숨쉬듯 사용하는 스마트폰이 소프트웨어로 움직이고, 집안의 가전제품도 소프트웨어로 구동되며, 비트코인이라는 이름으로 소프트웨어로 만들어진 가상자산이 자본시장을 흔드는 뉴노멀(New Normal)이 되었다.
세상 많은 곳에 소프트웨어가 탑재되면서 소프트웨어는 그 규모가 방대해지고, 복잡성은 증가해 갔다. 이미 소프트웨어를 개인이 홀로 장인정신으로 만드는 시절은 먼 과거 이야기가 되었다.
오픈소스 프로젝트, 서드파티(3rd-party) 소프트웨어 등 ‘바퀴를 다시 발명하지 말라’는 유명한 프로그래밍 격언처럼 이미 잘 만들어진 기능들을 잘 가져다 쓰는 것이 미덕이고, 실제로 생산성의 향상에 이바지한다. 그러나 이러한 접근은 동시에 새로운 책임을 수반한다. 사용하는 외부 코드는 안전한가? 동작이 신뢰 가능한가? 외부 코드가 의존하는 또 다른 라이브러리들은 안전한가? 혹시 취약점이 존재하거나, 악의적인 코드가 숨어있는 것은 아닐까?
소프트웨어가 소스코드라는 문자들의 구성에서 실제로 사용자 손에 들어가는 제품까지 가는 여정이 이뿐이겠는가. 소프트웨어 개발을 위한 조직 구성에서부터 소프트웨어를 구현하고 시험하며, 사용자에게 배포하는 과정까지, 각 단계는 항상 악의적 공격자들에게 호시탐탐 노려지고 있다.
소프트웨어는 우리 일상의 많은 부분을 차지하며, 그 복잡성과 의존성은 지속해서 증가하고 있다. 이렇게 소프트웨어 공급망 보안은 현재 우리가 직면한 가장 중요한 사이버 보안 문제 중 하나가 되었다.
이제는 너무나도 유명한, 전 세계를 흔들었던 솔라윈즈 공급망 공격과 로그4j(Log4j) 취약점 사태, 뱅크오브아메리카(BoA)의 서드파티 침해 사고, 그리고 PyPI를 통한 파이썬 악성코드 유포 사건 등은 소프트웨어 공급망의 취약성을 드러내는 사건들이었다. 이런 사건들은 소프트웨어 공급망의 보안이 얼마나 중요한지, 기업과 개발자들에게 공급망 보안에 대한 지속적인 관심과 강화된 대응 전략이 선택이 아님 필수임을 보여주고 있다.
이는 소프트웨어라는 제품이 전체 생명주기 동안 보안 위험 관리와 꾸준한 검토가 필요하다는 것을 의미하며, 최종적으로 사용자에게 제공되는 소프트웨어가 안전하고 신뢰할 수 있도록 하는 것이 무엇보다 중요해졌다.
우리는 어떻게 안전하고 신뢰할 수 있는 소프트웨어 제품을 만들 수 있을까? 어떻게 하면 소프트웨어 생명주기 전반에 보안을 통합할 수 있을까?
2022년 2월, 미국 국립표준기술연구소(NIST)에서는 이에 대한 답이라도 하듯 NIST.SP.800-218 SSDF(Secure Software Development Framework) V1.1을 발간했다. 이 문서는 소프트웨어 개발 과정에서 보안을 강화하기 위한 지침과 모범사례를 제공하고, 소프트웨어 개발 생명주기(SDLC)의 모든 단계에 걸친 보안 관행 통합 및 조직이 보안 소프트웨어 개발에 대한 체계적인 접근 방식을 채택하는 데 도움을 줄 수 있는 프레임워크를 제시하고 있다.
SSDF는 소프트웨어 개발 프로세스에 있어 보안을 통합하기 위한 조직적 준비, 소프트웨어 개발 환경과 관련 자산들을 보호하기 위한 조치들, 실제 소프트웨어 개발 과정에서 보안을 통합하고, 안전하게 코드를 작성하며, 취약점을 식별하고 수정하는 활동, 소프트웨어 개발 생명주기에서 발견된 취약점에 효과적으로 대응하는 전략 등 구체적인 접근방법을 제시한다.
미국 바이든 행정부가 소프트웨어 공급망 보안 강화를 위한 행정명령(EO 14028)을 발표한 것은 정부 차원에서 이러한 접근의 중요성을 강조하는 중요한 사례다. 이어진 백악관 예산관리국(OMB)의 M-22-18 문서는 미국 정부와 거래하는 기업에 ‘보안 소프트웨어 개발 프레임워크(SSDF)’의 준수를 요구하고 있다. 이제 정부기관과 계약을 맺는 기업들은 제품이 SSDF 기준을 충족했음을 입증할 필요가 있는데, 이는 글로벌 소프트웨어 공급망의 보안 표준이 어떻게 변화하고 있는지를 잘 보여주는 사례가 된다. 이러한 국제적 움직임과 정책들은 소프트웨어 공급망 보안의 중요성을 강조하고 있다.
올해 상반기에도 배포된 xz/liblzma 오픈소스 패키지에 백도어가 포함됐다는 소식이 보안계 중요한 이슈로 떠올랐다. xz/liblzma 프로젝트가 널리 사용되는 오픈소스임을 고려하면, 이 백도어는 전 세계 다양한 시스템과 애플리케이션에 상당한 보안 위협을 가할 수 있는 잠재력을 지니고 있었다. 비록 이 위협은 비교적 신속하게 탐지 및 대응됐지만, 이 사건은 소프트웨어 공급망에 대한 공격의 심각성을 새롭게 인식시키는 전환점이 될 것으로 생각한다.
소프트웨어 공급망 보안을 위한 가장 첫걸음, 안전하고 신뢰할 수 있는 소프트웨어를 위한 소프트웨어 생명주기 보안의 내재화는 이제 선택이 아닌 필수가 됐다.
[글_윤아영 기술사/XN시스템즈]
필자 소개_
- 네트워크 방화벽/VPN 장비를 개발하는 시스템 개발자
- 최근에는 소프트웨어뿐만 아니라 전체적인 시스템 생명주기의 보안 적용에 관심이 많다. 현실과 이상의 괴리감 속에서 이성으로 비관하나 의지로 낙관하며 초연하게 자기 길을 걸어 나가고 있는 기술사다.
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>