최초 작성일: 2024-09-08
최종 작성일: 2024-09-08
목표 : 정처기 합격 및 CS 지식 쌓기
1. 정보보안 ( 관리적- 회사 정책, 기술적- 암호화/장치, 물리적 관점-방화벽등)
(1) 개념
정보 및 정보 시스템을 무단 접근, 변경, 삭제 등으로부터 보호한다
정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적(정책, ISMS, PIMS) 및 기술적 방법(암호화, 접근 통제, 데이터 백업)을 포함한다
(2) 정보 보안 요소
요소 | 설명 |
기밀성 (Confidentiality) |
인가된 사용자만 정보 접근할 수 있도록 하는 것 방화벽, 암호화 등 |
무결성 (Integrity) |
정보가 인가된 사용자에 의해서만 변경될 수 있도록 하는 것 |
가용성 (Availability) |
정보 자산이 언제든지 접근 가능하도록 하는 것 è 서버를 두개 놓으면 고 가용성 |
인증 (authentication) |
사용자가 허가받은 사용자인지 확인하고, 전송된 메시지의 변조 여부를 확인하는 것 |
부인방지 (non-repudiation) |
정보를 보낸 사람이 나중에 정보 전송을 부인할 수 없도록 하는 것 |
(3) AAA(Authentication, Authorization, Accounting) – 로그인을 생각하면 됨/정보보안의 트리플 A
요소 | 설명 |
인증 | 사용자원 신원을 확인하는 과정 |
권한 부여 | 검증된 사용자에게 특정 수준의 권한과 서비스를 허용하는 것 |
계정 관리 | 사용자의 자원 사용 정보를 수집하여 과금, 감사, 용량 증설, 리포팅 등에 활용하는 것 |
(4) 정보보안 거버넌스 (기업 내부에서 기업 정보 보안에 대해 관리 하고 감독)
1) 정의
목적: 조직의 정보자산을 보호하고, 정보의 무결성, 기밀성, 가용성을 유지하기 위함 이다
핵심: 기업의 정보 보안 전략을 전략적으로 정보보안 자원과 연계하여 실행한다
결과: 정보자산의 보호, 기업의 비즈니스 연속성 및 준법 준수에 기여한다
2) 특징
전략적 방향을 제시하여 목적 달성
적절한 위험 관리
조직 자산의 책임있는 사용
3) 정보 보안 거버넌스의 3요소
요소 | 설명 |
데이터 무결성 | 데이터의 정확성과 일관성을 보장 데이터가 무단으로 수정되지 않도록 보호한다 |
서비스 연속성 | 비즈니스 연속성 계획 및 재해 복구 전략을 포함한다 비상 상황에서도 핵심 서비스가 중단되지 않도록 보장한다 |
정보자산의 보호 | 정보 자산을 무단 접근, 도용, 손상으로부터 보호한다 정보자산의 기밀성 및 가용성을 유지한다 |
(5) 인증제도
1) ISMS(정보보호 관리체계 인증)
목적: 정보통신망의 안전성 확보를 위한 종합적인 정보보호 관리 체계 인증
특징: 기업 및 조직의 중요 정보 자산을 안전하고 신뢰성 있게 관리하는 것을 국가로부터 인증받는 제도
2) PIMS (개인정보보호 관리체계)
목적: 기관 및 기업이 개인정보를 체계적 지속적으로 보호하는지 심사하여 인증 부여
특징: 개인정보보호에 중점을 둔 관리 체계 인증
3) ISMS-P(정보보호 및 개인정보보호 관리체계 인증)
목적: 정보보호 및 개인정보보호에 대한 조치와 활동이 인증 기준에 적합한지 인증
특징: 인터넷 진흥원 또는 인증기관이 인증을 수행
4) ITSEC
유럽에서 만든 것, 기밀성, 무결성, 가용성 평가
5) TCSEC
미국에서 만든 것, Bell-Lapadula mode을 기반으로 기밀성 평가
6) CC(Common Criteria)
국가별로 상이한 평가 기준을 통합하고 평가결과를 상호 인증하기 위한 국제 평가 기준
2. Secure SDLC
(1) 개념
SDLC에 보안 강화 프로세스를 포함한 것
소프트웨어 유지보수 단계에서 보안 이슈 해결 비용 최소화
분석, 설계, 구현, 테스트, 유지보수 등 SDLC 전 단계에 걸쳐 보안 활동 수행
(2) Secure SDLC 방법론
1) CLASP(Comprehensive, Lightweight, Application ): SDLC 초기 단계에서 보안 강화를 위한 방법론/ 운용 중인 시스템에 적용하기 적합
2) MS-SDL : MS가 개발한 안전한 소프트웨어 개발을 위한 방법론
3) Seven Touchpoints : 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론
(3) 단계별 보안 활동
단계 | 설명 |
요구사항 분석 단계 | 보안 요구사항 식별, 보안 정책 문서화 |
설계 단계 | 보안 요구사항 반영, 보안 설계서 작성 위협 모델링 및 검토 |
구현 단계 | 표준 코딩 정의서 준수, 소스코드 진단 |
테스트 단계 | 보안 설계서 바탕으로 보안점검 보안 위협 및 취약점 테스트 계획 수립 및 시행 |
유지보수 단계 | 보안 사고 대응, 보안 패치 실시 |
3. 시큐어 코딩
(1) OWASP
오픈 소스 웹 애플리케이션 보안 프로젝트
웹 애플리케이션 보안 취약점 연구, 정보 노출 및 악성파일/스크립트 보안 취약점 해결
OWASP Top 10 : 빈번하고 영향력있는 웹 어플리케이션 취약점 상위 10가지 발표
(2) 시큐어 코딩 가이드
1) 입력 데이터 검증 및 표현(가장 중요)
프로그램 입력 값에 대한 검증 누락이나 부적절한 검증, 데이터 형식 지정 오류 등으로 인한 보안 약점
보안 약점 종류
종류 | 설명 |
Sql injection | Sql 쿼리 삽입을 통한 데이터 베이스 정보 열람 및 조작 |
XSS( 크로스 사이트 스크립트) | 사용자 측에서 실행되는 악의적 스크립트 삽입 |
자원 삽입 | 외부 입력값이 시스템 자원 접근 경로 또는 자원 제어에 사용 |
위험한 형식 파일 업로드 | 서버 측에서 실행가능한 스크립트 파일 업로드 |
명령 삽입 | 운영체제 명령어 삽입(예: LDAP 삽입) |
메모리 버퍼 오버 플로우 | 입력값으로 인해 버퍼가 넘쳐 다른 메모리 공간 침범 |
2) 보안 기능
보안 기능을 부적절하게 구현하는 경우 발생할 수 있는 보안 약점
종류 | 설명 |
적절한 인증 없이 중요 기능 허용 | 중요 정보에 대한 접근에 대한 적절한 인증 과정이 없을 때 발생 |
부적절한 인가 | 중요자원에 대한 외부 입력값을 포함한 문자열로 접근 가능할 때 발생 |
취약한 암호화 알고리즘 사용 | 안전하지 않은 알고리즘 (DES, MD5)사용으로 인한 보안약점 |
하드코딩 된 패스워드 | 소스 코드 내에 비밀번호가 하드코딩 되어 있어 소스 코드 유출 시 노출 될 수 있음 |
패스워드 평문 저장 | 계정 정보 탈취 시 패스워드가 쉽게 노출 될 수 있음 |
취약한 패스워드 허용 | 비밀번호 조합규칙이 미흡하거나 길이가 충분하지 않아 발생 |
3) 시간 및 상태
동시 수행을 지원하는 병렬 시스템이나 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안 약점
종류 | 설명 |
경쟁조건 | |
종료되지 않는 반복문 또는 재귀함수 |
4) 에러처리
에러를 처리하지 않거나 불충분하게 처리하여 에러 정보에 중요정보가 포함될 떄 발생할 수 있는 보안 약점
종류 | 설명 |
오류 메시지 정보 노출 | |
오류 상황 대응 부재 | |
부적절한 예외 처리 |
5) 코드 오류 : 개발자가 범할 수 있는 코딩 오류로 인해 유발되는 보안 약점
종류: 널 포인터 역참조(널 값을 고려하지 않은 코드에서 발생), 부적절한 자원해제(할당받은 자원을 반환하지 않음으로써 발생), 해제된 자원 사용, 초기화되지 않은 변수 사용(지역변수를 초기화 하지 않고 사용)
6) 캡슐화 : 중요한 데이터 또는 기능성을 불충분하게 캡슐화하거나 잘못 사용해 발생하는 보안 약점
종류: 시스템 정보 노출, 잘못된 접근 지정자 ,잘못된 세션에 의한 정보 노출, 제거되지 않은 디버그 코드
7) API 오용 : 의도된 사용에 반하는 방법으로 API를 사용하거나 보안에 취약한 API를 사용하여 발생할 수 있는 보안 약점
종류: DNS에 의존한 보안 결정(공격자가 DNS 정보를 변조해 보안 결정 우회 가능), 취약한 API 사용(금지되거나 안전하지 않은 함수 사용)
4. 백업과 복구
(1) 백업과 복구의 개념
정전, 사이버 공격 및 다른 중단 사태에 대비하여 복구를 진행할 수 있도록 데이터를 주기적으로 복사하는 것을 의미
복구 시간 목표(rto)와 복구 시점 목표(rpo)를 충족하기 위한 다양한 방법이 있다
(2) 재난 복구 전략 시 지표
성과지표 | 설명 |
RP (Recovery Period) |
실제 업무 기능 복구까지 걸리는 시간 |
RTO (Recovery Time Objective) |
업무 중단 시점부터 복구되어 가동될 때 시간 목표 시스템 장애 시 비즈니스가 감당할 수 있는 최대의 시간 |
RPO (Recovery Point Objective) |
재해 발생기 데이터 손실을 감당할 수 있는 데이터의 양 |
MTD (Maximum Tolerance Downtime) |
비즈니스 연속성 관리에서 사용되는 지표 장애 시 업무가 정지 상태를 허용하는 최대 시간 |
(3) 백업과 복구를 위한 전략
전략 | 설명 |
전체 백업 | 지정된 폴더의 모든 데이터를 백업 전체 백업을 수행해야하기 떄문에 가장 오랜 시간이 걸린다 |
차등 백업 | 최근 전체 백업 이후 모든 변경/추가된 데이터를 백업 복구에는 마지막 전체 백업과 최신 차등 백업이 필요하다 |
증분 백업 | 최근 전체 백업 이후 변경/추가된 데이터만 백업 |
실시간 백업 | 데이터가 변경될때마다 즉시 백업 |
합성 백업 | 기존의 전체 백업 본과 여러 개의 증분 백업을 합하여 새로운 전체 백업을 만드는 작업 |
'스터디스터디 > 정처기' 카테고리의 다른 글
[실기] 정보보안 - 인증과 접근 통제 (2) | 2024.09.11 |
---|---|
[실기] 정보보안 - SW 보안 구현 (0) | 2024.09.09 |
[실기] 소프트웨어 구축- 제품 소프트웨어 패키징 (1) | 2024.09.08 |
[실기] 소프트웨어 구축- 국제표준 제품 품질특성 (2) | 2024.09.08 |
[실기] 소프트웨어 구축- 애플리케이션 성능 개선 (2) | 2024.09.03 |