자격증/정보처리기사
[정처기] 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. 소프트웨어 개발 보안 요소 ⭐⭐
- 기밀성, 무결성, 가용성, 인증, 부인 방지
- 기밀성 : 인가된 사용자만 접근
- 무결성 : 인가된 사용자만 수정
- 가용성 : 인가받은 사용자 언제든 시스템 정보 자원 사용가능
5. SDLC 단계별 보안 활동
- 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수
- Secure SDLC : SDLC에 보안 강화를 위한 프로세스를 포함한 것
- 대표적 방법론 : CLASP, SDL, Seven Touchpoints
728x90
반응형