Cybersecurity / Fraud Detection

엔터프라이즈 규모에서 CVE 분석을 위한 생성형 AI 적용

Reading Time: 7 minutes

소프트웨어 개발 및 배포 프로세스는 복잡합니다. 최신 엔터프라이즈 애플리케이션은 복잡한 소프트웨어 종속성을 가지고 있으며, 상호 연결된 웹을 형성하여 지금까지 없었던 새로운 기능을 제공하지만 기하급수적으로 증가하는 복잡성에 따른 비용 부담을 안고 있습니다.

CVE 데이터베이스에 따르면 일반적인 취약점 및 노출(CVE) 데이터베이스에서 보고된 보안 결함의 수가 2022년에 최고치를 기록함에 따라 소프트웨어 보안 문제에 패치를 적용하는 것이 점점 더 어려워지고 있습니다. 

2023년 말 현재, 20만 건 이상의 누적 취약점이 보고되었으며 스캔 및 패치에 대한 기존 접근 방식은 관리하기가 어려워지고 있음이 분명합니다. 생성형 AI를 사용하면 보안 팀의 업무 부담을 줄이는 동시에 취약점 방어를 개선할 수 있습니다.

많은 조직에서는 이미 이 프로세스를 자동화하는 데 도움이 되는 생성형 AI 사용을 검토하기 시작했습니다. 하지만 엔터프라이즈 규모에서 그와 같은 작업을 수행하려면 많은 정보를 수집하고 이해하며 통합해야 합니다. 

CVE 분석에 인텔리전스를 추가하는 AI 에이전트 및 검색 증강 생성

CVE를 감지하고 해결하는 프로세스의 첫 단계는 소프트웨어를 스캔하여 데이터베이스에서 알려진 CVE의 존재와 연계된 시그니처가 있는지 확인하는 것입니다. 하지만 이 프로세스는 여기서 멈추면 안 됩니다. 

논리적인 다음 단계는 풀 요청을 생성하고 패키지 버전을 패치된 버전 또는 수정된 버전으로 범프하여 CVE를 해결하는 것일 수 있습니다. 그러나 감지된 모든 CVE에 대해 패키지를 업그레이드하도록 요구하는 것은 비현실적이며 엔터프라이즈 규모의 소프트웨어 퍼블리싱에는 적합하지 않습니다. 특히 패키지 업그레이드가 제공되기 전에 새로운 CVE가 발견되는 경우가 많기 때문입니다. 

소프트웨어 종속성의 복잡성으로 인해 패키지가 존재하더라도 취약점이 없는 패키지 버전으로 업그레이드가 항상 가능한 것은 아닙니다. 최선의 경로를 결정하기 위해 CVE를 조사하는 일은 매우 많은 인력이 필요합니다.

생성형 AI 에이전트는 보다 정교한 대응이 가능합니다. 이는 인간 보안 분석가의 수작업을 보다 신속히 처리하여 CVE 및 스캔한 소프트웨어 컨테이너에 대한 보다 광범위한 연구 및 조사를 수행함으로써 업그레이드가 필요한지 여부를 판단하며 다만 이러한 작업을 훨씬 빠르게 수행합니다(그림 1).

그림 1. Agent Morpheus를 이용해 개선된 조사 단계의 효율성

이 CVE 분석 AI 워크플로우 예시에서는 바로 그 작업을 수행했습니다. 이 게시물의 목적상 ‘Agent Morpheus’라고 하는 NVIDIA의 생성형 AI 애플리케이션은 취약점이 실제로 존재하는지 확인하기 위한 추가 조치를 수행하고, CVE를 올바르게 철저히 조사하기 위한 작업 체크리스트를 생성하며, 무엇보다도 분석의 중요한 부분인 CVE를 악용할 수 있는지 여부를 판정합니다.

자동화된 문제 해결은 엔터프라이즈 규모의 소프트웨어 퍼블리싱에서 비현실적

엔터프라이즈 소프트웨어의 보안을 유지하기 위해 감지된 모든 CVE에 대해 항상 업데이트할 필요는 없으며 또 그러한 업데이트를 항상 수행할 수 있는 것도 아닙니다. 유지 관리자가 취약한 패키지의 업데이트된 버전 또는 수정된 버전을 사용할 수 없다는 것도 그 이유 중 하나일 수 있습니다. 또 다른 문제는 최신 소프트웨어 프로젝트의 종속성 체인이 너무 복잡하여 하나의 패키지를 업데이트하면 다른 종속성과의 호환성 문제가 발생하고 소프트웨어가 중단될 수 있다는 것입니다. 

