250x250
Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

개린이 개발노트

SW 개발 보안( DoS(Denial of Service) 공격, DDoS(Distributes Dos) 공격) 본문

각종 시험, 자격증/정보처리기사(정처기)

SW 개발 보안( DoS(Denial of Service) 공격, DDoS(Distributes Dos) 공격)

개린이9999 2023. 3. 23. 13:21
728x90

 SW 개발 보안 

 - 소스 코드 등에 존재하느 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동

 

 

* SW 개발 보안의 3대 요소


기밀성
Confidentiality

  - 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성

가용성
Availability

  - 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성

무결성
Integrity

  - 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성

 

 

* SW 개발 보안 용어


자산
Assets

  - 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상

위협
Threat

  - 조직이나 기업이 자산에 악영향을 끼칠 수 있는 사건이나 행위

취약점
Vulnerability

  - 위협이 발생하기 위한 사전 조건에 따른 상황

위험
Risk

  - 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성

 

 

* DoS(Denial of Service) 공격 

 - 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

 - 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 소진시키는 등의 공격

지역 시스템 공격
  - 실제 대상 시스템에 접근하여 서버하드웨어에 직접 과부하를 주는 공격

원격 네트워크 공격
  - 공격자가 목표 시스템에 접근하지 않고 원격지에서 인터넷 등을 이용한 공격
  - 서비스를 제공받지 못하거나 실제 시스템에 영향

 

 

* DDoS(Distributes Dos) 공격의 개념

 - DoS의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법

 - 해커들이 취약한 인터넷 시스템에 대한 액세스가 이뤄지면, 침입한 시스템에 소프트웨어를 설치하고 이를 실행시켜 원격에서 공격을 개시

 

 

* DDos 공격 요소

핸들러(Handler)
  - 마스터 시스템의 역할을 수행하는 프로그램

에이전트
(Agent)

  - 공격 대상에게 직접 공격을 가하는 시스템

마스터
(Master)

  - 공격자에게서 직접 명령을 받는 시스템

  - 여러 대의 에이전트를 관리하는 역할

공격자 (Attacker)
  - 공격을 주도하는 해커의 컴퓨터

데몬(Demon) 프로그램
  - 에이전트 시스템의 역할을 수행하는 프로그램

 

 

* DDoS 공격 대응 방안

 - 차단 정책 업데이트

 - 좀비 PC IP확보

 - 보안 솔루션 운영

 - 홈페이지 보안 관리

 - 시스템 패치

 

 

* DoS vs DDoS

 - DoS 는 직접 공격하고, DDoS는 공격하도록 지시

 

 

* 자원 고갈 공격

 - 서버 간 핸드셰이크를 통해 통신이 연결되는 정상 트래픽과 달리 DoS 공격은 정상 접속을 시도하는 오픈된 소켓에 트래픽을 집중시킴

 - 공격이 임계치에 도달하면 사용자들은 네트워크에 전혀 접근할 수 없게 됨

SYN 플러딩
(SUN Flooding)

  - TCP 프로토콜의 구조적인 문제를 이용한 ㄱㅇ격
  - 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격
  - 공격자는 ACK를 발송하지 않고 게속 새로운 연결 요청을 하게 되어 서버는 자원할당을 해지하지 않고 자원만 소비하여 자원이 고갈

UDP 플러딩
  - 대량의 UDP패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지를 생성하게 하여 지속해서 자원을 고갈시키는 공격

스머프
  - 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Eech 패킷을 직접 브로드캐스팅하여 마비시키는 공격

PoD
  - 큰 사이즈의 패킷을 의도적으로 목표시스템으로 발생시켜 시스템이 서비스할 수 없는 상태로 만드는 공격

 

 

# 애플리케이션 공격


공격 기법

설명
HTTP GET 플러딩
  - Cache Control Attack 공격
  - Http 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도, 웹서버 자원을 소진시키는 서비스 거부 공격

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

RUDY
  - 요청 헤더의 Content-length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격

 

 

# 네트워크 서비스 공격


공격기법


설명

네트워크 스캐너, 스니퍼
  - 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 사용하는 공격 도구

패스워드 크래킹
  - 사전 크래킹과 무차별 크래킹 방법을 사용해 네트워크 패스워드를 탐색

IP 스푸핑
  - 서버에 대한 인증되지 않은 액세스 권한을 입수하는데 사용하는 기법
  - 침임자가 패킷 헤더 수정을 통해 인증된 호스트의 IP 어드레스를 위조
  - 타깃 서버로 메시지를 발송한 이후 패킷은 해당 포트에서 유입되는 것처럼 표시

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

 

 

# 취약점 공격


공격 기법

설명
랜드 어택
  - 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법

봉크 / 보잉크
  - 프로토콜의 오류 제어를 이용한 공격 기법으로서 시트메의 패킷 재전송과 재조립이 과부화를 유발
  - 봉크 : 같은 시퀀스 번호를 계속 보냄
  - 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간을 생성

티어 드롭
  - IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 DDoS공격
  - 공격자는 IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송하고, 이를 수신한 시스템이 재조합하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 공격 방식 

 

728x90