728x90
참고1. 노랑마킹은 시험에 나온 중요한 부분입니다.
참고2. 주황강조는 약어 혹은 중요한 내용입니다.
참고3. 회색마킹은 예시입니다.
제 5과목 정보시스템 구축 관리 > 소프트웨어 개발 보안 구축
소프트웨어 개발 보안 설계
(1) SW 개발 보안
SW 개발 보안의 구성요소 (기무가)
3대 요소 | 설명 |
기밀성 (Confidentiality) |
인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 |
무결성 (Integrity) |
정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 |
가용성 (Availability) |
권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성 |
SW 개발 보안 용어
자산(Assets) / 위협(Threat) / 취약점(Vulnerability) / 위험(Risk)
(2) Secure SDLC
참고: https://simuing.tistory.com/entry/2021-정보처리기사-필기요약-5-IT-프로젝트-정보시스템-구축관리
(3) 입력 데이터 검증 및 표현
입력 데이터 검증 및 표현 취약점
취약점 | 설명 | 대책 |
XSS (Cross Site Script) |
검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 [2020년 4회] | 특수문자 등록 방지를 위해 특수문자 필터링 |
사이트 간 요청 위조 (CSRF; Cross-Site Request Forgery) |
사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 | 입력화면 폼을 작성 시 GET 방식보다 POST 방식 사용 |
SQL 삽입 (Injection) |
응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 DB의 접근을 통해 정보 탈취, 조작 등의 행위를 하는 공격기법 | 바인딩 매개변수 방식을 적용하여 사전에 변수 타입을 명시적으로 지정 사용자로부터 입력될 수 있는 모든 값을 체크하여 필터링 |
XSS(Cross Site Script) 공격 유형
공격 유형 | 설명 |
Stored XSS | 방문자들이 악성 스크립트가 포함된 페이지를 읽어 봄과 동시에 악성 스크립트가 브라우저에서 실행되면서 감염되는 기법 |
Reflected XSS | 공격용 악성 URL을 생성한 후 이메일로 사용자에게 전송하면 사용자가 URL 클릭 시 즉시 공격 스크립트가 피해자로 반사되어 접속 사이트에 민감정보를 공격자에게 전송하는 기법 |
DOM XSS (Document Object Model) |
공격자는 DOM 기반 XSS 취약점이 있는 브라우저를 대상으로 조작된 URL을 이메일을 통해 발송하고 피해자가 URL 클릭 시 공격 피해를 당하는 기법 |
에러 처리 취약점
- 취약한 패스워드 요구 조건
- 오류 메시지를 통한 정보 노출
- 오류 상황 대응 부재
- 적절하지 않은 예외 처리
소프트웨어 개발 보안 구현
(1) 암호 알고리즘(Encryption Algorithm)
데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법이다.
암호 알고리즘 방식
알고리즘 방식 | 알고리즘 방식 종류 | 기법 | |
양방향 방식 | 대칭 키 암호 방식 | 블록 암호 방식 | DES, SEED, AES, ARIA, IDEA [2020년 3회] |
스트림 암호 방식 | RC4, LFSR | ||
비대칭 키 암호 방식 (=공개키 암호 방식) |
RSA, ECC, ELGamal, 디피-헬만(Diffie-Hellman) | ||
일방향 암호 방식 (해시 암호 방식) |
MAC | HMAC, NMAC | |
MDC |
ND5, SHA |
암호 알고리즘 기법 상세
방식 | 기법 | 설명 |
대칭 키 | DES | 블록 암호화 알고리즘, 블록 크기는 64bit, 키 길이는 56bit인 페이스텔(Feistel) 구조 |
RC4 | 로널드 라이베스트가 만든 스트림 암호 | |
비대칭 키 (=공개키) |
RSA | 양방향, 비대칭 키(공개키) |
1977년 3명의 MIT 수학 교수(Rivest, Shamir, Adleman)가 고안 소인수 분해 문제를 이용한 공개키 암호화 기법 [2020년 1회,3회] |
||
ECC | 양방향, 비대칭 키(공개키) | |
타원 곡선 암호(ECC)는 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘 |
암호 시스템
구분 | 설명 |
PKI (Public Key System) |
공개키 암호 방식을 바탕으로 한 디지털 인증서를 활용하는 구조 |
PEM | 암호화, 인증, 무결성 등의 이메일을 위한 보안 시스템 |
(2)코드 오류
코드 오류 취약점
- 널(null) 포인터 역참조
- 정수를 문자로 변환
- 부적절한 자원 해제
- 초기화되지 않은 변수 사용
(3) 캡슐화
캡슐화 취약점
- 잘못된 세션에 의한 데이터 정보 노출
- 제거되지 않고 남은 디버그 코드
- 민감한 데이터를 가진 내부 클래스 사용
- 시스템 데이터 정보 노출
(4) API 오용
API 오용 취약점
- DNS Lookup에 의존한 보안 결정
- 위험하다고 알려진 함수 사용
- 널(Null) 매개변수 미검사
- 취약한 패스워드 요구조건
#정보처리기사필기요약 #정처기필기요약
728x90
'IT License > 정처기필기-5과목' 카테고리의 다른 글
2024 #정보처리기사 필기요약 #5-4. 시스템 보안 구축 (3) | 2024.07.05 |
---|---|
2024 #정보처리기사 필기요약 #5-2. IT 프로젝트 정보시스템 구축관리 (1) | 2024.07.05 |
2024 #정보처리기사 필기요약 #5-1. 소프트웨어 개발방법론 활용 (2) | 2024.07.05 |
댓글