본문 바로가기
정보처리/정보시스템구축관리

소프트웨어 개발 보안 구축 설계 3/7

by 피갓자 2025. 3. 19.

소프트웨어 개발 보안 구축 설계
소프트웨어 개발 보안 구축 설계

소프트웨어 개발 보안 설계

세션 하이재킹

세션 하이재킹(Session Hijacking) 개념

케빈 미트닉이 사용했던 공격 방법의 하나로 TCP의 세션 관리 취약점을 이용한 공격
 

세션 하이재킹의 특징

  • TCP Sequence Number의 보안상 취약점으로 발생
  • Victim과 Server 사이의 패킷을 스니핑하여 Sequence Number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만들고, 스니핑하여 획득한 Client Sequence Number를 이용하여 공격하는 방식
  • 비동기화 상태로 패킷이 유실되어 재전송 패킷이 증가
  • ACK Storm 증가, 네트워크 부하 증가 현상 발생

세션 하이재킹의 탐지 방법

  • 비동기화 상태 탐지
  • ACK 패킷 비율 모니터링
  • 특정 세션에서 패킷 유실 및 재전송이 증가하는 것을 탐지
  • 기대하지 않은 접속의 리셋 탐지

애플리케이션 공격

애플리케이션 공격 기법

HTTP GET 플러딩(Flooding)

  • Cache Control Attack 공격
  • 과도한 Get 메시지를 이용하여 웹 서버의 과부하를 일으키는 공격
  • HTTP 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹 서버가 직접 처리하도록 유도, 웹 서버 자원을 소진하는 서비스 거부 공격

Slowloris(Slow HTTP Header DoS)

  • HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 ₩r₩n₩r₩n(Hex : 0d 0a 0d 0a)을 전송하지 않고, ₩r₩n(Hex : 0d 0a)만 전송하여 대상 웹 서버와 연결 상태를 장시간 지속시키고 연결 자원을 모두 소진하는 서비스 거부 공격

RUDY Attack(SlowHTTP POST DoS)

  • 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지하는 공격. 예를 들어, Content-Length : 9999999 설정 이후 1바이트씩 전송하여 연결 유지

Slow Read Attack

  • TCP 윈도 크기(Windows Size)를 낮게 설정하여 서버로 전달하고, 해당 윈도 크기를 기준으로 통신하면서 데이터 전송이 완료될 때까지 연결을 유지하게 만들어 서버의 연결 자원을 고갈시키는 공격

Hulk DoS

  • 공격자가 공격 대상 웹 사이트 웹 페이지 주소(URL)를 지속적으로 변경하면서 다량으로 GET 요청을 발생시키는 서비스 거부 공격
  • 주소(URL)를 지속적으로 변경시키는 이유는 임계치 기반의 디도스 대응 장비를 우회하기 위한 방법

애플리케이션 공격 대응 방안

  • 동시 연결에 대한 임계치(Threshold) 설정을 통해 차단
  • 연결 타임아웃 설정을 통해 차단
  • 읽기 타임아웃 설정을 통해 차단

네트워크 공격

네트워크 공격 기법

스니핑(Sniffing)

  • 공격 대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격

네트워크 스캐너(Scanner), 스니퍼(Sniffer)

  • 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 취약점을 탐색하는 공격 도구

패스워크 크래킹(Password Cracking)

  • 사전 공격(Dictionary Attack) : 시스템 또는 서비스의 ID와 패스워드를 크랙하기 위해서 ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙 하는 공격
  • 무차별 대입 공격(Brute Force Attack) : 패스워드로 사용될 수 있는 영문자(대소문자), 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격
  • 패스워드 하이브리드 공격(Password Hybrid Attack) : 사전 공격과 무차별 대입 공격을 결합한 공격
  • 레인보우 테이블 공격(Rainbow Table Attack) : 패스워드별로 해시값을 미리 생성해서 테이블에 모아 놓고, 크래킹하려는 해시값을 테이블에서 검색해서 역으로 패스워드를 찾는 공격

IP 스푸핑(IP Spoofing)

  • 침입자가 인증된 컴퓨팅 시스템인 것처럼 속여 타깃 시스템의 정보를 빼내기 위해서 본인의 패킷 헤더를 인증된 호스트의 IP 어드레스로 위조하여 타깃에 전송하는 공격

ARP 스푸핑(ARP Spoofing)

  • 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache Table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 공격

ICMP Redirect 공격

  • 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격
  • ICMP Redirect 메시지를 공격자가 원하는 형태로 만들어서 특정 목적지로 가는 패킷을 공격자가 스니핑하는 공격

트로이 목마(Trojan Horses)

  • 악성 루틴이 숨어 있는 프로그램으로 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램

네트워크 공격 대응 방안

  • 방화벽, 침입 차단 시스템 등 네트워크 보안 장비를 통해 방어
  • 네트워크 접속 차단 시스템을 통해 방어
  • 내부 호스트 및 시스템의 악성 코드 감염 방지를 위한 백신 설치 등을 통해 방어