SBOM-Based Container Deployment Risk Assessment under Incomplete Runtime Observations
본 논문은 불완전한 런타임 관측 환경에서 취약점 적용 가능성을 분류하고 검사 비용의 우선순위를 정하기 위해 다중 증거 소스를 통합함으로써, 베이스라인 방식 대비 의사결정 완결율을 높이고 대기 시간을 단축하는 적응형 SBOM 기반 컨테이너 배포 리스크 평가 방법을 제안한다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
현대 디지털 세상에서 소프트웨어는 거의 처음부터 새로 만들어지지 않습니다. 대신, 개발자들은 마치 숙련된 요리사가 미리 만들어진 재료들을 조합하여 복잡한 요리를 완성하듯, 다른 이들이 만든 라이브러리, 프레임워크, 도구들을 조립합니다. 이러한 재료들을 추적하기 위해, 소프트웨어 자재 명세서(Software Bill of Materials, SBOM)라고 불리는 새로운 표준이 상세한 재고 목록 역할을 합니다. 이 목록은 보안 측면에서 매우 중요한데, 만약 특정 재료에서 알려진 결함이 발견될 경우, SBOM를 통해 어떤 애플리케이션에 그 재료가 포함되어 있는지 식별할 수 있기 때문입니다. 하지만 특정 재료가 존재한다는 것을 아는 것만으로는 충분하지 않습니다. 라이브러리의 결함은 소프트웨어가 실행되는 동안 실제로 그 특정 코드 부분을 사용할 때만 위험이 됩니다. 만약 코드가 프로그램에 의해 호출되지 않고 잠자고 있다면, 그 결함은 무해합니다. 보안 팀의 과제는 소프트웨어가 완벽하게 실행되는 모습을 항상 지켜볼 수 없다는 점입니다. 때로는 모니터링 도구가 이벤트를 놓치기도 하고, 테스트 시나리오가 소프트웨어가 사용될 수 있는 모든 가능한 방식을 포괄하지 못할 수도 있습니다. 이로 인해 팀은 결함이 위험한지 아니면 안전한지 알 수 없는 공백이 발생하며, 이는 필요한 업데이트를 차단하거나 보안 침해의 위험을 감수해야 하는 상황을 초-의사결정의 딜레마로 몰아넣습니다.
연구자 박병찬과 김순집은 소프트웨어 컨테이너(애플리케이션과 그 재료들을 하나의 독립된 패키지로 묶은 것)의 배포 여부를 결정하기 위한 새로운 방법을 개발함으로써 이러한 불확실성을 해결했습니다. 그들의 접근 방식은 완벽한 정보의 부재를 추측의 근거가 아니라, 더 구체적인 증거를 수집하기 위해 잠시 멈춰야 할 이유로 취급합니다. 그들은 인벤토리 목록을 코드 구조를 조사하는 정적 분석 및 소프트웨어가 작동하는 모습을 관찰하는 런타임 관찰과 결합한 시스템을 구축했습니다. 결정적으로, 이 시스템은 특정 위험한 함수가 테스트 중에 발견되지 않았다고 해서 그 함수를 무시해도 안전하다는 뜻은 아니라는 점을 인식합니다. 증거가 부족할 때 단순히 "예" 또는 "아니오"라는 답변을 강요하는 대신, 시스템은 위험을 '확인된 위험', '특정 범위 내에서 확인된 안전', 또는 '미결(unresolved)'로 분류합니다. 위험이 미결 상태일 때, 시스템은 단순히 배포를 승인하는 것이 아니라 요청을 보류 상태로 둡니다.
그들 혁신의 핵심은 이러한 불확실성을 해결하기 위해 제한된 시간과 컴퓨팅 자원을 사용하는 전략에 있습니다. 보안 팀이 소프트웨어 업데이트를 결정해야 하는 엄격한 마감 기한이 있다고 상상해 보십시오. 그들에게는 잠재적인 결함 목록이 있지만, 모든 것을 철저히 확인하는 데는 너무 많은 시간이 걸립니다. 연구자들의 방법은 어떤 검사를 먼저 수행할지를 결정하는 스마트한 가이드 역할을 하며, 이는 단순히 검사 순서나 심각도에 따라 무작위로 검사를 수행하는 것이 아니라, 최종 결정에 얼마나 도움이 될 가능성이 높은지에 따라 결정됩니다. 즉, "미결" 상태의 위험을 명확한 "안전" 또는 "위험" 판정으로 바꿀 가능성이 가장 높은 작업을 우선시합니다. 시스템은 새로운 데이터가 들어옴에 따라 선택 사항을 지속적으로 재평가하여, 매 초의 검사 예산이 최종 결정에 가장 중요한 검사에 사용되도록 보장합니다.
이 접근 방식을 테스트하기 위해, 연구진은 Java 프로젝트의 40가지 특정 취약점 사례에서 파생된 100개의 서로 다른 소프트웨어 배포 시나리오를 사용하여 현실적인 시뮬레이션을 구축했습니다. 그들은 90개의 사례에 대해 '그라운드 트루스(ground truth, 실제 정답)'를 생성했는데, 이는 새로운 시스템과는 독립적으로 어떤 배포가 안전하고 어떤 배포가 위험한지를 정확히 알고 있었음을 의미합니다. 그런 다음 연구진은 누락된 테스트 워크로드, 단축된 관찰 기간, 손실된 데이터 이벤트와 같은 다양한 형태의 불완전한 정보에 시스템을 노출시켰습니다. 그들은 이 적응형 방법(adaptive method)을 단순한 목록 기반 체크 및 검사 비용을 기준으로 우선순위를 정하는 방법 등 여러 다른 전략과 비교했습니다. 결과에 따르면, 그들의 방법이 제한된 시간 내에 올바른 최종 결정에 도ng 도달하는 데 더 효과적이었습니다. 120초의 예산 하에서, 새로운 방법은 78.4%의 균형 잡힌 정답률을 달 기록했으며, 이는 두 번째로 우수한 방법의 76.3%와 비교됩니다.
아마도 더 중요한 점은, 이 새로운 방법이 '미결(hold)' 상태로 남겨지는 사례의 수를 줄였다는 것입니다. 다른 방법들은 22%의 결정을 결정하지 못한 채 남겨두었지만, 제안된 방법은 이를 20%로 줄였습니다. 이는 불필요한 지연 없이 더 많은 소프트웨어 업데이트가 안전하게 진행될 수 있음을 의미하면서도, 매우 낮은 오류율을 유지했다는 것을 뜻합니다. 시스템은 위험한 배포를 잘못 승인한 경우가 1.2%에 불과했고, 안전한 배포를 잘못 차단한 경우는 2%에 불과했습니다. 이 수치들은 검사 순서를 신중하게 정하고 증거가 불충분할 때 결정을 내리지 않음으로써, 보안 팀이 불완전한 데이터의 안개 속을 더 효과적으로 헤쳐 나갈 수 있음을 시사합니다. 이 연구는 구조화되고 증거에 기반한 접근 방식이 진정으로 무해한 결함과 단지 관찰되지 않은 결함을 구분할 수 있으며, 이를 통해 조직이 소프트웨어 동작의 모든 세부 사항을 완전히 볼 수 없는 상황에서도 확신을 가지고 앞으로 나아갈 수 있음을 확인시켜 줍니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.