티스토리 뷰

SW 개발 보안의 3대 요소

 

기무가

기밀성 Confidentiality

  • 정보 공개 및 노출을 차단하는 특성

무결성 Integrity

  • 고의/악의로 데이터가 병경되거나 훼손 또는 파괴되지 않음을 보장하는 특성

가용성 Availability

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

 

SW 개발 보안 용어

 

자위취위

자산 Assets

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

위협  Threat

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

취약점 Vulnerability

  • 위협이 발생하기 위한 조건으로 시스템의 정보나 보증을 낮추는데 사용하는 약점

위험 Risk

  • 조직의 자산 손실 피해를 가져올 가능성

 

SW 개발 보안을 위한 공격기법

1) DOS공격

  • 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

① SYN플러딩 (SYN Flooding)

  • TCP프로토콜의 구조적인 문제를 이용한 공격
  • SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가하게 하는 공격

② UDP 플러딩 (UDP Flooding)

  • 대량의 UDP 패킷을 만들어 임의의 포트 번호를 전송하여 응답 메시지를 생성하게 하여 지속해서 자원을 고갈시키는 공격
  • ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기

③ 스머프(Smurf) / 스머핑(Smurfing)

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

④ 죽음의 핑(PoD : Ping of Death)

  • ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP단편화 발생, 수신자가 패킷을 처리하는 과정에서 부화 또는 재조합 버퍼오버플로우 발생하여 정상적인 서비스를 하지 못하게 공격

⑤ 랜드어택 (Land Attack)

  • 출발지IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로 수신자가 자기자신에게 응답을 보내어 시스템의 가용성 침해

⑥ 티어 드롭 (Tear Drop)

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

⑦ 봉크(Vonk) / 보잉크(Boink)

  • 프로토콜의 오류제어를 이용한 공격기법으로 시스템의 패킷 재전송과 재조립이 과부하를 유발

 

2) DDOS공격

  • 여러대의 공격자가 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법이다.

 

HAMAD

2-1) DDOS공격 구성요소

핸들러 (Handler)

  • 마스터 시스템의 역활을 수행하는 프로그램

에이전트 (Agent)

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

마스터 (Master)

  • 공격자에게서 직접 명령을 받는 시스템
  • 여러 대의 에이전트를 관라하는 역활

공격자 (Attacker)

  • 공격을 주도하는 해커의 컴퓨터

데몬 프로그램(Deamon)

  • 에이전트 시스템의 역활을 수행하는 프로그램

 

3) DRDOS공격

  • DRDOS는 DDOS에 비해 공격의 근원지 파악이 어렵고, 공격트래픽 생성 효율이 DDOS보다 훨씬 크다.

 

4) 세션 하이재킹  2021년 1회 출제

  • 케빈 미츠닉이 사용했던 공격 방법 중 하나로 TCP의 세션과리 취약점을 이용한 공격기법이다.
  • TCP Sequence Number의 보안상 취약점으로 발생한다.
  • Victim과 Server 사이의 패킷을 스니핑하여 Sequence Number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server사이를 비동기화 상태로 강제적으로 만들고, 스니핑하여 획득한 Client Sequence Number를 이용하여 공격하는 방식이다.
  • 비동기화 상태로 패킷이 유실되어 재 전송 패킷이 증가한다.

 

5) 애플리케이션 공격

① HTTP GET 플러딩 (HTTP GET Flooding)

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

② Slowloris

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

③ RUDY (slow http header Dos)

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

④ Slow HTTP Read Dos

  • TCP 윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송하여 대상 웹서버의 연결상태가 장시간 지속, 연결자원을 소진시키는 서비스 거부 공격

⑤ Hulk Dos

  • 공격자가 공격대상 웹 사이트 웹 페이지 주소를 지속적으로 변경하면서 다량으로 GET요청을 발생시키는 서비스 거부 공격

⑥ Hash Dos

  • 웹 서버는 클라이언트 HTTP 요청을 통해 전달되는 파라미터를 효율적으로 저장하고 검색하기 위한 자료 구조로 해시테이블을 주로 사용

 

6) 네트워트 공격

① 스니핑 (Sniffing)  2020년 4회 출제

  • 암호화되지 않은 패킷들을 수집하여 순서대로 재조합 후 ID, PW와 같은 중요한 정보를 유출하기 위한 수동적인 형태의 공격 
  • 공격대상에게 직접 공격하지 않고 데이터만 몰래 들여다 보는 수동적 공격기법

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

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

패스워드 크래킹(Password Cracking)

  • 사전트래킹 - ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격기법
  • 무차별 트래킹 - 무작위로 패스워드 자리에 대입하여 패스워드 알아내는 기법
  • 패스워드 하이브리드 공격 - 사전공격과 무차별 대입공격 결합
  • 레인보우 테이블 공격 - 패스워드 별로 해시값을 미리 생성해 놓고 크래킹하고자 하는 해시 값을 테이블에서 검색해서 역으로 패스워드를 찾는 공격기법

IP 스푸핑 (IP Spoofing)

  • 침입자가 인증된 시스템인것 처럼 속여 정보를 빼내기 위해 본인의 패킷 헤더를 인증된 호스트의 IP Address로 위조하는 것

ARP 스푸핑 (ARP Spoofing)  2021년 3회 출제

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

ICMP Redirect 공격

  • 3계층에서 스니핑 시스템을 네트워크 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격기법

트로이 목마

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

 

7) 시스템 보안 위협

① 버퍼 오버플로우(Buffer Overflow) 공격

  • 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이로 인해 프로세스의 흐름을 변경시켜 악성코드를 실행 시키는 공격기법이다.
  • 공격기법은 스택 버퍼 오버플로우 공격과 힙 버퍼오버플로우 공격이 있다.

공격대응 방안

 

 

 

 

 

댓글