태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'게놈지도'에 해당되는 글 1건

  1. 2010.09.08 악성파일 진단명과 변형도의 변화는 시대의 흐름인가? (1)
보안관련소식2010.09.08 10:58


MS DOS 운영체제 시절에는 신종 도스용 바이러스가 출현하고 얼마 후에 소스프로그램을 수정한 변형(Variant/Mutation)이 발견되면 진단명에 감염 파일 사이즈를 추가하거나, 알파벳을 순차적으로 부여해서 원형과 변형을 구분하여 사용했었지요.

MS Windows 운영체제로 넘어오면서 Anti-Virus 업체들은 기존 도스용 악성프로그램의 진단명 명명 방식을 대체로 유지하면서 변형도를 통해서 어떠한 종류의 악성프로그램 전파도가 높은 지 통계자료용으로 사용하기도 하고, 변형도를 통해서 악성코드 개발자의 활동량을 예측할 수도 있었지요.

악성프로그램의 변형 방식이 단순 실행압축화 부터 복잡한 암호화 기능까지 적용하면서는 다양한 Anti-Virus 엔진 기술이 도입되는 계기를 마련하기도 하였습니다.

또한, 원형과 변형의 구분이 명확하지 않은 형태도 존재하며, 많은 양의 악성프로그램을 분석가가 개별 변형도 파악에 시간적 환경적 어려움이 발생하면서 Anti-Virus 업계에서는 유전공학에서 사용하는 DNA(유전자)의 숫자와 위치를 나타내는 게놈(Genome)지도라는 형태를 참고하여, 악성코드들의 변형체 구조를 분석하고 파악하여 자동으로 변형도를 명명하는 방식 등도 연구하고 도입한 바 있습니다.


사용자 삽입 이미지

이처럼 악성프로그램의 변형도 부여는 Anti-Virus 업계에서 다양하게 접근했던 기술중에 하나이기도 합니다.

그러나 악성프로그램의 복합성과 복잡화는 진단명 명명을 하는데 매우 어려운 과제로 떠올랐고, 특히 기하급수적으로 증가하는 악성파일의 수량과 이를 탐지하기 위해서 개발되는 Pattern 이나 Signature 의 용량 증대도 진단명 변화에 조금씩 불씨를 당기게 되는 계기가 되었습니다.

초반에는 다수의 변형이나 유사종이 존재하는 형태를 일괄 통합 진단(Generic Detection)하도록 하여, 하나의 진단명으로 다수의 악성프로그램 변종을 통합적으로 탐지하고 치료할 수 있도록 기능을 개선하기도 하였고, 사전 탐지 기능용 진단명(Heuristic)을 통해서도 인텔리전트한 엔진 기술이 개발되고 있기도 합니다.

그러나 이러한 부분도 오진(False Positive) 등의 문제에 부딪히고, 사용자에 대한 신뢰도 및 편의성 증대가 우선시되면서 매우 신중하고 조심스럽게 접근하고 있는 부분 중에 하나라고 할 수 있을 것 같습니다.

점차적으로 Anti-Virus 업체들도 많아지고, 진단명 방식도 매우 다양화되면서 본질적인 정책이 무색할 정도로 무분별한 방식이 사용되고 있기도 하지만, 이는 각 회사의 정책적인 부분으로 인정해야 하는 부분입니다.

최근에는 Virus 와 Trojan Horse 기능을 복합적으로 보유하고 있거나, Worm 과 Virus, Trojan 기능을 종합적으로 가지고 있는 녀석들도 많이 있습니다.

사용자 삽입 이미지

예전에는 웜바이러스라는 잘못된 용어를 기자분들이나 언론에서 사용자들의 이해도를 감안하여 사용한 경우도 많았지요?!

웜과 바이러스 기능이 복합적으로 있을 경우에는 바이러스에 우선순위를 주어 바이러스로 구분하는 것이 적절했지만, 지금은 이러한 부적절 용어가 너무 보편화, 일반화(?) 되어지다보니 자연스럽게 사용되는 용어가 되는 듯 싶기도 합니다. 그러나 Anti-Virus 업계에 있는 전문가들은 용어 사용에 매우 각별히 주의를 하는 편이고, 별도로 교육을 하는 부분이기도 합니다.

또한, Patched 와 같이 정상 (시스템) 파일의 특정 부분을 수정해서 또 다른 URL 에서 악성파일을 다운로드 설치하거나, 또 다른 파일을 실행시켜 주는 등등의 기능을 수행하는 형태도 다수 보고되고 있습니다.

