Gemini, 코드 인터프리터와 Google 위협 인텔리전스로 악성코드 분석 능력 향상
Bernardo Quintero
Andrés Ramírez
* 해당 블로그의 원문은 2024년 11월 20일 Google Cloud 블로그(영문)에 게재되었습니다.
Google Cloud의 주요 임무 중 하나는 보안 전문가가 최신 위협으로부터 방어하는 데 도움이 되는 최신 도구를 제공하는 것입니다. 이러한 임무의 일환으로 위협 인텔리전스 자동화에서 보다 자율적이고 적응력 있는 접근 방식으로 전환하고 있습니다.
악성코드 분석의 최신 발전 사항에서 Google은 난독화 기술을 해결하고 침해 지표(IOC)에 대한 실시간 통찰력을 얻기 위해 Gemini에 새로운 기능을 탑재하고 있습니다. Code Interpreter 확장 프로그램을 통합함으로써 Gemini는 이제 특정 문자열이나 코드 섹션의 난독화를 해제하는 데 도움이 되는 코드를 동적으로 생성하고 실행할 수 있으며, Google Threat Intelligence(GTI) 함수 호출을 통해 악성코드 샘플 내에서 발견된 URL, IP 및 도메인에 대한 추가 컨텍스트를 GTI에 쿼리할 수 있습니다. 이러한 도구는 Gemini를 악성코드 분석을 위한 보다 적응력 있는 에이전트로 변환하고 난독화된 요소를 해석하고 각 샘플의 고유한 특성에 따라 컨텍스트 정보를 수집하는 기능을 향상시키는 단계입니다.
이 기반을 토대로 이전에는 Gemini 1.5 Pro를 사용하여 중요한 준비 단계를 살펴보았으며, 200만 토큰 입력 창을 활용하여 단일 패스에서 상당한 양의 디컴파일된 코드 섹션을 처리했습니다. 확장성을 더욱 향상시키기 위해 디컴파일 단계 이전에 Mandiant Backscatter를 통해 자동 바이너리 압축 풀기를 통합하여 특정 난독화 기술을 처리하는 Gemini 1.5 Flash를 도입했습니다. 그러나 노련한 악성코드 분석가라면 누구나 알고 있듯이 진정한 과제는 종종 코드가 노출된 후에 시작됩니다. 악성코드 개발자는 중요한 IOC와 기본 논리를 숨기기 위해 난독화 전략을 자주 사용합니다. 또한 악성코드는 추가 악성 코드를 다운로드하여 특정 샘플의 동작을 완전히 이해하기 어렵게 만들 수 있습니다.
대규모 언어 모델(LLM)의 경우 난독화 기술과 추가 페이로드로 인해 고유한 문제가 발생합니다. URL, IP, 도메인 또는 파일 이름과 같은 난독화된 문자열을 처리할 때 LLM은 종종 명시적 디코딩 방법 없이 "환각"을 일으킵니다. 또한 LLM은 추가 페이로드를 호스팅하는 URL 등에 액세스할 수 없으므로 종종 샘플의 동작에 대한 추측적 해석을 초래합니다.
이러한 문제를 해결하기 위해 코드 인터프리터 및 GTI 함수 호출 도구는 표적화된 솔루션을 제공합니다. 코드 인터프리터를 통해 Gemini는 XOR 기반 알고리즘으로 인코딩된 문자열과 같이 샘플 내에서 난독화된 요소를 디코딩하기 위해 자체 판단을 사용하여 필요에 따라 사용자 지정 스크립트를 자율적으로 생성하고 실행할 수 있습니다. 이 기능은 해석 오류를 최소화하고 수동 개입 없이 숨겨진 논리를 드러내는 Gemini의 기능을 향상시킵니다.
한편 GTI 함수 호출은 URL, IP 또는 도메인과 같은 의심스러운 외부 리소스에 대한 컨텍스트화된 정보를 Google 위협 인텔리전스에서 검색하여 추측 없이 검증된 통찰력을 제공함으로써 Gemini의 범위를 확장합니다. 이러한 도구는 함께 Gemini가 난독화되거나 외부에서 호스팅되는 데이터를 더 잘 처리할 수 있도록 지원하여 악성코드 분석을 위한 자율 에이전트로서 기능한다는 목표에 더 가까이 다가갈 수 있도록 합니다.
이러한 개선 사항이 Gemini의 기능을 어떻게 향상시키는지 설명하기 위해 실제 예를 살펴보겠습니다. 이 경우 2단계 페이로드를 호스팅하는 난독화된 URL이 포함된 PowerShell 스크립트를 분석하고 있습니다. 이 특정 샘플은 이전에 코드 생성 및 실행을 추론 프로세스의 일부로 통합하는 가장 고급 공개 LLM 모델 중 일부를 사용하여 분석되었습니다. 이러한 기능에도 불구하고 각 모델은 "환각"을 일으켜 올바른 URL을 정확하게 표시하는 대신 완전히 조작된 URL을 생성했습니다.
Gemini가 분석할 난독화된 PowerShell 코드 샘플
추론 프로세스의 일부로 코드 인터프리터 및 GTI 함수 호출을 활용하는 Gemini는 사람의 개입 없이 자율적으로 다음 보고서를 생성했습니다. 필요하다고 판단되면 이러한 도구를 적용하여 샘플에서 추가 정보를 처리하고 추출합니다.
Gemini는 스크립트가 다운로드 URL을 숨기기 위해 RC4와 유사한 XOR 기반 난독화 알고리즘을 사용한다는 것을 확인했습니다. 이 패턴을 인식한 Gemini는 코드 인터프리터 샌드박스 내에서 Python 난독화 해제 스크립트를 자율적으로 생성하고 실행하여 외부 리소스를 성공적으로 드러냅니다.
URL을 확보한 Gemini는 GTI 함수 호출을 사용하여 Google 위협 인텔리전스에 추가 컨텍스트를 쿼리합니다. 이 분석은 우크라이나 보안 서비스를 사칭하는 피싱 캠페인에서 원격 액세스 도구를 사용하는 것으로 알려진 위협 클러스터인 UNC5687에 URL을 연결합니다.
살펴본 바와 같이 이러한 도구의 통합으로 Gemini는 난독화를 해결하고 IOC에 대한 중요한 컨텍스트를 수집하기 위해 접근 방식을 조정할 수 있는 악성코드 분석가로서 기능하는 Gemini의 능력이 강화되었습니다. 코드 인터프리터와 GTI 함수 호출을 통합함으로써 Gemini는 숨겨진 요소를 자율적으로 해석하고 외부 참조를 컨텍스트화하여 복잡한 샘플을 더 잘 탐색할 수 있습니다.
이러한 중요한 발전에도 불구하고 위협 환경에 존재하는 광범위한 맬웨어 및 시나리오의 다양성을 고려할 때 많은 과제가 남아 있습니다. Google은 꾸준한 진전을 이루기 위해 최선을 다하고 있으며 향후 업데이트를 통해 Gemini의 기능을 계속 향상시켜 위협 인텔리전스 자동화에서 보다 자율적이고 적응력 있는 접근 방식에 더 가까이 다가갈 것입니다.