악성코드(Malicious Code 또는 Malware)는 크게 바이러스, 트로이목마, 백도어, 웜 그리고 최근 이슈가 되고 있는 애드웨어/스파이웨어등으로 분류할 수 있다. 이는 리소스의 감염 여부, 전파력 및 기능적을 특징을 통해 구분하게 된다 [그림1].
이들 악성코드들은 6단계의 생명주기, 즉 박멸, 생성, 감염, 활동, 인지, 반영의 단계로 나뉠 수 있는데 이중 감염과 활동이 사용자들이 취약한 부분이다. 이 두부분에 대해 사용자가 알지 못한다면 악성코드는 계속 확산될 수 있다 [그림 2].
실제 바이러스에서 악성코드로 구분되는 가장 중요한 시기는 1999년 멜리사 웜부터이며, 이 시기에는 주로 E-mail을 이용하여 확산에 활용하고 있다가 2001년부터는 취약점을, 그리고 2003년부터는 거의 모든 공격루트를 활용하여 확산을 하게 되었다. 하지만, 2005년 이후부터는 금전적 이득을 위한 악성코드의 개발이 주를 이루게 되었다. 물론 확산의 방식은 모든 공격 루트를 활용하고 있다. 이중 눈에 띄는 것은 중국發 해킹을 들 수 있다. 최근 중국에서 양산되고 있는 악성코드들은 대부분 금전적 이득을 위해 개발된 것들이다.
최근 금전적 이득을 위해 만들어진 악성 코드들은 주로 트로이 목마 계열로 금융권을 모니터링하여 ID와 패스워드를 훔쳐가는가 하면, 게임 사이트 및 각종 포털 사이트도 대상을 하고 있다. 그리고 또 다른 이슈사항인 피싱은 직접적인 악성코드는 아니지만, 여전히 개인의 중요 신용 정보들을 유출하기 위한 용도로 활용 되고 있다. 그 이외에 악성 안티-스파이웨어를 들 수 있다. 2006년 4월 악성 안티-스파이웨어 개발자 2명을 구속하는 첫 사례가 있기는 하지만, 아직도 사용자들의 돈을 갈취할 목적으로 개발되는 악성 안티-스파이웨어가 난립하고 있는 것이 사실이다. 웹 서핑중 자동 설치된다거나 자동 결제를 유도하는 방법을 통해 금전적 이득을 취하기도 한다.
이들 최신 악성코드의 패러다임에 대응하기 위해서는 최신 보안 패치를 모두 함은 물론이고 인터넷 서핑 및 E-mail 첨부파일등의 프로그램들을 가급적 SandBox라 불리는 가상 환경에서 미리 실행해보고 문제 없다고 판단될 경우 실제 시스템 환경에서 사용하는 방법을 권장한다. SandBox에 대한 부분은 또 다른 시큐리티 컬럼을 참고하기 바란다.