바이러스 보다 무서운 악성코드
도스 시절이나 도스 계열(9x, ME)의 운영체제가 주였을 때 바이러스는 정말 호환, 마마 보다 무서운 존재였다. 또 일단 감염되면 원래의 파일을 복구할 수 없는 때가 많기 때문에 치료 보다는 포맷이 더 확실한 방법이었다. 그러나 컴퓨터 환경이 도스 기반에서 NT 기반(NT/2000/XP/Vista)로 바뀌면서 이런 상황은 완전히 뒤바뀌게 된다. 바이러스가 자기 복제 능력을 가졌다고 해도 감염시키지 못하면 아무런 의미가 없다. 또 감염을 시키기 위해서는 도스의 RAM 상주처럼 프로세스가 항상 떠 있어야가 가능하다. 그런데 구조적으로 NT 계열은 이런 RAM 상주 프로그램(드라이버, 서비스)을 만들기 힘들다. 따라서 컴퓨터 환경이 NT 기반으로 바뀌면서는 이런 바이러스 보다는 네트워크 바이러스가 더 기승을 부리게 된다.
목차
- 호환, 마마보다 무서운 바이러스
- 바이러스 보다 무서운 악성코드
- 악성코드에 감염되지 않으려면
- SandboxIE
- Software Virtualization Solution
- 가상 PC 프로그램
- 추천 악성코드 제거 프로그램
- 각주
호환, 마마보다 무서운 바이러스
예전에 대여 비디오에 항상 나오는 내용이 있다. "호환, 마마 보다 무서운 것은 불법 비디오"라는 내용이다. 아마 나와 비슷한 세대의 사람들은 모두 기억하는 내용이라고 생각한다. 컴퓨터에도 호환, 마마 보다 무서운 것이 있다. 도스 시절에는 분명히 바이러스가 호환, 마마 보다 무서운 존재였다. 그랬기 때문에 V3라는 무료 백신 프로그램만으로 안랩이 국내 최대의 보안 업체로 성장할 수 있었다. 바이러스는 그 형태가 상당히 여러 가지다. 그러나 개념적으로 컴퓨터 바이러스는 자기 복제 능력을 가진 프로그램을 말한다.
또 자기 복제 능력이 있다고 해도 실제 복제(감염)가 일어나지 않으면 의미가 없기 때문에 도스 시절에는 RAM 상주 프로그램으로 동작하면서 계속 감염 시키는 방법을 사용해 왔다. 이런 바이러스 중 가장 악명을 떨친 바이러스는 특정한 날짜에 컴퓨터의 BIOS를 날리는 CIH 바이러스[1]다.
이외에 트로이목마나 백도어류의 프로그램, 웜도 바이러스의 분류에 포함된다. 트로이목마는 이름에서 알 수 있듯이 자기 복제 능력이 없다. 따라서 좋은 프로그램으로 위장해 컴퓨터에 침입, 실행된다. 웜은 일반 바이러스처럼 컴퓨터를 숙주로 하지 않고 네트워크를 통해 자기 복제하는 특성을 지닌다. 또 웜처럼 네트워크를 통해 전파되며 바이러스처럼 다른 컴퓨터를 감염시키는 웜 바이러스도 있다. 이런 웜 바이러스 중 가장 유명한 것은 Windows 운영체제의 RPC 버그를 뚫고 네트웍으로 감염, 수없이 많은 컴퓨터를 포맷하게 만든 msblast가 가장 유명하다. 이 msblast 때문에 XP는 바이러스에 취약하다는 말도 되지 않는 소문이 돌았다.
바이러스 보다 무서운 악성코드
도스 시절이나 도스 계열(9x, ME)의 운영체제가 주였을 때 바이러스는 정말 호환, 마마 보다 무서운 존재였다. 또 일단 감염되면 원래의 파일을 복구할 수 없는 때가 많기 때문에 치료 보다는 포맷이 더 확실한 방법이었다. 그러나 컴퓨터 환경이 도스 기반에서 NT 기반(NT/2000/XP/Vista)로 바뀌면서 이런 상황은 완전히 뒤바뀌게 된다. 바이러스가 자기 복제 능력을 가졌다고 해도 감염시키지 못하면 아무런 의미가 없다. 또 감염을 시키기 위해서는 도스의 RAM 상주처럼 프로세스가 항상 떠 있어야가 가능하다. 그런데 구조적으로 NT 계열은 이런 RAM 상주 프로그램(드라이버, 서비스)을 만들기 힘들다. 따라서 컴퓨터 환경이 NT 기반으로 바뀌면서는 이런 바이러스 보다는 네트워크 바이러스가 더 기승을 부리게 된다[2].
그러나 네트워크 바이러스는 방화벽만 있어도 감염을 막을 수 있다. 난 아직까지 백신 프로그램없이 공유기를 방화벽 삼아 사용하고 있다. 그러나 이렇게 사용해도 NT 기반 운영체제를 사용한 뒤로는 여지껏 바이러스에 감염된 적이 없다. 따라서 요즘 더 큰 문제가 되는 것은 바이러스가 아니라 악성코드다. 일반적으로 악성코드라고 하면 원하지 않는 사이트로 강제로 이동시키는 하이재커류, 강제로 광고를 노출하는 애드웨어류, 사용자의 정보를 외부로 유출하게 하는 스파이웨어류가 있다. 이런 프로그램은 보통 트로이목마처럼 좋은 프로그램으로 위장해서 사용자의 컴퓨터에 설치된다.
이런 악성코드의 시초는 인터넷 브라우저의 홈페이지를 바꾸는 GoHip으로 기억한다. 국내에서 이런 악성코드의 시초는 EasyWinCleaner였던 것으로 기억한다. 레지스트리 정리 프로그램을 표방하고 있지만 이 프로그램을 설치하면 브라우저의 홈페이지를 Ocorea로 바꾸었기 때문이다. 재미있는 것은 이 악성코드 프로그램을 만든 곳에서 악성코드를 치료하는 프로그램인 다잡아(AD-Spider)도 만들었다는 사실[3]이다.
국내에서 만들어진 악성코드 프로그램 중 가장 명성이 높은 것은 과거 삼성몰에서 배포한 애드웨어다. 삼성몰에서 ActiveX를 설치하면 사이트를 이동할 때마다 광고가 뜨는데 많은 사람들이 제거할 줄 몰라 컴퓨터를 포맷하는 사태까지 벌어졌기 때문이다. 참고로 이 악성 애드웨어를 만들어 배포한 업체는 Shotech이며, 이 업체에서 개발, 악성 프로그램 못지않게 사용자에게 폐해를 끼치는 프로그램이 언론사를 방문하면서 설치하는 MyLinker이다.
악성코드에 감염되지 않으려면
악성코드에 감염되지 않는 방법은 간단하다. Internet Explorer를 사용하지 않으면 된다. 웹 브라우저가 시스템을 건드릴 수 있도록 하는 기술이 ActiveX이다. 프로그램을 개발할 때는 여러 가지 고민을 아주 쉽게 해결할 수 있는 기술이라는 긍정적인 측면도 있다. 그러나 웹 브라우저가 시스템을 건드릴 수 있기 때문에 악성코드의 가장 쉬운 전파처가 되는 것도 ActiveX다. 니들이 악성 프로그램 제거 도구라고?라는 글을 읽어 보면 알 수 있지만 여기서 설치되는 프로그램 모두 ActiveX 형태로 배포되며 악성 프로그램 제거 도구라는 타이틀을 달고 있다는 점이다.
ActiveX를 사용할 수 있는 Internet Explorer보다는 Firefox, Opera, Chrome와 같은 브라우저를 주로 사용하면 확실히 악성코드를 줄일 수 있다. 그러나 국내 컴퓨터 환경은 지나치게 Microsoft위주로 되어 있고 Internet Explorer를 사용하지 않으면 컴퓨터로 금융 거래를 거의 할 수 없는 구조다. 따라서 항상은 아니라고 해도 어쩔 수 없이 Internet Explorer를 사용해야만 하는 상황도 발생한다. 이럴 때 유용하게 사용할 수 있는 방법이 세가지가 있다. 더 자세한 내용은 다른 글에서 다루기로 하고 여기서는 간단히만 설명하겠다.
- SandboxIE
- SandboxIE라는 프로그램이 있다. 일반적으로 Sandbox는 아이들 놀이터에서 아이들이 다치지 않도록 놀이터 주변에 놓아두는 모래통을 말한다. SandboxIE는 유사하게 Internet Explorer로 인한 피해가 컴퓨터 전체에 미치지 않도록 Internet Explorer를 가상화 해주는 프로그램이다. 이 프로그램을 이용하면 ActiveX가 실제 컴퓨터에 설치되지 않고 SandboxIE가 만든 가상 공간에 설치된다. 따라서 악성코드가 설치되도 시스템에 아무런 영향을 미치지 않는다. Vista까지 지원하지만 64비트 운영체제는 지원하지 못하며, 국내 일부 금융권에서는 동작하지 않는 단점이 있다.
- Software Virtualization Solution
- SandboxIE와 비슷한 가상화 프로그램이다. 차이점은 Internet Explorer만 가상화하는 것이 아니라 원하는 프로그램을 모두 가상화할 수 있다. 하드디스크, 레지스트리까지 가상화하기 때문에 국내 거의 모든 금융권의 ActiveX를 가상화할 수 있다. 또 가상화한 프로그램 내보내고 가져올 수 있기 때문에 프로그램을 배포할 때도 상당히 유용한 프로그램이다. 다만 이 프로그램도 64비트 운영체제는 지원하지 못한다.
- 가상 PC 프로그램
- 초보자들은 잘 모르는 부분이지만 컴퓨터에 가상으로 PC를 만들어 주는 프로그램이 있다. 컴퓨터에 장착된 모든 주변기기를 인식할 수 있고 주컴퓨터와는 완전히 분리되서 만들어지기 때문에 가장 완벽한 가상화를 지원한다. 가장 유명한 프로그램으로는 VMWare가 있고 이외에도 무료로 사용할 수 있는 VirtualPC(서버 2008에 내장), 개인 사용자는 무료로 사용할 수 있는 VirtualBox, Mac에서도 사용할 수 있는 Parallels, 반가상화를 지원하는 Xen, 상당히 다양한 운영체제를 지원하는 QEMU, 개발자에게 유용한 Bochs등 상당히 다양하다. 난 64비트 운영체제 사용에 문제가 없고 하드웨어 주변기기 지원이 잘되는 VMWare를 이용해서 금융 거래를 한다.
이 세가지 방법을 사용하는 방법은 이 연작물의 다른 글로 올릴 생각이다. 궁금한 사람들은 미리 사용해 봐도 된다. 또 IT쪽 일을 하고 있다면 아마 한번 쯤은 사용해 봤거나 한번쯤은 들어봤을 프로그램으로 생각한다.
추천 악성코드 제거 프로그램
조금 더 자세한 이야기는 역시 별도의 글로 올리도록 하겠다. 국내에 출시된 프로그램 중 내가 믿는 악성코드 제거 프로그램은 딱 두개뿐이다. 하나는 AD-Free의 차기작인 SpyZero와 비전파워에서 만든 PCZiggy이다. 두 프로그램에 대한 리뷰는 최고의 스파이웨어 제거 프로그램(SpyZero)와 사례분석을 통해 배우는 스파이웨어 판정 IV, PCZiggy를 참조하기 바란다.
아울러 이 두개의 프로그램은 모두 무료로 사용할 수 있다. 그 이유는 SpyZero엔진은 V3Lite에 탑재되었고 PCZiggy 엔진은 알약에 탑재되었기 때문이다. 따라서 V3Lite나 알약 중 하나를 사용하고 있다면 굳이 다른 악성코드 제거 프로그램을 설치할 필요는 없다. 다만 개인적으로 알약 보다는 V3Lite의 사용을 권하는 편이다[4].
- CIH 바이러스에 대한 더 자세한 소회는 호환, 마마보다 무서운 악성코드 2. 바이러스 이야기를 보기 바란다. ↩
- 나중에 다른 글에서 설명하겠지만 네트워크 바이러스가 극성이기 때문에 소비자 시민 모임의 인터넷 보안 제품 평가에서 방화벽 기능밖에 없는 코모도가 종합 10위에 올랐다. ↩
- 다잡아와 분쟁이 있었던 다간다에서 올린 공지다. 현재는 다간다 공지에서 삭제됐으며 매니안에 펌글이 올라와 있기 때문에 매니안의 링크를 달아 두었다. ↩
- 자세한 이유는 V3Lite vs 알약에서 설명하도록 하겠다. ↩
Trackback
Trackback Address :: https://offree.net/trackback/2217
Comments
-
최면 2009/01/08 09:57
CIH ㅠ.ㅜ 제가 나이가 어리다보니 99년도에 신입생이었는데 중간고사 기간에 레포트를 써놓고 아침에 일어나서 프린트 하려고 보니 컴퓨터가 부팅이 안되는 사고가 발생했었지요.. 아흑;; 그래서 당시 겨울내내 알바해서 마련했던 MMX166을 버려야 했던.. 아.. 지금도 눈물이 ㅠ.ㅜ
저도 스파이제로를 가장 좋아하는데 미리 달아주신 링크는 아직 없는 페이지네요 ㅎㅎ 기다리면 올리시겠죠?
이럴 땐 리눅스가 가장 확실한 대안이라고 하고 싶지만.. 사람들마다 컴퓨터를 활용하는 범위가 다르니.. -
의리 2009/01/08 10:07
재미있네요. 최근 리얼맥을 사용하게 된지 얼마 안됐습니다만 익스를 아예 못 쓰니 액티브엑스 걱정은 안하게 되더군요. 물론 .국내 사이트 돌아다니기엔 불편함도 많습니다만..
-
미르~* 2009/01/08 10:10
제가 속해 있는 회사가 워낙 보안쪽에 신경을 쓰다못해 노이로제가 걸릴지경인 회사라...
회사 시스템이 IE 없이는 돌아가지가 않습니다..
Process Explorer로 확인해보니 보안 관련된 프로세스가 자그마치 14개 정도 되는군요...;;
보안을 지켜서 얻는 것보다 지키기 위해서 소모되는 것이 훨씬 많은 것 같습니다..;; -
-
징징이 2009/01/08 10:30
훗, 저도 놀라운 것이 최근 크롬을 쓰고 시작하서부터는
'카스퍼스키 인터넷 시큐리티 2009'에 잡히는 바이러스나 악성코드가 전혀 없더군요.
뭐, 인터넷뱅킹의 경우 수익률 -20%를 달리는, 망할놈의 '펀드'때문에
충격을 받아 접속하기를 포기해버린지라.. ㅋㅋ
아무튼 sandboxIE는 처음 보는 프로그램인데,
굉장히 쓸만한 것 같네요.
VMware은 왠지 귀찮고.. ㅎㅎ -
구차니 2009/01/08 10:37
보안은 투명하게 지원되어야 한다는 생각을 가지고 있어서 이런저런 protection을 걸어 놓는걸 상당히 싫어 하게 되더라구요 ^^;
Firefox에서는 Google이랑 연동되서 홈페이지가 바이러스 유포지인지 검사를 하는데 상당히 유용하더라구요.
아무튼 바이러스의 시초가 brain 바이러스 였던가요? -
-
-
종요 2009/01/08 12:08
작년에 보안프로그램 하나 없이, 게다가 운영체제도 WInME였던 컴을 버리면서 하드를 안티버와 피씨그린으로 전체스캔을 한 적 있습니다. 이런 상태로 수 년을 썼는데 스캔결과는 아무것도 안 나오더군요. 주로 아버지께서 워드, 고스톱, 금융거래, 메일확인 등을 하시던 컴이었는데 다른 짓을 안하니 아주 청정지역이었습니다. 역시 딴 짓을 안하면 컴퓨터가 깨끗하다는 교훈을 얻었습니다. ^^;
-
jz 2009/01/08 12:52
sandboxie는 internet explorer뿐 아니라 다른 프로그램도 돌릴 수 있습니다 ^^
(아마도 sdt훅을 쓸 것이므로) 드라이버 등록은 가상화하기 힘드니 막아버리고,
이걸 제외한 ring3레벨의 작업은 모두 안전하게 지켜주죠. 가볍고 쓰기편하고 짱짱!
잘보고갑니다. -
pardonk 2009/01/08 13:38
v3는 임상실험(?)에서 쓰레기 백신으로 판명지은 후 다시 거들떠 보지도 않고 있으며 알약은 그냥 이름 자체가 별로라서 왠지 접하고 싶지가 않네요.
지금 저는 공유기 방화벽 + 샌드박스 + 윈도 디펜더로 버티고 있는데 아직은 괜찮은거 같습니다.
근데 샌드박스의 영향인지 윈도 디펜더는 뭘 잡아내는 적이 없네요.
성능이 떨어지는 것인지, 오진이 없는 것인지 잘 모르겠습니다. -
덱스터 2009/01/08 15:22
역시 딴짓 안 하는게 최고죠 ^^
전 프로그램 설치되는것 하나하나 다 확인하고 설치해서 그런지 아직 그렇다 할 바이러스는 USB가 아니면 없더라구요.
가끔 휴리스틱으로 잡아내는 애들이 있긴 하지만...^^;; -
-
종요 2009/01/08 21:15
제가 본문을 볼 때는 바이러스가 처음 출현할 당시를 설명하면서 그 때는 악성코드라는 개념이나 용어가 출현하지 않아 바이러스라고 표현한 것이고, 시간이 지나 이제까지와는 다른 새로운 범주의 피해가 나타나면서 악성코드라는 용어나 개념이 생성되었기 때문에 그리 적어 놓은 것 같습니다.
위키님이 소개해주신 내용은 근래와서 개념정립이 되어가는 것 아닌가요? 바이러스나 악성코드라는 말은 개념 생성의 역사성까지 같이 고려해야 하는 것 같습니다.
바이러스, 악성코드, 스파이웨어 등 비슷해 보이는 말들의 정확한 뜻을 알기 위해 한 3년 전쯤 검색해 봤을 때만 해도 의미가 혼재되어 사용되고 있더군요. 그때 이런 내용이 있더군요. "분류하거나 정의하는 사람마다 다 다르다" 그래서 저도 정확히 이해하는 걸 포기했었습니다.
하지만 위키님이 소개해 주신 내용처럼 깔끔하게 정리될 것 같네요. 간명하고 체계적이게 잘 설명된 것 같습니다. 아니면 정리가 된 건가요? 제가 컴과 관련된 건 잘 몰라서 말이죠. 예전에 찾아봤던 생각나서 끄적여봤습니다. -
도아 2009/01/09 07:41
컴파일 언어와 스크립트 언어의 차이를 아시는지요? 컴파일 언어의 결과물은 보통 프로그램이라고 하고 스크립트 언어의 결과물은 코드라고 부릅니다. 물론 스크립트 언어의 결과물도 프로그램이라고 부르기도 하죠. 그러나 컴파일 언어의 결과물을 코드라고 부르지는 않습니다. 이 차이를 아시는지요?
또 바이러스는 기본적으로 자기복제 능력을 가지고 있습니다. 그래서 자기복제 능력이 없는 녀석은 트로이목마로 따로 구분합니다. 물론 트로이목마도 바이러스의 범주에 포함시키죠. 그러면 이것이 오용일까요? 오용의 뜻은 알고 사용하신 것인가요?
자신이 아는 지식이 세상의 모든 지식은 아닙니다. 넓게 생각하면 악성코드에 바이러스를 포함시킬 수 있습니다. 그러나 악성코드라는 말은 바이러스라는 말 보다 나중에 나온 말입니다. 따라서 악성 코드에 바이러스를 포함 시킬 수도 있지만 반대로 바이러스 본연의 의미만 생각하면 바이러스와는 다른 개념으로 사용해도 별 무리는 없습니다.
애시 당초 바이러스와 악성코드는 전파 경로, 동작하는 방법이 아예 차이가 나니까요.
-
도아 2009/01/12 01:31
기본적으로 님의 취지가 그렇다고 하면 님처럼 글을 쓸 필요는 없습니다. 더구나 여기에 오용까지 들먹일 이유는 더욱 없겠죠.
, "자신이 아는 지식이 세상의 모든 지식은 아닙니다"라는 부분은 그대로 저도 해드리고 싶군요.
그리고 해주는 것은 상관없습니다. 그러나 먼저 이해하고 하시기 바랍니다. 마지막으로 바이러스와 대비되는 개념으로 악성코드를 사용한 적이 없습니다. 문제는 바로 이부분이겠죠. 바이러스와 대비가 아니라 바이러스와 구분이죠. 대비와 구분의 차이를 모르니 이런 글을 쓸 수 있는 것이고요.
-
구차니 2009/01/09 17:31
바이러스의 전제 조건은 자기 복제를 하는 것이고, 트로이안 목마는 자기 복제 보다는, 다른 프로그램인척 속이고 나쁜 활동을 하는 프로그램을 지칭하는데, 자기복제 능력이 없는 녀석은 트로이목마로 구분한다는 것은 잘못된 표현이라고 생각이 됩니다.
예전에는 malware(악성코드)라는 구분이 없었기에 worm / trojan / virus 등을 구분하기 애매해서 통상 해를 끼치는 프로그램 = virus 로 표현을 했기에 통상 malware = virus라는 인식을 한게 된 것 같습니다. 엄밀하게 구분하는 것이야 저 같은 컴맹이나 일반인들에게는 불 필요한 것이니 통칭 virus로 표현해도 무난하지 않을까 생각이 됩니다.
malware > virus / worm / trojan 이런식으로 malware에 포함되나 서로 다른 항목들이라고 판단됩니다. -
심재용 2009/02/01 01:37
형꺼 컴터로 야동보다 porn TUBE에서 악성코드 걸려서 검색중에 들어왔는데
많은 도움이 됬네요 삥뜯을라하거나 악성코드까는 악성코드프로그램땜시
뭘 깔아야할지 고민했지만 v3lite에 관련기능이 있었군요 오오!!
Facebook