Part 9. 소프트웨어 개발 보안 (보안 구현)

Codren·2021년 4월 11일

정보처리기사 실기 Part 9. 소프트웨어 개발 보안 (보안 설계)


Section 1. 암호화 알고리즘

1. 시큐어 코딩

  • " 보안 취약점을 참고하여 KISA에서 발표한 보안 약점 가이드로써 보안에 안전할 수 있는 프로그램 코드를 적용하여 프로그램을 코딩하는 것을 의미함 "



2. 대칭키(비밀키) 암호화 기법

  • 동일한 키로 암호화 및 복호화
  • 암호화 및 복호화 속도가 빠름
  • 키 분배의 어려움
  • 스트림 방식과 블록 방식으로 나뉨
  • DES, AES(블록 방식, 블록크기 128bit, SPN), SEED, ARIA, IDEA



3. 비대칭키(공개키) 암호화 기법

  • 공개키로 암호화, 개인키로 복호화
  • 속도가 느리고 알고리즘이 복잡
  • 키 분배의 용이
  • RSA, ElGamal, ECC



4. 해시 (Hash)

  • " 가변길이의 평문을 고정길이의 출력값(암호문)으로 변환하는 기법 "
  • SHA, MD5, HAS-160



Section 2. 서비스 공격 유형

1. DoS

  • " 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 가용성을 침해(위협)하는 공격 방법 "

    ① Smurf - IP Spoofing + BroadCasting + ICMP 응답 패킷
    ② TCP SYN Flooding - SYN을 보낸후 ACK + SYN 응답 무시
    ③ UDP Flooding - 대량의 UDP 패킷
    ④ Ping Flooding - 대량의 Ping Test
    ⑤ Ping of Death - 비정상적인(대용량의) ICMP 패킷
    ⑥ Teardrop - 패킷 재조합 문제를 일으키기 위한 오프셋 및 순서 조작
    ⑦ LAND Attack - 출발지와 목적지 주소를 공격대상의 주소로 동일하게 함



2. DDoS

  • 여러 공격자를 분산 배치하여 동시에 DoS 공격 "
  • 좀비 PC로 구성된 네트워크 Botnet
  • Trinoo, TFN, Stacheldraft



3. 여러 공격

    ① Phishing - 가짜 웹사이트, 메일로 위장하여 정보를 빼냄
    ② Pharming - 합법적 도메인을 탈취하여 정보 빼냄
    ③ Sniffing - 송수신 중 인터페이스 데이터 내용을 훔쳐보는 기밀성 침해 기법
    ④ Smishing - 수신한 메시지(초대장 등) SMS 문자 메시지 클릭하면 악성코드 설치 (사회공학적공격)
    ⑤ Qshing - QR코드를 통해 악성 앱 다운
    ⑥ Ransomware - 컴퓨터에 침입해 내부 문서 파일 등을 암호화해 금전을 요구
    ⑦ Key Logger Attack - 사용자의 키보드 움직임을 탐지해 개인 정보 추출
    ⑧ SQL Injection - 입력폼 및 URL 입력란에 SQL문을 삽입하여 DB 정보를 열람하거나 조작
    ⑨ XSS - 검증되지 않은 외부 입력값에 의해 사용자 브라우저에서 악의적인 스크립트가 실행
    ⑩ Brute Force Attack - 범위 내에서 생성 가능한 모든 패스워드 입력 시도
    ⑪ Spear Phishing - 특정 대상을 선정한 후 메일의 링크나 파일 클릭을 유도 (사회공학기법)
    ⑫ APT - 장기간의 접근을 위해 지속해서 수행되는 공격, 타겟 설정
    ⑬ Zero Day - 알려지지 않은 취약점 및 탐지되지 않는 악성코드 등을 감염
    ⑭ Back Door - 허가되지 않는 접근을 할 수 있도록 정상적인 보안 절차를 우회 (tripwire 도구로 분석)
    ⑮ Rainbow Table Attack - 패스워드별로 해시값을 미리 생성해 놓은 테이블을 이용
    ⑯ CRSF - 사용자의 의지와 상관없이 공격자의 의도대로 행위를 하게 만드는 공격




Section 3. 서버 인증

1. 사용자 인증 기법

    ① 지식 기반 인증
    ② 소유 기반 인증
    ③ 생체 기반 인증



2. 접근 통제 3요소

    ① 식별 - ID
    ② 인증 (Authentication) - PW
    ③ 인가 (Authorization) - 로그인 후 권한 부여



3. 접근 통제(제어) 방식

    ① 임의적 접근 통제 (DAC) - 자원 소유자가 임의로 권한을 통제하는 주체가 됨
    ② 강제적 접근 통제 (MAC) - 보안 레이블에 따라 중앙 집중 방식의 접근 통제
    ③ 역할 기반 접근 통제 (RBAC) - 역할에 따라 접근 권한 통제 (Authorization creep 방지)




Section 4. 보안 아키텍처 및 솔루션

1. 보안 아키텍처

  • " 보안 요구사항을 충족시키는 시스템 구성 방법에 대한 세부사항 "



2. 보안 프레임워크

  • " 정보의 기밀성, 무결성, 가용성을 위해 정보 보안 시스템의 기본이 되는 틀, 뼈대 "



3. ISO 27001 (ISMS)

  • " 정보보호 관리체계에 대해 국제 인증 시 요구사항을 정의 "
  • 보안조직 - 내부조직 / 외부조직
  • 인적 자원 보안 - 고용 이전 / 고용 중 / 고용 종료 및 변경



4. 보안 솔루션 및 장비

    ① 방화벽 (Firewall) - 침입 차단 시스템, 내부 네트워크와 외부 네트워크 사이에 존재
    ② 웹 방화벽 (Web Firewall) - 클라이언트가 보낸 요청을 검사하여 침입을 검사 및 차단, URL 단위 탐지
    ③ IDS - 침입 탐지 시스템(오용탐지 : 알려진 공격 패턴, 이상탐지 : 올바른 사용자 행동 패턴)
    ④ IPS - 침입 방지 시스템 (Firewall + IDS)
    ⑤ DMZ - 보안 조치가 취해진 네트워크 영역, 내부 방화벽과 외부 방화벽 사이에 존재
    ⑥ NAC - 네트워크에 접근하기 전에 보안 정책 준수 여부 검사
    ⑦ DLP - 기업 데이터 유출을 방지
    ⑧ ESM - 보안 솔루션을 하나로 통합한 보안 관리 시스템, 서로 다른 장비 로그 통합 기록 및 관리
    ⑨ VPN - 공용 네트워크를 사설 네트워크로 구성하는 기술 (물리적 - 공용, 논리적 - 사설)

0개의 댓글