다계층 방어: 정적 분석, 동적 분석 및 머신 러닝이 필요한 이유

Dec 26, 2018
1 minutes
10 views

보안에서 포인트 솔루션은 공격 주기 전반에 걸쳐 개입할 단일 지점에 집중합니다. 보안 솔루션이 90%를 성공적으로 방어한다고 해도, 공격이 보안 솔루션을 통과할 수 있는 10분의 1의 확률은 여전히 남아 있는 것입니다. 기업은 사이버 공격의 성공을 방어할 확률을 높이기 위해 포인트 솔루션에 의존해서는 안 됩니다. 여러 공격 지점을 포괄하는 방어층이 있어야 합니다. 효과적인 기법을 스태킹하면 보안 솔루션의 전반적인 효율성이 높아져, 여러 지점에서 공격 주기를 중단시킬 수 있습니다.

아래는 연동하여 사이버 공격의 성공을 방지할 수 있는 3가지 위협 식별 방법입니다.

 

동적 분석

제로 데이 위협을 탐지할 수 있는 유일한 도구

동적 분석을 사용하면, 멀웨어 분석 환경 등의 가상 머신에서 의심되는 파일이 디토네이션되고 분석이 이루어져 파일 내용을 볼 수 있습니다. 위협을 식별하기 위해 서명에 의존하는 것이 아니라, 이 파일의 실행 시 일어나는 일에 등급이 매겨집니다. 이렇게 하면 동적 분석이 이전에 볼 수 없었던 위협을 식별할 수 있습니다.

가장 정확한 결과를 얻으려면, 기업 네트워크의 평균적인 엔드포인트처럼 샘플이 인터넷에 완전히 액세스할 수 있어야 합니다. 위협이 완전히 언래핑되려면 흔히 명령과 컨트롤이 필요하기 때문입니다. 예방 메커니즘으로서 멀웨어 분석은 인터넷에 접근하는 것을 금지할 수 있으며 대응하는 호출을 가짜로 보내 위협이 스스로를 드러내도록 속이지만, 이 방법은 신뢰할 수 없으며 인터넷 액세스를 정확하게 대체할 수도 없습니다.

멀웨어 분석 환경은 인식 가능하며 프로세스에 많은 시간 소요

탐지를 피하기 위해, 공격자는 네트워크를 프로파일링하여 공격이 멀웨어 분석 환경에서 실행되고 있는지를 식별합니다. 공격자는 멀웨어가 가상 환경에 있다는 신호를 검색합니다. 이러한 신호에는 비슷한 시기에 또는 동일한 IP 주소로 디토네이션됨, 키보드 스트로크나 마우스 움직임 같은 유효한 사용자 활동이 없음, 비정상적으로 많은 양의 디스크 공간 같은 가상화 기술 등이 있습니다. 멀웨어 분석 환경에서 실행 중이라고 판단되면 공격자는 공격 실행을 중지합니다. 즉, 이 결과로 분석이 실패하기 쉽습니다. 예를 들어, 디토네이션이 진행되는 동안 샘플이 홈으로 알려주더라도 공격자가 멀웨어 분석을 식별했기 때문에 작동이 중단되면, 샘플은 악의적인 작업을 수행하지 않으며 분석에서 어떤 위협도 식별하지 못합니다. 마찬가지로, 위협이 특정 소프트웨어의 특정 버전 실행을 요구하는 경우, 샘플은 멀웨어 분석 환경에서 식별 가능한 어떠한 악의적인 작업도 수행하지 않습니다.

가상 머신을 가져와서 파일을 드롭하고 파일 내용을 확인하고 머신을 해체하여 결과를 분석하는 데는 몇 분이 걸릴 수 있습니다. 동적 분석은 가장 비싸고 시간이 많이 걸리는 방법이지만, 알려지지 않은 위협이나 제로 데이 위협을 효과적으로 탐지할 수 있는 유일한 도구이기도 합니다.

 

정적 분석

신속한 결과 그리고 분석 요건 없음

동적 분석과 달리 정적 분석은 디토네이션을 이용하는 것이 아니라 디스크에 있는 특정 파일의 내용을 살펴봅니다. 이 방법은 데이터를 파싱하고 패턴, 속성과 아티팩트를 추출하고 이상이 있으면 표시를 합니다.

정적 분석은 동적 분석이 제시하는 문제에 대해 탄력적입니다. 그리고 매우 효율적이고(몇 분의 1초밖에 안 걸림) 훨씬 더 비용 효과적입니다. 또한 정적 분석은 모든 파일에 대해 효과를 볼 수 있습니다. 특정 요구사항, 맞춤화해야 하는 환경, 분석을 위해 파일에서 발신해야 하는 통신이 없기 때문입니다.

압축된 파일에서는 가시성 손실

