728x90
3장. 소프트웨어 개발 보안 구축
3-0. Secure SDLC
- 보안상 안전한 S/W를 개발하기 위해 SDLC에 보안강화를 위한 프로세스를 포함한 것
- 종류
- CLASP : Secure Software 사에서 개발, SDLC 초기 단계 보안 강화, 활동중심 역할 기반 프로세스로 구성
- SDL : Microsoft 사에서 기존의 SDLC를 개선한 방법론
- Seven TouchPoint : 보안의 모범사례를 SDLC에 통합한 방법론, 7개의 보안 활동을 수행
- 보안 요소
- 기밀성 : 정보와 자원은 인가된 사용자에게만 접근이 허용
- 무결성 : 오직 인가된 사용자만 수정가능
- 가용성 : 인가된 사용자는 언제라도 사용가능
- 인증 : 정보와 자원을 사용하려는자가 합법적인지 확인하는 모든 행위
- 부인방지 : 데이터 송,수신한자가 부인할 수 없도록 증거 제공
- 설계단계에서 보안활동
- 네트워크 : 개발환경을 분리하거나 방화벽 설치
- 서버 : 보안이 뛰어난 운영체제 사용, 외부 접근 통제
- 물리적 보안 : 출입통제, 공간 제한 등 감시 설비
- 개발 프로그램 : 허가 X 프로그램 통제, 무결성 검사 실시
3-1. 세션 통제 & 입력 데이터 검증 및 표현
- 세션 통제 : 세션은 서버와 클라이언트의 연결, 세션 통제는 세션의 연결로 인해 발생하는 정보를 관리
- 입력 데이터 검증 및 표현 : 입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증, 유효성 검증체계를 갖추고, 검증되지 않은 데이터 입력 시 처리하도록 구현
- 입력 데이터 검증 및 표현의 보안약점
- SQL 삽입 : 웹 응용프로그램에 SQL을 삽입하여, DB 서버의 데이터를 유출 및 변조, 관리자 인증 우회
- 경로조작 및 자원삽입 : 입,출력 경로를 조작하여 서버 자원을 수정,삭제
- 크로스사이트스크립팅 : 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취, 비정상적인 기능 수행 유발
- 운영체제 명령어 삽입 : 외부 입력 값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취&시스템 장애 유발
- 위험한 형식 파일 업로드 : 악의적인 명령어가 포함된 스크립트 파일을 업로드 -> 시스템 손상
- 신뢰 X URL 주소로 자동접속 연결 : 입력 값으로 사이트 주소를 받는 경우 이를 조작하여 방문자를 피싱사이트로 유도
- 메모리 버퍼 오버플로 : 프로그램의 오작동 유발, 악의적인 코드를 실행시켜 공격자가 프로그램을 통제할 수 있는 권한을 획득
3-2. 코드 오류 & 캡슐화
- 코드오류 : S/W 구현 단계에서 개발자들이 코딩 중 실수하기 쉬운 형변환, 자원 반환 등의 오류를 예방하기 위한 보안점검항목
- 널포인터 역참조 : 널포인터가 가리키는 메모리에 어떠한 값을 저장할 때 발생하는 보안 약점
- 부적절한 자원 해제 : 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못하였을 때 발생하는 보안 약점
- 해제된 자원 사용 : 이미 사용 종료되어 반환된 메모리를 참조하는 경우 발생
- 초기화 되지 않은 변수 사용 : 변수 선언 후 값이 부여되지 않은 변수를 사용시 발생
- 캡슐화 :정보은닉이 필요한 중요한 데이터와 기능을 불충분하게 캡슐화하거나 잘못사용함으로써 발생할 수 있는 문제를 예방
- 잘못된 세션에 의한 정보 노출
- 제거되지 않고 남은 디버그코드
- 시스템 데이터 정보노출
- 접근 지정자
- public(클래스 내부, 패키지 내부, 하위 클래스, 패키지 외부)
- protected(클래스 내부, 패키지 내부, 하위 클래스)
- default(클래스 내부,패키지 내부)
- private(클래스 내부)
3-3. 암호 알고리즘
- 패스워드, 주민번호, 은행계좌 등과 같은 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법
- 개인키 암호화 기법 : 동일한 키로 데이터를 암호화하고 복호화
- 블록 암호화 방식 : DES, SEED, AES, ARIA
- DES : NBS에서 발표한 개인키 암호화 알고리즘, 크기는 64비트
- SEED : KISA에서 개발한 블록 암호화 알고리즘, 크기는 128비트
- AES : NIST에서 발표한 DES 한계를 보완하기 위해 개발한 개인키 알고리즘, 크기는 128비트
- ARIA : 국가 정보원과 산학 협회가 개발한 블록화 알고리즘, 크기는 128비트
- 스트림 암호화 방식 : LFSR, RC4
- 블록 암호화 방식 : DES, SEED, AES, ARIA
- 공개키 암호화 기법 : 데이터를 암호화 할때는 공개키 사용, 복호화 할때는 비밀키 사용
- RSA : MIT의 라이베스트,샤미르,애들먼에 의해 제안된 공개키 암호화 알고리즘
- 해시 : 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것
- SHA 시리즈 : NSA가 설계하여 NIST에 의해 발표
- MD5 : MD4를 대체하기 위해 고안한 암호화 해시 함수, 크기는 512비트
- N-NASH : NTT에서 발표한 암호화 해시함수, 크기는 128비트
- SNEFRU : RC.Merkle이 발표한 해시함수, 크기는 512비트
- 솔트 : 암호화를 수행하기에 앞서 원문에 무작위의 값을 덧 붙이는 과정을 수행하는데, 이 때 덧붙이는 값
728x90
'정보처리기사 필기' 카테고리의 다른 글
5과목 : 정보시스템 구축 관리(4장. 시스템 보안 구축 : 중요 키워드 정리) (1) | 2022.08.04 |
---|---|
5과목 : 정보시스템 구축 관리(2장. IT 프로젝트 정보시스템 구축관리 : 주요 키워드 정리) (0) | 2022.08.04 |
5과목 : 정보시스템 구축 관리(1장. 소프트웨어 개발 방법론 활용 : 주요 키워드 정리) (0) | 2022.08.04 |
4과목 : 프로그래밍 언어 활용(3장. 응용 SW 기술 활용 : 주요 키워드 정리) (0) | 2022.08.03 |
4과목 : 프로그래밍 언어 활용(1장. 서버프로그램 구현 & 프로그래밍 언어 활용 : 주요 키워드 정리) (0) | 2022.08.03 |