01 소프트웨어 개발 보안 설계
1. 소프트웨어 개발 보안 설계 ⭐️⭐️⭐️
SW 개발 보안의 3대 요소
DoS 공격의 종류
- SYN 플러딩: SYN 패킷만 보내 점유
- UDP 플러딩: 대량의 UDP 패킷
- 스머프/스머핑: ICMP Echo 패킷 직접 브로드캐스팅
- 죽음의 핑: ICMP 패킷을 아주 크게 만들어 전송, 재조합하는 과정에서 부하
- 랜드 어택: 출발지 IP == 목적지 IP, 자기 자신에게 응답
- 티어 드롭: IP Fragment Offset 값을 서로 중첩
- 봉크/보잉크: 패킷 재전송과 재조립이 과부하 유발 (같은 시퀀스 번호를 계속 보냄 / 일정한 간격으로 시퀀스 번호에 빈 공간 생성)
DDoS 공격 구성요소
DRDoS 공격: 분산 반사 서비스 거부 공격
애플리케이션 공격기법
- HTTP GET 플러딩
- Slowloris(Slow HTTP Header DoS)
- RUDY(Slow HTTP POST DoS)
- Slow HTTP Read Dos
- Hulk DoS
- Hash DoS
네트워크 공격
- 스니핑
- 네트워크 스캐너/스니퍼
- 패스워드 크래킹
- 사전 크래킹
- 무차별 크래킹
- 패스워드 하이브리드 공격
- 레인보우 테이블 공격
- IP 스푸핑
- ARP 스푸핑
- ICMP Redirect 공격
- 트로이 목마
버퍼 오버플로우 공격
- 스택 버퍼 오버플로우 공격
- 힙 버퍼 오버플로우 공격
버퍼 오버플로우 공격 대응 방안
- 스택가드 활용
- 스택쉴드 활용
- ASLR 활용
- 안전한 함수 활용
- 실행 제한
주요 시스템 보안 공격기법
- 포맷 스트링 공격
- 레이스 컨디션 공격
- 키로거 공격
- 루트킷
인증 기술의 유형
- 지식기반 인증: ID/패스워드
- 소지기반 인증: 공인인증서, OTP
- 생체기반 인증: 홍채, 정맥, 얼굴, 지문
- 특징기반 인증: 서명, 발걸음, 몸짓
접근 통제 기법
서버 접근 통제 유형
- DAC(임의적 접근 통제): 신분
- MAC(강제적 접근 통제): 보안등급
- RBAC(역할기반 접근 통제): 역할
대칭 키 암호화 알고리즘
- DES
- SEED
- AES
- ARIA
- IDEA
- LFSR
비대칭 키 암호화 알고리즘
해시 암호화 알고리즘
- MD5
- SHA-1
- SHA-256
- HAS-160
IPSec: IP 계층(3계층) 보안 프로토콜
- 인증(AH) 프로토콜
- 암호화(ESP) 프로토콜
- 키 관리(IKE) 프로토콜
SSL/TLS: 전송계층(4계층)과 응용계층(7계층) 사이 보안 프로토콜
S-HTTP: HTTP를 사용한 애플리케이션에 대해서만 가능
02 소프트웨어 개발 보안 구현
1. SW 개발 보안 구현 ⭐️⭐️⭐️
시큐어 코딩 가이드
- 입력데이터 검증 및 상태
- 보안 기능
- 시간 및 상태
- 에러 처리
- 코드 오류
- 캡슐화
- API
입력 데이터 검증 및 표현 취약점
2. 시스템 보안 구현 ⭐️
네트워크 보안 솔루션
- 방화벽
- 웹 방화벽
- 네트워크 접근 제어
- 침입 탐지 시스템
- 침입 방지 시스템
- 무선 침입 방지 시스템
- 통합 보안 시스템
- 가상사설망
3. SW 개발 보안 테스트와 결함 관리 ⭐️
4. 비즈니스 연속성 계획(BCP) ⭐️
비즈니스 연속성 계획 관련 주요 용어
DRS의 유형
- Mirror Site
- Hot Site
- Warm Site
- Cold Site