마지막 CVE가 수정될 때까지 소프트웨어를 미공개 상태로 유지해야 할까요? 물론 꼭 그래야 할 이유는 없겠지만 퍼블리셔는 소프트웨어 사용 중에 악용될 수 있는 중대하거나 높은 CVE 점수가 소프트웨어에 포함되어 있지 않음을 확신해야 합니다.

취약한 상태의 컨테이너(CVE가 있음)와 악용 가능한 상태의 컨테이너(취약점이 실제로 실행 및 남용될 수 있음)를 구별하는 것이 중요합니다. 

CVE는 여러 가지 이유로 컨테이너에서 악용되지 않을 수 있습니다. 취약점 스캔이 거짓 양성이거나 CVE 서명이 올바르지 않고 취약점이 있는 라이브러리가 컨테이너에 실제로 존재하지 않는 경우와 같이 일부 타당한 사유들은 단순할 수 있습니다. 

CVE에 패치가 필요하지 않은 그 밖의 이유들은 보다 더 복잡할 수 있는데, 이를테면 존재하지 않는 런타임에 특정 종속성을 요구하는 취약한 라이브러리를 예로 들 수 있습니다. 예를 들어 JRE(Java Runtime Environment)가 설치되지 않은 컨테이너 내부 라이브러리의 .jar 파일 내 CVE가 이에 해당합니다. jar 파일은 JRE 없이 실행할 수 없으므로 종속성이 없어 CVE를 악용할 수 없습니다 

또한 라이브러리의 취약한 코드 또는 함수가 단순히 사용되지 않거나 소프트웨어에 액세스할 수 없거나 완화 조건이 존재할 때에도 CVE를 악용할 수 없습니다. 

각 CVE의 악용 가능성을 판단하는 정확한 방법은 특정 취약점을 기반으로 하는 고유한 프로세스입니다. 이를 위해서는 분석가가 다양한 인텔리전스 소스에서 CVE 정보를 합성하고 해당 컨테이너 또는 소프트웨어 프로젝트에 적용해야 합니다. 이는 매우 지루하고 시간이 오래 걸릴 수 있는 수동 프로세스입니다.

사람의 개입 없이 추가적인 맥락, 추론 및 표준 보안 근거 확보

Agent Morpheus는 데이터 검색, 합성, 계획 및 고차 추론을 위한 이벤트 중심 워크플로우에서 검색 증강 생성(RAG) 및 AI 에이전트를 결합하여 다른 접근 방식을 취합니다. 

워크플로우는 여러 취약점 데이터베이스 및 위협 인텔리전스 소스뿐만 아니라 소스 코드, 소프트웨어 자재 명세서(SBOM), 문서 및 일반 인터넷 검색 도구 등 특정 소프트웨어 프로젝트와 관련된 자산 및 데이터에도 연결됩니다. 

워크플로우는 4개의 고유한 Llama3 거대 언어 모델(LLM)을 사용하며, 그중 3개의 모델은 특정 작업에 맞게 미세 조정된 LoRA이며 다음과 같습니다.

  • 계획 또는 고유한 체크리스트 작업 생성 단계
  • 특정 소프트웨어 프로젝트의 맥락에서 체크리스트 항목을 실행하기 위한 AI 에이전트 단계
  • 모든 항목을 결합하는 요약 단계 
  • 악용할 수 없는 CVE의 정당한 사유를 시스템에서 판독할 수 있는 배포 가능한 일반 VEX 형식으로 표준화

워크플로우가 체크리스트를 생성하고 AI 에이전트가 이 체크리스트를 독립적으로 실행(사실상 자체적으로 대화)하므로 별도의 지시가 없더라도 인간 분석가와 상관없이 독립적으로 작업을 진행할 수 있습니다. 이렇게 하면 프로세스를 더 효율적으로 진행할 수 있습니다. 인간 분석가는 인간이 다음 단계에 대한 결정을 내릴 수 있는 충분한 정보를 사용할 수 있는 경우에만 관여하기 때문입니다. 

취약점 스캔 이벤트는 컨테이너에서 감지된 CVE 목록을 전달하여 워크플로우를 트리거합니다. 이러한 결과는 최신 취약점 및 위협 인텔리전스와 결합되어 특정 CVE 및 그것의 악용 현황에 관한 실시간 정보를 워크플로우에 제공합니다. 

