320x100
320x100

소프트웨어 개발 보안 구성요소

- 기밀성 : 인가되지 않은 시스템 접근에 따른 정보 노출 차단

- 무결성 : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없음

- 가용성 : 권한을 가진 사용자는 지속적으로 서비스 이용 가능

 

 

 

SW 개발 보안 용어

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

- 위협 : 조직에 악영향을 끼칠 수 있는 행위

- 취약점 : 위협이 발생할 수 있는 사전 조건

- 위험 : 위협이 취약점을 이용하여 조직에 피해를 가져올 가능성

 

 

 

DOS (Denial of Service)

- 시스템의 자원을 부족하게 만들어 기능하지 못하게 하는 공격

 

- SYN Flooding

 : 서버의 가용 사용자 수 만큼 SYN패킷만 보내는 공격

 

- UDP Flooding

 : 대량의 UDP 패킷을 만들어 임의 포트로 전송하여 응답 메시지 생성을 유도

 

- Smurf

 : 출발지 주소를 공격지 주소로 위장하여 네트워크 전체에 ICMP Echo패킷을 직접 브로드 캐스팅

 : 다른 네트워크로의 직접 브로드 캐스팅을 금지시켜야 함

 : 브로드 캐스트 주소로 전송된 ICMP Echo Request 메시지에 대한 응답을 금지

 

- 죽음의 핑 (Ping of Death)

 : ICMP 패킷을 크게 만들어 전송

 

- 랜드어택

 : 출발지와 목적지의 IP를 같은 패킷 주소로 만들어 보내 대상자가 자기 자신에게 응답하도록 유도

 

- 티어드롭

 : IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송

 

- 봉크

 : 프로토콜의 오류 제어를 이용하여 패킷 재전송과 재조립을 통한 과부하 유발

 

 

 

DDOS (Distributed DOS)

- 여러대의 분산된 호스트를 통한 DOS 공격

 

- 구성요소

ㆍ핸들러 : 마스터 시스템 역할의 프로그램

ㆍ에이전트 : 직접 공격하는 시스템

ㆍ마스터 : 공격자에게서 명령을 받아 에이전트 관리

ㆍ공격자 : 공격을 주도하는 해커의 컴퓨터

ㆍ데몬 프로그램 : 에이전트 시스템 역할의 프로그램

※ 핸들러 = 마스터 / 에이전트 = 데몬 프로그램

 

- 도구

ㆍTrinoo

  : 여러개의 서버와 클라이언트로 이루어진 UDP Flood 도구

 

ㆍTribe Flood Network

  : UDP Flood, TCP SYN Flood, ICMP echo, Smuf 등 수행 가능한 분산 공격 도구

 

ㆍStacheldrahnt

  : 에이전트 역할의 Linux 및 Solaris용 멀웨어 도구

  : ICMP Flood, SYN Flood, UDP Flood, Smurf 공격 가능

 

 

 

DRDOS (Distributed Reflection DOS)

- 출발지 IP를 공격대상 IP로 위장하여 다수의 반사서버로 요청을 전송하는 공격

 

 

 

애플리케이션 공격

- 공격기법

ㆍHTTP GET Flooding : 과도한 GET 메시지를 보내는 공격

 

ㆍSloworis : GET 메서드에 최종 끝을 알리는 문자를 조작하여 연결 지속

 

ㆍRUDY : 요청 헤더의 Content-Length를 크게 설정하고 바디를 적게 보내 지속적인 연결 유지

 

ㆍSlow HTTP Read : 데이터 처리율을 감소시킨 상태에서 HTTP 패킷을 지속적으로 전송

 

ㆍHulk DoS : 공격대상의 URL을 지속적으로 변경시키면서 다량의 GET 요청 전송

 

ㆍHash DOS : 웹 클라이언트를 이용해 웹 서버에 조작된 다량의 파라미터를 POST하여 해시 충돌 유발

 

 

 

네트워크 공격

- 스니핑 : 데이터 몰래 들여보기

- 네트워크 스캐너 : 취약점 탐색

 

- 패스워드 크래킹

ㆍDictionary Cracking : ID나 PW가 될만한 단어를 파일로 만들어 대입

 

