본문 바로가기

스터디스터디/정처기

[실기] 정보보안 - SW 보안 설계

최초 작성일: 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)   백업과 복구를 위한 전략

전략 설명
전체 백업 지정된 폴더의 모든 데이터를 백업
전체 백업을 수행해야하기 떄문에 가장 오랜 시간이 걸린다
차등 백업 최근 전체 백업 이후 모든 변경/추가된 데이터를 백업
복구에는 마지막 전체 백업과 최신 차등 백업이 필요하다
증분 백업 최근 전체 백업 이후 변경/추가된 데이터만 백업
실시간 백업 데이터가 변경될때마다 즉시 백업
합성 백업 기존의 전체 백업 본과 여러 개의 증분 백업을 합하여 새로운 전체 백업을 만드는 작업