Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
개발자 / 보안

소프트웨어 보안의 필수품 '서드파티 라이브러리 목록'

Mary K. Pratt | CSO 2022.06.21
웨스 웰스가 이끄는 인스턴트 커넥트 소프트웨어(Instant Connect Software) 팀은 오래전부터 무엇보다 보안을 중요시해왔다.

인스턴트 커넥트 소프트웨어는 LTE, 5G, MANET을 포함한 다양한 사설 및 공용 네트워크를 통해 모바일, IP, 라디오, 전화 디바이스를 연결하는 푸시-투-토크(push-to-talk) 음성 커뮤니케이션, 그리고 그것을 구현하는 커뮤니케이션 소프트웨어 개발업체이며, 웰스는 이 업체의 최고 제품 책임자다.

인스턴트 커넥트 소프트웨어는 최전선 실무 팀에 필요한 연결을 구현한다. 주 고객은 전 세계의 정부와 군사 기관이다. 석유 및 가스, 광산, 제조, 물류 분야의 사기업 역시 이 소프트웨어를 사용해 핵심 작업을 지원한다.
 
ⓒ Getty Images Bank

웰스는 고객의 특성상 소프트웨어가 “모든 면에서 안전해야 한다”라고 말했다.
 
웰스는 “고급 암호화 표준(AES)과 전송 계층 보안(TLS)을 포함한 제품 보안 전략으로 모든 부분이 안전하게 보호되며 완전히 암호화된다”라고 말했다.
 
인스턴트 커넥트는 연방 정보 처리 표준(FIPS) 140-2에 명시된 암호화 모듈에 대한 미국 정부의 컴퓨터 보안 표준을 준수한다. 인스턴트 커넥트 알고리즘에 대한 NIST 인증은 FIPS 표준을 충족 또는 초과 충족한다는 것을 입증한다.
 
웰스는 정부 및 군 기관을 고객으로 두려면 이러한 요건을 모두 갖추어야 한다고 말했다.
 
또한 인스턴트 커넥트 소프트웨어 제품에 사용되는 모든 서드파티 라이브러리 목록(소프트웨어 명세서, SBOM)도 고객에 제공해야 한다.
 

개선 기회

인스턴트 커넥트는 보안에 전념하면서 오랜 기간 정부 기관을 대상으로 보안 역량을 입증해왔지만, 웰스는 서드파티 라이브러리를 세분화해서 추적하고 취약점을 검토하는 점에서 개선의 여지가 있었다고 말했다.
 
웰스는 “과거에는 우리가 사용하는 라이브러리, 각 릴리스에 사용된 라이브러리의 버전을 수동으로 추적해야 했다. 이 자료를 스프레드시트로 정리하거나 RFP에 대한 응답으로 고객에 제공했다. 이제는 스캔을 통해 매우 정확한 모든 SBOM을 얻을 수 있다”라고 말했다.
 
서드파티 라이브러리란 최종 소프트웨어 제품 또는 플랫폼을 만든 개발자가 아닌 다른 사람이 만든 코드다. 인스턴스 커넥트뿐만 아니라 다른 많은 기업도 서드파티 라이브러리에 주의를 기울이고 있다.
 
각별히 관심을 가져야 할 이유도 충분하다.
 
서드파티 라이브러리와 오픈소스 소프트웨어는 도처에 사용된다. 예를 들어 리눅스 재단은 모든 현대 소프트웨어 솔루션에서 자유 및 오픈소스 소프트웨어(FOSS)가 차지하는 비중이 70~90%에 이르는 것으로 추정한다. 가트너의 선임 애널리스트 데일 가드너는 애플리케이션 코드의 90% 이상에 오픈소스 모듈이 포함된다고 말했다.
 
소프트웨어 라이브러리를 사용하면 확실히 소프트웨어 개발 속도가 빨라진다.
 
그러나 여러 보안 전문가가 지적하듯 소프트웨어 라이브러리와 함께 그 코드에 존재하는 취약점도 퍼지면서 해커에게 기회를 제공하기도 한다. 해커는 광범위하게 확산된 취약점을 악용하기 때문이다.
 
실제 그런 사례가 2021년의 아파치 Log4j 취약점이다. 이 취약점은 수많은 기업에 퍼졌기 때문에 전 세계 보안 팀은 비상 상황에서 각자의 조직 내에서 황급히 Log4j 취약점을 찾아 수정했다.
 

코드 알기

그러나 이러한 코드와 코드 내 취약점의 편재성은 문제의 일부일 뿐이다.
 
많은 조직은 자체 개발한 소프트웨어 내에 사용되는 오픈소스 코드 또는 서드파티 라이브러리를 추적하는 데 어려움을 겪는다. 즉, 시스템 내에 취약점이 존재해도 모를 수 있다. 
 
그 이유로 많은 조직이 SBOM을 비즈니스를 위한 필수 요건으로 두고 있다.
 
연방 정부도 마찬가지다. 백악관은 2021년 5월 미국 사이버 보안을 강화하기 위한 행정 명령을 내렸는데, 여기 포함된 소프트웨어 공급망 보안 강화를 위한 많은 새로운 요구사항 중에 SBOM 사용도 있다. 
 
기술 시장조사 및 자문 업체인 가트너 역시 조직에서 사용 중인 코드를 파악하는 데 더 신경을 쓸 것을 권했다.
 
