1. 소프트웨어 개발 보안 목표
- 기밀성(Confidentiality) : 인가받은 사용자만 접근을 허용한다.
- 무결성(Integrity) : 인가받은 사용자만 수정을 허용한다.
- 가용성(Availabilty) : 인가받은 사용자는 언제든지 사용이 가능해야 한다.
2. Secure SDLC(Software Development Life Cycle) : 보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안강화를
위한 프로세스를 포함하는 것
3. 보안요소
- 기밀성 : 인가된 사용자만 접근을 허용
- 무결성 : 인가된 사용자만 수정을 허용
- 가용성 : 인가된 사용자는 언제든지 사용이 가능해야 한다.
- 인증 : 합법적인 사용자인지 확인하는 것
- 부인방지 : 데이터를 송, 수신한 자가 송, 수신 사실을 부인할 수 없도록 증거를 제공
4. 시큐어 코딩(secure coding) : 소프트웨어의 구현 단계에서 발생할 수 있는 보안 취약점을 최소화하기 위해 보안
요소를 고려하며 코딩하는 것
5. SQL 삽입 : 입력란에 SQL을 삽입하여 무단으로 DB를 조회하거나 조작하는 보안 약점
6. 크로스사이트 스크립팅(XSS) : 웹 페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나 비정상적인
기능 수행을 유발하는 보안 약점
7. TOCTOU(Time of check to time of use) 경쟁 조건 : 검사 시점(Time of Check)과 사용 시점(Time Of Use)을 고려하지
않고 코딩하는 경우 발생하는 보안 약점
ex> 동기화오류, 교착상태 발생 가능
8. 교착상태(Dead Lock) : 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 잇는 자원을
요구하며 무한정 기다리는 현상
- 예방기법
- 회피기법
- 발견기법
- 회복기법
9. 널 포인터(Null Pointer) 역참조 : 널 포인터가 가리키는 메모리에 어떠한 값을 저장할 때 발생하는 보안 약점
10. 암호 알고리즘 : 중요정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 or 방법
11. 개인키 암호화(Private Key Encryption) 기법 = 대칭키 암호화 기법
- 동일한 키로 데이터를 암호화하고 복호화한다(암호화키 = 복호화키)
- 속도가 빠르고 알고리즘이 단순하고 파일크기가 작다
- 사용자의 증가에 따라 관리해야할 키의 수가 상대적으로 많아진다.
- DES : 블록크기 64비트 / 키 길이 56키
- AES : 블록크기 128비트
12. 공개키 암호화(Public Key Encryption) 기법 = 비대칭키 암호화 기법
- 암호화할 때 공개키 복호화는 비밀키(암호화키 != 복호화키)
- 키 분배 용이함
- 관리해야 할 키 수가 적다
- 속도가 느림
- 알고리즘이 복잡함
- 파일크기가 크다
- RSA
13. 해시(hash) : 임의의 길이의 입력 데이터나 메세지를 고정된 길이의 값이나 키로 변화하는 것
'ETC > 자격증' 카테고리의 다른 글
[정보처리기사실기]요구사항 확인 요약 정리 (0) | 2021.07.03 |
---|---|
[정보처리기사실기]제품 소프트웨어 패키징 요약 정리 (0) | 2021.07.03 |
[정보처리기사실기]서버 프로그램 구현 요약 정리 (0) | 2021.07.03 |
[정보처리기사실기]통합 구현 요약 정리 (0) | 2021.07.03 |
[정보처리기사실기]데이터 입/출력 구현 요약 정리 (0) | 2021.07.03 |