정보처리기사

[정보처리기사] SW 개발 보안 설계

hminor 2023. 6. 28. 22:02

정보보안

  • 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적(정책, ISMS, PIMS), 기술적(암호화, 접근통제, 데이터 백업) 방법을 의미한다.
  • 정보보안의 3요소 (기무가)
    • 기밀성 - 인가된 사용자만 접근 가능하며, 외부 유출 방지
    • 무결성 - 인가된 사용자가 인가된 방법으로만 변경할 수 있다. (접근 통제)
    • 가용성 - 인가된 사용자면 언제든지 사용할 수 있어야 하는 것.
  • 인증(Authentication) - 인증된 유저인지 확인
  • 정보보안의 AAA (관리자 시스템 생각하기)
    • 인증(Authentication) - 망, 시스템 접근을 허용하기 전에 사용자의 신원을 검증
    • 인가, 권한부여(Authorization) - 검증된 사용자에게 어떤 수준의 권한과 서비스를 허용
    • 계정관리(Accounting) - 사용자의 자원에 대한 사용 정보를 모아서 과금, 감사, 용량증설, 리포팅 등.
  • 정보보안 거버넌스(Information Security Governance) → 정보 자원들을 보호해야한다?
    • 기업 거버넌스 안에 있는 정보 보안 거버넌스로 정보의 무결성, 서비스의 연속성, 정보자산의 보호를 위한 것.
    • 즉 해당 정보를 잘 보호해야한다 라는 의미.
    • 정보보안 거버넌스의 3요소
      • 정보자산의 보호 (기밀성)
      • 데이터 무결성 (무결성)
      • 서비스 연속성 (가용성)
  • 인증제도
    • ISMS (정보보호 관리체계 인증)
      • 정보보안을 잘하고 있는지
    • PIMS (개인정보보호 관리체계)
    • ISMS-P (정보보호 및 개인정보보호 관리체계 인증)
      • 두개 합친 것
    • ITSEC
      • 영국, 프랑스, 독일, 네덜란드 주축으로 고유의 보안성 평가 기준서 개발
      • 기밀성, 무결성, 가용성을 다룬다.
    • TCSEC
      • 미국
      • Bell-LaPadula Model 기반의 기밀성을 다룸
    • CC
      • 국가마다 상이한 평가 기준을 연동한 국제 평가기준
      • TCSEC, ITSEC 단점을 보완
  • Secure SDLC (보안 생명주기)
    • 보안상 안전한 SW 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것.
    • SW 유지보수 단계에서 보안 이슈를 해결하기 위해 소모되는 비용을 최소화하기 위해 등장.
    • Secure SDLC 방법론
      • CLASP: 초기 단계에서 보안 강화, 현재 운용 중인 시스템에 적용하기 적합.
      • MS-SDL: MS사에서 만든 방법론
      • Seven Touchpoints: 모범사례를 SDLC에 통합한 방법론
  • 시큐어 코딩 (Secure Coding)
    • OWASP
      • 주로 웹에서 발생할 수 있는 보안 취약점 연구
      • OWASP Top 10: 웹 애플리케이션 취약점 중 빈도가 많이 발생하고, 보안상 영향을 줄 수 있는 10가지를 선정 후 발표.
    • 시큐어 코딩 가이드
      • 입력 데이터 검증 및 표현 (요청하면 처리하는 곳에서 한번 더 검증해줘!)
        • 보안 약점 종류
          • SQL Injection: SQL문 삽입 공격
          • XSS: 악의적인 스크립트를 포함해 사용자 측에서 실행되게 유도하는 공격
          • 자원 삽입: 서버에 대한 자원을 가져가도록 하는 공격
          • 위험한 형식 파일 업로드: 서버측에서 실행될 수 있는 스크립트 파일을 업로드하는 공격
          • 명령 삽입
          • 메모리 버퍼 오버프로: 입력받는 값이 버퍼를 넘쳐서 버퍼 이후 공간을 침범하는 공격
      • 캡슐화
      • API 오용
  • 백업과 복구
    • 개념
      • 공격 및 중단 사태에 대비하여 복구를 진행할 수 있도록 데이터를 주기적으로 복사하는 것
      • 복구 시간 목표(RTO)와 복구 시점 목표(RPO)를 충족하기 위한 다양한 방법이 있다.
    • 재난 복구 전략 시 지표
      • RP(Recovery Period): 실제 업무 기능 복구까지 걸린 시간
      • RTO(Recovery Time Objective): 업무 중단 시점부터 복구되어 가동될 때까지 시간 목표
        • 즉 허용 가능 시간
      • RPO(Recovery Point Objective): 데이터 손실을 감당할 수 있는 데이터 양
      • MTD(Maximum Tolerable Downtime): 장애 시 업무 정지 상태를 허용하는 최대 시간
    • 백업과 복구를 위한 전략
      • 풀-이미지 백업: 사용자가 적은 시간 모든 데이터를 백업
      • 차등 백업: 마지막 풀-이미지 백업 이후부터 발생한 모든 변경 사항을 백업
        • 일요일 풀 백업 했다면, 화요일에는 일요일~화요일까지의 변경된 데이터 백업
      • 증분 백업: 마지막 풀-이미지 백업 이후부터 발생한 사항을 점차적으로 백업
        • 일요일 풀 백업 후, 화요일은 월요일부터 화요일까지 변경된 데이터만 백업
      • 실시간 백업
      • 합성 백업: 기존의 전체 백업본과 증분 백업을 합해서 새로운 전체 백업을 만드는 작업
        • 대충 전체 백업 후 증분 백업본과 merge 같은 느낌이려나?