5. 정보 시스템 구축 관리 - 시스템 보안 구축(서비스 공격 유형 ~ 취약점 분석 및 평가)

200. 서비스 공격 유형

1) 서비스 거부 공격 (DoS; Denial of Service)

: 표적이 되는 서버의 자원을 고갈시키고자 다수의 공격자나 시스템에서 대량의 데이터를 집중적으로 전송하여 서버의 정상 기능을 방해하는 공격 방식

 

- 서비스 거부 공격의 유형

1. Ping of Death

: 인터넷 프로토콜의 허용 범위(65,536 Byte)를 넘는 크기의 패킷을 Ping 명령으로 전송하여 대상의 네트워크를 마비시키는 공격

  • 공격에 사용되는 큰 패킷은 수백 개의 패킷으로 분할되어 전송
  • 공격 대상은 분할 전달된 패킷을 재조립하는 부담과 각 패킷들의 ICMP Ping 메시지에 응답 처리로 인해 시스템 다운
    • ICMP Ping : 특정 IP로 패킷이 전송될 때 해당 IP의 노드가 현재 운영 중인지 확인을 요청하는 메시지
  • ex) jolt, sPING, ICMP bug, IceNewk

=> ICMP Ping 메시지가 전송되지 않도록 방화벽에서 차단하는 기술 개발

 

2. SMURFING

: IP나 ICMP의 특성을 악용해 대량의 데이터를 한 사이트에 집중적으로 전송해 네트워크를 불능 상태로 만드는 공격

  • 공격자는 송신 주소를 공격 대상지의 IP주소로 위장한 후, 해당 네트워크 라우터의 브로드캐스트 주소에 패킷을 전송
  • 해당 네트워크 내에 모든 컴퓨터는 수신된 패킷에 대한 응답 메시지를 송신 주소인 공격 대상지로 전송하고 이것이 네트워크 과부하를 유발

=> 각 네트워크 라우터에서 브로드캐스트 주소를 사용할 수 없도록 미리 설정

 

3. SYN Flooding

: 공격자가 가상의 클라이언트로 위장하여 TCP 전송의 3-way-handshake의 과정을 의도적으로 중단하여 서버가 대기 상태에서 시스템 자원을 낭비하도록 하는 공격

TCP 전송에서의 신뢰성 있는 전송을 위한 3 way handshake 방식

  • 공격자는 사용 불가능한 IP주소를 이용해 가상의 클라이언트로 위장하고 공격 대상 서버로 'SYN' 신호를 전송
  • 서버는 'SYN'에 대한 응답으로 'SYN, ACK'를 가상의 클라이언트로 보내고, 클라이언트 접속을 받아들이기 위한 메모리 공간 확보
  • 사용 불가능한 주소로 보내진 서버의 'SYN, ACK' 신호에 응답이 없으므로, 서버는 메모리 공간을 할당한 상태에서 대기
  • 공격자는 이를 반복하여 서버의 메모리 공간 고갈을 유도

=> 수신지의 'SYN' 수신 대기 시간을 줄이거나 침입 차단 시스템 활용

 

4. TearDrop

: 분할된 패킷의 순서를 알 수 있는 Fragment Offset 값을 변경하여 수신 측에서 패킷 재조립 시 오류가 발생하여 과부하가 일어나도록 유도하는 공격

 

=> Fragment Offset 값이 잘못된 경우 해당 패킷을 폐기하도록 설정

 

5. LAND

: 패킷 전송 시 송신 주소와 수신 주소를 모두 공격 대상지의 IP주소로 하여 전송함으로써 공격 대상이 자신에 대해 무한히 응답하게 만드는 공격

 

=> 송신 IP와 수신 IP의 주소 적절성을 검사

 

6. DDoS (Distributed Denial of Service, 분산 서비스 거부)

