<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=939333007162424&amp;ev=PageView&amp;noscript=1">

EDR 새로운 세상이 온다 ③ 머신러닝과 악성코드 탐지

 

본 블로그에서 다루고 있는 백서의 내용은 지니안 인사이츠 E(Genian Insights E, 이하 인사이츠) 솔루션이 악성코드의 탐지를 위해 사용하는 머신러닝(ML)에 대하여 소개합니다. 이와 더불어 딥러닝 등 새로운 기술 및 제품에 대한 이해를 높이는 것이 목적입니다. 아래 블로그 내용에 대해 보다 자세하게 알고 싶으신 분들은 ML 백서(click), 브로셔, 제품소개서, 데이터시트를 참조해주세요.

Ⅰ. 악성코드 탐지분야에서 머신러닝을 주목하는 이유

1. 탐지방식의 한계

안티바이러스(Anti-Virus) 제품의 기본적인 탐지방법은 시그니처(Signature)와의 비교입니다. 매일 약 1백만 건의 악성코드가 신규로 발견되었으며, 이 중 안티바이러스 제품에 적용될 수 있는 악성코드는 수백 건 정도 입니다. 이것은 발견되는 모든 악성코드를 시그니처로 관리하는 것은 불가능하다는 결론이 도출됩니다.

2. 동작방식의 한계

최신 시그니처를 유지하기 위해서는 업데이트가 반드시 필요합니다. 네트워크를 이용한 업데이트는 폐쇄망에서 이용할 수 없습니다. 이것은 클라우드를 이용하는 동작방식에도 큰 걸림돌이 됩니다. 이전에 발생한 국방부 해킹사건은 이러한 폐쇄망의 한계를 잘못된 방식으로 해결하려는 시도가 얼마나 큰 결과를 초래하는지를 보여준 대표 사례라고 할 수 있습니다.

3. 백신 등 보안 소프트웨어 우회

악성코드를 탐지하기 위한 방법을 공격자가 역으로 이용할 수 있습니다. 자신이 작성한 악성코드를 바이러스토털(Virustotal)이나 쿠쿠 샌드박스(Cuckoo Sandbox)등을 이용하여 테스트하거나 이를 우회하는 기술적인 방법을 적용할 수 있습니다.

위에서 설명한 이유 등으로 증가하는 악성코드의 탐지를 위해 머신러닝이 실질적인 대안으로 평가를 받고 있습니다. 머신러닝은 특징(Feature)을 기반으로 악성코드를 탐지하는 기술입니다. 따라서 악성코드의 양(Quantity)과 탐지율(Detection Rate)의 관계가 없으며, 유사한 변종의 탐지에 유리합니다. 악성코드의 탐지에서 중요한 점은 악성코드로 판단하기 위해 어떠한 특징을 사용할 것인가와 학습을 위해 어떠한 알고리즘을 사용하는가에 있습니다.

어떠한 특징이 실행프로그램을 유해한(악성코드) 것과 정상인(정상코드) 것으로 잘 구분해 줄 수 있을까요?

사용할 수 있는 특징들은 많이 있습니다. 파일의 이름, 해시값, 헤더정보, 호출함수, 레지스트리키, DLL 등이 이에 해당 합니다. 하지만 악성코드와 아닌 것을 딱 잘라 구분할 수 있는 단일한 특징은 현재까지 발견하지 못했습니다. 예를 들어 실행프로그램의 헤더에는 SizeOfInitializedData 라는 필드가 존재합니다. 이것은 프로그램에서 사용되는 변수들이 초기화되어 있는 영역의 총합을 의미 하는데, 다수의 악성코드와 정상코드를 대상으로 해당 특징의 분포를 분석한 내용은 백서 11페이지에서 확인하실 수 있습니다.

Ⅱ. 지니안 인사이츠 E와 머신러닝

지니안 인사이츠 E(Insights E, 이하 인사이츠)는 ‘단말기반 지능형 위협탐지 및 대응솔루션’으로 국내 최초로 개발된 EDR(Endpoint Detection & Response)솔루션 입니다. APT와 랜섬웨어 등 지능형위협을 탐지하고 공격에 대한 가시성을 확보할 수 있습니다.

인사이츠는 지능형 위협을 탐지하기 위해 머신러닝을 포함한 단계별 탐지 방식을 지원하고 있습니다. 인사이츠의 위협 탐지 방식은 아래와 같으며, 도식화된 사항은 백서 12페이지에서 확인하실 수 있습니다.

1. IOC(침해사고지표, Indicators of Compromise)

알려진 악성코드의 해시(hash), 분류, 위험성, IP 등 관련 정보를 기반으로 악성코드를 탐지합니다. 안티바이러스의 시그니처와 유사하며, 다수의 악성코드가 실제 이 단계에서 사전 탐지됩니다.

2. ML(머신러닝, Machine Learning)

IOC에 의해 탐지되지 않은 실행파일의 경우 다음 단계인 머신러닝에 의해 추가 탐색이 이루어 집니다. 1,000개 이상의 특징(Feature)을 추출하여 정교하게 학습된 모델을 적용하는데 1초도 걸리지 않으며, 탐지 정확도는 99% 이상 입니다.

3. YARA(야라)

추가로 실행파일 내부에 악성코드의 흔적(String)을 규칙(Rule) 기반으로 탐지합니다. 알려져 있거나 또는 알려지지 않은 유사변종 악성코드를 탐지 할 수 있습니다.

인사이츠는 악성코드와 정상코드의 구분을 위하여 약 1,500개 이상의 특징(Feature)을 사용하며, 딥러닝을 기반으로 하는 다양한 학습 방법을 연구하고 있습니다. 백서 13~14페이지에서 지니언스가 연구하고 있는 사항에 대하여 확인하실 수 있습니다.

