악성 소프트웨어

악성 소프트웨어, 유해한 소프트웨어(惡性-) 또는 맬웨어()는 컴퓨터, 서버, 클라이언트, 컴퓨터 네트워크에 악영향을 끼칠 수 있는 모든 소프트웨어의 총칭이다. 예전에는 단순히 컴퓨터 바이러스만이 활동하였으나, 1990년대 말 들어서 감염 방법과 증상들이 다양해지면서 자세히 분류를 나누기 시작했다. 과거에는 디스크 복제 등 저장매체를 따라 전파되었으나 네트워크가 발달하면서 이메일이나 웹으로 감염되는 경우가 훨씬 많아졌다.

악성코드 분석 
악성코드의 분석 방법은 크게 코드 정적 분석 (Static code analysis)과 코드 동적 분석 (Dynamic code analysis) 두 종류로 나눌 수 있다. 코드 정적 분석의 경우는 프로그램을 디스어셈블하는 디버깅프로그램 들을 이용하는 방법으로 Immunity Debugger, 올리디버거, IDA 프로, GDB 등의 프로그램을 사용한다. 위의 프로그램들을 사용하여 디스어셈블된 프로그램의 코드를 실행시키지 않고 분석하는 기법이다. 코드 동적 분석 (Dynamic code analysis)의 경우는 런타임 디버깅기법을 이용하여 통제된 상황 하에서 악성코드를 직접 실행시키며 이후에 발생하는 변화들을 분석하는 형태로 이루어진다. 런타임 디버거로는 앞서 언급한 Immunity Debugger, 올리 디버거 등이 있으며 프로그램의 프로세스에 붙어서 제어하는 역할을 한다. 통제된 상황에서 변화를 살펴보는 툴로는 파일의 입출력을 감시하는 Filemon, 레지스트리 정보 변화를 감시하는 Regmon, TCP/UDP 통신에 대한 입출력을 감시하는 TDImon, 실행 중인 프로세스의 DLL 정보 등을 감시하는 프로세스 익스플로러 등이 있다.

종류 
 컴퓨터 바이러스: 프로그램을 통해 감염되는 악성 소프트웨어
 웜: 컴퓨터의 취약점을 찾아 네트워크를 통해 스스로 감염되는 악성 소프트웨어
 웜 바이러스: 웜과 바이러스의 감염방법을 동시에 갖춘 악성 소프트웨어
 트로이 목마: 자가 복제능력이 없는 악성 소프트웨어
 스파이웨어: 사용자의 정보를 빼내는 악성 소프트웨어
 애드웨어: 컴퓨터 사용시 자동적으로 광고가 표시되게 하는 악성 소프트웨어
 Hoax: 악성코드에 대한 잘못된 정보로 악영향을 끼치는 소문
 가짜 백신 프로그램: 정당한 바이러스 방어 프로그램이라고 주장하고 잘못된 정보를 표시하고 사용·결제를 유도하고 제무적 정보를 도둑질하는 악성 소프트웨어
 하이재커: 의도치 않은 사이트로 이동을 시키고 팝업창을 띄우는 악성 소프트웨어
 랜섬웨어: 특정 파일을 암호화하여 파일을 사용 불가능 상태로 만들어서 복구를 위해 돈을 요구하는 악성 소프트웨어

같이 보기 

 멀웨어즈닷컴: https://www.malwares.com
 제로서트: https://www.zerocert.org
 망고스캔: https://www.mangoscan.com 
 바이러스토탈: https://www.virustotal.com

각주

외부 링크 
 
 경찰청 사이버안전국 예방수칙