디지털 용어정리 - 악성코드(malicious code)

이기성 wlrl@itdonga.com

PC를 사용하다 보면 간혹 예기치 않은 문제에 직면하게 된다. 예를 들어 갑작스레 PC가 느려진다거나 바탕화면의 아이콘과 커서가 모두 사라지는 등의 곤혹스러운 문제가 발생한 상황. 이때 사용자들은 당황해서 어쩔 줄 몰라 하다가도 “바이러스가 걸렸나?”라는 말로 순식간에 상황을 정리한다.

예로 든 사례는 PC의 문제일 수도 있지만 대개 악의적인 목적을 띄고 있는 실행 코드가 PC에 심어져 정상적인 동작을 방해하는 경우다. 이것을 우리는 흔히 바이러스라고 알지만, 엄연히 말하자면 ‘악성코드’가 알맞은 표현이다.

악성코드(malicious code)는 보통 다른 파일을 감염시키지는 않지만, 악의적인 용도로 사용될 수 있는 코드가 심어진 유해 프로그램을 말한다. 우리가 알고 있는 바이러스, 웜바이러스(Worm virus), 트로이 목마(Trojan horse), 해킹툴(Backdoor) 등이 모두 악성코드의 범주에 포함되며, 이들은 각각 목적(시스템 손상, 전파, 정보 유출 등)에 따라 분류가 나뉜다.

0001.jpg
0001.jpg
악성코드는 대부분 무분별한 인터넷 사용으로 인해 감염되는 경우가 많다. 특히, 웹사이트 이용을 위해서 반드시 필요한 프로그램이라는 말로 사용자들을 현혹시켜 유포되는 경우가 많으며, 발신자가 불분명한 메일의 첨부 파일, 그리고 확인되지 않은 자바 스크립트 등을 실행했을 때 감염될 확률이 높다.

바이러스와 악성코드를 비교하자면, 악성코드는 사용자가 원활하게 PC를 사용할 수 없도록 방해하는 것이 목적인 반면, 바이러스는 애초에 PC의 기능을 손상(실행파일 파괴)시킬 목적으로 만들어졌다.

또한, PC에 침투하는 방법 역시 바이러스처럼 매개체(바이러스가 감염된 파일)가 필요한 것이 아니라, 유해가능 프로그램(악용될 소지가 있는 프로그램)의 취약점을 파고들어 아주 교묘하게 위장하고 있다는 점에서 분명한 차이가 있다.

이러한 차이로 악성코드는 백신 프로그램으로 검사해도 나타나지 않는 경우가 많으며, 이 때문에 보안솔루션 업체들은 기존 백신 프로그램에 별도로 악성코드를 진단/치료할 수 있는 엔진을 추가한 형태의 ‘통합보안 프로그램’을 선보이고 있는 실정이다.

예방을 위해서는 의심스러운 웹사이트 방문을 피하고, 잘 모르는 사람이 보냈거나 수상한 이메일을 확인하지 말고, 메신저로 오는 인터넷 주소나 첨부 파일을 함부로 접속하거나 열지 않는 것이 좋다. 또한, 보안등급을 설정하고, 불법복제를 하지 않으며, 통합보안 프로그램을 설치해 항상 최신 버전으로 유지하고 실시간 감시 기능을 켜두는 것이 바람직하다.

글 / IT동아 이기성(wlrl@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.