본문 바로가기
정보처리기사/09. 소프트웨어 개발 보안 구축

Chapter 02. 소프트웨어 개발 보안 구현

by HoPpangg 2021. 9. 27.
SMALL

1. 시큐어 코딩 가이드 (입보시 엡코캡아)

  • 입력데이터 검증 및 표현
    • 프로그램 입력값에 대한 검증 누락/부적절한 검증, 잘못된 형식 지정
  • 보안기능
    • 보안 기능(인증, 접근 제어, 기밀성, 암호화 권한 관리 등)의 부적절한 구현
    • 취약점
      • 적절한 인증 없이 중요 기능 허용
      • 부적절한 인가
      • 취약한 암호화 알고리즘 사용
      • 중요 정보 평문 저장 및 전송
      • 하드 코드 된 비밀번호
  • 시간 및 상태
    • 거의 동시에 수행 지원하는 병렬 시스템 또는 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태의 부적절한 관리
  • 에러 처리
    • 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요정보 포함
    • 취약점
      • 취약한 패스워드 요구 조건
      • 오류 메시지 통한 정보 노출
      • 오류 상황 대응 부재
      • 적절하지 않은 예외처리
  • 코드 오류
    • 개발자가 범할 수 있는 코딩 오류로 인해 유발
    • 취약점
      • 널 포인터 역참조
      • 정수를 문자로 변환
      • 부적절한 자원 해제
      • 초기화되지 않은 변수 사용
  • 캡슐화
    • 기증성이 불충분한 캡슐화로 인해 인가되지 않은 사용자에게 데이터 누출
    • 취약점
      • 잘못된 세션에 의한 데이터 정보 노출
      • 제거되지 않고 남은 디버그 코드
      • 민감한 데이터를 가진 내부 클래스 사용
      • 시스템 데이터 정보 노출
  • API 오용
    • 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API 사용
    • 취약점
      • DNS Lookup에 의존한 보안 결정
      • 위험하다고 알려진 함수 사용 ex)strcpy(위험한 함수) -> strncpy(안전한 함수)
      • 널 매개변수 미검사

2. 입력데이터 검증 및 표현 취약점

  • XSS (Cross Site Script)
    • 검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격
    • Stored XSS, Reflected XSS, DOM XSS
  • 사이트 간 요청 위조 (CSRF; Cross Site Request Forgery)
    • 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
  • SQL 삽입(Injection)
    • 응용 프로그램의 보안 취약점을 이용해서 악의적은 sql 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격 기법
    • Form SQL Injection, Union SQL Injection, Stored SQL Injection, Mass SQL Injection, Error-Based SQL Injection, Blind SQL Injection

3. 유닉스/리눅스 주요 로그 파일

  • wtmp(x)
    • 사용자 로그인/로그아웃 정보
    • 시스템 shutdown/reboot 정보
    • last 명령어
  • utmp(x)
    • 현재 시스템에 로그인한 사용자 정보
    • who, w, users, finger 명령어
  • btmp(x)
    • 로그인에 실패한 정보
    • lastb 명령어
  • lastlog
    • 사용자별 최근 로그인 시간 및 접근한 소스 호스트에 대한 정보
    • lastlog 명령어
  • sulog
    • su(Switch user) 명령어 실행 성공/실패 결과에 대한 정보
    • 텍스트파일이라서 별도 명령어 없음
  • acct/pacct
    • 사용자별로 실행되는 모든 멸령어에 대한 로그
    • lastcomm, acctcom 명령어
  • xferlog
    • FTP서비스 데이터 전송 로그 기록
    • 텍스트 파일이라서 별도 명령어 없음
  • messages
    • 부트 메시지 등 시스템의 가장 기본적인 시스템 로그 파이롤, 운영에 대한 전반적인 메시지를 저장
    • 텍스트 파일이라서 별도 명령어 없음
  • secure
    • 보안과 관련된 주요 로그를 기록, 사용자 인증과 관련된 로그 기록
    • 텍스트 파일이라서 별도 명령어 없음

4. 네트워크 보안 솔루션

  • 방화벽(Firewall)
    • 기업 내부, 외부 간 트래픽을 모니터링 하여 시스템의 접근을 허용하거나 차단하는 시스템
  • 웹 방화벽 (WAF; Web Application Firewall)
    • 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안 장비
    • SQL 인젝션, XSS 등과 같은 웹 공격을 탐지하고 차단하는 기능
  • 네트워크 접근 제어(NAC; Network Access Control)
    • 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션
    • 바이러스나 웜 등의 보안 위협으로부터 네트워크 제어 및 통제 기능 수행
  • 침입 탐지 시스템(IDS; Intrusion Detection System)
    • 네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원 접근과 보안 정책 위반 행위(침입)을 실시간으로 탐지하는 시스템
  • 침입 방지 시스템 (IPS; Intrusion Prevention System)
    • 네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해트래픽에 대한 조치를 능동적으로 처리하는 시스템
  • 무선 침입 방지 시스템 (WIPS; Wireless Intrusion Prevention System)
    • 인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템
  • 통합 보안 시스템(UTM; Unified Treat Management)
    • 방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS), VPN, 안티 바이러스, 이메일 필터링 등 다양한 보안 장비의 기능을 하나의 자입로 통합하여 제공하는 시스템
  • 가상사설망(VPN; Virtual Private Network)
    • 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전요망을 사용하는 효과를 가지는 보안 솔루션

5. 콘텐츠 유출 방지 솔루션

  • 보안 USB
  • 데이터 유출 방지(DLP; Data Loss Prevention)
  • 디지털 저작권 관리(DRM; Digital Right Management)

6. 취약점 분석 절차(자진 제진결보)

  • 자산 조사 및 분석
  • 진단 대상 선정
  • 제약사항 확인
  • 진단 수행
  • 결과분석/ 보고서 작성

7. 소프트웨어 개발 보안테스트 절차

  • 준비 단계
    • 대상 선정
    • 일정 수립
  • 실행 단계
    • 테스트 수행
  • 개선 단계
    • 보고서 발행
    • 지적사항 해결
  • 관리 단계
    • 결함 해결사항 보고
    • 점검된 소스코드 관리
  • 종료 단계
    • 보안 상황 보고

8. 비즈니스 연속성 계획 관련 주요 용어

  • BIA (Business Impact Analysis)
    • 장애나 재해로인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실 평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
  • RTO (Recovery Time Objective)
    • 업무 중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간
    • 재해 시 복구 목표시간의 선정
  • RPO (Recovery Point Objective)
    • 업무 중단 시점부터 데이터가 복귀되어 다시 정상가동 될 때 데이터의 손실 허용 시점
    • 재해 시 복구 목표 지점 선정
  • DRP (Disaster Recovery Plan)
    • 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
  • DRS (Disaster Recovery System)
    • 재해복구계획의 원활한 수행을 지원하기 ㅜ이하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터

9. DRS 유형

  • Mirror Site
    • 주 센터와 데이터 복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해 복구 센터
    • RTO는 0
  • Hot Site
    • 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해 복구 센터
    • RTO는 4시간 이내
  • Warm Site
    • Hot Site와 유사하나 재해 복구센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성 높은 자원만 부분적으로 보유하고 있는 재해복구센터
    • RTO는 수일~수주
  • Cold Site
    • 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구할 수 있는 재해복구센터
    • RTO는 수주 ~ 수개월
    • 구축 비용이 저렴하나 복구 소요기간이 길고 실뢰성 낮음
728x90
LIST

댓글