가트너 연구원들은 2021년 시장 가이드에서 “오픈소스 소프트웨어가 광범위하게 사용되고 위험이 증가함에 따라 소프트웨어 구성요소 분석(SCA)이 애플리케이션 보안의 필수 요소가 되고 있다. 보안 및 위험 관리 리더는 툴 범위를 더확대해서 악성 코드, 운영 및 공급망 위험 탐지를 위한 툴도 포함해야 한다”라고 조언했다.
 
가트너는 SCA 툴 사용이 향후 크게 증가하면서 워크플로우에 SCA 툴을 도입한 애플리케이션 개발 팀의 비중이 현재 40%에서 2025년에는 75%에 이를 것으로 전망했다.
 
가드너는 일반적으로 SCA 제품이 “코드 내에서 특정 오픈소스 패키지를 찾고, 여기서 코드 내의 알려진 취약점, 잠재적인 라이선스 문제, 그리고 어느 정도의 공급망 문제를 파악하는 데 매우 효과적”이라고 말했다.
 
가드너는 “이와 같은 모든 요소가 소프트웨어 보안에 빠르고 실질적인 효과를 줄 수 있다”라고 덧붙였다.
 

프로세스와 제품 개선하기

웰스는 소프트웨어 제품에 사용되는 코드를 추적해야 할 필요성 못지않게 그 과정의 어려움도 잘 알고 있다.
 
웰스는 “과거의 개발자는 서드파티 라이브러리를 사용하더라도 내가 제품 문서에 추가할 수 있도록 즉각 보고하지 않는 경우가 있었다”라고 말했다. 개발 프로세스의 후반부에 실시하는 보안 검사에서 이처럼 누락된 요소를 찾는 경우도 있지만 웰스는 경험상 더 확고한 프로세스가 필요하다고 느꼈다.
 
이를 위해 그래머테크(GrammaTech)의 바이너리 소프트웨어 구성요소 분석 툴인 코드센트리(CodeSentry)를 구현했다. 이 툴은 인스턴트 커넥터의 자체 소프트웨어를 스캔해서 세부적인 SBOM과 알려진 취약점 목록을 생성한다.
 
웰스는 “스캔을 통해 우리가 사용 중인 정확한 라이브러리 목록을 고객에게 제공한다. 정부는 10년 전부터 이 목록을 요청해왔고, 민간 기업의 다양한 RFP에서도 예전부터 제품에 사용되는 서드파티 라이브러리 목록을 요구하는 경우가 있었다. 지금은 더 보편적인 요구사항이 되고 있으므로 코드센트리에 의해 생성되는 SBOM은 우리 제품에 가치를 더해준다”라고 말했다.
 
웰스에게 특히 유용한 코드센트리 기능은 인스턴스 커넥트가 개발한 소프트웨어에 알려진 취약점이 있는지 여부를 파악하는 기능이다. 예를 들어 이 기능을 통해 소프트웨어가 릴리스되기 전에 취약점을 수정하거나, 고객에게 알려 고객이 위험을 용인하거나 취약한 코드가 포함된 기능을 비활성화하는 등 직접 최선의 조치를 취하도록 할 수 있다.
 
웰스는 이 접근 방법이 인스턴트 커넥트에 새로운 것은 아니지만 2021년 코드센트리를 구현하기 전에는 수작업으로 처리했다고 말했다.
 
또한, 수동 프로세스는 코드센트리 스캔에 비해 시간이 많이 걸리고 최신 상태로 유지하기도 더 어렵다고 말했다.
 
웰스에 따르면 수동 시스템에서는 예방적 조치를 취할 수 없었지만 지금은 가능하다.
 
코드센트리 기술은 팀원이 사용하기도 쉽다.
 
가드너 역시 “설정 외에는 SCA를 사용해서 툴을 통합하고 오픈소스 사용에 관한 정책을 수립하는 과정은 비교적 쉽다. 스캔이 실행되고 결과가 나오고 보통은 문제 패키지의 업그레이드된 버전 또는 수정된 버전 사용과 같은 해결책도 제시 및 구현된다. 대부분의 경우 이 과정은 매우 간단하다”라고 말했다.
 
웰스는 이 툴을 최적으로 활용하기 위해 팀에서 워크플로우 프로세스를 조정했다고 말했다.
 
웰스는 가장 어려운 점은 “스캔을 해야 할 적절한 시점을 파악하는 것이다. 개발 프로세스에서 너무 조기에 스캔해서는 안 된다. 이 경우 아무런 가치도 얻지 못한 채 시간만 소비할 수 있다”라고 말했다.
 
인스턴트 커넥트는 “개발자가 특정 클라이언트를 위한 기능 개발을 완료했다고 판단하는 시점”에 코드센트리를 사용해 스캔하는 방법을 채택했다. 웰스는 “이것이 해당 클라이언트를 위한 QA 테스트의 첫 단계”라고 말했다. 이후 개발자는 발견된 취약점과 결함을 모두 수정한 다음 최종 릴리스에 앞서 스캔을 다시 실행한다.
 
웰스는 “그런 다음 이 문서와 SBOM을 제품 제안의 일부로 클라이언트에 제공한다”라고 설명했다.
editor@itworld.co.kr 
 Tags SBOM 소프트웨어명세서 서드파티라이브러리목록 서드파티라이브러리 오픈소스 소프트웨어구성요소분석 SCA

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.