- 컴퓨터 시스템에 악영향을 끼칠 수 있는 소프트웨어
- 악성 소프트웨어(malicious software) 를 의미한다.
- 멀웨어를 진단하고 제거하는 프로그램은 안티바이러스 (antivirus)라고 부른다.
멀웨어 분류
[복제 여부에 따른 분류]
- 복제하는 멀웨어
- 바이러스 (virus) : 복제를 위해서 숙주 프로그램을 필요로 한다.
- 웜 (worm) : 숙주 프로그램 없이 자가 복제로만 전파한다.
- 웜 바이러스 (worm virus) : 웜의 자가 복제 특성과 바이러스의 감염 특성도 가진 멀웨어
- 복제하지 않는 멀웨어
- 트로이 목마 (trojan horse)
[공격 행위에 따른 분류]
- 스파이웨어 (spyware) : 컴퓨터에서중요한정보를외부로유출시키는멀웨어
- 애드웨어 (adware) : 컴퓨터사용자에게광고를보여주는멀웨어
- 봇넷 (botnet) : DDoS 공격에 동원되는 좀비 PC에 설치하는 멀웨어
- 키로거 (keylogger) : 사용자의키보드입력을외부로유출시키는멀웨어
- 랜섬웨어 (ransomware): 사용자의데이터를암호화하고복구를대가로금전을요구하는 멀웨어
- 백도어 (Backdoor) : 통상 접근제어의 인증, 인가 과정을 거치지 않고 공격자가 원격으로 공격대상에 접근할수 있는 통로를 제공
멀웨어 분석
멀웨어 분석 방법은 크게 두 가지로 나뉜다.
- 정적 분석 (static analysis)
- 멀웨어를 실행하지 않고 분석하는 방법이다.
- 보안 전문가각 멀웨어를 실행하지 않고 우선 파일에서 정보를 최대한 얻어낸다.
- 동적 분석 (dynamic analysis)
- 멀웨어를 실행해서 분석하는 방법이다.
- 보안 전문가가 멀웨어를 실행해서 그 행위를 조사한다.
멀웨어 탐지
안티바이러스의 멀웨어 진단 방식은 두 가지로 나뉜다.
- 시그니처 기반 탐지 (signature-based detection)
- 보안 전문가가 찾아낸 멀웨어의 특징(시그니처)을 파일에서 찾아보는 방법이다.
- 예)
- 파일의 해시값: MD5, SHA1 등
- 바이너리 코드 패턴
- 문자열 데이터
- 앞의 방법들은 변종이나 신종은 잘 탐지하지 못한다는 단점이 있다. 이를 극복하기 위해 여러 기법들이 개발되어 왔다.
- 제네릭 탐지 (Generic Detection)
- 멀웨어 변종들의 공통된 명령어 opcode 패턴을 찾아 알려지지 않은 변종을 진단하는 기법이다.
- 휴리스틱 탐지 (Heuristic Detection)
- 멀웨어들이 자주 사용하는 명령어와 윈도우 API 호출 패턴을 찾아 의심 파일로 진단하는 기법이다.
- 행위 기반 탐지 (behavior-based detection)
- 무결성 (Integrity) 검사
- 정상 상태 시스템의 모든 파일의 해시 값을 보관해 이를 바탕으로 변화된 실행 파일들을 의심 대상으로 삼는 기법이다.
- 행위 차단 (Behavior blocking)
- 시스템에서 발생하는 모든 행위를 모니터링하면서, 멀웨어와 유사한 행위가 발생하면 해당 행위를 한 프로세스를 종료시키고 파일을 삭제한다.
- 실행 중인 멀웨어의 행위를 감시해서 멀웨어가 한다고 알려진 행위를 찾아내는 방법이다.
- 신종 멀웨어와 변종 멀웨어도 잡아낼 수 있다.
- 멀웨어의 행위를 기반으로 검출 할 때 멀웨어가 실행되면서 내부 시스템에 영향을 주는 문제가 있다.
- 멀웨어를 실행시킬 때, 다음과 같은 방법으로 내부 시스템에는 영향을 주지 않으면서 행위 기반 탐지를 하기도 한다.
- 에뮬레이터 (emulator)
- 소프트웨어적인 방식으로 가상의 컴퓨터 환경을 구현하는 프로그램
- 샌드박스 (sandbox)
- 실제 시스템에서 실행하지만, API 호출을 가로채어 보호된 영역에서 실행시켜서 실제 시스템에는 영향을 주지 않도록 하는 방법
샌드박스
- 클라우드 서버
- 무결성 (Integrity) 검사
- 각각 정적 분석, 동적 분석과 유사하다.
멀웨어 치료
- 웜, 트로이 목마: 해당 멀웨어 파일을 제거한다.
- 바이러스: 감염 방식을 역으로 돌려(역공학) 정상 파일을 복구
'서버 > 암호' 카테고리의 다른 글
이진 분류기(binary classifier)의 결과 분류 (0) | 2021.07.29 |
---|---|
익스플로잇 (exploit) (0) | 2021.07.27 |
TLS 내부 (0) | 2021.03.25 |
TLS record 생성 (0) | 2021.03.24 |
TLS Layer (0) | 2021.03.23 |