Malware
유형
악성 소프트웨어
– 호스트 프로그램을 필요로 하는 것
• 바이러스 • 논리폭탄 • 백도어
– 호스트를 필요로 하지 않는 것
•웜 • 좀비
스스로 복제할 수 있는 악성소프트웨어
– 트리거에 의해 활성화되는 프로그램 • 논리폭탄
• 백도어 • 좀비 프로그램 • 스스로 복제 불가한 악성소프트웨어
– 독립적인 프로그램으로서 실행
– 자신의 복제를 만들어 전파
• 바이러스 • 웜
백도어
• 백도어(back door)
– 트랩도어(trap door)라고도 함
– 프로그램으로 들어가는 비밀 입구
– 이 코드는 어떤 특별한 일련의 입력을 인식하거나, 특정 사용 자 ID나 발생할 가능성이 매우 희박한 일련의 사건에 의해 구동되면 시작한다
• 유지후크(maintenance hook)
– 통상적 보안접속 절차 없이 접근허락 받음
– 프로그래머는 프로그램 디버그나 검사를 위해 백도어를 상당 기간 합법적으로 사용
논리폭탄
- 논리폭탄(logicbomb)
합법적 프로그램 안에 내장된 코드로서 특정 조건이 맞게 되면 ‘터지게(작동을 개시하게)’ 만 들어진 논리
- 논리폭탄의 뇌관 1 어떤 특정 파일이 없어지는 순간 2 특정 요일 3 특정 날짜 4 응용 프로그램을 구동하는 특정 사용자
일단 논리폭탄의 작용 – 데이터나 전체 파일 수정 – 파일 삭제
- 팀로이드(TimLloyd)사건
트로이 목마
- 트로이 목마(trojan horse)란 감춰진 코드를 갖 고 있는 프로그램이나 명령 프로시저로 작동이 되 면 원하지 않거나 해가 되는 기능을 수행
트로이 목마의 3가지 모델
\1. 원 프로그램의 기능을 계속해서 수행 : – 추가적으로 별개의 악성 활동을 수행 \2. 원 프로그램의 기능을 계속해서 수행
– 기능을 수정해서 악성 활동을 하게 한다 • 패스워드 수집 로그인 프로그램 트로이 목마 버전
• 프로세스 염탐 프로그램 트로이 목마 버전
\3. 원 프로그램의 기능을 완전히 대체하는 악성 기능 수행
다중-위협 악성 소프트웨어
• 다분할(multipartite) 바이러스
– 여러 방법으로 감염
– 다중 유형 파일이 감염되므로 바이러스 박멸을 위해 감염된 모든 사이트 치료 필요
• 혼합 공격(blended attack) – 다중 방법으로 감염시키거나 전송해서 감염속도와 공격의 강도를 극대화
– 다중 유형 맬웨어를 포함한 패키지
- – 혼합 공격의 예 > 님다(Nimda) 공격 – 웜, 바이러스, 모바일 코드의 특성을 모두 가짐
- 전자메일, 윈도우 공유, 웹 서버, 웹 클라이언트로 배포
좀비
- 인터넷에 연결된 다른 컴퓨터를 몰래 장악하고 그 컴퓨터를 기반으로 공격을 수행 하는 프로그램
- 타깃 웹 사이트를 대상으로 한 서비스거부 공격 에 이용
바이러스 속성 - 악성코드는 발전하면서 하나의 이름으로 규정되기 어려운 형태가 많아짐
- 다른 프로그램을 변형시켜 ‘감염(infect)’시키는 프로그램
- 변형된 형태의 바이러스 : 원래 프로그램에 루틴을 주입해서 바이러스 프로그램 복제 제작
활동 절차 >
바이러스 : 자기 자신에서 주변 프로그램들을 보고 자신을 복제해 집어 넣고 실행될 수 있도록 하는 형태
일반 바이러스는 자기가 보통 바이러스라고 얘기할 때는.. 컴퓨터 바깥으로 못나감.. ssd, hdd 안에서 내부적으로만 활동하면서 퍼지는 것컴퓨터 바이러스 3개 부분
• 감염 메커니즘(Infection mechanism):
– 바이러스가 퍼지는 수단 : 원래 프로그램에 자기를 집어넣는 형태 > 일반적으로 바이러스에 걸린 파일은 일반 파일보다 크기가 큼 – 자신을 복제 – 감염 벡터(infection vector)라고도 함
- 트리거(Trigger): – 페이로드 활성화나 전달 시기를 정하는 사건이나 조건 / 활성화 조건
- 페이로드(Payload): – 바이러스가 자기 자신을 퍼뜨리는 일 외에 하는 일 / 바이러스를 실행시키는 그 파트 – 페이로드는 피해를 줄 수 있고 심각한 피해를 끼치지 않을 수 도 있지만 분명히 그 활동을 알 수 있다.
바이러스 유형 - 들어가서 활동
- 목표별 바이러스 유형
-
부트 섹터 감염자 : 마스터 부트 레코드 감염 후 시스템 부팅 시 퍼짐
-
파일 감염자 : 운영체계나 쉘이 실행 가능하다고 여기는 파일 감염
-
매크로 바이러스 : 응용 프로그램으로 나타낼 수 있는 매크로 코드를 가진 파일 감염
-
- 플랫폼과 무관하게 작동
- 문서만 감염시키고 코드 실행부분은 미감염
- 쉽게 퍼짐
- 시스템 프로그램보다는 사용자 문서를 감염
** 은닉 전략에 따른 바이러스 유형 : 흐름
- 암호화 된 바이러스 : 변형엔진(mutation engine) - 사용될 때마다 변한다
- 스텔스 바이러스 : 압축을 이용해서 감염되지 않은 프로그램의 길이와 감염된 프로그램의 길이 동일
- 폴리모픽 바이러스 : 복제 과정에서 기능적으로는 동일하지만 비트패턴에서는 명확하게 다른 변형 ** 옮겨다닐 때마다 바이러스의 모양 변화 : 안티 바이러스로 인해 발생
- 메타모픽 바이러스
안티 바이러스 방법
1 : 탐지 | 2 : 식별 | 3 : 제거 |
바이러스 인식 변화
前 : 나쁜 바이러스를 빨리 찾아서 없애자 … > 바이러스의 변화로 (수의 증가, 모양 변경 ) 거의 불가능해짐
現 : 운영체제 시스템을 단단히 만들자 … > 백신을 통해서 해결 거의 불가능
안티바이러스 소프트웨어 4세대
제1세대: 단순 스캐너 ( simple scanners )
제2세대: 발견 스캐너 ( heuristic scanners )
> 백신 ( 안티 바이러스 ) 얘네는 바이러스가 생긴 패턴, 시그니처, 서명의 특징을 데이터베이스
파일이 하나 들어오면 데이터베이스와 비교
> 패턴을 읽고 매칭 : 바이러스 백신 프로그램이 오래 걸리는 이유
제3세대: 활동 트랩 ( activity traps )
> 컴퓨터 프록램을 만들어놓고 바이러스에 취약한 척 해서 바이러스 유인 후 패턴과 시그니처 학습
제4세대: 풍부한 기능을 갖춘 방어 ( full-featured protection )
고도 안티바이러스 기술
- 유전적 복호화(GD: genetic decryption) : 폴리모픽 바이러스가 포함된 파일이 실행될 때 GD 스캐너 통과
- 디지털 면역 시스템(digital immune system) : > 알약 v3,,등 바이러스가 아닌데 바이러스인줄 알고 삭제하는 경우도 존재
행동차단 소프트웨어 : 샌드박스
웜 - 바이러스의 업그레이드 버전
- 웜은 자신을 복제하여 네트워크 연결을 통해서 컴퓨터에서 컴퓨터로 그 복제본 전송 > 자동 해킹
- 취약한 프로그램을 통해 다른 컴퓨터에 도착하게 되면 웜은 복제를 시작하고 다시 확산시키기 시작
- 전자메일 바이러스는 시스템에서 시스템으로 자신을 확산시키기 때문에 웜(worm)의 성격을 어느 정도 보유
웜 확산 모델
호스트수가 지수적으로 증가 - 감염 속도가 줄어든다 > 확산 증가는 거의 선형적 • 감염 비율 높음
– 공격 속도는 종료단계
- 감염학 전염병 모델과 웜 확산 모델이 일치
- 웜이 대상으로 삼고 있는 컴퓨터에 취약점이 있느냐가 중요
네트워크-기반 웜 방어
- 두가지유형 – 진입 모니터(Ingress monitors): – 진출 모니터(Egress monitors):
** 제로-데이 익스플로잇(zero-day exploit)
웜이랑은 상관 없고 익스플로잇은 공격코드임
제로데이라고 하는 건 취약점이 알려지고 하루가 지나면, 데이 원 / 원데이 / 데이 투 데이쓰리…
제로데이는 해킹 가능한게 알려지지 않은 것
제로데이 취약점 : 취약점이 아무에게도 알려지지 않고 해커만 알고 있는 취약점을 이렇게 부름
> 파급효과에 따라 시장에 팔림. 해커가 보통 프로그램에서 취약점을 찾음 > 찾아서 취약점을 갖고
\1. 해킹해서 이익을 취함
\2. 보안회사에 팔아 넘김
2-1 양성적 보안회사에서 사는 것 ( 구글:돈주고 삼 )
2-2 제로데이 암시장에 팖 ( 2-1보다는 많이 받음 )
분산서비스거부 공격
서비스 거부 공격 DoS attack ( Denial of Service ) > 분산 서비스 거부 공격 ( Distributed DoS )
> 초과 트래픽의 경로를 차단해 쉽게 막을 수 있음 DoS > 좀비 컴퓨터 이용
> 기존 인프라 ( 컴퓨터 )로 공격을 하게 함 > 경로 차단 불가능 + 좀비의 수뇌부 추적 어려움
분산 SYN 홍수 ( 플러드 ) 공격 - 직접 공격
스스로 열심히 만들어 전송
데이터 전송 자원 소모 공격 - 간접 공격
반사호스트를 이용해 트래픽을 크게 만들어 목표 라우터에 전송 > 공격자 찾기가 거의 불가능
DDoS 공격의 다른 분류방법
\1. 직접 DDoS 공격(direct DDoS attack)
- 공격자는 인터넷상에 분산되어 있는 수많은 사이트에 좀비 소프트웨어 설치
- 2단계 좀비 시스템 – DDoS 공격은 마스터 좀비와 종속 좀비로 구성
- 두좀비는 악성코드에 감염
- 공격자가 마스터 좀비를 조정하여 동작시키면 이어서 종속 좀비가 동작
- 2단계 좀비를 사용하면 공격의 발신지를 추적하기가 더 어렵고 공격자 활동 공간이 넓어짐
\2. 반사 DDoS 공격(reflector DDoS attack)
- 하나의 호스트 계층을 추가한다
- 종속좀비는 IP패킷의 헤더에 목표 시스템의 IP주소를 발신지 IP 주소로 하는 패킷을 만들어 응답 요청
- 이패킷은 감염 되지 않은 호스트인 반사 호스트 전송
- 반사 호스트는 발신지 IP 주소를 확인하고 목표시스템으로 응답 패킷 전송
- 반사기 DDoS 공격 – 직접 DDoS공격에 비하여 더 많은 호스트를 감염 – 더 많은 트래픽을 유발시킬 수 있으므로 더 위협적 – 공격이 넓게 분산되어 있는 감염되지 않은 호스로부터 들어오기 때문에 공격을 추적하고 패킷을 필터링 해서 제거하는 것이 더 어렵다
DDoS 대응책
• 공격 예방 및 선취(공격 이전): • 공격 탐지 및 필터링(공격 중): • 공격 근원지 역추적 및 확인 (공격 중 및 공격 후):
• CloudFlare 방식
• 분산화 공격에 대응하는 서버 분산화 > 사이트 접속 시 접속 국가에 인접한 서버와 매칭