이 정보는 CVE를 악용할 수 있는지 여부를 판단할 수 있는 고유한 계획이나 체크리스트를 만드는 특정 작업을 위해 미세 조정된 LLM LoRA의 프롬프트에 추가됩니다. 예를 들어, 이전 .jar 파일 예시의 체크리스트에는 ‘취약한 .jar 파일을 실행하는 데 필요한 JRE가 소프트웨어 프로젝트에 있는지 확인하세요’ 같은 항목이 포함될 수 있습니다. 체크리스트 항목은 필요한 정보를 검색하고 자율적으로 작업을 수행하는 AI 에이전트에 전달됩니다. 

AI 에이전트는 소프트웨어 프로젝트 및 컨테이너와 관련된 많은 자산에 액세스하여 체크리스트 항목을 효과적으로 실행하고 결정을 내릴 수 있습니다. 예를 들어, 프로젝트의 소프트웨어 BOM과 소스 코드에서 JRE를 검색하여 해당 환경에서 .jar 파일을 실행할 수 없고, CVE를 악용할 수 없기 때문에 컨테이너에 즉각적인 패치가 필요하지 않다는 결론을 내릴 수 있습니다(그림 2).

그림 2. 이벤트 중심 RAG를 통해 보안 취약점 및 악용 가능성을 분석하기 위한 NVIDIA AI 워크플로우

AI 에이전트는 데이터 소스 외에도 LLM의 현재 한계 중 일부를 극복하는 데 도움이 되는 도구에 액세스할 수 있습니다. 

예를 들어, LLM의 일반적인 약점 중 하나는 수학적 계산을 수행하는 데 어려움이 있다는 것입니다. 이러한 약점은 LLM에 계산기 도구에 대한 액세스를 제공하면 극복할 수 있습니다. NVIDIA AI 워크플로우의 경우, 해당 모델이 1.10 이전에 출시되는 버전 1.9.1과 같은 패키지 버전 번호를 비교하는 데 어려움을 겪는다는 사실을 발견했습니다. NVIDIA는 에이전트가 패키지 버전 간의 관계를 확인하는 데 사용하는 버전 비교 도구를 구축했습니다. 

그림 3은 단일 CVE 예시의 출력 결과입니다.

그림 3. Agent Morpheus 워크플로우의 출력 예시

이벤트 중심의 RAG로 소프트웨어 제공 강화

Agent Morpheus를 사용하면 조직에서 소프트웨어의 취약점을 분류하는 데 몇 시간 또는 며칠이 걸리던 것에서 불과 몇 초 수준으로 시간을 단축할 수 있습니다. AI는 인간 분석가의 지시나 보조가 없어도 독립적으로 인식하고 추론하며 행동할 수 있습니다. 분석이 끝나면 Agent Morpheus는 발견한 내용에 관한 요약 정보를 최선의 조치를 취할 수 있는 인간 분석가에게 제시합니다. 

인간이 승인한 패치 적용 면제 또는 분석가의 Agent Morpheus 요약 변경 사항은 LLM 미세 조정 데이터세트에 피드백되어 인간의 결과물을 기반으로 모델을 계속 개선합니다.

그림 4. Agent Morpheus 및 연결된 서비스의 데이터 흐름 다이어그램

Agent Morpheus는 컨테이너 레지스트리 및 내부 보안 도구와 완전히 통합되어 컨테이너 업로드에서부터 최종 VEX 문서 생성에 이르기까지 전체 프로세스를 완전히 자동화합니다.

  1. 이 프로세스는 사용자가 새 컨테이너를 레지스트리에 푸시할 때마다 발생하는 컨테이너 업로드 이벤트에서 트리거됩니다.
  2. 컨테이너가 업로드되면 Anchore와 같은 기존 CVE 스캐너를 사용하여 즉시 스캔됩니다. 이 스캔의 결과는 Agent Morpheus 서비스로 전달됩니다.
  3. Agent Morpheus는 리스트에 나열된 CVE에 필요한 인텔리전스를 검색하고 모든 에이전트 도구를 준비합니다.
  4. Agent Morpheus 모델 및 에이전트가 실행되어 각 CVE에 대한 최종 요약 및 분류를 생성합니다.
  5. 그런 다음, 각 CVE에 대한 최종 요약 및 분류는 검토를 위해 보안 분석가의 대시보드로 전송됩니다. 분석가가 원본 컨테이너 스캔 보고서, 개선된 요약 및 Agent Morpheus의 근거를 검토하고 각 CVE에 대한 최종 권장 사항을 제시합니다.
  6. 권장 사항은 동료 평가를 위해 전송됩니다. 필수적으로 수행해야 할 모든 변경 사항은 분석가에게 반환됩니다.
  7. VEX 문서에서 동료 평가가 완료되면 최종 문서가 게시되며 컨테이너와 함께 배포됩니다.
  8. 분석가를 출처로 한 요약 또는 면제의 모든 변경 사항은 새 트레이닝 데이터세트로 컴파일되는데, 이는 모델을 지속적으로 재트레이닝하고 분석가의 출력을 사용하여 시스템을 자동으로 개선하는 데 사용됩니다.