: 여러 곳에 분산된 공격 지점에서 한 곳의 서버에게 분산 서비스 공격을 수행하는 것

  • 네트워크 상에서 취약점이 있는 호스트들에 분산 서비스 공격용 툴을 설치해 에이전트로 만든 후 DDOS 공격에 이용
    • 분산 서비스 공격용 툴 : 호스트가 에이전트 역할을 수행하도록 설계된 데몬 ex) Trin00, TFN, TFN2K, Stacheldraht
  • 공격 범위를 확대하기 위해 일부 호스트는 핸들러 프로그램을 설치해 마스터로 지정하여 공격에 이용
    • 핸들러 프로그램 : 다수의 에이전트를 관리하는 마스터 역할을 수행하도록 설계된 프로그램

 

2) 네트워크 침해 관련 용어

  • 피싱 (Phising) : 이메일이나 메신저 등을 이용해 개인 정보를 탈취하는 수법
  • 스미싱 (Smishing) : 문자메시지(SMS)를 이용해 사용자의 개인 신용 정보를 빼내는 수법
  • 스피어 피싱 (Spear Phising) : 특정 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송해 사용자의 개인 정보를 탈취하는 수법
  • APT (Advanced Persistent Threats, 지능형 지속 위협) : 다양한 IT 기술과 방식을 이용해 조직적으로 특정 기업이나 네트워크에 침투하여 장기간에 걸쳐 보안 무력화와 정보 탈취를 노리는 수법
    • 공격 대상 조직의 내부자에게 악성코드가 포함된 이메일을 꾸준히 발송
    • 악성코드가 담긴 USB 디스크 등으로 전파
    • 악성코드에 감염된 P2P 사이트에 접속하도록하도록 유도
  • 무작위 대입 공격 (Brute Force Attack) : 암호화된 문서의 암호키를 찾기 위해 적용 가능한 모든 값을 대입하는 수법
  • 큐싱 (Qshing) : QR 코드를 이용해 악성 앱이나 프로그램의 설치를 유도하는 수법
  • Ping Flood : 특정 사이트에 다량의 ICMP 메시지를 보내 해당 사이트가 응답에 시스템 자원을 모두 쓰도록 유도하는 수법
  • Evil Twin Attack : 실제 존재하는 WIFI 신호를 사칭하는 WIFI 신호를 통해 로그온한 사람들의 정보를 탈취하는 수법

 

3) 정보 보안 침해 공격 관련 용어

  • 좀비 PC : 악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터, 주로 DDoS 공격에 이용됨
  • C&C (Command & Control) 서버 : 해커가 원격지에서 좀비 PC에 명령을 내리고 악성코드를 제어하기 위해 사용하는 서버
  • 봇넷 (Botnet) : 악성 프로그램에 감염되어 악의적 의도로 사용되는 컴퓨터들이 네트워크로 연결된 형태
  • 웜(Worm) : 네트워크를 통해 연속적으로 자신을 복제해 시스템 부하를 높여 시스템을 다운시키는 바이러스
  • 제로 데이 공격 (Zero Day Attack) : 보안 취약점이 발견되었을 때, 발견된 취약점이 알려지기 전에 신속하게 해당 취약점을 이용해 수행하는 보안 공격
  • 키로거 공격 (Key Logger Attack) : 컴퓨터 사용자의 키보드 움직임을 탐지해 중요 정보를 탈취하는 공격
  • 랜섬웨어 (Ransomware) : 컴퓨터의 잠입해 내부 문서나 파일 등을 암호화하여 사용자가 열지못하도록 하며 금품을 요구하는 해킹 프로그램
  • 백도어 (Back door, Trap door) : 시스템 설계자가 접근 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로
    • 백도어를 발견한 공격자는 이를 컴퓨터 범죄에 악용
    • 백도어 탐지 방법 : 무결성 검사, 열린 포트 확인, 로그 분석 SetUID 파일 검사
  • 트로이 목마 (Trojan Horse) : 정상 프로그램으로 위장하여 공격 대상 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 악성 프로그램