그럼 Patched 는 Virus 일까요? Trojan 일까요?

정상 파일을 변조했다는 결과론적인 측면에서 접근하면 Virus 이며, 치료 개념도 Virus 감염체와 동일하게 추가/변조된 코드를 제거/수정해 주어야 합니다.

다만, 많은 Anti-Virus 업체 제품들의 진단명을 보면 Patched 가 Trojan 으로 구분되는 경우가 많이 있지요.

그것은 자동화 업데이트에 따른 변화일 수도 있고, Patched 라는 형태가 Virus 와 Trojan 이라는 복합적인 성격을 가지고 있기도 한 부분에서 원인을 찾아볼 수 있습니다.

보통 Patched 라는 형태는 이미 감염기(Patcher/Infector)에 의해서 변화된 2차 감염체(Patched/Infected)이며, 일반적으로 감염기는 감염만 시키고 스스로 자멸(Self Delete)되는 형태가 많습니다.

따라서 Patcher 는 생존시간이 짧은 Trojan-Dropper 형태에 가깝고, Patched 는 이미 정상 파일을 변조한 형태이므로 Anti-Virus 제품은 코드 수정(치료)이라는 과정이 우선적으로 요구되기 때문에 Virus 에 우선순위를 주는 것이 적절할 것으로 판단되지만, Patched 된 코드 자체도 Virus 정의와 부합되는 전파 기능은 보유하고 있지 않기 때문에 Virus 와 Trojan 의 중간적인 성향을 가지고 있다고 보면 될 것 같습니다.

그러나  Patched 된 시스템 파일을 Trojan 으로 구분하게 되면 기존에 Trojan 정의 및 치료 개념에 부합되지 못하는 문제가 발생할 수 있기 때문에 변조된 파일에 한하여 Virus 종으로 분류하는 것이 적절한 치료 대응에 있어서 적합성을 높게 판단할 수 있는 기준이 될 수 있을 것이라 판단됩니다.

1. Patcher (감염기/Infector/Dropper) 의 경우는 Trojan 으로 정의하고, 진단명은 Patched 로 명명하며, 단순 삭제로 처리함.

http://www.virustotal.com/file-scan/report.html?id=9f475a226240e568211190dec2eaaa2332eeed425b5d5872a244416c1a5e12ca-1283437883

2. Patched (감염체/Infected)의 경우는 정상 파일을 변조(Patch)시킨 경우엔 Virus 로 정의하고 진단명은 Patched 로 명명하며, 변조된 코드는 제거/수정(치료)하도록 함.

http://www.virustotal.com/file-scan/report.html?id=2f55eb9873e0aacdc2f3cbc0fc369f0c8e264efdcbdd866d68ec12848f6af009-1283584783

하지만 지금의 많은 업체들은 이러한 악성코드를 대부분 자동화 처리를 하고 있기 때문에 삭제처리가 가능한 Trojan 형태로 우선 분류하고 있기도 합니다.

또한 진단명에서 변형도를 제거하거나 고유의 ID를 부여하는 방식을 사용하는 경우도 많아지고 있는 듯 싶습니다.

Kaspersky Lab 을 제외하고 Symantec, Bitdefender 등 다수의 메이저 업체들이 진단명에서 변형도 사용을 없애거나, 점차 축소하는 모습을 보이고 있습니다.

http://www.virustotal.com/file-scan/report.html?id=cc788025fc3326d77ac2d06b44871d8602880b4a2afa370e5017fd32dcadc568-1283856658

변형도 미사용은 진단명 구분이나 관리적인 측면에서는 대응 시간을 단축시킬 수 있는 장점이 있겠지만, 어떠한 악성코드의 변종인지 파악하는데 어려움이 발생하거나, 분기별 악성코드 전파 상황을 파악할 수 있는 통계자료 등에서는 모호한 결과 자료가 도출되는 오류가 발생할 수도 있겠지요.

Kaspersky Lab 의 지속적인 변형도 부여 및 관리를 보면서 정말 자체적인 (자동화) 분석 시스템을 잘 갖추고 있다는 생각이 들 정도이기도 한 부분입니다.

사용자 삽입 이미지

마지막으로..

변형도를 정확히 파악하고 부여하는 것은 기술적으로 많은 시간과 노력을 해야 하는 부분이며, Anti-Virus 기술적으로도 매우 중요한 부분이지만, 진단명 및 변형도 판단의 중요성 공감대 부족과 시대적 판단 착오가 진단명 컨버전스에만 집중하는 것은 아닌지 다시 한번 고려해 볼 만하다는 점이다.



Posted by viruslab