본문 바로가기
Security Essay

패턴과 시그니처 기반 보안 솔루션의 한계

by _Jay_ 2021. 7. 15.
반응형

이번 에세이에서는 전통적인 시그니처 기반 보안 솔루션들의 한계를 주제로 하는 기사에 대해 소개드리려고 합니다. 제가 지금까지 여러 악성코드 사례들을 설명드리면서, 대부분의 악성코드가 백신과 같은 탐지 솔루션을 우회하는 로직을 포함하고 있다고 설명드렸죠. 물론 최근 나오는 보안 솔루션들은 시그니처나 패턴 기반의 정적 탐지가 아닌, AI를 이용한 이상 탐지나 행위 기반의 동적 탐지 기능을 이용하고 있다고 홍보를 하고 있습니다. 하지만 막상 그런 보안 솔루션의 내부 구조를 보면 기본적으로 시그니처를 이용한 탐지 로직이 대부분인데요. 오늘은 시그니처 기반 탐지의 한계를 설명드리면서, 왜 아직까지 행위 기반이나 이상 탐지만 사용하기 어려운지에 대해서도 말씀드려보겠습니다.

초기에 썼던 글인 "입사지원서로 위장한 랜섬웨어 공격"에서 메일 보안 솔루션이 어떤 방식으로 시그니처 기반의 악성코드 탐지를 진행하는지, 그리고 해커는 어떤 방식으로 이를 우회하는지에 대해 간략하게 소개드렸는데요. 악성코드의 데이터를 해시화해서 악성 DB에 있는 해시값과 비교하는 것이 일반적으로 말하는 시그니처 기반의 탐지입니다. 여기서 해시화라는 말은 임의의 길이의 데이터 값을 가지고 해시 함수를 통해 고정된 길이의 데이터로 변환한다는 의미인데요. 수학적인 연산이기 때문에 자세히 설명드리진 않겠지만, A라는 데이터를 f(x)라는 함수에 넣으면 B라는 값이 나온다는 개념은 다들 아실테니, 여기서는 임의의 길이가 고정된 길이로 맵핑되는구나..만 기억하시고 넘어가면 될 것 같습니다.

그래서 정리를 하면 백신에서의 시그니처 탐지는 미리 악성코드로 판별된 파일들의 데이터를 해시화 시켜서 악성 DB에 넣어놓고, 새로운 파일이 들어오면 해당 파일의 데이터를 해시화 시켜 악성 DB에 있는 것과 비교를 해서 악성 유무를 판별하는 방식으로 볼 수 있죠. 그런데 이와 같은 방식은 데이터의 값이 조금만 바껴도 우회가 쉽게 가능한데요. 예를 들어보죠. 만약 "hello world!"라는 데이터를 해시화시켰을 때 A라는 값이 나올 때, "hello world1"라는 데이터를 해시화시키면 B라는 값이 나옵니다. 언뜻 보면 당연한거겠지만, 해커는 이런 단순한 원리를 사용해서 악성코드의 데이터를 조금만 바꿔 백신을 우회하게 됩니다.

악성코드가 하는 일은 똑같은데 해커가 위와 같은 방식으로 악성코드를 대량으로 만들어 낸다면, 악성 DB의 크기는 점점 더 커질 것이고 이는 성능에도 영향을 미칠 수 있겠죠. 네.. 사실 지금은 악성코드를 발견했을 때 해시화시켜 악성 DB에 다 넣어버리는 무식한 방법을 사용하는 곳은 거의 없고, 특정 위치에 어떤 데이터가 존재하거나 특정한 명령어 세트가 존재할 때 악성으로 판단하는 식으로 탐지를 합니다. 이러한 방식도 결국 패턴 기반 탐지로 볼 수 있는데, 문제는 이미 해커들이 같은 기능을 하는데 시그니처는 전혀 다른 악성코드를 만들어 내는 방법을 사용하고 있다다는 겁니다.

 

 

패턴과 시그니처를 기반으로 한 보안의 시대는 지나갔다

전통의 시그니처 기반 보안 솔루션들에 의존하는 조직들이라면 이제 전략을 수정해야 될 때가 됐다. 왜냐하면 지난 1사분기 동안 이런 솔루션들을 회피한 멀웨어가 전체 멀웨어의 74%나 된다는

www.boannews.com

 

최근에는 악성코드를 파일 없이 실행시키는 파일리스(fileless)형 악성코드도 유행하고 있어서 시그니처 기반의 탐지가 더 어려워지고 있죠. 또한 재택 근무가 활발해지면서 해커들이 기업을 공격하기 보다는 원격 근무를 하는 사람들을 노리고 있다는 것도 문제가 됩니다. 흔히 IT 관점으로 봤을 때 개인 PC를 데이터 IT 흐름의 끝쪽에 있다고 해서 엔드포인트(Endpoint)라고 부르는데, 이제는 해커가 기업의 네트워크를 공격하는 것이 아니라 사용자인 엔드포인트를 공격함으로써 PC에 있는 백신의 시그니처 탐지가 더 한계를 가진다고 보시면 됩니다.

 

그러면 시그니처 기반의 탐지가 아닌 행위 기반이나 AI를 활용한 이상 탐지는 어떤지 잠깐 말씀을 드리고 이번 글을 마치도록 하겠습니다. 사실 시그니처의 탐지의 문제점이 알려지지 않은 악성코드를 탐지하지 못하는 미탐에 있다면, 행위 기반이나 이상 탐지의 경우 오탐 또는 과탐의 문제가 있죠. 정상 프로그램인데 악성코드로 판별하는 경우가 존재하기 때문에 완전하게 사용하기에는 무리가 있다는 겁니다. 정상적인 파일을 다운로드 받았는데 악성코드로 오인해서 백신이 파일을 지워버리는.. 이런 일들이 있을 수 있는거죠.

 

물론 꽤 오래전부터 오탐과 과탐의 비율을 낮추기 위한 연구가 계속 진행되고 있는데요. 하지만 아직까지는 행위 기반의 동적 탐지나 이상 탐지만을 가지고 보안을 하기에는 문제가 있기 때문에, 각 탐지의 문제점을 서로 보완하면서 사용해야하지 않을까라는 생각을 해봅니다. 이번 글에서 행위 기반의 탐지나 AI를 이용한 이상 탐지에 대한 자세한 내용을 말씀드리진 않았는데, 이후 에세이에서 자세히 설명하도록 하겠습니다. 그럼 오늘 에세이는 여기서 마치죠. 긴 글 읽어주셔서 감사합니다.

 

반응형

댓글