- 네트워크 기반 위협
- 네트워크를 취약하게 하는 요인
- 많은 공격 지점
- 공유
- 시스템 복잡성
- 네트워크 위협 유형
- 수동적 공격
- 통신회선상의 정보를 무단으로 취득하는 행위
- 데이터를 암호화하여 기밀성 보장
- 스니핑, 도청(Eavesdrop)
- 능동적 공격
- 통신회선상의 정보를 변조, 위조하는 행위
- 암호화 + 데이터 무결성 확인
- 재전송 공격, 변조, DoS/DDoS, 세션 하이재킹
- 수동적 공격
- 네트워크를 취약하게 하는 요인
- 네트워크 기반 보안 위협 및 대응책
- DoS
- 정의
- DoS — 단일 컴퓨터를 통해 공격
- DDoS — 물리적으로 분산된 다수의 컴퓨터를 이용하여 공격
- poison 패킷
- 소프트웨어 버그를 이용하여 소프트웨어가 중단되도록 패킷을 보내는 공격
- ping of death, teardrop
- flooding
- TCP SYN Flooding Attack
- 개요
- 3way handshaking 과정에서 half-open 연결 시도가 가능하다는 취약점 이용
- 공격 대상 시스템은 외부로부터 접속 요청을 받아들일 수 없게 되어 서비스 제공 불가능
- half-open(반개방) 연결
- 문제가 발생하여 한 장비가 상대방에게 알리지 않은 채 연결을 닫거나 중지할 때 발생
- 한 장비는 ESTABLISHED, 다른 장비는 CLOSED 또는 다른 임시 상태
- 소프트웨어 붕괴, 연결 도중 재시작, 장비 동기화 실패
- TCP 기반 서비스를 제공하는 시스템에 피해
- 시작 주소 Spoofing
- raw socket interface를 통해,, — 네트워크를 테스트하거나 네트워크 프로토콜을 연구하는 목적으로 개발
- 공격 과정
- 다수의 SYN 전송
- STN 패킷을 송신하지 않은 TCP가 SYN+ACK 패킷 수신 시, RST 패킷을 회신하여 작업 중단 요청. RST 패킷을 수신한 서버도 연결 중단
- 위조 IP 주소가 바쁘거나 사용되고 있지 않은 주소일 때, RST 패킷이 회신되지 않아 SYN+ACK 재전송
- 보안 대책
- 방화벽, DDoS 대응 장비를 이용하여 동일 IP의 연결 요청에 대한 임계치 설정을 통해 과도한 연결 요청 방지
- iptables -A INPUT -p TCP --dport 80 --syn -m connlimit --connlimit-above 5 -j DROP
- TCP 80포트 syn에 대해 동일 출발지 IP로 동일 연결이 5개 초과 시 차단
- Syn_Cookie
- 암호화 기술을 이용해 인증 정보가 담긴 시퀀스 넘버 생성 및 전송
- 클라이언트 IP, 클라이언트 시작 순서 번호, 비밀번호 등으로 해시
- Fisrt SYN Drop 설정
- 연결 요청 패킷을 보내는 클라이언트가 실제로 존재하는지 파악하는 방법
- 클라이언트로부터 전송된 첫 번째 SYN Drop → 재요청 패킷이 도착하는지 확인. 대부분 공격 툴은 Drop 시 재전송 없음
- TCP 연결 테이블 엔트리 선택적 삭제 기법 — 연결 테이블이 오버플로우될 때 일부 엔트리 삭제
- 연결 테이블 확장 — 연결 테이블에 할당된 메모리 확장
- 개요
- SMURF Attack
- 개요
- 가장 피해가 크고 인기 있는 형태 중 하나
- IP 위장과 ICMP 특징 이용
- Directed Broadcast 주소로 Ping 메시지 송신
- 수신한 모든 시스템이 출발지 주소인 공격 목표 시스템으로 Ping 응답
- 공격자, 증폭 네트워크, 공격 대상
- 공격 방법
- 출발지를 공격 대상 서버의 IP로 위장하여 ICMP를 브로드캐스트로 다수의 시스템에 전송
- ICMP Echo를 수신하여 성능 저하
- Amplification Attack — Fraggle
- 보안 대책
- 중개 매개지로 사용되는 것을 막기 위해 라우터에서 다른 네트워크로부터 자신의 네트워크로 들어오는 IP directed boradcast 패킷을 막도록 설정
- IP broadcast address로 전송된 ICMP 패킷에 응답하지 않도록 설정
- 동일한 ICMP Echo 응답 패킷이 다량 발생하면 IPS로 차단
- 개요
- LAND Attack
- 출발지 IP와 목적지 IP를 동일한 패킷을 공격 대상에 전송
- 동시 사용자 수 증가, CPU 부하
- 보안 대책
- 탐지 방법
- 패킷 TCP 분석
- TCP 패킷의 소스 IP 및 포트와 목적지 IP 및 포트가 동일한지 확인 — 소스 IP가 내부 IP인 패킷 차단
- 패킷 수가 임계치보다 많으면 LAND Attack으로 판단
- 조치 방법
- 라우터, 패킷 필터링 도구
- 출발지와 목적지가 같은 패킷 차단
- 탐지 방법
- Ping of Deah
- 개요
- 기본 ping을 이용하여 ICMP 패킷을 정상(65355바이트)보다 크게 만드는 것
- 해당 패킷이 파편화되고, 이를 처리하는 데 부하 발생
- 보안 대책
- 패치
- 분할이 일어난 패킷을 공격으로 의심하여 탐지
- 개요
- Teardrop Attack
- 개요
- 수신자가 패킷 재조립 시 이용되는 오프셋을 조작하여 시스템 기능 마비
- 네트워크 연결이 끊어지거나 블루 스크린
- Open Tear Attack — 단편화되어 있다는 신호만 보내고 실제 데이터를 전송하지 않아 재조합 과정에서 오류 발생
- 보안 대책
- IPS, 방화벽 우회 가능
- Boink 등 다양한 변종
- 패치해라
- Targa
- 여러 종류의 서비스 거부 공격이 가능한 도구
- bok, jlot, land, nestea, newtear, syndrop, teardrop, winnuke
- 개요
- Inconsistent Fragmentation 공격
- Bonk
- 패킷을 파편화하여 전송할 때 패킷을 조작하여 시스템 부하
- 순서 번호를 모두 1번으로 조작
- Boink — 정상적으로 보내다가 패킷 시퀀스 번호를 비정상적으로 조작하여 전송
- 보안 대책
- 최근 시스템 파괴 불가능. 일부 가능
- SYN Flooding, Ping of Death 대응과 같음
- IP Fragmentation 취약점 이용
- Tiny Fragment — IP 헤더보다 작은 파편을 만들어 IPS를 우회하여 침입하는 우회 공격 기법
- Fragment Overlap — offset을 조작해 서비스 포트 필드를 중첩시켜, 재조합되면 IPS에서 허용하지 않는 서비스에 접근 가능하도록 하는 우회 공격 기법
- Bonk
- 정의
- DDoS 공격
- DDoS 공격 발전 형태
- 1999 — DoS
- 2005 — DDoS 방어 인프라를 압도하기 위해 다수의 봇넷으로 대규모 트래픽을 요더하는 DDoS/DRDoS 공격 및 DDoS-For-Hire 등장
- 현재
- 고도화된 신규 DDoS — Smart Attack, Memcached Reflection Attack, Carpet Bombing 등
- 랜섬 디도스 등장
- DDoS 공격 개요
- 봇넷 — 악성코드 등에 ㅡ이해 감염된 PC, IoT 기기, 서버들로 구성된 네트워크 집단
- 직접 공격 — 자신의 개인 컴퓨터로 침투
- 간접 공격 — 제3의 다른 시스템 활용
- 구성 요소
- 공격자, 봇 마스터 — 해커의 컴퓨터
- 마스터, C&C 서버 — 공격자에게 직접 명령을 받은 시스템
- 핸들러 프로그램 — 마스터 시스템의 역할을 수행하는 프로그램
- 에이전트, 슬레이브, 좀비
- 데몬 프로그램 — 에이전트 시스템 역할을 수행하는 프로그램
- 표적
- 봇, 봇넷
- 개요
- 다양한 악성코드의 특성을 복합적으로 보유
- 정보 유출, 스팸 메일 발송, 디도스, 트래픽 스니핑, 키 로깅 등
- 프로토콜에 따라 IRC 봇넷, HTTP 봇넷, P2P 봇넷
- 중앙 집중형 방식(IRC 봇넷, HTTP 봇넷), 분산형 방식(P2P 봇넷)
- DNS 싱크홀
- 개요
- 악성 봇 조종자를 탐지하고, 감염된 개인용 PC와 조종자 간의 접속을 차단하여 2차 피해를 방지하기 위한 시스템
- 감염된 PC에서 연결 시도 시 싱크홀 네트워크가 대신 응답하여 패킷이 외부로 전달되지 않도록 처리
- 동작 과정
- KISA에서 배포한 C&C 목록을 ISP 등 DNS 싱크홀 적용 기관의 DNS 서버에 등록
- 감염된 PC가 싱크홀이 적용된 DNS에 C&C 서버에 대한 질의 요청
- DNS는 싱크홀 서버 IP 반환
- 개요
- 봇넷의 보안 장비 우회 기법
- C&C 서버 접속 과정에서 탐지되지 않도록
- Fast Flux
- DGA(Domain Generation Algorithm)
- Domain Shadowing
- 개요
- 전통적인 DDoS 공격
- 트리누(Trinoo) 공격 — 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구
- TFN(Tribed Flood Network) 공격
- 믹스터 개발
- UDP flood, TCP SYN flood, ICMP echo 요청, SUMRF
- Stacheldraht 공격
- 트리누와 TFN을 참고하여 제작된 도구
- 마스터 시스템 및 자동 업데이트 에이전트 데몬 사이 통신에 암호화 기능 추가
- TFN2K
- 통신에 특정 포트가 사용되지 않고 암호화되어있음
- UDP, TCP, ICMP가 복합적으로 사용되고 포트도 임의로 결정됨
- 지정된 TCP 포트에 백도어 실행 가능
- 최신 DDoS 공격 유형별 분류
- 최신 DDoS 공격 유형
- 대역폭 공격(1) — UDP, ICMP, Flooding
- UDP Flooding
- 출발지 IP 위조 후 UDP 프로토콜로 데이터를 생성해 피해 시스템에 전송
- 대상 서버에서 UDP 포트를 사용하지 않아도 공격 가능
- ICMP Flooding
- ICMP 요청 패킷을 이용해 피해 서버로 대량의 ICMP 패킷 생성 및 전달
- 증폭이 발생하지 않음
- UDP Flooding
- 대역폭 공격(2) — DRDoS
- 개요
- 에이전트 설치 없이 프로토콜 구조의 취약점을 이용하여 정상적인 서비스를 운영하는 시스템을 에이전트로 활용
- 유형
- TCP 연결 설정 과정 취약점 이용 — 위조된 주소의 syn 요청을 반사 서버로 전달하여 syn+ack 응답이 공격 대상으로 향하도록
- ICMP 프로토콜의 Echo 요청 및 응답 이용 — 위조된 주소의 Echo 요청을 반사 서버로 전달하여 Echo 응답이 공격 대상으로 향하도록
- UDP 프로토콜 서비스를 제공하는 서버를 반사 서버로 이용하여 응답이 공격 대상으로 향하도록 하는 방법
- DNS, NTP, SNMP, CHARGEN 등의 서비스 이용
- 반사와 증폭
- 위협 요소(DDoS 공격과의 차이점)
- 패킷이 전송되는 경로가 많음 — 위조 SYN 패킷이 네트워크에 엔결되어 있는 TCP 반사 서버로 전송
- 반사 서버의 단계적 사용 및 확산 — 반사 서버를 추가하여 공격 경로 변경
- 위조 SYN 패킷 — 공격 대상 IP를 근원지 IP로 위조하여 역추적 어려움
- DRDoS 공격 종류
- DNS Reflection Attack
- 피해자의 IP로 스푸핑하여 네임 서버에 비정상 DNS 질의
- 네임 서버는 DNS 응답값 전송하여 회선 대역폭 고갈
- 트래픽 양을 높이기 위해 ANY Type 레코드 요청 — Zone에 등록된 모든 레코드값
- DNS 서버가 악용되지 않도록 점검
- 내부 사용자용 DNS 서버라면 내부 사용자 주소만 Recursive 쿼리가 가능하도록 제한
- 서버 방화벽, 네트워크 장비를 통해 특정 바이트 이상의 DNS 질의에 대한 응답을 차단하거나 동일 IP에 대해 단위 초당 요청 개수 제한
- NTP Reflection Attack
- 시간 동기화를 위해 사용되는 NTP 서버를 반사 서버로 악용
- monlist 요청 패킷을 전송하고 응답받도록
- monlist
- 구버전 NTP 서버에서 사용하는 명령어
- 최근 접속한 최대 600개의 접속 호스트에 대한 정보
- v2.4.7 이상에서 삭제
- CDLAP Reflection Attack
- CDLAP — 네트워크상에서 디렉터리를 연결/검색/수정하기 위해 사용되는 프로토콜
- CDLAP 서버를 반사 서버로 악용
- 스푸핑된 IP를 통해 CLDAP 서버에 쿼리를 보낸 후 응답
- UDP 프로토콜 사용. 출발지 포트 389번
- SSDP Reflection Attack
- SSDP
- UPnP 장치를 탐색할 때 사용되는 프로토콜
- 네트워크상의 다른 장치를 찾거나 알리는 역할
- IoT 기기에 사용
- 다량의 Search 명령 전송하여 피해자 IP로 응답
- SSDP
- Memcached Reflection Attack
- Memecahced 서비스
- 내부에서 DB 부하 감소 및 응답 속도 증가를 위해 분산된 메모리에 데이터를 캐싱하는 서비스
- 내부에서의 접근만 허용
- Key 값으로 Data 매핑
- 다량의 request 명령
- Memecahced 서비스
- CoAP Reflection Attack
- CoAP — IoT 기기, 저전력 컴퓨터를 위해 만들어진 UDP 프로토콜. UDP 프로토콜의 5683 포트 사용
- IoT 기기 및 모바일 장치를 대상으로 변조된 GET Request 전송
- DNS Reflection Attack
- 개요
- 자원 소진 공격
- SYN Flooding — 높은 pps, 대규모 트래픽을 발생시키지 않아도 서비스 접속 불가 유도
- ACK Flooding
- DNS Query Flooding — DNS 서버에 대량의 DNS 질의 전송
- 웹/DB 부하 공격
- GET Flooding — GET 요청으로 웹 서버와 DB 서버의 자원 소진
- Slowloris Attack
- 오랜 시간 지속
- 정상 HTTP 패킷 헤더는 Carriage Return & Line Feed(이하개행문자)가 두 번 나타남. 헤더의 종료와 전체 헤더의 종료
- 개행 문자를 하나만 전송 → 헤더가 모두 도착하지 않은 것으로 간주 → 대기 상태 유지
- RUDY Attack
- POST를 이용하는 Slow 공격 유형
- Content-Length 헤더의 데이터 크기를 크게 설정 → 서버로 전달할 데이터를 장시간에 걸쳐 조금씩 분할하여 전달하게 됨
- Slow read Attack
- TCP 통신에서 사용되는 windows size 악용
- windows size — 클라이언트가 한 번에 처리할 수 있는 패킷 크기
- windows size를 낮게 설정하여 서버로 전달 → 해당 size를 기준으로 데이터 전송이 완료될 때까지 연결 유지
- GET Flooding with Cache-Control(CC Attack) — HTTP 메시지의 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹 서버가 직접 처리하도록 함
- 동적 HTTP Request Flooding 공격
- HTTP Get Flooding, HTTP CC는 웹 방화벽을 통해 특징적인 HTTP 요청 패턴 방어
- 차단 우회를 위해 요청 페이지를 변경
- 기타 서비스 마비 공격
- HashDos 공격
- 웹 서버는 클라이언트로부터 전달받는 HTTP 메시지의 파라미터 관리를 위해 해시테이블 사용
- 매개정보를 조작하여 해시테이블 검색을 위한 인덱스로 사용되는 해시값에 충돌을 발생시켜 모든 해시테이블 검사하도록 함 → 웹 서버의 CPU 자원 소진
- HulkDOS 공격
- 웹 서버의 가용량을 모두 사용하도록 하여 정상 서비스가 불가능하도록 하는 GET Flooding 공격
- 공격 대상 URL을 지속적으로 변경하여 DDoS 차단 정책 우회
- SIP Flood
- SIP — VoIP에서 전화 연결에 사용하는 프로토콜
- INVITE 요청 메시지가 상당한 양의 자원을 소모하는 점 악용
- SIP 프록시 서버에 부담
- 서버 자원 소진
- 네트워크 용량 포화
- 수신자의 시스템은 가짜 전화로 인해 정상적인 전화를 받을 수 없음
- HashDos 공격
- 대역폭 공격(1) — UDP, ICMP, Flooding
- 대응 프로세스
- DDoS 예방 대책
- DDoS 대응 서비스 가입 — 사이버 대피소 — 공격 트래픽을 대피소로 우회
- 백업 서버 구축
- 공격 대상 최소화
- Shodan — 전 세계 네트워크를 검색하여 인터넷과 연결된 서버, 네트워크 장비, 관리자용 서비스, VoIP, IP 카메라 등에 대한 정보 보여줌
- VPN 등 서비스 이용
- DDoS 방어 대책
- 자체 방어 준비 — 소규모 공격에 한하여 일부 방어 가능
- TCP 기반 DDoS 방어 준비 — 방화벽 및 Proxy Server와 같은 주변 장치에서 TCP Keepalive 및 최대 연결 설정
- 이상 트래픽 모니터링
- 화이트리스트 방식의 방화벽 설정
- 서버 분산을 통한 가용성 확보 — Load Balancer를 통한 서버 부하 분산
- DDoS 대응 서비스를 통한 방어 준비
- 사전 준비 — 적용 가능한 방어 서비스 조사, 적용 절차 및 기간 파악
- 공격 인지 — 웹사이트 헬스 체크 등의 모니터링 시스템 구축
- 공격 정보 파악 — DDoS 공격으로 판단될 경우 유형, 규모, 시간 등 파악
- 대역폭 공격
- bps, pps는 높지만 Connection 값은 정상
- UDP 프로토콜 이용 — Connection 없이 트래픽 발생
- 자원 소진 공격
- 대역폭 공격 대비 bps가 높지 않지만, 높은 pps
- wireshark, tcpdump로 분석
- 웹/DB 부하 공격
- 높은 Connection
- wireshar 및 웹 서버 Access Log 등 확인
- 대역폭 공격
- 방어 서비스 적용 — 방어 서비스 적용 프로세스를 수행하여 대응
- 서비스 모니터링 — 장비 상태 확인
- 사후 조치 — 추후 DDoS 공격 대비
- 자체 방어 준비 — 소규모 공격에 한하여 일부 방어 가능
- DDoS 예방 대책
- DDoS 공격 발전 형태
- 네트워크 스캐닝
- 사이버 공격을 위한 준비 활동
- 정보 수집 3단계 — 풋 프린팅, 스캐닝, 목록화
- 풋 프린팅
- 공격 대상에 대한 다양한 정보를 수집하기 위해 사용하는 방법 중 하나
- 사회공학 기법
- 공격 대상이 스스로 공개한 IP 블록, 사용자 이름 및 계정, 전화번호 등 정보 수집
- 스캔 공격 분류
- 스캐닝 기본 개념 — 공격에 이용될 수 있는 네트워크 구조, 시스템이 제공하는 서비스 등의 정보를 얻기 위해 수행되는 방법
- 포트 스캔 분류
- Sweep — 네트워크 구조를 조사하기 위해 존재하는 시스템에 대한 작동 유무 검사. ICMP Sweep, TCP Sweep, UDP Sweep
- Open Scan — 시스템에서 제공하는 서비스 확인. TCP Scan, UDP Scan
- Stealth Scan — 보안 장비에 대한 우회. FIN Scan, XMAS Scan, NULL Scan, ACK Scan, Fragment Scan
- Security Scan — OS/System, Network Device, Application
- 포트 스캔 공격 종류
- Sweep
- 특정 네트워크에 대해 해당 네트워크에 속해있는 시스템의 작동 유무를 판단할 수 있는 기법
- 대상이 사용/소유하는 IP 주소와 네트워크 범위를 알아냄
- 요청에 의한 응답을 수행하는 클라이언트/서버 구조 기반
- 프로토콜에 따라 ICMP Sweep, TCP Sweep, UDP Sweep
- Open 스캔
- 개요
- 시스템 자체의 활성화 여부, 포트에 해당되는 서비스 활성화 여부
- TCP Open, UDP Open
- TCP Scan
- TCP Full Open(TCP Connect)
- 포트가 열려있는 경우 대상 시스템으로부터 SYN/ACK 패킷을 수신하면 그에 대한 ACK 패킷을 전송하여 연결 완료
- 닫혀있을 경우 RST/ACK
- 신뢰성 있는 결과, 느림, 로그 남음
- TCP Half Open(TCP SYN 스캔)
- 로그 남지 않음
- SYN/ACK 수신 후 RST 전송으로 연결 종료
- SYN 전송 기록은 존재
- TCP Full Open(TCP Connect)
- UDP Scan
- ICMP Port Unreachable 에러 메시지로 포트 활성화 유무 확인
- ICMP Port Unreachable 수신 → 포트 비활성화
- 응답 없음 → 포트 활성화
- 신뢰도 낮음 — UDP 패킷이 전달되는 동안 라우터/방화벽에 의한 손실 가능성
- 개요
- 스텔스 스캔
- 개요
- TCP 헤더를 조작하여 패킷 생성 후 응답으로 포트 활성화 여부 확인
- 세션을 완전히 성립하지 않고 스캔
- FIN, NULL, XMAS 스캔
- TCP FIN 스캔
- TCP 헤더 내에 FIN 플래그 설정
- 활성화 → 응답 없음
- 비활성화 → RST
- NULL, XMAS도 같은 결과
- NULL 패킷 — TCP 헤더에 플래그를 설정하지 않음
- XMAS 패킷 — 모든 플래스 활성화
- TCP FIN 스캔
- TCP ACK 스캔
- 방화벽 룰셋(필터링 정책) 스캔
- 대상 방화벽 상태 기반(Stateful) 여부
- 대상 포트가 방화벽에 의해 필터링 되고 있는지 여부
- Decoy 스캔 — 대상 호스트에서 스캐너 주소를 식별하기 어렵도록 실제 스캐너주소 외에 다양한 위조된 주소로 스캔
- 개요
- FTP 바운스 스캔
- 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부 확인
- 현재는 거의 없음
- Sweep
- 대표적인 스캔 도구
- NMap
- 개요
- 모든 운영체제에서 사용 가능
- 운영체제 종류, 사용 서비스 정보, FTP bounce 수행
- 확장성
- 윈도우용 GUI 지원
- 사용법
- nmap [scan type] [options]
- Scan Type
- -sS — TCP SYN(Half Open)
- -sT — TCP Connect(Open)
- -sU — UDP
- -sF — TCP FIN
- -sX — TCP Xmas
- -sN — TCP NULL
- -sA — TCP ACK
- -sP — Ping(icmp/icmp echo) — Ping을 이용해 호스트 활성화 여부 확인
- -sD — Decoy
- -b — TCP FTP Bounce, -b <FTP bounce proxy)
- -sR — RPC 호스트 스캔 — RPC 포트 탐색
- Output Option
- -v — 상세 내역
- -d — 디버깅
- -oN
— 일반(.nmap) 파일 형식으로 출력 - -oX
— XML 파일 형식으로 출력 - -oG
— 결과를 Grepable 파일 형식으로 출력 - -oA
— 모든 형식으로 출력
- 기타 Option
- -O — 대상 호스트 운영체제 정보
- -F — 빠른 네트워크 스캐닝
- -T0 ~ T5 — 속도
- nmap [scan type] [options]
- 개요
- NMap
- 운영체제 탐지
- 개요
- 탐지 방법
- TCP 연결 설정의 시작 순서 번호(ISN) — 0부터 시작, 1부터 시작, 범위
- TTL 기본값
- ToS(Type of Service) 필드 구현 방식
- 배너 그래빙 — 배너 확인
- 배너 — 원격지 시스템 로그인 시 나타나는 안내문
- telnet [대상 IP] [대상 포트]
- 목록화(Enumeration)
- 수집한 정보를 바탕으로 더 실용적인 정보 획득
- 실제 공격에 사용할 수 있도록 목록화
- 공유 자원 목록화, 사용자 및 그룹 목록화, 응용 프로그램 목록화
- 포트 스캔에 공격 대응책
- 불필요한 패킷을 차단하도록 방화벽 설정
- 사용하지 않는 포트 비활성화, 불필요 서비스 정료
- IDS를 사용한 포트 스캔 탐지
- 시스템 로그 감사
- 사이버 공격을 위한 준비 활동
- 스니핑
- 스니핑 공격의 동작 원리
- 트래픽 도청
- TCP/IP 프로토콜을 이용하는 통신에서는 암호화되어 있지 않음
- 스니핑 종류
- 허브 환경에서의 스니핑
- 허브
- 인바운드 패킷을 모든 포트로 전송
- 네트워크 드라이버, OS 커널 등의 수준에서 MAC 주소를 확인하고 자신이 아닌 다른 이의 패킷을 버림
- 시스템의 NIC를 promiscuous 모드로 동작하여 패킷을 버리지 않고 확인 가능
- promiscuous 모드
- 리눅스, 유닉스 등에서 가능
- ifconfig eth0 promisc
- 허브
- 스위치 환경에서의 스니핑
- 스위치 재밍(Switch Jamming, MAC Address Flooding, MACOF(MAC OverFlow) 공격)
- 스위치의 MAC Address Table 버퍼를 오버플로우시켜 스위치가 허브처럼 동작하게 만드는 기법
- 스위치는 Fail Open 정책으로 실패 시 모두 허용하여 모든 노드에 패킷 전송
- MAC Address Table을 채우기 위해 MAC 주소를 계속 변경하여 ARP Reply 패킷을 지속적으로 전송
- ARP 스푸핑
- 특정 호스트 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply 응답 패킷 생성 후 지속적 전송
- 희생자 ARP Cache의 특정 호스트 MAC 정보가 공격자 MAC 정보로 변경
- 특정 호스틀 전송되는 패킷 스니핑
- ARP 리다이렉트
- 자신이 라우터인 것처럼 MAC 주소 위조
- ARP Reply 패킷을 해당 네트워크에 broadcast
- IP 포워드 기능으로 사용자들이 눈치 못 채도록
- ICMP 리다이렉트
- 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알려 패킷 흐름 변경
- 네트워크는 보통 하나의 라우터나 게이트웨이를 이용하지만, 로드밸런싱으로 여러 개 이용하기도 함
- 스위치의 SPAN/Port Mirroring 기능 이용
- SPAN/Port Mirroring
- 스위치를 통과하는 모든 트래픽 확인 가능
- 특정 포트에 분석 장비를 접속하고 다른 포트의 트래픽을 분석 장비로 자동으로 복사해주는 기술
- SPAN/Port Mirroring
- 스위치 재밍(Switch Jamming, MAC Address Flooding, MACOF(MAC OverFlow) 공격)
- 스니핑 공격 보안 대책
- 개요
- 능동적 대응책
- 스니퍼의 네트워크 존재 여부 확인. 스니퍼 탐지
- 무선 환경에서 한계 있음
- 수동적 대응책 — 내용이 노출되지 않도록 암호화
- 능동적 대응책
- 스니핑 탐지
- 스니퍼가 promiscusous 모드에서 작동한다는 점 이용
- ping을 이용한 방법
- 대부분의 스니퍼는 일반 TCP/IP에서 동작하기 때문에 요청을 받으면 응답을 전달함
- 의심되는 호스트에 ping을 보낼 때, 네트워크에 존재하지 않는 MAC 주소를 위장하여 전송
- ARS를 이용하는 방법 — 위조된 ARP 요청을 보냈을 때 ARP 응답
- DNS 방법
- 스니핑 프로그램은 사용자의 편의를 위해 스니핑한 시스템의 IP 주소로 Inverse-DNS lookip 수행함
- 원격과 로컬에서 모두 사용 가능
- 원격에서 대상 네트워크로 Ping Sweep을 보내고, 들어오는 Inverse-DNS lookup을 감시하여 스니퍼 탐지
- Decoy 방법 — 보안 관리자가 가짜 계정과 패스워드를 네트워크에 전송
- ARP watch
- 초기 MAC 주소와 IP 주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 이를 변하게 하는 패킷 탐지
- 대부분 공격이 ARP를 사용하기 때문에 탐지 용이
- 암호화
- SSL — 암호화된 웹 서핑을 가능하게 함. 40비트, 128비트
- PGP, PEM, S/MIME — 이메일 전송 암호화
- SSH — 텔넷 등 서비스 암호화
- VPN — 공용 회선을 이용한 사설 암호화 망
- 개요
- 허브 환경에서의 스니핑
- 네트워크 스니퍼
- 패킷 또는 LAN 세그먼트상을 지나는 트래픽을 분석할 수 있는 프로그램 혹은 장비
- 스니퍼는 promsicuous 모드로 동작하는 네트워크 어댑터를 이용하여 네트워크에 접속해야 함. 이 어댑터의 드라이버는 데이터를 캡처
- 패킷 스니핑 공격 — 패킷 분석기 및 스니핑 공격을 위해 특별히 제작된 도구(Dsniff 등) 사용
- dsniff — 송덕준이 개발한 해킹 도구. 스니핑 소프트웨어
- 카니보어 — FBI의 범죄 추적용 스니핑 소프트웨어
- 알트보어 — 카니보어에 맞서기 위한 스니핑 소프트웨어
- 스니핑 공격의 동작 원리
- 스푸핑
- 개요
- 자신을 공격 대상에게 노출시키지 않고 MAC 주소, IP 주소 등을 속이는 작업
- 중간자 공격, DoS 공격
- 유형
- IP 스푸핑
- 이메일 스푸핑 — 이메일 발신자를 위장하여 메일 전송
- 웹 스푸핑 — 공격자가 웹 페이지 내용을 가로채 원래 웹 페이지 내용을 변경하여 전송
- DNS 스푸핑 — DNS를 사칭하여 의도치 않은 사이트 접속 유도
- ARP 스푸핑
- 공격 원리
- 호스트의 주소 매칭 테이블에 위조된 MAC 주소가 설정되도록 하는 공격
- 사용자 시스템이 ARP 응답 메시지를 수신할 때마다 ARP 요청 메시지 송신 여부, ARP 응답 메시지 송신자에 대한 인증 없이 자신의 ARP 테이블을 갱신하는 ARP 프로토콜의 취약점 이용
- 보안 대책
- ARP 캐시 테이블을 관리자가 정적으로 작성
- 리부팅 시 static 옵션 사라짐
- arp -s <IP 주소> <MAC 주소>
- 공격 원리
- IP 스푸핑
- 공격 원리
- 신뢰 관계를 가진 시스템의 주소로 위장하여 공격 대상 서버로부터 정보를 가로챔
- 위장 후 rlogin 등 이용하여 접속
- 공격 절차 — 한 쪽에 TCP syn flooding 공격을 가하고, 이로 위장하여 대상과 통신
- 대응방안
- 인바운드 패킷 중 IP 주소에 내부망 IP 주소를 가지고 있는 패킷 필터링
- 신뢰된 시스템의 MAC 주소를 static으로 지정
- IPSec 사용
- TCP 등 상위 프로토콜에서 비정상적인 IP 주소 시스템 간 통신 방지 기능 추가
- 공격 원리
- DNS 스푸핑
- 공격 원리
- 실제 DNS 서버보다 빠르게 공격 대상에게 DNS 응답을 전송하여 잘못된 IP 주소로의 접속 유도
- 파밍, 중간자 공격 등 2차 공격 가능
- DNS 패킷은 UDP 패킷 — 먼저 도착한 패킷을 신뢰
- 공격 절차
- 클라이언트가 DNS 쿼리 패킷을 보내는 것 확인. ARP 스푸핑 등의 선행 작업 필요. 또는 허브 이용
- 위조된 DNS 응답 전송
- 위조된 웹 접속
- 또는 네트워크의 특정 URL에 거짓 IP 정보를 계속 브로드캐스팅
- 방어 대책 — hosts 파일에 중요 사이트 IP 저장
- 공격 원리
- 이메일 스푸핑
- 신분을 위장하여 이메일 발송
- 악성코드를 메일에 첨부 — 베이글 웜
- 콘텍스트 필터링, 안티 바이러스, 전자서명, 메일 발송 시 인증
- 개요
- 세션 하이재킹
- 개요
- 다른 사용자의 세션을 가로채서 통신
- 사용자 인증 무력화
- TCP 연결 하이재킹, 웹 세션 하이재킹
- TCP 연결 하이재킹
- 개요
- 순서 번호 추론 기반 하이재킹, 스니핑 기반 하이재킹
- 명령 실행 가능
- HUNT, Juggernaut 사용
- 순서 번호 추론 기반의 TCP 연결
- 기본 개념 — 공격자가 순서 번호 규칙을 알아내고 다음 연결을 위한 시작 순서 번호 추론 가능
- 문제점
- 공격자는 서버가 송신하는 데이터를 수신할 수 없고, 데이터 전송을 통한 공격만 가능
- 서버가 인증 작업 없이 신뢰하는 호스트만 공역 대상이 될 수 있음
- 대응책 — 시작 순서 번호를 추론할 수 없도록 임의번호 할당
- 스니핑 기반 TCP 연결 하이재킹
- 기본 개념
- 교환된 패킷을 스니핑하고 패킷 가공 공격을 수행할 수 있다면 쉽게 수행 가능
- TCP 연결 동기화 상태 — 순서 번호와 확인 번호의 차이를 윈도우 크기(WIND, 수신 버퍼의 빈 공간 크기를 나타냄)보다 작게 유지하는 것
- 동기화 조건
- 비동기화 상태에서 패킷을 송신하게 되면 상호 ACK 패킷 송신을 계속 반복하는 ACK 스톰 현상 발생
- 비동기화 상태
- 서버에서 초기 설정 단계의 접속을 끊고 새로운 접속 생성
- 대량의 널 데이터 전송
- 공격 절차
- 공격자는 스니핑을 통해 세션을 확인하고, 적절한 시퀀스 넘버 획득
- RST 패킷을 전송하여 서버 쪽 연결 종료. 서버는 Closed, 클라이언트는 Established
- 공격자는 새로운 시퀀스 넘버를 서버로 전송
- 서버는 이를 받아 세션 생성
- 공격자는 정상적인 연결처럼 서버와 시퀀스 넘버 교환
- 방어 대책
- 스니핑 공격 방지 대책, 스푸핑 방지 대책 적용
- 특이점 확인하여 적시에 대응 가능
- 비동기화 상태 탐지 — 서버와 시퀀스 넘버를 주기적으로 확인하여 비동기화 서버 확인
- ACK Storm 탐지
- 패킷의 유실과 재전송 증가 탐지
- 기대하지 않은 접속의 리셋
- 세션 하이재킹으로 모든 검증을 우회 가능 → 암호화가 최선
- 지속적인 인증
- 패치
- 기본 개념
- 개요
- HTTP 세션 하이재킹
- 세션 ID
- 세션 ID 가로채기 공격에 의한 세션 하이재킹
- 해당 사용자 권한으로 서버 접근 가능
- 네트워크 트래픽 스니핑 방지 대책 — 데이터 트래픽 암호화, 스니핑 도구 탐지 및 제거
- 세션 식별자 추측 및 전사 공격 대책 — 긴 세션 식별자 사용
- 개요
- 각종 Remote Attack
- Local Attack과 Remote Attack
- Local Attack — 시스템에 접속한 후 공격 수행
- Remote Attack — 원격 컴퓨터에서 공격 대상에 공격 수행. 권한 없을 때
- Trojan과 Exploit
- Exploit 공격(취약점 공격)
- 정의
- 종류
- 로컬 취약점 공격 — 취약점 공격이 공격 대상 자체에서 실행
- 원격 취약점 공격 — 공격자의 컴퓨터에서 실행되어 다른 컴퓨터를 대상으로
- 취약점 공격 목적에 따라 — EoP(권한 상승), DoS, 스푸핑 등
- 제로데이 취약점 공격 — 개발자에게 알려지지 않아 패치가 없는 시점에 사
- Local Attack과 Remote Attack
- DoS
'정보보안기사' 카테고리의 다른 글
| [정보보안기사] SECTION 28 침입 차단 시스템(방화벽, Firewall) (0) | 2026.02.09 |
|---|---|
| [정보보안기사] SECTION 27 IDS/IPS (0) | 2026.02.08 |
| [정보보안기사] SECTION 25 네트워크 기반 프로그램 활용 (0) | 2026.02.05 |
| [정보보안기사] SECTION 24 네트워크 관리 (0) | 2026.02.03 |
| [정보보안기사] SECTION 23 무선통신 보안 (0) | 2026.02.03 |