Ⅲ. 머신러닝, 과연 만능일까?

증가하는 악성코드의 추세와 발맞추어 수 많은 기업들이 머신러닝을 이야기하고 있습니다. 특히 랜섬웨어와 변종 출현의 대안으로 빠르게 자리를 잡아가는 모양새입니다. 심지어 랜섬웨어를 100% 탐지할 수 있다고 선전하며, 탐지율 경쟁으로 치닫는 모습도 볼 수 있습니다. 그러나 머신러닝의 실제 적용에 있어서는 아래와 같은 한계가 존재 합니다. 이러한 특징을 정확하게 이해하고 올바르게 사용하는 것이 머신러닝의 적용에 있어 매우 중요합니다.

1. 탐지 결과의 해석

머신러닝을 통해 악성코드가 탐지되는 경우 그 결과값은 확률(%)로 표기 됩니다. 구체적으로 어떠한 이유로 악성코드로 판단되었는지를 확인(해석)할 수 없습니다. 이러한 해석을 위하여 의사결정 트리(Decision Tree), 선형 회기(Linear Regression) 등의 추가적인 모형을 이용할 수 있으나 이 역시도 추정에 가깝다고 할 수 있습니다.

2. 오탐(False Positive)

‘높은 탐지율’ 보다 더욱 중요한 것은 ‘낮은 오탐율’ 입니다. 특히 정상파일을 악성파일로 판단하는 오류(False Positive, Type I Error)의 관리가 매우 중요합니다. 오탐율 5%는 숫자로는 낮아 보입니다. 그러나 1,000개의 파일을 검사했을 때 50(5%)개의 파일을 삭제할 수 있다는 의미와 같습니다. 이러한 오류는 실제 적용에 있어 심각한 피해를 초래할 수 있습니다.

3. 탐지 결과와 대응(Response)의 관계

‘abc.dll’ 이라는 파일이 55%의 확률로 악성코드로 탐지되었다면 어떠한 조치를 취하시겠습니까? 그냥 두어야 할까요? 아니면 삭제해야 할까요? 만일 삭제 후 시스템이 정상적으로 부팅하지 못하거나 어플리케이션에 장애가 발생하면 그 책임은 누구에게 있을까요? 아무리 뛰어난 머신러닝 이라도 그 결과를 즉각적인 대응으로 연결하기에 무리가 있습니다. 단일 머신러닝으로만 이루어진 솔루션의 해결과제라고 할 수 있습니다.

4. 업데이트(Update)

머신러닝 역시 업데이트가 필요합니다. 그 주기는 수개월~수년일 수도 있습니다. 전혀 다른 종류의 악성코드가 출현하게 되면 탐지 및 대응이 어려울 수 있습니다. 악성코드가 변화하는 것에 맞추어 추가적인 학습이 필요합니다. 따라서 신규 악성코드를 지속적으로 수집 및 분석하고 업데이트할 수 있는 에코시스템이 필요합니다.

지니언스는 이러한 기술적인 문제와 적용상의 어려움을 잘 인지하고 있습니다. 또한 인사이츠에는 이러한 문제를 해결하기 위한 다양한 방법들이 이미 적용되어 있습니다. 지니언스는 인사이츠의 지속적인 고도화를 통해 기술적인 문제의 해결을 그리고 NAC(Network Access Control)와의 긴밀한 협업을 통해 적용상의 어려움을 해결할 수 있다고 확신하고 있습니다. 이것이 인사이츠가 NAC와 함께 운용될 때 최적의 효과를 거둘 수 있는 이유이기도 합니다.

Ⅳ. Conclusion

딥러닝(Deep Learning)은 오래 전부터 연구되어 왔습니다. 오랜 기간 부침을 거듭하였지만 꾸준한 연구가 지속되면서 알고리즘이 거듭 개선되었으며, 하드웨어의 발전 그리고 빅데이터의 발전과 맞물리면서 최고의 성능을 가진 머신러닝의 방법으로 평가 받고 있으며, 정보보안 분야를 포함하여 미래 인공지능의 희망으로 떠오르고 있습니다.

새로운 세상이 오고 있습니다. 전통의 강자가 한 순간에 몰락하고 신기술과 신생업체가 새로운 패러다임을 제시할 수 있는 세상이 되었습니다. 이제 시스템과 사용자가 융합되고 네트워크와 엔드포인트의 구별이 없는 환경이 도래하고 있습니다. 정보보안 역시 머신러닝 등의 새로운 기술로 인해 영역이 파괴되고 있습니다. 그러나 걱정할 필요 없습니다. 결국 사람을 위하는 기술과 변화만이 살아남고 확대될 것이기 때문입니다.

새로운 세상의 중심에 보안 소프트웨어 기업 지니언스가 있습니다.

지니안 인사이츠 E의 진화를 많이 기대해주세요!

참조 URL

https://www.genians.co.kr/resources/Genian_Insights_E_Whitepaper_ML.html

https://www.genians.co.kr/resources/Genian_Insights_E_introduction.htmla

https://www.genians.co.kr/resources/Genian_Insights_E_Brochure.html

https://www.genians.co.kr/resources/Genian_Insights_E_Datasheet.html

https://www.genians.co.kr/resources/Genian_Insights_E_Whitepaper_XBA.html

 

함께 보면 좋은 글

새로운 세상이 온다 ② 머신러닝과 신규 플레이어의 등장

새로운 세상이 온다 ① 정보보안과 머신러닝의 이해

 


 

지니언스 뉴스레터를 구독하시면 매달 새로운 보안 컨텐츠를 보내드립니다!

뉴스레터 구독