하지만 파일이 압축되면 정적 분석을 비교적 쉽게 피할 수 있습니다. 압축된 파일은 동적 분석에서는 잘 작동하지만, 정적 분석 중에 실제 파일에 대한 가시성은 손실됩니다. 샘플을 다시 압축하면 전체 파일이 노이즈로 변하기 때문입니다. 정적으로 추출할 수 있는 것은 거의 아무것도 없습니다.

 

머신 러닝

동작 기반의 알려진 위협으로 클러스터링된 새로운 버전의 위협

파일에 특정 패턴 매칭을 수행하거나 파일을 디토네이션하는 대신, 머신 러닝은 파일을 파싱하고 수천 가지 기능을 추출합니다. 알려진 식별자를 기반으로 파일이 양호한지 불량한지를 식별하기 위해 이러한 기능은 특징 벡터라고도 하는 분류자를 통해 실행됩니다. 특정한 파일을 찾는 것이 아니라, 파일 기능이 이전에 평가된 파일 클러스터처럼 작동하면 머신이 해당 파일을 클러스터의 일부로 표시합니다. 우수한 머신 러닝을 위해서는 좋은 결정과 나쁜 결정을 학습해야 하며, 새로운 데이터나 기능을 추가하면 프로세스가 개선되고 가양성률이 감소합니다.

머신 러닝은 동적 분석과 정적 분석에서 부족한 점을 보완합니다. 샘플이 불활성이거나, 디토네이션하지 않거나, 압축에 의해 탐지가 안 되거나, 명령 및 제어가 중단되었거나, 신뢰할 수 없는 상태인 경우에도 여전히 머신 러닝으로 악성 여부를 식별할 수 있습니다. 어떤 위협의 여러 버전이 함께 표시되고 클러스터링된 경우 그리고 클러스터에 있는 것과 같은 기능이 샘플에 있는 경우, 머신은 샘플이 해당 클러스터에 속한 것으로 간주하여 몇 초 안에 샘플을 악성으로 표시합니다.

이미 알려진 것보다 더 많이 찾을 수 있는 유일한 대안

다른 두 방법과 마찬가지로, 머신 러닝은 장점이 많은 도구이지만 몇 가지 단점도 있습니다. 즉, 머신 러닝은 알려진 식별자만을 기반으로 모델을 학습합니다. 동적 분석과 달리, 머신 러닝은 완전히 독창적인 위협이나 알려지지 않은 위협은 결코 찾지 못합니다. 이미 알려진 위협만 더 많이 찾도록 학습되었기 때문에 이전에 본 것과 다른 위협을 발견했을 때는 머신이 이러한 위협에 표시를 하지 않습니다.

플랫폼의 다층 기법

진보된 적들이 어떤 공격을 하든 간에, 이를 방어하려면 둘 이상의 퍼즐이 필요합니다. 즉, 이전에 멀티벤더 솔루션 개념이라고 했던 다층 기법이 필요합니다. 심층 방어도 여전히 적절하고 의미가 있지만, 이제 멀티벤더 포인트 솔루션을 넘어서 정적 분석, 동적 분석 및 머신 러닝을 통합하는 플랫폼으로 발전해야 합니다. 3가지 모두가 연동되면 통합 솔루션 계층을 통해 심층 방어를 실현할 수 있습니다.

 

Palo Alto Networks Security Operating Platform은 WildFire 클라우드 기반 위협 분석 서비스를 통합하여 컨텍스트 기반의 실행 가능한 위협 인텔리전스를 제공하고, 네트워크, 엔드포인트 및 클라우드 전반에서 안전하게 사용할 수 있게 해줍니다. WildFire는 고급 위협 방지 기법을 위해 맞춤형 동적 분석 엔진, 정적 분석, 머신 러닝 및 베어 메탈 분석을 결합하고 있습니다. 많은 멀웨어 분석 환경이 오픈 소스 기술을 활용하지만, WildFire는 동적 분석 엔진 내에서 모든 오픈 소스 가상화를 제거하고 처음부터 가상 환경으로 대체했습니다. 공격자는 다른 사이버 보안 공급업체에 사용된 기법과 다른 WildFire의 탐지를 피하려면 완전히 독특한 위협을 만들어야 합니다. WildFire의 처음 3가지 방어층(동적 분석, 정적 분석 및 머신 러닝)을 피할 수 있는 몇몇 공격의 경우, 회피 동작을 표시하는 파일이 전체 하드웨어 실행을 위해 베어 메탈 환경으로 동적으로 이동됩니다.

플랫폼 내에서 이러한 기법은 비선형적으로 연동합니다. 하나의 기법이 어떤 파일을 악성으로 식별하면 다계층 접근방식의 플랫폼 전체에 전달되어 다른 모든 기능에서 보안이 강화됩니다.


Subscribe to the Newsletter!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.