1. 악성코드란?
악성코드(malware)란 의도적으로 컴퓨터 시스템에 해를 입히기 위해 설계된 악성 소프트웨어를 말한다. 영어단어를 풀어서 해석해보면, Malicious(악성)와 Software(소프트웨어)를 합친 단어라는것을 알수있다.
2. 악성코드의 유형
참고로 악성코드는 특징에 따라 하나의 유형에 속하기 보다는 여러가지 유형에 속하는 경우가 많다.
대표적인 악성코드 유형은 바이러스(Virus), 웜(Worm), 트로이목마(Trojan), 애드웨어(Adware), 스파이웨어(Spyware), 랜섬웨어(Ransomeware)로 나뉜다. (이외에 유형들은 회사에 따라서 좀 더 세부적으로 분류하기도 한다.)
2.1 바이러스(Virus)
바이러스(Virus)는 사용자의 개입(감염된 파일을 실행) 통해 전파되는 악성코드이다. 바이러스의 대표적인 특징은 특정 파일을 숙주로 삼아 감염시켜 전파시킨다는 것이다. 주로 감염된 컴퓨터 내부에서만 전파되기때문에, 피해 범위가 다른 악성코드와 비교했을때 상대적으로 제한적이다. (참고로 바이러스는 악성코드의 가장 초기유형으로 악성코드와 혼용하여 이야기하기도 한다.)
대응방안
의심스러운 파일은 실행하는것을 자제하고, 정기적인 윈도우 업데이트와 백신을 사용한다.
2.2 웜(Worm)
웜(Worm)과 바이러스(Virus)와 자주 혼동하는 유형이다. 둘을 구분하는 포인트는 파일 실행여부, 피해범위이다. 바이러스는 컴퓨터를 감염시키기 위해 숙주파일을 통한 실행이 필요하다,(사용자의 개입) 또한 감염된 컴퓨터 내부에서만 피해를 일으킨다.
하지만 웜은 사용자가 악성코드를 실행하지 않아도 자체로 컴퓨터를 감염시킨다. 또한 네트워크에 연결되있는 다른 컴퓨터에도 피해를 일으킨다는 점에서 피해범위가 상대적으로 넓다.
대응방안
웜은 네트워크를 통한 추가적인 감염이 있으므로, 랜선을 먼저 뽑아 2차피해를 막고 백신을 통한 치료가 필요하다.
2.2 트로이목마(Trojan)
트로이목마(Trojan)는 모든 악성코드들이 대부분 가지고 있는 유형중에 하나로, 정상적인 파일인것처럼 위장을 해서 사용자가 아무의심 없이 클릭을 유도하도록 하는것이 특징입니다.
2.3 애드웨어(Adware)
애드웨어(Adware)는 광고가 포함된 악성 소프트웨어로, 악의적인 목적보다는 광고를 통해서 사용자에게 불편함을 준다는 측면에서 악성코드의 유형으로 분류됩니다. 사용자의 동의를 구해서 특정 소프트웨어 설치를 유도하는것도 애드웨어에 속합니다.
2.4 스파이웨어(Spyware)
스파이웨어(Spyware)는 개인이나 기업의 정보를 몰래 수집하는 악성 소프트웨어로, 스틸러(Stealer)나 키로거(Keylogger)로 세분화 될 수 있습니다. 예를 들어 프로그램을 설치할 때, 사용자의 동의 없이 특정 소프트웨어를 몰래 설치했다면 스파이웨어(Spyware)에 속합니다.
스틸러(Stealer)는 스파이웨어(Spyware)의 한 종류로, 사용자의 개인 정보나 금융 정보 등을 몰래 수집하여 공격자에게 전송하는 악성 프로그램입니다. 스틸러(Stealer)는 주로 브라우저에 저장된 로그인 정보, 쿠키, 크레딧 카드 정보 등을 탈취하는 데 사용됩니다.
키로거(Keylogger)는 사용자가 키보드로 입력하는 모든 내용을 몰래 기록하는 악성 프로그램입니다. 키로거(Keylogger)는 사용자의 비밀번호, 신용카드 정보, 개인 메시지 등 중요한 정보를 수집할 수 있습니다. 키로거(Keylogger)는 하드웨어 형태로도 존재하지만, 대부분은 소프트웨어 형태로 사용자 PC에 설치되어 활동합니다.
대응방안
이러한 악성 프로그램으로부터 보호하기 위해서는 신뢰할 수 있는 출처의 소프트웨어만 설치하고, 정기적으로 보안 업데이트를 적용하며, 강력한 보안 솔루션을 사용하는 것이 중요하다.
2.5 랜섬웨어(Ransomeware)
랜섬웨어는( Ransom(몸값) + Software(소프트웨어)의 합성어로, 사용자의 파일이나 시스템을 암호화한 뒤 해제를 위한 금전을 요구하는 악성 소프트웨어이다.
랜섬웨어는 SHA-512, SHA-1024등의 높은 암호화 알고리즘을 사용하기때문에, 파일을 완전히 복구하는게 어려운편이다. 따라서 랜섬웨어는 주기적인 백업을 통한 예방이 중요하다.
악성코드 사례
대표적인 사례로는 웜, 랜섬웨어 유형의 WannaCry 악성코드가 있다.
해당 악성코드는 Windows의 SMB 프로토콜의 취약점을 이용해 네트워크를 통해 전파되었다. WannaCry는 감염된 컴퓨터의 파일들을 암호화한 후, 비트코인으로 300달러에서 600달러 상당의 몸값을 요구했다. 해당 악성코드로 인해 영국의 국민보건서비스(NHS), 스페인의 통신회사 텔레포니카, 독일의 철도회사 도이체반 등 주요 기관과 기업들이 큰 피해를 입었다.
참고자료
- LetsDefend, Malware Analysis Fundamentals
- 보안프로젝트, 악성코드분석강의
- https://maker5587.tistory.com/9
- https://velog.io/@secloud/7.-%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C
- https://itcase.tistory.com/entry/8-%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C