4. Malware
1. Malware
- 바이러스 : 복제코드, 독자적 실행 불가, 복제가능, 실행파일 감염(Parastic) / 백신, 안티바이러스 -> 무결성
- 웜 : 메모리상 존재(자원소모), 독자적 실행 가능, 복제가능(자가), 전파 / N-IDS -> 무결성
=> 웜의 특징은 스스로 전파하며 네트워크 대역폭을 소모시키는 역할
- 트로이목마 : 정상 프로그램에 숨겨진 악의적인 코드, 정보유출, Mimic / H-IDS -> 기밀성
- RAT(Remote Access Trojan) : 원격에서 중요정보 유출
- 논리 폭탄 : 특정 조건에 부합되면 동작 / 소스코드 리뷰 -> 무결성
- 백도어 : 접근통제를 우회하는 경로, 로그 없음 / 소스코드 리뷰, H-IDS -> 기밀성
=> 백도어를 탐지하는 방법은 소스코드 리뷰와 H-IDS설치 정적 분석기법
=> Back door = worm hole, trap door, maintenance Hook
- Rootkits : 보이지 않는 악성코드(invisible), (Process, File, Registry hiding), 커널영역
- Bots : 원격제어(Remotely control), spam, phishing, DoS
|
바이러스 |
웜 |
논리폭탄 |
원격트로이목마 |
트로이목마 |
스파이웨어 |
감염대상 |
파일부터 |
X |
X |
X |
X |
X |
자기복제 |
O |
O |
X |
X |
X |
X |
형태 |
기생독립 |
독립 |
독립 |
독립 |
독립 |
독립 |
흐름 |
- |
- |
- |
밖 -> 안(양방향) |
안 -> 밖(단방향) |
안 -> 밖 |
법적분쟁 |
- |
- |
- |
- |
X |
O |
- 바이러스 증상
> 파일 사이즈 증가
> 갱신 타임스탬프의 변경
> 저장장치의 잔여 공간이 단시간 내에 급격히 변경
> 디스크 접근의 급작스런 증가
- 바이러스 탐지
> 바이러스 백신, 체크섬 등
- 감염 후 작업
> 네트워크 차단, 모든 데이터 백업, 재설치 등
2. Mobile Code
- Mobile Code
> WWW 브라우저를 통하여 다운로드 되어 실행 되는 작업 어플리케이션
> Active-X, Java Applet
> 소스코드는 서버에 있지만, 실행은 클라이언트에서 수행
> Mobile Code 위협대상 : 클라이언트
- JAVA Applet
> Sandbox : 컴퓨터나 네트워크에 받아들이기 의심스러운 코드의 격리 수단(실행 중 보장, 실시간 가상환경 제공)
- Active-X
> 사용자 인증코드(Authenticode)=codesign) -> 실행전 보장
=> 악성실행코드에 대한 모바일코드의 2가지 대응 방법 : Sandbox, Autenticode
3. 공격 기술의 변화
- 점진적으로 발전, 지식은 낮아짐, 피해 범위는 커짐 -> 도구, Tool 발달, Script Kiddies 증가
4. 일반적인 공격 순서
- 정보수집 > 스캐닝 > 목록화 > 취약점 공격 > 권한 획득 > 권한 상승 > 백도어 > DoS
5. Sniffing 공격
- 허브 환경
> 취약한 호스트 점령 후 그 서버를 Promiscuous mode로 바꾸고 스니핑
> 대책 : 암호화 통신, SSL, VPN, IPSEC
- 스위치 환경
> Spoofing
> 대책 : 암호화 통신, SSL, VPN, IPSEC
6. Denial of Service(DoS)
- 시스템이나 네트워크 자원을 파괴하여 서비스를 중단시킴
- Local Attack : 디스크 자원 고갈, 메모리 고갈, 프로세스 고갈
- Remote Attack : Mail Bombing, TCP Syn Flooding, Smurf, Ping of death, UDP Storming, Tear drop
6.1 TCP Syn Flooding
- TCP 3-Way han shaking 문제점 이용, 지속적인 half-open상태로 다른 TCP 요청 거절
- 대책 : 패킷 필터링, backlog 큐 늘림, connection timeout 줄임
6.2 ICMP Smurf
- 호스트의 IP주소 가장, Broadcast로 ICMP echo request, 네트워크에 존재하는 모든 호스트로 ICMP echo reply
- 대책 : 라우터의 Direct Broadcast 중지, IP Broadcast의 ICMP Reply 금지
6.3 UDP Storming
- UDP 포트에 IP주소 속인 데이터그램을 보내 루프 형성
- 대책 : 불필요한 UDP 제거
6.4 IP Fragmentation attack(Ping of death)
- 표준에 규정된 길이 이상으로 큰 IP패킷 전송하는 것
- 대책 : 운영체계 스택의 취약성 패치
6.5 IP Fragmentation attack(Teardrop, Bonk, Boink)
- 서로 중첩되도록 헤더를 조작한 IP패킷 전송
- 대책 : TCP/IP 스택의 구현 오류 패치
6.6 IP Fragmentation attack(Tiny Fragmentation)
- 최초의 Fragment를 아주작게 만들어서 전송
- 대책 : 패치, 필터링 장비 패치
7. Session Hijacking
- 대책 : 시퀀스 번호의 복잡도를 높임, 스니핑 방지, 주기적 인증
8. IP Spoofing 공격
- 대책 : 시퀀스 번호의 추측이 어렵도록 복잡도 증가
9. War Driving
- 차량으로 이동하면서 무선랜 보안이 취약한 지점을 찾는 행위
- 대책 : SSID의 브로드케스팅방지(Hidden SSID), 128비트 이상의 WEP, 암호화 적용, MAC 필터링
10. 공격 툴
- File Integrity Checkers : AIDE, LANGuard, Tripwire
- Network sniffers : snort, ethereal, Dsniff, tcpdump, windump
- Password Crackers : John the Ripper, L0pht Crack, wwwhack
- Scaning : nmap, Firewalk, Fscan, LANGuard, superscan
- Vulnerability Assessment : Nessus, SAINT, SATAN
- DDoS : Trinoo, Stacheldraht
11. Honepot
- 예방통제, zero-day에 좋은 대책
12. Port scan / Network Mapping
- 이용가능한 취약한 서비스에 대해 TCP Wrapper를 사용한다
- IDS를 사용
- 불필요한 포트 제거
- 배너 기능 제거
=> TCP Wrapper는 사용자 ID 또는 시스템 ID에 기반하여 접근을 제한하는 방화벽으로써 응용프로그램 접근통제
13. 캡슐화(Encapsulation)
- 데이터와 오퍼레이션을 묶는것으로, 데이터의 내부 구조를 숨김
14. 정보은닉
- 내부의 구현부분을 숨기고 인터페이스를 통해서만 접근
- 클라이언트는 인터페이스만을 통하여 메시지 전달(send massge)
15. 인터페이스
- 서비스를 정의하는 오퍼레이션의 집합
- 유지보수가 용의(내부 구현 바꾸어도 영향 없음 -> 과정의 추상화, 절차의 추상화)
- 작업의 분업화가 가능
=> 캡슐화는 정보은닉을 가능하게 한다.
16. 다형성(Polymorphism)
- 하나의 인터페이스에 많은 다른 구현을 숨기는 것 -> 같은 이름의 인터페이스 허용
- 오버라이딩(Overriding) : 재정의, 계층적 오퍼레이션의 중첩
- 기능의 확대, 개선 등 재정의해서 사용
'STUDY > CISSP' 카테고리의 다른 글
[CISSP] Domain8_Software Development Security (3/4) (0) | 2019.04.01 |
---|---|
[CISSP] Domain8_Software Development Security (2/4) (0) | 2019.04.01 |
[CISSP] Domain8_Software Development Security (1/4) (0) | 2019.04.01 |
[CISSP] Domain7_Security Operations (6/6) (0) | 2019.04.01 |
[CISSP] Domain7_Security Operations (5/6) (0) | 2019.04.01 |