자격증/정보처리기사

[정처기] 9장 소프트웨어 개발 보안 구축

gangee 2024. 7. 27. 20:04
728x90
반응형

1. 암호 알고리즘

  • 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법
    암호 알고리즘

1-1. 개인키 암호화 기법 ⭐⭐⭐

  • 동일한 키로 데이터를 암호화하고 복호화함.
  • 대칭 암초 기법 또는 단일 암호화 기법
  • 종류 : 스트림, 블록
    • 스트림 : RC4, TKIP, LFSR
    • 블록 : DES, AES, SEED, ARIA, IDEA, Skipjack

1. DES

  • 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘

2. AES

  • 2001년 NIST에서 발표한 개인키 암호화 알고리즘
  • DES의 한계를 느껴 발표

3. ARIA

  • 2004년 국가정보원과 산학연현회가 개발한 블록 암호화 알고리즘

1-2. 공개키 암호화 기법 ⭐⭐⭐

  • 암호화할 때 공개키, 복호화할 때 비밀키
  • 비대칭 암호 기법
  • 종류 : RSA, ECC

1. RSA

  • 1978년 MIT의 라이베스트, 샤미르, 애들먼에 의해 제안된 공개키 암호화 알고리즘
  • 소인수분해 이용

2. ECC

  • 1985년 RSA 암호 방식의 대안
  • 타원 곡선군에서의 이산대수 문제에 기초

1-3. HASH (해시)

  • 임의의 길이의입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
  • 단방향, 일방향 함수
  • 종류 : MD5, SHA 시리즈, N-NASH

2. 서비스 공격 유형

2-1. 서비스 거부 공격 (DoS)

  • 대랸의 데이터를 한곳의 서버에 집중적으로 전송함으로써 서버의 정상적인 기능을 방해하는 것
  • 유형 : Ping of Death, SMURFING, SYN Flooding, TearDrop, LAND Attack, DDoS 공격

1. Ping of Death (죽음의 핑) ⭐

  • 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격 방법

2. SMURFING (스머핑) ⭐

  • IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법
  • 네티워크 라우터의 브로드캐스트 주소를 수신자로

3. SYN Flooding ⭐

  • 3-way-handshake 과정을 의도적으로 중단시킴으로써 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법

4. TearDrop

  • Offset 값을 변경시켜 수신 측에 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법

5. LAND Attack

  • 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 자신에 대해 무한히 응답하게 하는 공격

6. DDoS 공격

  • 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행하는 것

2-2. 네트워크 침해 공격 관련 용어

1. Session Hijacking (세션 하이재킹) ⭐

  • 서버와 클라이언트 세션 정보를 가로채는 공격기법
  • TCP 3-Way-Handshake 과정에 끼어듦으로써 클라이언트와 서버 간의 동기화된 시퀀스 번호를 가로채 서버에 무단으로 접근하는 TCP 세션 하이재킹이 대표적

2. ARP 스푸핑 ⭐

  • ARP의 취약점을 이용한 공격 기법
  • 자신의 물리적주소(MAC)를 공격대상의 것으로 변조

3. APT

  • 특정 기업이나 조직 네트워크에 침투해 활동 거점 마련한 뒤 때를 기다리며 보안 무력화시킴

4. SQL Injection ⭐

  • 악의적인 SQL 구분 삽입, 실행시켜 DB의 정보를 열람 및 탈취
  • 관리자 인증 우회

5. XSS ⭐

  • 웹페이지를 사용자가 열람할 때 부적절한 스크립트가 실행되는 공격

6. 메모리 버퍼 오버플로

  • 할당된 메모리 범위 벗어남

2-3. 정보 보안 침해 공격 관련 용어

1. 봇넷

  • 악성 프로그램에 감염된 다수의 컴퓨터들이 형성한 네트워크를 형성

2. 웜

  • 스스로 복제, 스스로 전파하는 악성 컴퓨터 프로그램

3. 바이러스

  • 스스로 복제, 스스로 전차 X

4. 랜섬웨어 ⭐

  • 암호화하여 복호화할 수 없도록 하여 몸값 요구

5. 트로이목마

  • 겉보기엔 정상이지만, 악성 루틴이 숨어있어 실행 시 악성 코드가 실행

6. 백도어 ⭐

  • 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로로 범죄 악용

3. 보안 솔루션

  • 외부로부터의 불법적인 침입을 막는 기술 및 시스템
  • 주요 보안 솔루션 : 방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPD), 데이터 유출 방지, 웹 방화벽, VPN, NAC, ESM

3-1. 방화벽 (Firewall) ⭐

  • 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
  • 내부 -> 외부 : 패킷 그대로 통과, 외부 -> 내부 : 패킷 엄밀히 체크

3-2. 침입 탐지 시스템 (IDS - Intrusion Detection System) ⭐

  • 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
  • 오용탐지, 이상탐지

3-3. 침입 방지 시스템 (IPS - Instrusion Prevention System) ⭐

  • 비정상적인 트래픽을 능동적으로 차단하고 격리하는 보안 솔루션

3-4. 웹 방화벽

  • 웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽

3-5. VPN (가상 사설 통신망) ⭐⭐

  • 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용회선을 사용하는 것처럼 해주는 보안 솔루션
  • SSL VPN, IPSec VPN

3-6. NAC (Network Access Control) ⭐⭐

  • 네트워크에 접속하는 내부 PC의 일관된 보안 관리 기능제공하는 보안 솔루션

4. 소프트웨어 개발 보안 요소 ⭐⭐

  • 기밀성, 무결성, 가용성, 인증, 부인 방지
    1. 기밀성 : 인가된 사용자만 접근
    2. 무결성 : 인가된 사용자만 수정
    3. 가용성 : 인가받은 사용자 언제든 시스템 정보 자원 사용가능

5. SDLC 단계별 보안 활동

  • 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
  1. Secure SDLC : SDLC에 보안 강화를 위한 프로세스를 포함한 것
    • 대표적 방법론 : CLASP, SDL, Seven Touchpoints
728x90
반응형