201. 서버 인증

1) 보안 서버

: 인터넷을 통해 개인정보를 암호화하여 송신, 수신할 수 있는 기능을 갖춘 서버

  • 보안 서버의 필요 기준 (by '개인정보의 기술적, 관리적 보호조치 기준')
    • 서버에 SSL(Secure Socket Layer) 인증서를 설치하여 전송 정보를 암호화해 송신, 수신하는 기능
    • 서버에 암호화 응용 프로그램을 설치하여 전송 정보를 암호화해 송신, 수신하는 기능
  • 여러 보안 공격에 대비하기 위해 보안 서버 구축이 필요

 

2) 인증 (Authentication)

: 다중 사용자 컴퓨터 시스템 또는 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차

  • 네트워크를 통해 접속하는 사용자의 등록 여부 확인
  • 전송된 메시지의 위조, 변조 여부 확인

 

- 인증의 주요 유형

1. 지식 기반 인증 (Something you know)
: 사용자가 기억하는 정보를 기반으로 인증을 수행하는 것

  • 사용자의 기억을 기반으로 하여 관리 비용이 저렴
  • 사용자가 해당 정보를 기억하지 못하면 본인이라도 인증 불가
  • ex) 고정된 패스워드 이용, 패스 프레이즈(Passphrase) 이용, 아이핀 이용, etc.

 

2. 소유 기반 인증 (Something you have)

: 사용자가 소유하는 것을 기반으로 인증을 수행하는 것

  • ex) 신분증, 메모리 카드(토큰), 스마트 카드, OTP (One Time Password), etc.

 

3. 생체 기반 인증 (Something you are)

: 사용자의 고유한 생체 정보를 기반으로 인증을 수행하는 것

  • 사용이 쉽고 도난의 위험이 적으며, 위조가 어려움
  • ex) 지문, 홍채/망막, 얼굴, 음성, 정맥, etc.

 

4. 행위 기반 인증 (Something you do)

: 사용자의 행동 정보를 기반으로 인증을 수행하는 것

  • ex) 서명, 동작, etc.

 

5. 위치 기반 인증 (Somewhere you are)

: 사용자가 인증을 시도하는 위치 정보를 기반으로 인증을 수행하는 것

  • ex) 콜백, GPS나 IP 주소를 이용한 위치 인증, etc.

202. 보안 아키텍처 / 보안 프레임워크

1) 보안 아키텍처 (Security Architecture)

: 정보 시스템의 무결성, 가용성, 기밀성을 확보하기 위해 보안 요소 및 보안 체계를 식별하고 이들 간 관계를 정의한 구조

  • 효과
    • 관리적, 물리적, 기술적 보안 개념의 수립
    • 보안 관리 능력 향상
    • 일관된 보안 수준 유지
  • 보안 아키텍처는 보안 수준에 변화가 생겨도 기본 보안 아키텍처의 수정 없이 이를 지원
  • 보안 아키텍처는 보안 요구 사항의 변화나 추가를 수용

 

- ITU-T X.805의 보안 표준 기반 보안 아키텍처 모델

  • 보안 계층 (Security Layers) : 인프라 시스템 / 응용 프로그램 / 데이터 / 단말기 / 인터페이스
  • 보안 영역 (Security Area) : 정보 시스템 / 제어 시스템 / 클라우드 / 무선 / IoT
  • 보안 요소 (Security Elements) : 인증 / 접근 통제 / 데이터 처리 보호 / 암호화 / 감사 추적 / 위협 탐지

 

2) 보안 프레임워크 (Security Framework)

: 안전한 정보 시스템 환경을 유지하고 보안 수준을 향상시키기 위한 체계

  • ISO 27001 : 정보보안 관리를 위한 국제 표준
    • 영국의 BSI(British Standars Institute)가 제정한 BS7799 기반
    • 조직에 대한 정보보안 관리 규격이 정의되어 있어 실제 심사/인증용으로 사용

