일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Direct12
- 백준
- 타입 객체
- 락
- OS
- DirectX 12
- 병행성 관련 오류
- DirectX12
- 컨디션 변수
- 동적계획법
- 멀티프로세서
- 자료구조
- 영속성
- 쓰레드
- 다이나믹 프로그래밍
- 운영체제
- 파일시스템 구현
- 스케줄링
- 다이나믹프로그래밍
- 그리디알고리즘
- 멀티쓰레드
- 프로그래머스
- directx
- 그리디 알고리즘
- I/O장치
- codility
- 알고리즘
- 디자인패턴
- 병행성
- 렌더링 파이프라인
- Today
- Total
기록공간
9장. 소프트웨어 개발 보안 구축 본문
#1 소프트웨어 개발 보안 설계
SW 개발 보안 설계
1. SW 개발 보안의 구성요소
■ SW 개발 보안의 3대 요소 (기무가)
- 기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
- 무결성 : 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
- 가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보상하는 특성
■ SW 개발 보안 용어 (자위취위)
- 자산 : 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상
- 위협 : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위
- 취약점 : 위협이 발생하기 위한 사전 조건에 따른 상황
- 위험 : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
2. SW 개발 보안을 위한 공격기법의 이해
■ DOS 공격의 개념
DOS(Denial of Service)는 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격이다.
■ DDOS 공격의 개념
DOS의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법이다.
■ DDOS 공격 구성요소 (HAMAD(하마드))
- 핸들러(Handler) : 마스터 시스템의 역할을 수행하는 프로그램
- 에이전트(Agent) : 공격 대상에게 직접 공격을 가하는 프로그램
- 마스터(Master) : 공격자에게서 직접 명령을 받는 시스템
- 공격자(Attacker) : 공격을 주도하는 해커의 컴퓨터
- 데몬(Daemon) 프로그램 : 에이저트 시스템의 역할을 수행하는 프로그램
■ 자원 고갈 공격기법
- SYN 플러딩(SYN Flooding) : TCP 프로토콜 구조적인 문제를 이용한 공격
- UDP 플러딩(UDP Flooding) : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지를 생성하게 하여 지속해서 자원을 고갈시키는 공격
- 스머프(Smurf) : 출발지 주소를 공격 대상 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
- PoD(Pint of Death) : 큰 사이즈의 패킷을 의도적으로 목표시스템으로 발생시켜 시스템이 서비스할 수 없는 상태로 만드는 공격
■ 애플리케이션 공격기법
- HTTP GET 플러딩 : Http 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도, 웹서버 자원을 소진시키는 서비스 거부 공격
- Slowloris : HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n을 전송하지 않고 \r\n만 전송하여 대상 웹서버와 연결상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격
- RUDY : 요청 헤더의 Content-length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격
■ 취약점 공격
- 랜드어택(Land Attack) : 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수진자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법
- 봉크 / 보잉크(Bonk / Boink) : 프로토콜의 오류 제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발
(봉크 : 같은 시퀀스 번호를 계속 보냄, 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성)
- 티어 드롭(Tear Drop) : IP 패킷의 재조합과정에서 잘못되 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 Dos 공격
3. SW 개발 보안을 위한 암호화 알고리즘
■ 암호 알고리즘 방식
- 대칭 키 암호 방식
-
블록 암호 방식 → 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화 하는 블록 암호 알고리즘을 반복하는 방법 (DES, AES, SEED)
-
스트림 암호 방식 : 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식 (RC4)
- 비대칭 키 암호 방식
-
디피-헬만, RSA
- 해시 방식
-
SHA, MD5
4. 정보에 대한 보안 항목식별
■ 개인정보보보호 관련 법령 (개망신)
- 개인정보 보호법
- 정보통신망법
- 신용정보법
■ 고유식별정보의 종류 (주여운외)
- 주민등록번호
- 여권번호
- 운전면허번호
- 외국인 등록번호
■ 개인정보보호 법령 내 정보사고 (분도유변훼)
- 분실
- 도난
- 유출
- 변조
- 훼손
#2 소프트웨어 개발 보안 구현
SW 개발 보안 구현
1. 시큐어 코딩 가이드
■ 시큐어 코딩 가이드 (입보시 에코캡아)
- 입력 데이터 검증 및 표현
- 보안 기능
- 시간 및 상태
- 에러 처리
- 코드 오류
- 캡슐화
- API 오용
'자격증공부 > 정보처리기사_실기' 카테고리의 다른 글
11장. 응용 SW 기초 기술 활용 (0) | 2020.11.25 |
---|---|
7장. 애플리케이션 테스트 관리 (0) | 2020.11.23 |
6장. 화면 설계 (0) | 2020.11.22 |
5장. 인터페이스 구현 (0) | 2020.11.22 |
4장. 서버 프로그램 구현 (0) | 2020.11.21 |