Agent Morpheus는 NVIDIA NIM 추론 마이크로 서비스를 사용하여 배포 시간을 단축하고 추론 속도를 가속화합니다. NIM 마이크로 서비스는 모든 LLM 쿼리를 실행하는 데 사용되며 여러 가지 이유로 워크플로우에 필수적입니다. NVIDIA NIM을 사용하면 OpenAI API 사양과 호환되는 자체 LLM 서비스를 쉽게 가동할 수 있습니다. 

Agent Morpheus는 Llama3 모델의 LoRA 맞춤형 버전 3개와 Llama3 기본 모델 1개를 사용하는데, 이들 모델은 필요에 따라 LoRA 어댑터를 동적으로 로드하는 단일 NIM 컨테이너를 사용하여 모두 호스팅됩니다 . 

NIM은 도구에서 생성되는 LLM 요청의 버스티 특성을 처리할 수도 있습니다. Agent Morpheus는 평균적으로 CVE당 약 41개의 LLM 쿼리를 필요로 합니다! 컨테이너 스캔은 컨테이너당 수십 개의 CVE를 생성할 수 있으므로 미해결 LLM 요청의 수는 단일 컨테이너의 경우 수천 개에 이를 수 있습니다. NIM은 이러한 유형의 가변 워크로드를 처리할 수 있으므로 맞춤형 LLM 서비스를 개발할 필요가 없습니다.

기존의 챗봇 파이프라인과 달리 Agent Morpheus 이벤트 중심 워크플로우는 인간이 응답하는 데 걸리는 시간에 의해 제한되지 않습니다. 그 대신, 가속화된 워크플로우는 기존 머신 러닝 파이프라인의 초석에 해당되는 동일한 병렬화 및 최적화 기술을 사용하여 모든 CVE 또는 이벤트를 실행할 수 있습니다. 

NVIDIA는 Morpheus 사이버 보안 프레임워크를 사용하여 수많은 LLM 요청을 오케스트레이션하고 LLM 요청을 비동기 및 병렬로 실행할 수 있는 파이프라인을 구축했습니다. 각 CVE의 체크리스트 항목과 CVE 그 자체는 서로 완전히 독립적이며 병렬로 실행할 수 있습니다. 

직렬로 실행할 경우 20개의 CVE가 있는 컨테이너를 처리하는 데 2,842.35초가 걸릴 수 있습니다. Morpheus를 사용하여 병렬로 실행하면 동일한 컨테이너를 처리하는 데 304.72초가 걸리는데 이는 9.3배만큼 속도를 향상한 셈입니다!

Morpheus는 HttpServerSourceStage를 사용하여 파이프라인을 마이크로 서비스로 전환하여 도구를 컨테이너 레지스트리 및 보안 대시보드 서비스와 통합하는 작업을 간소화합니다. 이 소스 단계에서 Agent Morpheus는 진정한 의미의 이벤트 중심 서비스로 작동하며 각 컨테이너가 레지스트리에 업로드될 때 자동으로 트리거되어 엔터프라이즈 소프트웨어 취약점 관리의 매우 높은 수요를 충족할 수 있습니다. 

자세히 알아보기

NVIDIA AI Enterprise 무료 90일 체험판을 통해 보안 취약점 분석 AI 워크플로우를 다운로드 할 수 있을 때 알림을 받으려면 지금 등록하세요. 
자세한 내용은 Bartley Richardson의 GTC 세션인 생성형 AI를 적용하여 사이버 보안을 개선하는 방법을 참조하세요.

관련 리소스

Discuss (0)

Tags