203. 로그

: 시스템 사용에 대한 모든 내역을 기록해 놓은 것

  • 시스템 침해 사고 발생 시 로그 정보를 이용해 해킹 흔적이나 공격 기법을 파악
  • 로그 정보를 정기적으로 분석하여 시스템 침입 흔적이나 취약점 확인

 

1) 리눅스 로그

: 시스템의 모든 로그를 var/log 디렉토리에서 기록하고 관리

  • syslogd : 로그 파일을 관리하는 데몬, etc/syslog.conf 파일을 읽어 로그 관련 파일들의 위치를 파악해 로그 작업 수행
    • 데몬 (Daemon) : 사용자의 직접적 개입 없이 특정 상태가 되면 자동으로 동작하는 시스템 프로그램
  • syslog.conf 파일을 수정하여 로그 관련 파일들의 저장 위치와 파일명 변경

 

- 리눅스의 주요 로그 파일

 

 

2) 윈도우 로그

: 시스템의 로그를 이벤트 로그 형식으로 관리

  • Windows의 이벤트 뷰어를 이용해 이벤트 로그 확인

 

- Windows 이벤트 뷰어의 로그


204. 보안 솔루션

: 접근 통제, 침입 탐지 및 차단 등을 수행하여 외부로부터 불법적인 침입을 막는 기술 및 시스템

 

- 주요 보안 솔루션

1. 방화벽 (Firewall)

: 내부 네트워크와 인터넷 사이에서 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템

  • 외부로의 정보 유출을 막기 위해 사용
  • 내부 네트워크에서 외부로 나가는 패킷 -> 통과
  • 외부에서 내부 네트워크로 들어오는 패킷 -> 엄밀히 검사하여 인증된 패킷만 통과

 

2. 침입 탐지 시스템 (IDS; Intrusion Detection System)

: 컴퓨터 시스템의 오남용 등을 실시간으로 탐지하는 시스템

  • 방화벽 등의 침입 차단 시스템만으로는 내부 사용자의 불법적 행동과 외부 해킹에 완벽 대응이 불가
  • 문제 발생 시 모든 내부, 외부 정보의 흐름을 실시간으로 차단하기 위해 해커 침입 패턴에 대한 추적과 유해 정보 감시가 필요
  • 오용 탐지 (Misuse Detection) : 미리 입력해 둔 공격 패턴 감지
  • 이상 탐지 (Anomaly Detection) : 평균적 시스템 상태를 기준으로 비정상적인 행위나 자원 사용 감지

 

- 침입 탐지 시스템의 종류

  • HIDS (Host-Based Intrusion Detection) : 시스템의 내부를 감시하고 분석하는데 중점을 둔 IDS
    • 내부 시스템의 변화를 실시간으로 감시하여 누가 접근하여 어떤 작업을 수행했는지 기록 및 추적
    • ex) OSSEC, md5deep, AIDE, Samhain, etc.
  • NIDS (Network-Based Intrusion Detection) : 외부 침입을 감시하고 분석하는데 중점을 둔 IDS
    • 네트워크 트래픽을 감시하여 서비스 거부 공격, 포트 스캔 등의 악의적 시도를 탐지
    • ex) Snort, Zeek

 

- 침입 탐지 시스템의 위치

  • 패킷이 라우터로 들어오기 전 : 네트워크에 시도되는 모든 공격 탐지
  • 라우터 뒤 : 라우터의 패킷 필터링을 통과한 공격 탐지
  • 방화벽 뒤 : 내부에서 외부로 향하는 공격 탐지
  • 내부 네트워크 : 내부에서 내부 네트워크를 공격하는 해킹 탐지
  • DMZ : 외부 인터넷에 서비스를 제공하는 서버가 위치하는 네트워크에 위치하여 강력한 내외부 공격으로부터 중요 데이터 보호 및 서비스 중단 방지

 

