본문 바로가기
정보처리기사

[정처기 실기] 4. 취약점 분석과 시스템 보안 구현 - 5과목 정보 보안

by 공불러 2024. 4. 11.
728x90
반응형

[정처기 실기] 4. 취약점 분석과 시스템 보안 구현 - 4과목 정보 보안

 

지난 시간에는 인증과 접근 통제에 대해 배웠습니다. 3A(인증, 검증(Authenticationm), 인가, 권한부여 (Authorization), 계정관리(Accounting)), 인증(지식,소유, 생체, 행위, 위치), 인증방식(SSO[단일로그인], Auth[개방형 표준 인증 프로토콜]), 접근통제(MAC, DAC, RBAC), 접근통제(벨라파듈라(no read up, no write down), 비바 모델(no read down, no write up)

 

이번 시간에는 시스템 아키텍처(F/W, L4, WAS , [DMZ구간] , Active Server, Stanby Server, File Server) 중 DMZ 구간에 대해 알아볼 예정입니다.

시험에 나올 부분이 크지 않지만, 살펴보고 지나갈만합니다. 시간이 많이 없으시면 Pass하셔도 좋습니다.

목차

    취약점 분석이란?

    취약점 분석(Vulnerability Analysis)은 컴퓨터 시스템, 네트워크, 소프트웨어 등에서 발생할 수 있는 보안 취약점을 식별하고 평가하는 과정입니다.

    이 과정은 시스템의 취약점을 이용하여 악의적인 공격자가 시스템을 침입하거나 손상시킬 수 있는 가능성을 최소화하기 위해 수행됩니다.

    보안 취약점(Vulnerability)

    보안 취약점(Vulnerability)은 컴퓨터 시스템, 네트워크, 소프트웨어 등에서 발견되는 보안 상의 결함이나 약점을 말합니다. 이러한 취약점은 악의적인 공격자들이 시스템에 침입하거나 데이터를 탈취하거나 손상시키는 데 이용될 수 있습니다.

    정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협을 말합니다. 중요데이터의 유출 변조 삭제에 대한 위협이 있을 수 있습니다.

    1. 소프트웨어 버그: 소프트웨어의 프로그래밍 오류로 인해 발생할 수 있습니다. 예를 들어, 버퍼 오버플로우, 인증 오류, 입력 검증 부족 등이 있습니다.
    2. 부적절한 보안 설정: 시스템이나 네트워크에서 보안 설정이 제대로 되어있지 않은 경우에 발생할 수 있습니다. 예를 들어, 기본 암호를 사용하거나 보안 업데이트를 누락하는 경우 등이 있습니다.
    3. 암호화의 부재: 데이터의 암호화가 충분하지 않은 경우에 발생할 수 있습니다. 암호화가 부재하거나 약한 암호화 알고리즘이 사용되는 경우에 보안 취약점이 발생할 수 있습니다.
    4. 신뢰할 수 없는 데이터 입력: 악의적인 사용자가 시스템에 입력한 데이터를 신뢰하지 않고 사용하는 경우에 발생할 수 있습니다. 이는 SQL 인젝션, 크로스 사이트 스크립팅(XSS) 등과 같은 공격으로 이어질 수 있습니다.

    보안 취약점 점검 분류

    1. 관리적 관점
      • 정보 보호 관리 체계 보안 통제에 근거 하여 취약점 점검
        • 운영적 취약성
        • 정보보호 관리 취약성
        • 인적 관리 취약성
      • 조직 내 보안 정책 및 절차의 적합성을 평가하는 것.
      • 보안 정책, 절차, 가이드라인 등을 검토하여 보안 관행을 준수하는지 확인.
      • ISMS(정보보호), PIMS(개인정보), ISMS-P
    2. 기술적 관점
      • 보안점검을 통한 취약점 점검
      • 기술적인 측면에서 시스템, 네트워크, 소프트웨어 등의 취약점을 식별하는 것.
      • 취약한 시스템 구성 요소, 프로그램 버전, 보안 설정 등을 분석하여 취약점을 발견.
      • 방화벽, IPS, IDS
      • 시큐어코딩(개발 관련)
    3. 물리적 관점
      • 실제 서버실의 물리적인 상황
      • 물리적 보안 관점에서 시설, 장비, 환경 등을 평가하는 것.
      • 물리적 보안 장치의 효율성, 액세스 제어 시스템, 카메라 및 감시 장치 등을 검토하여 보안 취약점을 확인.

     

    취약점 평가 수행 절차

    1. 준비 단계
      • 취약점 평가 목표 설정
      • 범위 및 접근 방법 결정
      • 평가 도구 및 자원 준비
    2. 정보 수집 단계
      • 시스템 및 네트워크 구성요소에 대한 정보 수집
      • 운영 체제, 서비스, 포트 및 버전 등을 스캔하여 취약점 탐지
    3. 취약점 분석 단계
      • 수집된 정보 분석 및 취약점 식별
      • 발견된 취약점의 심각도 및 위협 분석
    4. 보고서 작성 단계
      • 발견된 취약점과 그에 대한 대응책을 정리한 보고서 작성
      • 취약점의 심각도, 영향, 해결책 등을 상세히 기술

    보안 관제란?

    보안 관제(Security Operations Center, SOC)는 조직의 시스템과 네트워크를 24시간 365일 지속적으로 감시하고 보안 이상 징후를 탐지하며 대응하는 장소나 활동을 일컫습니다.

    주로 보안 전문가들이 모여 실시간으로 보안 위협을 분석하고 대응하기 위한 업무를 수행합니다. 보안 관제는 보안 사고 대응, 취약점 관리, 보안 이벤트 모니터링 등의 활동을 통해 조직의 보안을 유지하고 강화합니다.

    패킷을 관측하는 방식입니다. CERT팀이 대응하게 됩니다.

    통합로그 분석 장비

    장비 설명
    ESM
    (Enterprise Security Management)
    조직의 보안 이벤트 및 데이터를 통합하여 분석하고 관리하는 플랫폼. 보안 정책 적용, 위험 관리, 보안 이벤트 감지 등을 수행함.

    로그 대시보드
    SOAR
    (Security Orchestration, Automation, and Response)
    보안 이벤트를 자동화된 프로세스로 조율하고 대응하기 위한 플랫폼. 보안 이벤트 처리를 자동화하여 대응 시간을 단축하고 효율성을 높임.
    SIEM
    (Security Information and Event Management)
    보안 이벤트 및 데이터를 수집, 분석하여 보안 위협을 탐지하고 관리하는 플랫폼. 이상 징후 탐지, 로그 관리, 보고서 생성 등을 제공함.

    로그 빅데이터 대시보드

     

    보안 운영체제(Secure-OS), 신뢰성 운영체제(Trusted OS)

    보안 운영체제란?

    보안 운영체제(Secure Operating System)는 일반적인 운영체제와 비슷하게 동작하지만, 보안 기능이 강화되어 있어 보안을 보다 우선시하는 운영체제를 말합니다.

    이러한 운영체제는 기밀성, 무결성, 가용성 등의 보안 속성을 강화하고, 악의적인 공격이나 외부 침입으로부터 시스템을 보호하는 데 중점을 둡니다.

    커널에 보안을 추가한 것입니다.

    • 접근 제어 강화: 사용자와 프로세스의 권한을 엄격히 제어하여 불필요한 권한 부여를 방지하고, 최소 권한 원칙을 적용합니다.
    • 강력한 암호화: 데이터와 통신을 안전하게 보호하기 위해 강력한 암호화 알고리즘과 보안 프로토콜을 제공합니다.
    • 인증 및 권한 관리: 사용자의 신원을 확인하고 인증하는 메커니즘을 제공하며, 권한 부여 및 권한 관리를 체계적으로 수행합니다.
    • 안전한 네트워킹: 네트워크 트래픽을 모니터링하고 분석하여 침입 감지 및 방어 기능을 제공하여 네트워크 보안을 강화합니다.
    • 시스템 감사 및 모니터링: 시스템의 활동을 감시하고 이상 징후를 탐지하여 보안 사건을 신속하게 대응합니다.
    • 안전한 실행 환경: 프로세스 간 격리, 메모리 보호 기법 등을 통해 프로그램 실행 환경을 안전하게 유지합니다.
    • 보안 업데이트 및 패치 관리: 보안 취약점에 대한 업데이트와 패치를 시스템에 적용하여 최신 보안 상태를 유지합니다.

    보안 운영체제 목적

    • 안정성 (Reliability)
      • 시스템의 안정성을 유지하여 시스템이 예기치 않게 중단되거나 오류가 발생하지 않도록 보장합니다. 이는 시스템이 항상 정상적으로 작동하여 중요한 작업을 수행할 수 있음을 의미합니다.
    • 신뢰성 (Dependability)
      • 시스템의 신뢰성을 보장하여 사용자가 시스템에 대한 믿음을 갖도록 합니다. 이는 시스템이 예측 가능하게 동작하고, 사용자의 요구사항을 신뢰할 수 있게 만듭니다.
    • 보안성 (Security)
      • 시스템의 보안을 강화하여 외부 공격, 내부 위협, 데이터 유출 등으로부터 시스템을 보호합니다. 이는 기밀성, 무결성, 가용성 등의 보안 속성을 유지하여 시스템과 데이터를 안전하게 보호하는 것을 의미합니다.

    보안 운영체제 기능

    • 접근 제어 (Access Control)
      • 사용자 및 프로세스의 권한을 관리하고, 불필요한 권한 부여를 방지하여 시스템 자원에 대한 안전한 접근을 보장합니다.
    • 인증 및 권한 관리 (Authentication and Authorization)
      • 용자의 신원을 확인하고, 권한 부여를 통해 사용자가 수행할 수 있는 작업을 제어합니다.
    • 암호화 (Encryption)
      • 데이터의 기밀성을 보호하기 위해 암호화 기술을 제공하여 데이터를 안전하게 전송하고 저장합니다.
    • 감사 및 모니터링 (Auditing and Monitoring)
      • 시스템 및 사용자의 활동을 감시하고, 이상 징후를 탐지하여 보안 사건에 대응합니다.
    • 가상화 및 격리 (Virtualization and Isolation)
      • 가상화 기술을 활용하여 시스템 자원을 격리하고, 프로세스 간의 상호 작용을 제한하여 보안을 강화합니다.
    • 안전한 실행 환경 (Secure Execution Environment)
      • 프로세스 및 애플리케이션 실행 환경을 보호하여 악성 코드의 실행을 방지하고, 시스템의 무결성을 유지합니다.
    • 보안 업데이트 및 패치 관리 (Security Updates and Patch Management)
      • 보안 취약점에 대한 업데이트와 패치를 적용하여 시스템의 보안 상태를 유지하고 개선합니다.

    보안 솔루션

    보안 솔루션 설명
    방화벽(Firewall) 네트워크 내부의 트래픽을 제어하고, 외부로부터의 침입을 차단하는 보안 시스템입니다.
    웹 방화벽(Web Firewall)
    WAF
    웹 서버로 들어오는 공격을 탐지하고 차단하는 보안 시스템입니다.
    SQL 삽입 공격, XSS 방어
    Webknight, ModSecurity
    침입 탐지 시스템( IDS,
    Intrusion Detection System)
    네트워크 내부에서 발생하는 침입을 탐지하고, 이를 관리자에게 알리는 시스템입니다.

    오용탐지 : 미리 입력해둔 공격패턴 감지
    이상탐지 : 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원자용을 감지
    오탐지는 이상탐지가 높음

    대상자 분류
    네트워크 기반(NIDS) : 패킷 확인
    호스트기반(HISD) : 로그 분석
    침입 방지 시스템( IPS
    Intrusion Prevention System, )
    침입 탐지 시스템과 달리, 침입을 탐지하고 실시간으로 차단하는 시스템입니다.

    방화벽+IDS
    데이터 유출 방지( DLP
    Data Loss Prevention, )
    기업 내부에서 생성된 데이터가 외부로 유출되는 것을 방지하는 시스템입니다.
    가상 사설 통신망( VPN,
    Virtual Private Network)
    공중 네트워크를 사용하여 전용 회선처럼 통신하는 보안 솔루션
    NAC(Network Access Control) 기업 내부의 네트워크에 접속하는 사용자의 신원과 보안 상태를 확인하고, 접속을 허용하거나 차단하는 시스템입니다.

    네트워크 접근 통제
    ESM
    (Enterprise Security Management)
    기업 내부의 보안 시스템을 통합적으로 관리하는 시스템입니다.

    로그 및 이벤트 관리
    SIEM
    (Security Information and Event Management)
    기업 내부에서 발생하는 보안 이벤트를 수집하고 분석하여, 보안 위협을 탐지하고 대응하는 시스템입니다.

    빅데이터 수준의 로그 및 이벤트 관리
    SOAR
    (Security Orchestration, Automation and Response)
    보안 위협에 대한 대응을 자동화하고, 보안 운영을 효율적으로 수행하는 시스템입니다.

    보안 오케스트레이션
    샌드박스(Sandbox) 악성 코드를 분석하기 위해 가상의 환경에서 실행하는 시스템입니다.

    응용프로그램이 가상환경에서 독립적으로 실행될 수 있도록하여 보안을 강화
    FDS
    (Fraud Detection System)
    금융 거래에서 발생하는 이상 징후를 탐지하고, 이를 차단하는 시스템입니다.

    전자금융거래
    프록시 서버
    (Proxy Server)
    클라이언트와 서버 사이에서 중개 역할을 수행(대리자)하여, 클라이언트의 요청을 서버로 전달하고, 서버의 응답을 클라이언트에게 전달하는 시스템입니다.


    방화벽이란?

    방화벽(Firewall)이란 네트워크 간의 통신을 통제하고 보안을 제공하는 시스템입니다.

     

    1.침입 차단: 외부에서 내부 네트워크로 침입하려는 시도를 차단합니다. 이를 위해 IP 주소, 포트 번호, 프로토콜 등을 검사하여 허용된 트래픽만 통과시킵니다.

    2.접근 제어: 내부 네트워크에 있는 자원에 대한 접근을 제어합니다. 이를 위해 사용자 인증, 권한 부여 등의 절차를 수행합니다.

    3.트래픽 모니터링: 네트워크 내부에서 발생하는 트래픽을 모니터링합니다. 이를 통해 보안 위협을 탐지하고, 대응할 수 있습니다.

    4.보안 정책 수립: 보안 정책을 수립하여 방화벽의 동작을 제어합니다. 보안 정책은 네트워크의 보안 수준과 사용자의 요구에 따라 다르게 설정됩니다.

    DMZ 구간이란?

    DMZ(Demilitarized Zone) 구간은 내부 네트워크와 외부 네트워크의 중간 지대로, 외부에서 접근이 필요한 서버들을 DMZ에 두어 내부 네트워크를 보호하는 방식입니다.

    DMZ 구간에서는 외부 네트워크와 내부 네트워크 간의 통신이 가능하지만, 내부 네트워크의 자원에 대한 직접적인 접근은 불가능합니다.

    외부에서 사용할 수 있게 하는 일부 서비스(웹, 메일 등)를 구분하는 구간

    구현 방식에 따른 유형 

    • 패킷 필터링
      • 네크워크 계층과 전송 계층
      • 패킷의 헤더 정보만 보고 통과 여부를 판단하는 가장 기본적인 방화벽 유형입니다.
      • 비교적 간단하고 빠른 처리 속도를 가지고 있지만, 패킷의 내용을 검사하지 않기 때문에 보안성이 다소 떨어질 수 있습니다.
    • 애플리케이션 게이트웨이
      • 응용계층
      • 애플리케이션 계층에서 패킷 내용을 분석하여 통과 여부를 결정합니다.
      • 패킷 필터링 방식보다 더 높은 보안성을 제공하지만, 처리 속도가 느릴 수 있습니다.
    • 회선 게이트웨이
      • 응용, 세션 계층 
      • 회선 계층의 정보를 이용하여 필터링을 수행합니다.
      • 패킷 필터링 방식과 애플리케이션 게이트웨이 방식의 장점을 결합한 것으로, 높은 보안성과 빠른 처리 속도를 동시에 제공합니다.
    • 상태 기반 패킷 검사
      • OSI 모든 영역
      • 패킷의 상태 정보를 저장하고 추적하여 보다 정교한 필터링을 수행합니다.
      • 이 방식은 패킷 필터링 방식과 애플리케이션 게이트웨이 방식보다 더 높은 보안성을 제공하지만, 처리 속도가 느릴 수 있습니다.
    • 혼합형 타입
      • 여러 유형의 방화벽 기능을 조합하여 사용합니다.
      • 다양한 보안 요구사항을 충족시킬 수 있지만, 복잡성이 증가할 수 있습니다.

    방화벽 구축 유형

    • 스크리닝 라우터
      • IP,TCP, UDP 헤더 분석을 통해 동작
      • 내부/외부 패킷을 확인
      • 라우터에 기본 방화벽 기능을 추가한 형태입니다. 이 방식은 비교적 간단하고 구축 비용이 저렴하지만, 보안성이 다소 떨어질 수 있습니다.
    • 베스천 호스트(Bastion Host)
      • 내부 네트워크 보호를 위한 전담 호스트
      • 접근제어, 프록시 기능, 인증, 로깅
      • 안정성이 높음
      • 중앙 집중식 방화벽 서버를 두고 내부 호스트의 통신을 통제합니다.
      • 보안성이 높지만, 구축 비용이 많이 들고 관리가 복잡할 수 있습니다.
    • 듀얼 홈드 호스트
      • 2개의 네트워크 인터페이스를 갖춘 호스트
      • NIC 두개를 내부, 외부로 연결하는 것
      • DMZ와 내부 네트워크를 구분 짓고 각 영역의 중앙 방화벽 서버를 둡니다.
      • 보안성이 높고 관리가 비교적 쉽지만, 구축 비용이 많이 들 수 있습니다.
    • 스크린드 호스트
      • 호스트 별로 개인용 방화벽을 설치하여 운영합니다.
      • 구축 비용이 저렴하고 관리가 쉽지만, 보안성이 다소 떨어질 수 있습니다.
    • 스크린드 서브넷
      • 패킷 필터 + 베스턴 호스트
      • 서브넷 별 방화벽을 설치하여 네트워크를 세분화하여 관리합니다.
      • 보안성이 높고 관리가 비교적 쉽지만, 구축 비용이 많이 들 수 있습니다.

     

    보안 프로토콜

    보안 프로토콜 종류 설명
    SSH(Secure Shell) 네트워크 프로토콜로서, 암호화된 원격 접속 세션을 제공합니다. 리눅스/유닉스 시스템의 원격 관리에 주로 사용됩니다.
    SSL(Secure Sockets Layer) 응용 계층의 프로토콜로서, 암호화된 네트워크 통신 채널을 제공합니다. 웹 사이트의 보안 HTTPS 접속에서 사용됩니다.
    TLS(Transport Layer Security) SSL 프로토콜의 개선판으로, 보다 강력한 암호화 알고리즘을 사용합니다. 현재 대부분의 웹 사이트에서 SSL을 대체하고 있습니다.
    IPSec(Internet Protocol Security) 네트워크 계층의 프로토콜로서, IP 패킷 단위로 암호화와 인증을 제공합니다. VPN 통신에서 사용됩니다.
    S-HTTP(Secure Hypertext Transfer Protocol) HTTP 프로토콜에 보안 기능을 추가한 프로토콜입니다. TLS/SSL에 밀려 사용이 감소했습니다.
    RedSec 국내에서 개발한 보안 프로토콜로서, 기존 프로토콜의 약점 보완을 목표로 합니다.

    SSH (Secure Shell) - 22

    SSH는 원격 시스템에 안전하게 접속하기 위한 프로토콜입니다. SSH를 사용하면 네트워크를 통해 안전하게 데이터를 전송하고 원격 시스템에 로그인할 수 있습니다. 주로 리눅스 및 유닉스 시스템에서 사용됩니다.

    기존의 텔넷(Telnet, 23)대신 사용되며, 암호화를 제공해 보안성을 강화

    IP Spoofing, DNS Spoofing 공격으로 부터 보호

     

    컴퓨터와 컴퓨터가 서로 통신할 때, 중간에서 데이터를 가로채거나 변조하는 것을 방지하는 역할

    SSL (Secure Sockets Layer) - 443

    SSL은 웹에서 데이터를 안전하게 전송하기 위한 프로토콜입니다.

    웹 브라우저와 서버 간의 통신(HHTP, 80)에서 데이터를 암호화하고 인증하는 데 사용됩니다. 최신 버전인 TLS로 대체되었습니다.

     

    인터넷을 통해 데이터를 주고받을 때, 암호화된 방식으로 데이터를 전송하여 보안성을 강화하는 역할

    TLS (Transport Layer Security)

    TLS는 SSL의 후속 버전으로, 안전한 통신을 위해 사용됩니다. TLS는 웹 브라우저와 서버 간의 데이터를 암호화하고 인증하기 위해 사용됩니다. 현재 대부분의 웹 사이트에서 TLS를 사용하여 보안을 유지합니다.

    전송계층에서 사용합니다.

     

    데이터 암호화, 서버 인증, 클라이언트 인증, 메시지 인증, 무결성 등을 제공하여 안전한 통신을 보장

    IPSec (Internet Protocol Security)

     IPSec는 네트워크 통신에서 사용되는 보안 프로토콜 중 하나로, IP 패킷의 보안을 제공하기 위해 설계되었습니다. 주로 가상 사설망(VPN), 원격 액세스 및 사이트 간 보안 통신에 사용됩니다.

    네트워크 계층을 안전하게 IP가 네트워크 계층이기 때문입니다.

    패킷에 대한 보안을 제공합니다.

     

    데이터 암호화, 인증, 무결성 등을 제공하여 안전한 통신을 보장

     

    동작 모드

    • 전송 모드 (Transport Mode)전송 모드
      • IP 데이터그램의 페이로드(payload)만을 보호합니다.
      • 페이로드(payload)에 대한 암호화와 인증이 수행되며, IP 헤더는 변경되지 않습니다.
      • 그러므로, 트래픽 경로는 노출
    • 터널 모드 (Tunnel Mode)
      • 터널 모드에서는 전체 IP 패킷을 보호합니다.
      • IP 헤더와 페이로드 모두를 암호화하고, 보호합니다. 일반적으로 VPN에서 사용됩니다.

    프로토콜

    • AH (Authentication Header)
      • AH는 IP 데이터그램의 인증과 무결성을 보장하기 위해 사용됩니다.
      • 데이터 변조나 변경 여부를 확인하는 데 사용됩니다.
      • 무결성(Data Integrity), 인증(authentication)
    • ESP (Encapsulating Security Payload)
      • ESP는 IP 데이터그램의 기밀성과 무결성을 보호하기 위해 사용됩니다.
      • 페이로드의 암호화와 선택적으로 인증이 가능합니다.
      • 무결성(Data Integrity), 인증(authentication), 기밀성(Confidentiality)
      • IKE(키교환)
        • IKE (Internet Key Exchange): IKE는 IPSec 터널을 설정하고 관리하기 위한 프로토콜입니다. 보안 협상을 수행하고 키 교환을 위한 프로토콜을 정의합니다. IKE는 키를 교환하고 보안 매개 변수를 협상하기 위해 사용됩니다.

    S-HTTP (Secure Hypertext Transfer Protocol)

    S-HTTP는 웹에서 데이터를 안전하게 전송하기 위한 프로토콜입니다.

    SSL과 마찬가지로 데이터를 암호화하고 인증하는 데 사용됩니다. 그러나 SSL과 달리 S-HTTP는 전체 페이지가 아닌 개별 메시지를 보호합니다.

     

    SSL - 통째, S-HTTP-블록

    HTTP 메시지를 암호화하고, 메시지 인증과 무결성을 제공

    RedSec

    RADIUS 데이터를 전송 제어 프로토콜(TCP)나 전송 계층 보안(TLS)를 이용하여 전송하기 위한 프로토콜

    고가용성 (HA, High Availability)

    고가용성은 시스템이 지속적으로 작동할 수 있는 능력을 의미합니다.

    시스템에 장애가 발생했을 때에도 서비스를 계속할 수 있으며, 사용자에게 거의 또는 전혀 중단되지 않는 서비스를 제공합니다.

     

    서비스 중단 시간을 최소화

    중복성을 통해 실현

     

    시스템이 고장나거나 오류가 발생하더라도, 서비스가 중단되지 않고 계속해서 제공

    728x90
    반응형

    댓글