정보보안기사

[정보보안기사] SECTION 26 네트워크 기반 공격의 이해

tnvori 2026. 2. 7. 22:22
  1. 네트워크 기반 위협
    1. 네트워크를 취약하게 하는 요인
      • 많은 공격 지점
      • 공유
      • 시스템 복잡성
    2. 네트워크 위협 유형
      • 수동적 공격
        • 통신회선상의 정보를 무단으로 취득하는 행위
        • 데이터를 암호화하여 기밀성 보장
        • 스니핑, 도청(Eavesdrop)
      • 능동적 공격
        • 통신회선상의 정보를 변조, 위조하는 행위
        • 암호화 + 데이터 무결성 확인
        • 재전송 공격, 변조, DoS/DDoS, 세션 하이재킹
  2. 네트워크 기반 보안 위협 및 대응책
    1. DoS
      1. 정의
        • DoS — 단일 컴퓨터를 통해 공격
        • DDoS — 물리적으로 분산된 다수의 컴퓨터를 이용하여 공격
        • poison 패킷
          • 소프트웨어 버그를 이용하여 소프트웨어가 중단되도록 패킷을 보내는 공격
          • ping of death, teardrop
        • flooding
      2. TCP SYN Flooding Attack
        • 개요
          • 3way handshaking 과정에서 half-open 연결 시도가 가능하다는 취약점 이용
          • 공격 대상 시스템은 외부로부터 접속 요청을 받아들일 수 없게 되어 서비스 제공 불가능
          • half-open(반개방) 연결
            • 문제가 발생하여 한 장비가 상대방에게 알리지 않은 채 연결을 닫거나 중지할 때 발생
            • 한 장비는 ESTABLISHED, 다른 장비는 CLOSED 또는 다른 임시 상태
            • 소프트웨어 붕괴, 연결 도중 재시작, 장비 동기화 실패
          • TCP 기반 서비스를 제공하는 시스템에 피해
          • 시작 주소 Spoofing
            • raw socket interface를 통해,, — 네트워크를 테스트하거나 네트워크 프로토콜을 연구하는 목적으로 개발
        • 공격 과정
          1. 다수의 SYN 전송
          2. STN 패킷을 송신하지 않은 TCP가 SYN+ACK 패킷 수신 시, RST 패킷을 회신하여 작업 중단 요청. RST 패킷을 수신한 서버도 연결 중단
          3. 위조 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 연결 테이블 엔트리 선택적 삭제 기법 — 연결 테이블이 오버플로우될 때 일부 엔트리 삭제
          • 연결 테이블 확장 — 연결 테이블에 할당된 메모리 확장
      3. 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로 차단
      4. LAND Attack
        • 출발지 IP와 목적지 IP를 동일한 패킷을 공격 대상에 전송
        • 동시 사용자 수 증가, CPU 부하
        • 보안 대책
          • 탐지 방법
            • 패킷 TCP 분석
            • TCP 패킷의 소스 IP 및 포트와 목적지 IP 및 포트가 동일한지 확인 — 소스 IP가 내부 IP인 패킷 차단
            • 패킷 수가 임계치보다 많으면 LAND Attack으로 판단
          • 조치 방법
            • 라우터, 패킷 필터링 도구
            • 출발지와 목적지가 같은 패킷 차단
      5. Ping of Deah
        • 개요
          • 기본 ping을 이용하여 ICMP 패킷을 정상(65355바이트)보다 크게 만드는 것
          • 해당 패킷이 파편화되고, 이를 처리하는 데 부하 발생
        • 보안 대책
          • 패치
          • 분할이 일어난 패킷을 공격으로 의심하여 탐지
      6. Teardrop Attack
        • 개요
          • 수신자가 패킷 재조립 시 이용되는 오프셋을 조작하여 시스템 기능 마비
          • 네트워크 연결이 끊어지거나 블루 스크린
          • Open Tear Attack — 단편화되어 있다는 신호만 보내고 실제 데이터를 전송하지 않아 재조합 과정에서 오류 발생
        • 보안 대책
          • IPS, 방화벽 우회 가능
          • Boink 등 다양한 변종
          • 패치해라
        • Targa
          • 여러 종류의 서비스 거부 공격이 가능한 도구
          • bok, jlot, land, nestea, newtear, syndrop, teardrop, winnuke
      7. Inconsistent Fragmentation 공격
        • Bonk
          • 패킷을 파편화하여 전송할 때 패킷을 조작하여 시스템 부하
          • 순서 번호를 모두 1번으로 조작
        • Boink — 정상적으로 보내다가 패킷 시퀀스 번호를 비정상적으로 조작하여 전송
        • 보안 대책
          • 최근 시스템 파괴 불가능. 일부 가능
          • SYN Flooding, Ping of Death 대응과 같음
        • IP Fragmentation 취약점 이용
          • Tiny Fragment — IP 헤더보다 작은 파편을 만들어 IPS를 우회하여 침입하는 우회 공격 기법
          • Fragment Overlap — offset을 조작해 서비스 포트 필드를 중첩시켜, 재조합되면 IPS에서 허용하지 않는 서비스에 접근 가능하도록 하는 우회 공격 기법
    2. DDoS 공격
      1. DDoS 공격 발전 형태
        • 1999 — DoS
        • 2005 — DDoS 방어 인프라를 압도하기 위해 다수의 봇넷으로 대규모 트래픽을 요더하는 DDoS/DRDoS 공격 및 DDoS-For-Hire 등장
        • 현재
          • 고도화된 신규 DDoS — Smart Attack, Memcached Reflection Attack, Carpet Bombing 등
          • 랜섬 디도스 등장
      2. DDoS 공격 개요
        • 봇넷 — 악성코드 등에 ㅡ이해 감염된 PC, IoT 기기, 서버들로 구성된 네트워크 집단
        • 직접 공격 — 자신의 개인 컴퓨터로 침투
        • 간접 공격 — 제3의 다른 시스템 활용
      3. 구성 요소
        • 공격자, 봇 마스터 — 해커의 컴퓨터
        • 마스터, C&C 서버 — 공격자에게 직접 명령을 받은 시스템
        • 핸들러 프로그램 — 마스터 시스템의 역할을 수행하는 프로그램
        • 에이전트, 슬레이브, 좀비
        • 데몬 프로그램 — 에이전트 시스템 역할을 수행하는 프로그램
        • 표적
      4. 봇, 봇넷
        • 개요
          • 다양한 악성코드의 특성을 복합적으로 보유
          • 정보 유출, 스팸 메일 발송, 디도스, 트래픽 스니핑, 키 로깅 등
          • 프로토콜에 따라 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
      5. 전통적인 DDoS 공격
        • 트리누(Trinoo) 공격 — 통합된 UDP flood 서비스 거부 공격을 유발하는 데 사용되는 도구
        • TFN(Tribed Flood Network) 공격
          • 믹스터 개발
          • UDP flood, TCP SYN flood, ICMP echo 요청, SUMRF
        • Stacheldraht 공격
          • 트리누와 TFN을 참고하여 제작된 도구
          • 마스터 시스템 및 자동 업데이트 에이전트 데몬 사이 통신에 암호화 기능 추가
        • TFN2K
          • 통신에 특정 포트가 사용되지 않고 암호화되어있음
          • UDP, TCP, ICMP가 복합적으로 사용되고 포트도 임의로 결정됨
          • 지정된 TCP 포트에 백도어 실행 가능
      6. 최신 DDoS 공격 유형별 분류
      7. 최신 DDoS 공격 유형
        • 대역폭 공격(1) — UDP, ICMP, Flooding
          • UDP Flooding
            • 출발지 IP 위조 후 UDP 프로토콜로 데이터를 생성해 피해 시스템에 전송
            • 대상 서버에서 UDP 포트를 사용하지 않아도 공격 가능
          • ICMP Flooding
            • ICMP 요청 패킷을 이용해 피해 서버로 대량의 ICMP 패킷 생성 및 전달
            • 증폭이 발생하지 않음
        • 대역폭 공격(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로 응답
            • Memcached Reflection Attack
              • Memecahced 서비스
                • 내부에서 DB 부하 감소 및 응답 속도 증가를 위해 분산된 메모리에 데이터를 캐싱하는 서비스
                • 내부에서의 접근만 허용
                • Key 값으로 Data 매핑
              • 다량의 request 명령
            • CoAP Reflection Attack
              • CoAP — IoT 기기, 저전력 컴퓨터를 위해 만들어진 UDP 프로토콜. UDP 프로토콜의 5683 포트 사용
              • IoT 기기 및 모바일 장치를 대상으로 변조된 GET Request 전송
        • 자원 소진 공격
          • 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 프록시 서버에 부담
              • 서버 자원 소진
              • 네트워크 용량 포화
              • 수신자의 시스템은 가짜 전화로 인해 정상적인 전화를 받을 수 없음
      8. 대응 프로세스
        • DDoS 예방 대책
          • DDoS 대응 서비스 가입 — 사이버 대피소 — 공격 트래픽을 대피소로 우회
          • 백업 서버 구축
          • 공격 대상 최소화
            • Shodan — 전 세계 네트워크를 검색하여 인터넷과 연결된 서버, 네트워크 장비, 관리자용 서비스, VoIP, IP 카메라 등에 대한 정보 보여줌
            • VPN 등 서비스 이용
        • DDoS 방어 대책
          • 자체 방어 준비 — 소규모 공격에 한하여 일부 방어 가능
            • TCP 기반 DDoS 방어 준비 — 방화벽 및 Proxy Server와 같은 주변 장치에서 TCP Keepalive 및 최대 연결 설정
            • 이상 트래픽 모니터링
            • 화이트리스트 방식의 방화벽 설정
            • 서버 분산을 통한 가용성 확보 — Load Balancer를 통한 서버 부하 분산
          • DDoS 대응 서비스를 통한 방어 준비
            1. 사전 준비 — 적용 가능한 방어 서비스 조사, 적용 절차 및 기간 파악
            2. 공격 인지 — 웹사이트 헬스 체크 등의 모니터링 시스템 구축
            3. 공격 정보 파악 — DDoS 공격으로 판단될 경우 유형, 규모, 시간 등 파악
              • 대역폭 공격
                • bps, pps는 높지만 Connection 값은 정상
                • UDP 프로토콜 이용 — Connection 없이 트래픽 발생
              • 자원 소진 공격
                • 대역폭 공격 대비 bps가 높지 않지만, 높은 pps
                • wireshark, tcpdump로 분석
              • 웹/DB 부하 공격
                • 높은 Connection
                • wireshar 및 웹 서버 Access Log 등 확인
            4. 방어 서비스 적용 — 방어 서비스 적용 프로세스를 수행하여 대응
            5. 서비스 모니터링 — 장비 상태 확인
            6. 사후 조치 — 추후 DDoS 공격 대비
    3. 네트워크 스캐닝
      1. 사이버 공격을 위한 준비 활동
        • 정보 수집 3단계 — 풋 프린팅, 스캐닝, 목록화
      2. 풋 프린팅
        • 공격 대상에 대한 다양한 정보를 수집하기 위해 사용하는 방법 중 하나
        • 사회공학 기법
        • 공격 대상이 스스로 공개한 IP 블록, 사용자 이름 및 계정, 전화번호 등 정보 수집
      3. 스캔 공격 분류
        • 스캐닝 기본 개념 — 공격에 이용될 수 있는 네트워크 구조, 시스템이 제공하는 서비스 등의 정보를 얻기 위해 수행되는 방법
        • 포트 스캔 분류
          • 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
      4. 포트 스캔 공격 종류
        • 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 전송 기록은 존재
          • UDP Scan
            • ICMP Port Unreachable 에러 메시지로 포트 활성화 유무 확인
            • ICMP Port Unreachable 수신 → 포트 비활성화
            • 응답 없음 → 포트 활성화
            • 신뢰도 낮음 — UDP 패킷이 전달되는 동안 라우터/방화벽에 의한 손실 가능성
        • 스텔스 스캔
          • 개요
            • TCP 헤더를 조작하여 패킷 생성 후 응답으로 포트 활성화 여부 확인
            • 세션을 완전히 성립하지 않고 스캔
          • FIN, NULL, XMAS 스캔
            • TCP FIN 스캔
              • TCP 헤더 내에 FIN 플래그 설정
              • 활성화 → 응답 없음
              • 비활성화 → RST
            • NULL, XMAS도 같은 결과
            • NULL 패킷 — TCP 헤더에 플래그를 설정하지 않음
            • XMAS 패킷 — 모든 플래스 활성화
          • TCP ACK 스캔
            • 방화벽 룰셋(필터링 정책) 스캔
            • 대상 방화벽 상태 기반(Stateful) 여부
            • 대상 포트가 방화벽에 의해 필터링 되고 있는지 여부
          • Decoy 스캔 — 대상 호스트에서 스캐너 주소를 식별하기 어렵도록 실제 스캐너주소 외에 다양한 위조된 주소로 스캔
        • FTP 바운스 스캔
          • 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부 확인
          • 현재는 거의 없음
      5. 대표적인 스캔 도구
        • 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 — 속도
      6. 운영체제 탐지
        • 개요
        • 탐지 방법
          • TCP 연결 설정의 시작 순서 번호(ISN) — 0부터 시작, 1부터 시작, 범위
          • TTL 기본값
          • ToS(Type of Service) 필드 구현 방식
          • 배너 그래빙 — 배너 확인
            • 배너 — 원격지 시스템 로그인 시 나타나는 안내문
            • telnet [대상 IP] [대상 포트]
      7. 목록화(Enumeration)
        • 수집한 정보를 바탕으로 더 실용적인 정보 획득
        • 실제 공격에 사용할 수 있도록 목록화
        • 공유 자원 목록화, 사용자 및 그룹 목록화, 응용 프로그램 목록화
      8. 포트 스캔에 공격 대응책
        • 불필요한 패킷을 차단하도록 방화벽 설정
        • 사용하지 않는 포트 비활성화, 불필요 서비스 정료
        • IDS를 사용한 포트 스캔 탐지
        • 시스템 로그 감사
    4. 스니핑
      1. 스니핑 공격의 동작 원리
        • 트래픽 도청
        • TCP/IP 프로토콜을 이용하는 통신에서는 암호화되어 있지 않음
      2. 스니핑 종류
        • 허브 환경에서의 스니핑
          • 허브
            • 인바운드 패킷을 모든 포트로 전송
            • 네트워크 드라이버, 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
              • 스위치를 통과하는 모든 트래픽 확인 가능
              • 특정 포트에 분석 장비를 접속하고 다른 포트의 트래픽을 분석 장비로 자동으로 복사해주는 기술
        • 스니핑 공격 보안 대책
          • 개요
            • 능동적 대응책
              • 스니퍼의 네트워크 존재 여부 확인. 스니퍼 탐지
              • 무선 환경에서 한계 있음
            • 수동적 대응책 — 내용이 노출되지 않도록 암호화
          • 스니핑 탐지
            • 스니퍼가 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 — 공용 회선을 이용한 사설 암호화 망
      3. 네트워크 스니퍼
        • 패킷 또는 LAN 세그먼트상을 지나는 트래픽을 분석할 수 있는 프로그램 혹은 장비
        • 스니퍼는 promsicuous 모드로 동작하는 네트워크 어댑터를 이용하여 네트워크에 접속해야 함. 이 어댑터의 드라이버는 데이터를 캡처
        • 패킷 스니핑 공격 — 패킷 분석기 및 스니핑 공격을 위해 특별히 제작된 도구(Dsniff 등) 사용
        • dsniff — 송덕준이 개발한 해킹 도구. 스니핑 소프트웨어
        • 카니보어 — FBI의 범죄 추적용 스니핑 소프트웨어
        • 알트보어 — 카니보어에 맞서기 위한 스니핑 소프트웨어
    5. 스푸핑
      1. 개요
        • 자신을 공격 대상에게 노출시키지 않고 MAC 주소, IP 주소 등을 속이는 작업
        • 중간자 공격, DoS 공격
      2. 유형
        • IP 스푸핑
        • 이메일 스푸핑 — 이메일 발신자를 위장하여 메일 전송
        • 웹 스푸핑 — 공격자가 웹 페이지 내용을 가로채 원래 웹 페이지 내용을 변경하여 전송
        • DNS 스푸핑 — DNS를 사칭하여 의도치 않은 사이트 접속 유도
      3. ARP 스푸핑
        • 공격 원리
          • 호스트의 주소 매칭 테이블에 위조된 MAC 주소가 설정되도록 하는 공격
          • 사용자 시스템이 ARP 응답 메시지를 수신할 때마다 ARP 요청 메시지 송신 여부, ARP 응답 메시지 송신자에 대한 인증 없이 자신의 ARP 테이블을 갱신하는 ARP 프로토콜의 취약점 이용
        • 보안 대책
          • ARP 캐시 테이블을 관리자가 정적으로 작성
          • 리부팅 시 static 옵션 사라짐
          • arp -s <IP 주소> <MAC 주소>
      4. IP 스푸핑
        • 공격 원리
          • 신뢰 관계를 가진 시스템의 주소로 위장하여 공격 대상 서버로부터 정보를 가로챔
          • 위장 후 rlogin 등 이용하여 접속
        • 공격 절차 — 한 쪽에 TCP syn flooding 공격을 가하고, 이로 위장하여 대상과 통신
        • 대응방안
          • 인바운드 패킷 중 IP 주소에 내부망 IP 주소를 가지고 있는 패킷 필터링
          • 신뢰된 시스템의 MAC 주소를 static으로 지정
          • IPSec 사용
          • TCP 등 상위 프로토콜에서 비정상적인 IP 주소 시스템 간 통신 방지 기능 추가
      5. DNS 스푸핑
        • 공격 원리
          • 실제 DNS 서버보다 빠르게 공격 대상에게 DNS 응답을 전송하여 잘못된 IP 주소로의 접속 유도
          • 파밍, 중간자 공격 등 2차 공격 가능
          • DNS 패킷은 UDP 패킷 — 먼저 도착한 패킷을 신뢰
        • 공격 절차
          1. 클라이언트가 DNS 쿼리 패킷을 보내는 것 확인. ARP 스푸핑 등의 선행 작업 필요. 또는 허브 이용
          2. 위조된 DNS 응답 전송
          3. 위조된 웹 접속
          • 또는 네트워크의 특정 URL에 거짓 IP 정보를 계속 브로드캐스팅
        • 방어 대책 — hosts 파일에 중요 사이트 IP 저장
      6. 이메일 스푸핑
        • 신분을 위장하여 이메일 발송
        • 악성코드를 메일에 첨부 — 베이글 웜
        • 콘텍스트 필터링, 안티 바이러스, 전자서명, 메일 발송 시 인증
    6. 세션 하이재킹
      1. 개요
        • 다른 사용자의 세션을 가로채서 통신
        • 사용자 인증 무력화
        • TCP 연결 하이재킹, 웹 세션 하이재킹
      2. TCP 연결 하이재킹
        • 개요
          • 순서 번호 추론 기반 하이재킹, 스니핑 기반 하이재킹
          • 명령 실행 가능
          • HUNT, Juggernaut 사용
        • 순서 번호 추론 기반의 TCP 연결
          • 기본 개념 — 공격자가 순서 번호 규칙을 알아내고 다음 연결을 위한 시작 순서 번호 추론 가능
          • 문제점
            • 공격자는 서버가 송신하는 데이터를 수신할 수 없고, 데이터 전송을 통한 공격만 가능
            • 서버가 인증 작업 없이 신뢰하는 호스트만 공역 대상이 될 수 있음
          • 대응책 — 시작 순서 번호를 추론할 수 없도록 임의번호 할당
        • 스니핑 기반 TCP 연결 하이재킹
          • 기본 개념
            • 교환된 패킷을 스니핑하고 패킷 가공 공격을 수행할 수 있다면 쉽게 수행 가능
            • TCP 연결 동기화 상태 — 순서 번호와 확인 번호의 차이를 윈도우 크기(WIND, 수신 버퍼의 빈 공간 크기를 나타냄)보다 작게 유지하는 것
          • 동기화 조건
            • 비동기화 상태에서 패킷을 송신하게 되면 상호 ACK 패킷 송신을 계속 반복하는 ACK 스톰 현상 발생
            • 비동기화 상태
              • 서버에서 초기 설정 단계의 접속을 끊고 새로운 접속 생성
              • 대량의 널 데이터 전송
          • 공격 절차
            • 공격자는 스니핑을 통해 세션을 확인하고, 적절한 시퀀스 넘버 획득
            • RST 패킷을 전송하여 서버 쪽 연결 종료. 서버는 Closed, 클라이언트는 Established
            • 공격자는 새로운 시퀀스 넘버를 서버로 전송
            • 서버는 이를 받아 세션 생성
            • 공격자는 정상적인 연결처럼 서버와 시퀀스 넘버 교환
          • 방어 대책
            • 스니핑 공격 방지 대책, 스푸핑 방지 대책 적용
            • 특이점 확인하여 적시에 대응 가능
            • 비동기화 상태 탐지 — 서버와 시퀀스 넘버를 주기적으로 확인하여 비동기화 서버 확인
            • ACK Storm 탐지
            • 패킷의 유실과 재전송 증가 탐지
            • 기대하지 않은 접속의 리셋
          • 세션 하이재킹으로 모든 검증을 우회 가능 → 암호화가 최선
          • 지속적인 인증
          • 패치
      3. HTTP 세션 하이재킹
        • 세션 ID
        • 세션 ID 가로채기 공격에 의한 세션 하이재킹
          • 해당 사용자 권한으로 서버 접근 가능
          • 네트워크 트래픽 스니핑 방지 대책 — 데이터 트래픽 암호화, 스니핑 도구 탐지 및 제거
          • 세션 식별자 추측 및 전사 공격 대책 — 긴 세션 식별자 사용
    7. 각종 Remote Attack
      1. Local Attack과 Remote Attack
        • Local Attack — 시스템에 접속한 후 공격 수행
        • Remote Attack — 원격 컴퓨터에서 공격 대상에 공격 수행. 권한 없을 때
      2. Trojan과 Exploit
      3. Exploit 공격(취약점 공격)
        • 정의
        • 종류
          • 로컬 취약점 공격 — 취약점 공격이 공격 대상 자체에서 실행
          • 원격 취약점 공격 — 공격자의 컴퓨터에서 실행되어 다른 컴퓨터를 대상으로
          • 취약점 공격 목적에 따라 — EoP(권한 상승), DoS, 스푸핑 등
          • 제로데이 취약점 공격 — 개발자에게 알려지지 않아 패치가 없는 시점에 사