3. 침입 방지 시스템 (IPS; Intrusion Prevention System)

: 방화벽과 침입 탐지 시스템을 결합한 형태

  • 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조취를 수행하는 솔루션
  • 침입 탐지 기능 -> 패킷을 하나씩 검사
  • 방화벽 -> 비정상적인 패킷이 감지되면 해당 패킷 차단

 

4. 데이터 유출 방지 (DLP; Data Leakage/Loss Prevention)

: 내부 정보의 외부 유출을 방지하는 시스템

  • 조직 내 PC와 네트워크 상 모든 정보를 검색하고 사용자 행위를 탐지 및 통제하여 외부로의 유출을 예방

 

5. 웹 방화벽 (Web Firewall)

: 일반 방화벽이 탐지하지 못하는 SQL 삽입 공격, XSS 등의 웹 기반 공격을 방어하기 위한 웹 서버 특화 방화벽

  • 웹 관련 공격을 감시하고 공격이 웹 서버에 도달하기 전에 차단

 

6. VPN (Virtual Private Network, 가상 사설 통신망)

: 통신 사업자의 공중 네트워크와 암호화 기술을 이용해 사용자가 자신의 전용 회선을 이용하는 효과를 내는 보안 솔루션

  • 암호화된 규격을 통해 전용 사설망을 구축한 것처럼 이용 -> 비용 부담 감소, 지역 제한 없이 업무 수행 가능

 

7. NAC (Network Access Control)

: 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록하여 일관된 보안 관리 기능을 제공하는 솔루션

  • 내부 PC의 소프트웨어 사용 현황 관리 -> 불법적 소프트웨어 설치 방지
  • 백신, 보안 패치 등의 설치 및 업그레이드를 일괄적으로 수행
  • 네트워크에 접속한 비인가 시스템을 자동으로 검출

 

8. SSH (Secure SHell)

: 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 및 응용 프로그램

  • 데이터 암호화 및 강력한 인증 방식으로 보안성이 낮은 네트워크에서도 이용 가능
  • 사전에 클라이언트의 공개키를 서버에 등록하여 키 인증 방식 가능
  • 기본적으로 22번 포트 이용

205. 취약점 분석 및 평가

: 사이버 위협으로부터 정보 시스템의 취약점을 분석 및 평가하여 이를 개선하는 일련의 과정

  • 사이버 위협에 대한 항목별 세부 점검 항목을 파악하여 취약점 분석
  • 취약점이 발견되면 위험 등급을 부여하고 개선 방향 수립
  • 분석 및 평가 범위 : 정보 시스템과 정보 시스템 자산에 직, 간접적으로 관여된 물리적, 관리적, 기술적 분야
  • 분석 및 평가 항목 : 중요도를 상 / 중 / 하 3단계로 구분
    • 중요도 '상'인 항목은 필수적으로 점검
    • 중요도 '중','하'인 항목은 상황에 따라 선택적으로 점검

 

- 수행 절차 및 방법

  1. 계획 수립 
    • 분석 및 평가를 위한 수행 주체, 수행 절차, 소요 예산, 산출물, etc.
  2. 대상 선별
    • 정보 시스템의 자산을 식별하고 유형별로 그룹화하여 대상 목록 작성
    • 대상 목록의 각 자산에 대해 중요도 산정
  3. 분석 수행
    • 관리적, 물리적, 기술적 세부 점검 항목표 작성
    • 관리적 점검 : 관련 문서 확인, 관련자 면담
    • 물리적 점검 : 현장 점검
    • 기술적 점검 : 점검 도구, 모의 해킹, etc.
  4. 평가 수행
    • 분석 세부 결과 작성
    • 파악된 취약점별로 위험 등급을 상 / 중 / 하의 3단계로 표시
    • 위험 등급 '상'은 조기 개선, 위험 등급 '중','하'는 중장기 개선으로 구분하여 개선 방향 수립