ㆍBrute Force Cracking : 패스워드가 될 수 있는 문자 및 숫자를 무작위로 대입

 

ㆍ패스워드 하이브리드 : Dictionary Cracking과 Brute Force Cracking 결합

 

ㆍ레인보우 테이블 : 패스워드 별로 해시 값을 미리 생성하여 해시 테이블에서 검색하여 PW 도출

 

- IP 스푸핑 : 인증된 호스트로 위장한 공격

 

- ARP 스푸핑 : 특정 호스트의 MAC주소를 자신의 MAC주소로 변경하는 공격

 

- ICMP Redirect : 3계층에서 스니핑 시스템을 라우터라고 속여 패킷의 흐름을 변경

 

- 트로이 목마 : 겉보기에 정상적인 악성 코드를 심는 공격

 

 

 

시스템 보안 위협

- 버퍼 오버플로우

ㆍ스택 버퍼 오버플로우

ㆍ힙 버퍼 오버플로우

ㆍ버퍼 오버 플로우 대응방안

   : 스택가드

    (무결성 체크용 값인 Canary를 복귀 주소와 변수 사이에 삽입하여 발생시 마다 체크)

   : 스택쉴드

    (함수 시작시 복귀 주소를 Global RET라는 특수스택에 저장하고 지정 값과 RET값 비교)

   : ASLR

    (주소 공간 배치를 난수화)

   : 안전한 함수 사용

    (vfscanf() 와 같은 안전함수 사용)

   : 실행제한

    (스택에서의 쓰기 권한 제한 및 프로그램 실행 금지)

 

- 백도어

 : 정상적인 인증절차를 우회하는 기법

ㆍ탐지기법

  : 프로세스 및 열린 포트 확인 / 탐지툴 활용

  : setuid 검사 / 무결성 검사 / 로그 분석

ㆍ공격기법

  : 포맷 스트링 (입출력 함수의 포맷스트링 취약점 이용)

  : 레이스 컨디션 (프로세스 실행중에 끼어들어 임시파일을 심볼릭 링크)

  : 키로거 (키보드 입력 탐지)

  : 루트킷 (시스템 침입 후 불법행위)

 

 

 

피싱 관련 용어

- 스피어 피싱

 : 위장한 이메일 전송하여 피싱

- 스미싱

 : 문자메시지를 이용한 피싱

- 큐싱

 : QR코드를 이용한 피싱

- 이블트윈

 : 무선 Wifi 피싱

 

 

 

보안 위협 관련 용어

- 봇넷

 : 네트워크로 연결된 악성 코드 감염 컴퓨터

- APT 공격 

 : 하나의 표적에 대해 다양한 IT기술을 활용하여 정보를 수집하고 취약점 분석하여 공격

- 공급망 공격

 : SW 개발사 네트워크에 침입하여 소스코드 수정

- 제로데이 공격

 : 보안취약점이 공표되기 전 악용

- 웜

 : 스스로 복제하고 전파되는 악성 프로그램

- 악성봇

 : 해커의 명령에 따라 원격에서 제어되는 프로그램 

- 랜섬웨어

 : 파일을 암호화 시키고 복호화에 돈 요구

 

 

 

보안 관련 용어

- 사이버 킬체인

 : 록히드 마틴의 APT 공격 방어 분석 모델

- 난독화

 : 코드의 가독성을 낮춰 역공학에 대해 대비

- Tripwire

 : 크래커가 침입하여 백도어를 놓거나 설정 파일을 변경했을때 이를 분석하는 도구

- ping

 : 접속하려는 원격 호스트의 정상여부 확인 명령어

- Tcpdump

 : 네트워크 인터페이스를 거치는 패킷 내용 출력 프로그램

300x250
728x90

'Certification > 정보처리기사' 카테고리의 다른 글

소프트웨어 개발 보안 구현  (0) 2021.04.12
소프트웨어 개발 보안 설계 2  (0) 2021.04.12
배치 프로그램 구현  (0) 2021.04.11
공통 모듈 구현  (0) 2021.04.11
개발 환경 구축  (0) 2021.04.11