APT 공격은 DDoS 공격과 같이 네트워크 레벨에서만 방어한다고 100% 차단이 가능한 공격이 아닙니다. 대부분의 공격이 단말을 통해서 이루어지고, 웹브라우저뿐만 아니라 이메일을 통해서 공격이 시작되기 때문에 모니터링해야 하는 대상이 다양할 수밖에 없습니다.
아래 <그림 1>과 같이 웹브라우저를 통해 다운로드되는 다양한 파일들, 내부로 유입되는 첨부파일이 포함된 다양한 이메일, 업무에 이용되는 다양한 단말기기들이 모두가 APT 공격을 탐지하기 위해 필요한 모니터링 대상입니다.
네트워크를 통해 주고받는 패킷을 모니터링하여야 악성코드 및 C&C 서버의 통신 내역을 모니터링 가능하고, 이메일을 모니터링하여야 첨부되는 파일의 악성코드 여부와 메일 본문에 포함된 URL 검사가 가능하며, 단말기기를 통해 공격이 시작되기 때문에 단말기기를 직접 모니터링하고 악성 행위를 차단시켜야 완벽한 공격 탐지 및 방어가 가능합니다.
최근 가장 빈번하게 발생되는 공격은 악성코드뿐만 아니라 랜섬웨어를 첨부파일에 포함시켜, 파일을 열어보도록 유도하는 스피어 피싱 공격입니다. 기업의 이메일은 공개되어 있어 수집이 비교적 쉽고, 대량의 이메일을 전송하는데도 전산자원이 많이 필요하지 않으며, 목표를 공격자가 지정해서 수신자의 상황에 맞게 메일 내용을 작성하여 공격성공률을 높일 수 있기 때문에 이메일을 통한 공격이 가장 활발하게 이루어지고 있습니다. 아래 <그림 2>와 같이 공격 대상의 선정이 쉽고 공격에 소요되는 자원이 적으며, 공격성공률이 비교적 높기 때문에 이메일을 통한 공격이 선호되고 있는 상황입니다.
그럼 이러한 이메일을 통한 공격을 탐지 차단하기 위한 방법을 알아보도록 하겠습니다. 아래 <그림 3>와 같이 이메일이 들어오면 메일에 첨부파일과 본문에 URL이 포함되어 있는지 검사합니다. 이때 첨부파일이 포함되어 있으면 첨부파일에 대해 알려진 악성코드가 포함되어 있는지 파일에 대한 패턴 분석을 시작합니다. 이를 정적 분석이라고 하는데, 만약에 정적 분석에서 악성코드가 검출되지 않는다면 동적 분석 단계로 넘어가 다양한 OS가 포함된 가상 시스템에 악성코드를 다운로드하여 동작을 모니터링하게 됩니다.
파일을 생성하거나, 인터넷에서 특정 파일을 다운로드하여 설치하거나, 특정 서비스를 레지스트리에 등록하는 등 악성으로 판단되는 행위가 관찰되면 이메일을 차단하게 되고, 별다른 문제가 없으면 통과시킵니다. 첨부파일 이외에 메일 본문에 URL이 포함되어 있다면, 해당 URL이 악성으로 등록되어 있는지 URL DB를 확인하고, 실제 URL을 통해 다운로드되는 파일을 분석하여 악성 여부를 검사하게 됩니다.
그럼 실제로 악성 이메일에 포함된 URL을 검사하는 방법을 확인해 보죠. 아래 <그림 4>과 같이 장비 공급사의 검사 서버가 대신 메일 본문에 있는 URL 링크된 파일을 실제로 다운로드하여 분석을 수행하고 문제가 있는 URL은 악성으로 등록하여 해당 이메일을 차단하는 방식을 사용하고 있습니다. 세부적으로 살펴보면 먼저 의심되는 URL을 장비 공급사의 서버로 보내 이미 같은 URL로 검사한 결과가 있는지 확인하게 됩니다. 악성 URL로 등록되어 있으면 당연히 사용자가 검색할 수 없도록 차단되어 메일이 전달됩니다.
의심 URL을 검색했는데 아직 한 번도 검사 되지 않은 새로운 URL이라면, 정상인지 악성인지 확인이 되지 않았다는 의미이기 때문에, 검사 서버가 해당 URL로 접속을 해서 악성코드가 포함되어 있는지 검사를 수행하게 됩니다. 만약 악성이라고 확인되면, 차단을 하라고 등록하게 되고 Blacklist에 올라가게 됩니다. 검사 결과가 정상이라고 판단되면, 원래 URL을 전송하라고 등록하며, 정상인지 악성인지 판단을 할 수 없다면 경고 페이지를 보여주고 원래 URL을 전송하도록 등록하게 됩니다. 이런 절차가 자동화되어 작동하기 때문에 1~2분 이내에 검사 수행이 이루어지게 됩니다. 이렇게 한번 등록된 URL은 재 검사 없이 다른 고객사의 장비에서 확인요청이 오면 바로 결괏값을 확인하여 전달하기 때문에 거의 실시간으로 URL 차단이 가능하게 됩니다.