본문 바로가기
Quality control (Univ. Study)/Information Security

Network security

by 생각하는 이상훈 2024. 12. 6.
728x90

Communication Media Vulnerability

1. Sender와 Receiver

  • Sender: 데이터를 송신하는 LAN(Local Area Network) 내부의 노드입니다.
  • Receiver: 데이터를 수신하는 LAN 내부의 노드입니다.
  • 이들은 WAN(Wide Area Network)을 통해 데이터를 주고받습니다.

2. WAN (Wide Area Network)

  • Sender와 Receiver를 연결하는 네트워크로, LAN보다 더 넓은 지역을 포괄합니다.
  • WAN을 통해 데이터가 전달되는 동안 보안 위협이 발생할 수 있습니다.

3. 보안 위협 요소

다이어그램은 네트워크 통신 과정에서 발생할 수 있는 다양한 보안 위협을 보여줍니다.

  • Rogue Receiver (Sniffer, Wiretap):
    • 네트워크 내 불법적인 장치나 도청(wiretap)을 통해 데이터를 가로챌 수 있는 위협을 나타냅니다.
    • LAN 내 또는 WAN으로 나가기 전의 데이터가 주된 표적이 됩니다.
  • Satellite, Microwave Interception, Wired Interception:
    • 데이터가 WAN을 통해 전달될 때, 위성을 통한 도청, 마이크로파 가로채기, 유선 도청 등이 발생할 수 있습니다.
    • 이들은 물리적 접근 또는 원거리 접근을 통해 데이터를 탈취합니다.
  • Wiretap:
    • 네트워크 물리적 선로에 연결된 장치를 통해 데이터를 가로채는 행위입니다.
    • WAN에서의 도청 또는 LAN 내부에서 발생할 수 있습니다.
  • Imposter:
    • Receiver 측의 네트워크로 가장하여 데이터를 가로채거나 변조하는 공격자를 나타냅니다.
    • 이는 네트워크 위장(스푸핑)을 통해 발생할 수 있습니다.

Communication Media Pros/Cons

통신 방식에 따라 장단점이 존재한다.

랜선은 물리적으로 진입하면 정보 탈취가 쉽다는 취약점이 있다.

광통신은 중간에 탈취하기 힘들지만 연결점에서는 어쩔 수 없는 물리적 취약점이 존재한다.

마이크로파는 강력한 신호를 보내지만 눈에 보이는 범위에 있어야 한다는 문제가 있다.

Wireless(radio, WiFi)는 광범위하게 사용가능하지만 신호를 도청하는 것이 매우 쉽고 멀어지면 signal이 급격히 약해지는 문제가 있다.

위성통신은 강하고 빠르지만 넓은 범위에 정보가 노출된다는 문제가 존재한다.


Threats to Network

Interception(unautorized viewing), Modification(unauthorized change), Fabrication(unauthorized creation), Interruption(preventing authorized access)


Security Perimeters

특정 범위내에서는 보안적으로 안전하다고 판단하고 신뢰하는 범위이다.

 

Network가 Interception에 취약해지는 이유는 다음과 같다.

  1. 익명성 (Anonymity)
    • 공격자는 익명성을 유지하며 멀리 떨어진 곳에서도 다양한 공격을 시도할 수 있다.
  2. 다양한 공격 지점 (Many points of attack)
    • 대규모 네트워크는 여러 잠재적 진입 지점을 제공하여 공격 가능성을 증가시킨다.
  3. 공유 (Sharing)
    • 네트워크화된 시스템은 단일 컴퓨터보다 더 많은 사용자에게 접근 가능성을 열어 보안 위협을 증가시킨다.
  4. 시스템 복잡성 (System complexity)
    • 단일 시스템 자체도 매우 복잡하여 보호하기 어렵다.
    • 서로 다른 운영체제(OS), 취약점, 목적을 가진 시스템이 혼재된 네트워크에서는 보안 관리가 더욱 어려워진다.
  5. 알 수 없는 경계 (Unknown perimeter)
    • 특히 대규모 네트워크는 지속적으로 변화하므로, 어떤 시스템이 네트워크에 속해 있는지 판단하기 어렵고, 신뢰할 수 없는 네트워크 연결을 탐지하기도 어렵다.
  6. 알 수 없는 경로 (Unknown path)
    • 한 호스트에서 다른 호스트로 이동하는 경로에는 신뢰할 수 없는 경로가 포함될 수 있다.

Unknown Perimeter
Unknown Path


Modification and Fabrication

 

  • 데이터 손상(Data corruption)
    • 의도적이거나 비의도적으로 데이터가 손상될 수 있다.
    • 공격자가 악의적으로 데이터를 조작하거나 시스템 오류로 인해 무작위로 데이터가 손상될 가능성을 나타낸다.
  • 순서 변경(Sequencing)
    • 데이터의 순서를 변경하는 공격이다.
    • 예를 들어 네트워크 상에서 전달되는 패킷들이 순서대로 도착해야하지만 의도적으로 순서를 뒤바꿔 데이터 처리에 오류를 유발할 수 있다.
  • 치환(Substitution)
    • 데이터 스트림의 특정 부분을 다른 데이터로 교체하는 행위이다.
    • 공격자는 올바른 데이터를 가짜 데이터로 대체하여 사용자나 시스템을 속일 수 있다.
  • 삽입(Insertion)
    • 치환의 한 형태로 기존 데이터 스트림에 새로운 데이터를 삽입하는 행위이다.
    • 공격자는 악의적인 데이터를 삽입하여 시스템 동작을 변경하거나 보안 정책을 우회할 수 있다.
  • 재전송(Replay)
    • 합법적인 데이터를 가로채 재사용하는 공격 방식입니다.
    • 예를 들어 인증된 사용자의 로그인 데이터를 가로채 이를 재전송하여 시스템에 부정 접근할 수 있습니다.

Data Corruption의 주요 원인

 

  • 타이핑 오류(Typing Error)
    • 사용자가 데이터를 입력할 때 발생하는 단순한 실수로 인해 데이터가 잘못 저장되거나 처리될 수 있습니다.
  • 악성 코드(Malicious Code)
    • 바이러스, 트로이 목마, 랜섬웨어와 같은 악성 소프트웨어가 데이터를 손상시키거나 훼손할 수 있습니다.
  • 하드웨어 고장(Hardware Failure)
    • 저장 장치, 네트워크 장치 또는 기타 하드웨어 구성 요소의 고장이 데이터 손상을 초래할 수 있습니다.
  • 소프트웨어 결함(Software Flaw)
    • 잘못된 프로그래밍이나 소프트웨어의 버그로 인해 데이터가 손상될 가능성이 있습니다.
  • 전송 문제(Transmission Problem)
    • 네트워크를 통해 데이터를 전송하는 동안 손실되거나 변형될 수 있습니다. 이는 네트워크 오류나 노이즈 때문일 수 있습니다.
  • 해커 활동(Hacker Activity)
    • 사이버 공격자가 데이터를 의도적으로 변경하거나 삭제하여 손상을 초래할 수 있습니다.
  • 노이즈 및 사고(Noise, Accident)
    • 전송 경로에서 발생하는 전기적 또는 물리적 노이즈와 같은 외부 요인이 데이터 손상을 유발할 수 있습니다.
  • 프로그램 오류(Program Error)
    • 프로그램의 잘못된 논리나 작동 방식으로 인해 데이터가 왜곡되거나 손상될 수 있습니다.
  • 인간의 실수(Human Mistake)
    • 관리자가 잘못된 명령을 실행하거나 데이터를 부정확하게 수정하여 데이터 손상이 발생할 수 있습니다.

Simple Replay Attack

사용자가 서버에 로그인하기 위해 ID와 비밀번호를 입력하면 비밀번호는 암호화 과정을 거쳐 암호화된 형태로 전송된다. 서버는 이 암호화된 데이터를 수신하고, 이를 기반으로 사용자 인증을 수행한다.

그러나 이 과정에서 공격자가 네트워크 상에서 데이터를 가로채는 상황이 발생할 수 있다. 암호화된 비밀번호와 ID가 포함된 데이터 패킷이 공격자에 의해 수집되며 공격자는 이 데이터를 그대로 서버에 다시 전송하는 방식으로 재전송 공격을 수행할 수 있다. 서버는 이 재전송된 데이터가 이전에 가로채진 데이터인지 확인하지 못하면 이를 정상적인 요청으로 인식하고 인증을 허용하게 된다.


Interruption: Loss of Service

1. 라우팅 문제(Routing)

  • 인터넷 라우팅 프로토콜은 매우 복잡하며, 하나의 설정 오류가 많은 라우터의 데이터 흐름을 망칠 수 있습니다.
  • 잘못된 라우팅 설정이나 라우터의 오작동은 네트워크 내의 데이터 전송 경로를 손상시키고, 결과적으로 서비스 중단을 초래할 수 있습니다.
  • 특히 라우팅 정보 오염(Route Poisoning)과 같은 상황은 전체 네트워크에 부정적인 영향을 줄 수 있습니다.

2. 과도한 수요(Excessive Demand)

  • 네트워크 용량은 유한하며, 공격자가 의도적으로 과도한 트래픽을 생성하면 네트워크의 중요한 부분을 마비시킬 수 있습니다.
  • 이는 서비스 거부 공격(DDoS: Distributed Denial of Service)과 같은 공격에서 흔히 사용되는 전략입니다.
  • 네트워크 자원이 부족해지면 정상적인 사용자들에게 서비스가 제공되지 않아 서비스 중단이 발생합니다.

3. 구성 요소의 고장(Component Failure)

  • 네트워크 구성 요소(예: 라우터, 스위치, 서버 등)의 고장은 예측하기 어렵고 비정기적으로 발생할 수 있습니다.
  • 적절한 계획이나 백업 시스템이 마련되지 않으면 이러한 고장은 서비스 중단을 야기합니다.
  • 특히, 주요 네트워크 장비의 고장은 광범위한 네트워크 장애로 이어질 수 있습니다.

Vulnerabilities in Wireless Networks

1. 기밀성(Confidentiality)

  • 무선 네트워크에서는 데이터가 공중을 통해 전송되므로, 이를 도청하거나 가로채기가 비교적 쉽습니다.
  • 암호화되지 않은 네트워크에서는 공격자가 민감한 정보를 손쉽게 접근할 수 있어 기밀성이 침해될 위험이 큽니다.

2. 무결성(Integrity)

  • 데이터가 전송 중에 수정되거나 변조될 위험이 있습니다.
  • 공격자는 데이터 패킷을 가로채서 내용을 변경한 뒤, 이를 다시 전송하여 무결성을 손상시킬 수 있습니다.

3. 가용성(Availability)

  • 네트워크 자원이 고갈되거나, 서비스 거부 공격(DDoS)과 같은 악의적인 활동으로 인해 사용자가 네트워크에 접근할 수 없게 되는 상황입니다.
  • 이는 정상적인 서비스 운영을 방해하여 사용자들에게 불편을 초래합니다.

4. 무단 Wi-Fi 접근(Unauthorized Wi-Fi Access)

  • 허가되지 않은 사용자가 네트워크에 접속하여 자원을 무단으로 사용하는 경우를 의미합니다.
  • 공격자는 네트워크에 침입하여 데이터를 훔치거나 시스템에 손상을 입힐 수 있습니다.
  • 약한 비밀번호나 공개된 네트워크는 이러한 위협에 더 취약합니다.

5. Wi-Fi 프로토콜의 약점(Wi-Fi Protocol Weaknesses)

  • Beacon 수집(Picking up the beacon):
    • 공격자는 무선 네트워크에서 비콘 프레임(네트워크의 기본 정보를 포함한 신호)을 수집하여 네트워크 정보를 알아낼 수 있습니다.
  • 모든 프레임에 SSID 표시(SSID in all frames):
    • SSID(서비스 세트 식별자)가 네트워크 패킷에 포함되어 전송되기 때문에, 공격자는 이를 통해 네트워크를 식별하고 악용할 수 있습니다.
  • 연결 문제(Association Issues):
    • 사용자가 네트워크에 연결(Association)하는 과정에서 발생하는 약점이 악용될 수 있습니다.
    • 예를 들어, 불법적인 액세스 포인트로 유도하거나 중간자 공격(Man-in-the-Middle)을 수행하는 방법이 있습니다.

WEP

WEP(Wired Equivalent Privacy)는 802.11 WiFi 표준이 설계될 당시 보안을 목적으로 개발된 프로토콜이다. WEP는 무선 네트워크의 보안을 유선 네트워크와 동일한 수준으로 유지하기 위해 설계되었으며, 초기에는 무선 통신의 기밀성을 보호하는 데 중요한 역할을 했다고 평가받았다.

그러나 WEP는 설계상의 근본적인 취약점으로 인해 실패한 보안 대책으로 간주된다. 2001년, WEP의 첫 번째 취약점이 발견되었으며, 이는 WEP가 출시된 지 4년 만에 밝혀진 문제이다. 이후 수많은 약점이 추가로 발견되면서 WEP는 더 이상 안전하지 않은 프로토콜로 여겨지게 되었다.

WEP의 주요 문제는 암호화 알고리즘 RC4의 취약성, 짧은 길이의 초기화 벡터(IV)로 인한 키 충돌, 그리고 키 관리 및 교환 과정의 비효율성에 있다. 이러한 약점으로 인해 WEP로 암호화된 통신은 몇 분 만에 해독이 가능해졌으며, 공격자가 네트워크에 침입하거나 데이터를 도청할 수 있는 환경을 제공하게 되었다.

결과적으로 WEP는 WPA(Wi-Fi Protected Access) 및 WPA2 같은 더 강력한 프로토콜로 대체되었다. 이 사례는 보안 프로토콜 설계 시 지속적인 검증과 개선이 얼마나 중요한지를 보여주는 대표적인 사례로 남아 있다.

 

WEP 작동 방식은 아래와 같다.

WEP(Wired Equivalent Privacy)의 작동 방식은 클라이언트와 액세스 포인트(AP) 간의 미리 공유된 키(Pre-shared Key)를 기반으로 한다. 먼저, AP는 무작위 숫자(Random Number)를 생성하여 클라이언트에게 전송한다. 클라이언트는 AP로부터 받은 숫자를 미리 공유된 키를 사용해 암호화한 뒤, 이를 다시 AP로 반환한다.

AP는 클라이언트로부터 받은 암호화된 데이터를 동일한 키로 복호화한다. 복호화된 숫자가 AP가 처음 보낸 무작위 숫자와 동일한 경우, AP는 클라이언트를 인증한다. 클라이언트가 성공적으로 인증되면, AP와 클라이언트는 동일한 키를 사용해 암호화된 메시지를 주고받으며 통신을 이어간다.

이 과정은 클라이언트와 AP 간의 상호 인증 및 데이터 통신 보안을 목적으로 하지만, WEP의 취약성으로 인해 공격자가 이 과정을 가로채고 암호화된 데이터를 해독할 수 있는 문제가 있다. 이는 WEP의 보안 신뢰도를 떨어뜨리는 주요 원인 중 하나이다.

 

WEP의 취약점

WEP(Wired Equivalent Privacy)의 주요 약점은 암호화 키의 약점, 정적 키의 사용, 그리고 암호화 과정 자체의 취약성에 있다.

1. WEP의 암호화 키는 약하다. WEP는 64비트 또는 128비트 암호화를 허용하지만, 이 중 24비트는 초기화 벡터(IV)에 사용된다. 결과적으로 실질적인 키 길이는 40비트 또는 104비트에 불과하다. 이러한 키는 사용자가 입력한 알파벳과 숫자로 이루어진 문자열이나 16진수 구문으로 구성되며, 이는 사전 공격(dictionary attack)에 취약하다.

2. WEP는 정적 키를 사용한다. 키는 클라이언트와 AP에서 사용자가 입력한 값으로 설정되며, 사용자는 이 키를 거의 변경하지 않는다. 이는 동일한 키가 몇 개월 동안 지속적으로 사용될 가능성을 증가시켜 보안 위협을 초래한다.

3. WEP의 암호화 과정이 약하다. 40비트 키는 무차별 대입(brute force) 공격에 의해 쉽게 해독될 수 있다. RC4 암호화 알고리즘에 내재된 결함은 WEP의 104비트 키마저도 쉽게 크랙(crack)될 수 있는 취약점으로 만들었다. 이는 WEP 암호화가 공격자들에게 더 이상 안전하지 않다는 것을 의미한다.

4. WEP는 RC4 암호화 알고리즘을 잘못된 방식으로 사용하였다. 이로 인해 공격자가 WEP로 보호된 통신의 상당 부분을 쉽게 해독할 수 있는 결함이 발생하였다. RC4의 비효율적 사용은 WEP 통신의 보안을 심각하게 훼손한 주요 원인이다.

5. 초기화 벡터(IV) 충돌 문제가 있다. WEP의 IV는 가능한 값의 개수가 1,600만 개로 제한되어 있으며, 이는 크래킹 시도가 가능한 범위 내에 있다. 게다가 IV 값이 무작위로 선택되지 않아 특정 값이 다른 값보다 훨씬 더 자주 나타났다. 이로 인해 동일한 IV 값이 반복적으로 사용되면서 데이터가 더 쉽게 해독될 수 있었다.

6. WEP는 무결성 검사 방식에 결함이 있다. 전송 오류를 식별하기 위해 체크섬(Checksum)을 사용했지만, 악의적인 데이터 변조를 방지하는 데 적합한 방식이 아니었다. 이는 공격자가 데이터를 변경하고도 이를 감지하지 못하게 만드는 원인이 되었다.

7. WEP는 인증 기능이 없었다. 클라이언트가 액세스 포인트(AP)의 SSID와 MAC 주소를 알고 있다면 정당한 사용자인 것처럼 간주되었다. 이로 인해 허가되지 않은 클라이언트가 네트워크에 쉽게 접근할 수 있었다.


WPA(WiFi Protected Access)

WPA(Wi-Fi Protected Access)는 2003년에 WEP의 대안으로 설계된 무선 네트워크 보안 프로토콜이다. WEP의 주요 보안 문제를 해결하기 위해 도입되었으며, 이후 2004년에 더욱 개선된 WPA2가 출시되었다. WPA2는 오늘날까지 표준으로 사용되고 있는 알고리즘이다.

1. WPA는 동적 암호화 키(Non-static encryption key)를 사용한다. WPA는 키 계층 구조를 통해 각 세션에 대해 새로운 키를 생성하며, 암호화 키는 패킷마다 자동으로 변경된다. 이 방식은 중요한 키가 노출될 가능성을 최소화하고, 키를 간접적으로만 사용하여 기밀성과 무결성을 보호한다.

2. WPA는 인증(Authentication) 기능을 지원한다. WPA는 비밀번호, 토큰, 인증서를 통한 인증을 허용하여 무선 네트워크에 접속하는 사용자를 식별하고 권한을 부여한다. 이러한 인증 절차는 네트워크에 무단으로 접근하는 사용자를 효과적으로 차단한다.

3. 강력한 암호화(Strong encryption)를 지원한다. WPA는 RC4 암호화 대신 AES(Advanced Encryption Standard)를 지원하며, 이는 신뢰할 수 있는 강력한 암호화 알고리즘으로 간주된다. AES는 데이터의 기밀성을 더욱 효과적으로 보호할 수 있다.

4. 무결성 보호(Integrity protection)를 제공한다. WPA는 64비트 암호화 기반 무결성 검사를 포함하여 데이터 전송 중 발생할 수 있는 변경이나 오류를 탐지하고 방지한다. 이는 데이터의 신뢰성을 유지하기 위한 중요한 기능이다.

5. 세션 초기화(Session initiation) 단계에서 인증과 네 단계 핸드셰이크(Four-way handshake)를 사용한다. 이 과정은 암호화와 무결성을 위한 별도의 키를 생성하며, 클라이언트와 AP 양쪽에서 독립적으로 사용된다. 이를 통해 세션 시작 시 보안을 보장한다.

마지막으로, WPA에 대한 몇 가지 공격이 보고되었지만 이러한 공격은 대부분 매우 제한적인 효과를 가지거나 약한 비밀번호를 필요로 한다. 이는 WPA가 기본적으로 강력한 보안 시스템임을 보여준다.


DoS(Denial of Service)

DoS(Denial of Service) 공격은 시스템의 가용성을 저하시키기 위해 시도되는 공격이다. 이러한 공격은 정당한 사용자가 시스템이나 네트워크에 접근하지 못하도록 방해하는 것을 목표로 한다. DoS 공격의 주요 유형은 다음과 같다.

1. Volumetric 공격은 네트워크 대역폭을 과도하게 소비하여 자원을 고갈시키는 방식으로 이루어진다. 공격자는 대량의 트래픽을 생성하여 네트워크나 서버의 용량을 초과하게 만들어 정상적인 요청을 처리할 수 없게 한다.

2. 애플리케이션 기반(Application-based) 공격은 특정 소프트웨어나 애플리케이션의 취약점을 악용하여 서비스 거부 상태를 유발한다. 이는 특정 애플리케이션의 과부하를 초래하거나 프로세스를 중단시키는 형태로 나타난다.

3. 통신 비활성화(Disabled communications)는 네트워크 상의 중요한 통신 채널을 방해하거나 차단하여 서비스의 중단을 초래한다.

4. 하드웨어 또는 소프트웨어 장애(Hardware or software failure)는 의도적이든 비의도적이든 하드웨어나 소프트웨어의 오류를 통해 시스템 가용성을 방해한다. 공격자는 이러한 장애를 유도하거나 기존의 문제를 악용할 수 있다.

 

Ping Flood

Ping Flood는 DoS(Denial of Service) 공격의 한 형태로, 공격자가 대량의 ICMP Echo Request(Ping) 패킷을 대상 서버에 보내 네트워크를 과부하 상태로 만드는 공격이다.

아래 그림과 같이 attacker의 bandwidth가 더 크면 ping flood attack이 가능하다.

그러나 victim이 더 큰 bandwidth를 갖고 있으면 단순한 ping flood attack은 불가능하다.

 

Smurf Attack

Smurf Attack는 DoS(Denial of Service) 공격의 한 형태로, 네트워크 브로드캐스트 기능을 악용하여 피해자를 과도한 트래픽으로 마비시키는 공격이다. 이 공격의 주요 과정을 설명하면 다음과 같다:

  1. 공격자의 ECHO 요청 전송: 공격자는 네트워크에 브로드캐스트 ICMP ECHO Request(Ping)를 전송한다. 이때 요청 패킷의 발신지 주소(Source IP)는 피해자의 IP 주소로 위조(Spoofing)된다.
  2. 브로드캐스트 트래픽 유발: 브로드캐스트 주소를 통해 네트워크에 연결된 모든 장치가 이 Ping 요청을 수신하게 된다. 네트워크 내의 모든 장치는 이 요청에 응답하기 위해 ICMP ECHO Reply 패킷을 발신지 주소(피해자의 IP 주소)로 전송한다.
  3. 피해자에게 트래픽 집중: 네트워크의 모든 장치가 피해자 IP로 응답을 전송함에 따라, 피해자는 대량의 ICMP Reply 트래픽으로 과부하 상태에 빠지게 된다.
  4. 서비스 거부 상태 발생: 피해자는 정상적인 네트워크 작업을 수행할 수 없게 되며, 네트워크 대역폭이 고갈되어 서비스가 중단될 수 있다.

Smurf Attack의 특징

  • 네트워크 브로드캐스트를 활용하여 트래픽을 증폭(Amplification)한다.
  • 공격자는 직접 피해자에게 트래픽을 보내지 않고, 네트워크의 다른 장치들을 활용하여 간접적으로 공격한다.
  • 과거 브로드캐스트 주소가 활성화된 네트워크에서 흔히 발생했으나, 현재는 브로드캐스트 트래픽 제한 등의 방어 메커니즘으로 감소하였다.

Echo-Chargen

Echo-Chargen Attack는 DoS(Denial of Service) 공격의 한 형태로, Echo 서비스와 Chargen(Character Generator) 서비스 간의 상호작용을 악용하여 무한 루프를 생성하는 공격이다. 이 공격은 두 피해자 간에 반복적인 패킷 교환을 유발하여 네트워크 대역폭과 시스템 리소스를 고갈시키는 것이 특징이다.

 

공격 과정

  1. Victim A가 Chargen 패킷 전송: Victim A는 Chargen 서비스에서 패킷을 전송하며, 이 패킷에 Echo 비트를 활성화한다.
  2. Victim B가 Echo로 응답: Victim B는 Echo 서비스를 통해 받은 데이터를 다시 응답으로 반환한다.
  3. 무한 패킷 교환 발생: Victim A와 Victim B는 서로 Echo와 Chargen 패킷을 반복적으로 주고받으며, 이 과정이 끝없이 계속된다.

 

특징

 

 

  • 네트워크 대역폭이 빠르게 소진되며, 두 시스템은 패킷 처리로 인해 과부하 상태에 빠진다.
  • 공격자는 두 피해자 간의 통신만을 설정하며, 이후 공격에 직접적인 관여 없이 시스템을 마비시킬 수 있다.
  • 시스템 리소스가 소진되면서 정상적인 서비스가 중단된다.

 

Teardrop Attack

Teardrop Attack은 DoS(Denial of Service) 공격의 한 형태로, 잘못된 패킷 조각화(Fragmentation) 정보를 악용하여 네트워크 시스템을 마비시키는 공격이다. 이 공격은 주로 패킷 조합 과정에서 취약한 운영 체제나 네트워크 장비를 대상으로 한다.

 

공격 과정

  1. 패킷 조각화:
    • 공격자는 IP 패킷을 작은 조각(fragment)으로 나누어 전송한다.
    • 각 패킷 조각은 시작 지점과 길이 정보를 포함하며, 이를 통해 수신 측에서 원본 패킷을 재조합한다.
  2. 잘못된 조각화 정보 전송:
    • 공격자는 조각화된 패킷에 잘못된 시작 위치(offset)와 길이(len)를 설정하여 수신 측이 정상적으로 조립할 수 없도록 한다.
    • 예를 들어, 두 조각이 서로 중첩되거나, 시작 위치가 논리적으로 맞지 않게 조작된다.
  3. 재조합 과정에서 오류 발생:
    • 수신 측 시스템은 이러한 잘못된 패킷 조합을 처리하려 시도하지만, 충돌로 인해 메모리 오류 또는 커널 패닉이 발생한다.
    • 결과적으로 시스템이 과부하 상태에 빠지거나 작동이 중단된다.

공격의 특징

  • 효율성: 상대적으로 적은 양의 데이터로 시스템을 마비시킬 수 있다.
  • 취약성 의존: 공격 대상의 운영 체제나 네트워크 장비가 조각화 패킷 처리 과정에서 취약해야 한다.
  • 주요 대상: 오래된 Windows 또는 Linux 시스템이 주요 대상이었으며, 현대의 보안 업데이트에서는 대부분 방어 가능하다.

DNS Spoofing

공격 과정

  1. 사용자의 DNS 요청:
    • 사용자가 웹사이트에 접속하기 위해 도메인 이름을 IP 주소로 변환해달라는 요청을 DNS 서버에 전송한다.
  2. 공격자의 위조 응답:
    • 공격자는 이 요청을 가로채거나 사용자보다 더 빠르게 위조된 DNS 응답을 보낸다.
    • 이 응답에는 올바른 IP 주소 대신 공격자가 설정한 악성 IP 주소(예: 7.0.1.1)가 포함된다.
  3. 사용자의 잘못된 연결:
    • 사용자는 올바른 DNS 서버에서 온 응답을 받기 전에 공격자의 위조된 IP 주소로 연결된다.
    • 이로 인해 사용자는 악성 사이트로 접속하거나, 중간자 공격(Man-in-the-Middle)에 노출될 수 있다.
  4. DNS 서버의 응답 무효화:
    • DNS 서버에서 올바른 응답을 보냈더라도, 공격자의 위조된 응답이 먼저 도착했기 때문에 나중에 도착한 올바른 응답은 무시된다.

DNS Spoofing의 특징

  • 효율성: 공격자가 성공적으로 위조된 응답을 보내면, 사용자는 악성 사이트로 즉시 연결된다.
  • 영향 범위: 공격은 특정 사용자뿐만 아니라 동일한 네트워크 상의 여러 사용자를 대상으로 수행될 수 있다.
  • 중간자 공격과의 연관성: 공격자는 DNS Spoofing을 통해 네트워크 트래픽을 자신이 통제하는 경로로 리디렉션할 수 있다.

Rerouting Routing

Rerouting Routing 공격은 네트워크 라우팅 프로세스를 악용하여 데이터를 잘못된 경로로 유도하거나 라우팅 경로를 반복적으로 변경해 네트워크의 성능과 가용성을 저하시키는 것을 목표로 한다.

공격 시나리오 설명

  1. 라우팅 테이블 조작:
    • 공격자는 노드 간에 잘못된 경로 정보를 삽입하거나 기존 경로를 재설정하도록 유도한다.
    • 예를 들어, 노드 C의 라우팅 테이블에 잘못된 거리(distance) 값을 주입하여 10.0.0.0, 20.0.0.0, 30.0.0.0 네트워크에 대한 경로를 변경하게 만든다.
  2. 잘못된 경로 설정:
    • 잘못된 경로 정보로 인해 데이터가 효율적인 경로로 전달되지 못하고, 의도적으로 길거나 불필요한 경로를 통해 전송된다.
    • 예: C에서 T로 가는 데이터가 직선 경로를 이용하지 않고, B 또는 다른 중간 경유지를 거쳐 비효율적으로 전송됨.
  3. 네트워크 성능 저하:
    • 잘못된 경로가 설정되면서 데이터 패킷은 목적지까지 도달하지 못하거나, 도달하는 데 시간이 오래 걸린다.
    • 이는 네트워크의 지연(latency)을 증가시키고 대역폭을 소모하며, 결과적으로 DoS(서비스 거부) 상태를 유발한다.

Session Hijacking

Session Hijacking은 DoS(Denial of Service) 공격의 한 유형으로, 네트워크 통신에서 송신자(Sender)와 수신자(Receiver) 간의 세션을 가로채는 방식으로 이루어진다. 공격자는 세션 중간에 침입하여 양측의 통신 흐름을 방해하거나 자신의 악의적인 데이터를 삽입한다. 아래 그림을 기반으로 Session Hijacking의 과정을 살펴보자.

공격 과정

  1. 정상적인 데이터 전송:
    • 송신자(Sender)는 수신자(Receiver)에게 데이터를 전송하며, 각각의 데이터에는 순서 번호(Sequence Number)가 포함된다.
    • 수신자는 수신된 데이터의 순서 번호를 기준으로 Ack(인증 번호)를 송신자에게 보낸다.
    • 예: Seq = 10에 대해 Ack = 15, Seq = 15에 대해 Ack = 35.
  2. 공격자의 개입:
    • 공격자는 양측 간의 통신을 관찰하며, 세션 정보(예: 순서 번호와 인증 번호)를 파악한다.
    • 이후, 공격자는 기존 세션의 흐름을 끊고 자신의 패킷을 삽입하기 시작한다.
  3. 악의적인 데이터 삽입:
    • 공격자는 자신이 생성한 데이터 패킷(예: Seq = 35, Len = 100)을 수신자에게 보낸다.
    • 이 패킷은 정상적인 송신자의 패킷인 것처럼 위장되었으며, 수신자는 이를 정상적인 패킷으로 처리한다.
  4. 세션 납치:
    • 공격자가 보낸 패킷에 대해 수신자가 Ack = 135를 송신자에게 응답하려 하지만, 정상적인 송신자는 이 Ack 값을 알지 못하므로 세션이 동기화되지 않는다.
    • 결과적으로 송신자와 수신자의 세션이 끊어지며, 통신이 중단된다.
  5. Reset 패킷 전송:
    • 송신자는 자신의 세션이 끊겼음을 감지하고 Reset 패킷을 전송하지만, 공격자의 세션 납치는 이미 완료된 상태다.

Distributed Denial of Service (DDoS)

Distributed Denial of Service(DDoS) 공격은 다수의 컴퓨터를 활용해 특정 서버나 네트워크에 대량의 요청을 보내어 서비스 가용성을 저하시킴으로써, 사용자들이 정상적인 접근을 할 수 없도록 하는 공격이다.

 

공격 과정

  1. 트로이 목마 배포 및 좀비 컴퓨터 생성:
    • 공격자는 트로이 목마나 악성 코드를 인터넷을 통해 다수의 컴퓨터에 배포한다.
    • 트로이 목마가 실행되면, 감염된 컴퓨터는 공격자의 제어를 받는 좀비 컴퓨터(Zombies)가 된다.
  2. 명령 전송 및 동시 공격:
    • 공격자는 명령 및 제어(C&C) 서버를 통해 좀비 컴퓨터들에게 특정 서버(피해자)에 대량의 요청을 보내도록 지시한다.
    • 좀비 컴퓨터들은 동시에 피해자 시스템으로 트래픽을 보내며, 이로 인해 네트워크 과부하가 발생한다.
  3. 피해자 시스템 마비:
    • 대량의 요청을 처리할 수 없는 피해자 시스템은 응답 속도가 느려지거나 완전히 마비된다.
    • 결과적으로 사용자들은 정상적인 서비스를 이용할 수 없게 된다.

DDoS 공격의 특징

  • 분산 공격:
    • 단일 시스템이 아니라 다수의 컴퓨터가 동시에 공격에 참여한다.
    • 공격을 차단하기 어렵고, 공격원의 위치를 파악하기 힘들다.
  • 대규모 트래픽:
    • 수천에서 수백만 대의 좀비 컴퓨터가 한꺼번에 요청을 보내므로 네트워크 대역폭이 빠르게 소진된다.
  • 다양한 공격 형태:
    • SYN Flood, HTTP Flood, DNS Amplification 등 여러 방식으로 공격이 수행될 수 있다.

위와 같이 구조화하여 체계적인 공격을 시도한다.


Encryption in Network

Link Encryption

하나의 노드를 건너갈때 통신을 위해 key를 공유해야하는데 이 key는 한 노드를 건너갈때마다 달라져야한다. 이때 Access Point에서 복호화를 해야 다시 Encryption을 하고 보내줄 수 있다.

 

End-to-End Encryption

End-to-End는 application단까지 올라가며 encryption을 진행하는 것이다.

둘을 비교하면 아래와 같다.


Secure Shell (SSH)

Secure Shell (SSH)는 네트워크를 통해 운영 체제의 명령줄(Command Line)에 안전하게 접근할 수 있도록 인증되고 암호화된 경로를 제공하는 보안 프로토콜이다. SSH는 원격 시스템과의 안전한 통신을 보장하며 주요 특징은 다음과 같다:

 

특징 및 기능

  1. 원래 UNIX를 위해 개발:
    • SSH는 초기에는 UNIX 기반 시스템을 위해 설계되었지만, 현재는 대부분의 운영 체제에서 사용할 수 있다.
  2. 암호화된 통신 경로 제공:
    • 네트워크 상에서 운영 체제 명령줄에 접근할 때 인증 및 암호화를 통해 보안을 유지한다.
    • 데이터가 네트워크를 통해 전송되는 동안 도청이나 변조를 방지한다.
  3. 불안전한 유틸리티 대체:
    • SSH는 Telnet, rlogin, rsh 등 암호화되지 않은 원격 접속 유틸리티를 대체하며, 보안을 크게 향상시킨다.
  4. 스푸핑 및 데이터 변조 방지:
    • SSH는 스푸핑(Spoofing) 공격이나 통신 중 데이터 변경을 방지하여 통신의 무결성을 보장한다.

SSL/TLS

SSL(Secure Sockets Layer)와 TLS(Transport Layer Security)는 웹 브라우저와 서버 간의 안전한 통신을 보장하기 위해 설계된 보안 프로토콜이다. TLS는 SSL의 업그레이드 버전으로, 오늘날 더 안전한 통신 환경을 제공한다.

 

SSL과 TLS의 주요 내용

  1. SSL(Secure Sockets Layer):
    • 1990년대에 개발되어 초기에는 웹 브라우저와 서버 간의 통신을 보호하기 위해 사용되었다.
    • 주로 암호화된 통신 채널을 제공하여 도청 및 데이터 변조를 방지했다.
  2. TLS(Transport Layer Security):
    • 1999년에 SSL을 업그레이드한 버전으로 이름이 변경되었다.
    • SSL보다 더 강력한 보안 기능과 개선된 암호화 알고리즘을 제공한다.
    • 현재 SSL이라는 이름으로도 많이 불리지만, 실제로는 대부분 TLS가 사용된다.
  3. 프로토콜의 위치:
    • OSI 7계층 모델의 4계층(전송 계층)에서 동작한다.
    • 데이터의 전송 과정에서 암호화, 인증, 무결성을 제공한다.

 

SSL Cipher Suite는 SSL/TLS 세션 시작 시 클라이언트와 서버 간에 사용될 암호화 알고리즘을 협상하는 프로세스를 설명한다. 이 과정에서 선택된 암호화 알고리즘 집합이 Cipher Suite로 정의된다.

 

Cipher Suite의 협상 과정

  1. 서버에서 옵션 제공:
    • SSL/TLS 세션 초기화 시 서버는 사용 가능한 Cipher Suite 옵션 목록을 클라이언트에게 보낸다.
    • 이 목록에는 서버가 지원하는 다양한 암호화 알고리즘이 포함된다.
  2. 클라이언트의 선택:
    • 클라이언트는 제공된 목록 중 하나를 선택하여 서버와 사용할 Cipher Suite를 결정한다.
    • 선택된 Cipher Suite는 이후 세션에서 암호화 및 인증 등에 사용된다.

 

Cipher Suite는 다음과 같은 세 가지 주요 요소로 구성된다:

  1. 디지털 서명 알고리즘:
    • 인증(Authentication)을 위한 알고리즘이다.
    • 서버 및 클라이언트의 신원을 확인하기 위해 디지털 서명을 생성하고 검증한다.
    • 예: RSA, ECDSA.
  2. 암호화 알고리즘:
    • 기밀성(Confidentiality)을 보장하기 위해 데이터를 암호화한다.
    • 데이터를 암호화하여 네트워크 전송 중 도청을 방지한다.
    • 예: AES, ChaCha20.
  3. 해시 알고리즘:
    • 무결성(Integrity)을 검증하기 위한 알고리즘이다.
    • 데이터가 전송 중 변경되지 않았음을 확인하기 위해 해시값을 생성한다.
    • 예: SHA-256, SHA-384.


Onion Routing

Onion Routing은 네트워크에서 데이터를 전송할 때, 데이터의 출발지, 목적지, 또는 내용이 외부로 노출되지 않도록 보호하는 기술이다. 이 기술은 익명성을 강화하고, 사용자의 프라이버시를 유지하기 위해 설계되었다.

 

주요 특징

  1. 이중화된 암호화:
    • Onion Routing은 비대칭 암호화(asymmetric cryptography)를 사용하며, 메시지를 여러 계층으로 암호화한다.
    • 이 암호화는 "양파"처럼 여러 레이어로 구성되어, 각 중간 노드에서 하나의 암호화 계층만 해독할 수 있다.
  2. 중간 노드 사용:
    • 데이터를 전송할 때, 여러 중간 호스트(노드)를 거치도록 설계된다.
    • 각 노드는 다음 노드로 데이터를 전달하지만, 원래 송신자와 최종 목적지를 알 수 없다.
      • 예: A -> B -> C -> D (최종 목적지)
        • 노드 B는 원래 송신자 A를 모르며, 노드 C는 최종 목적지 D를 모른다.
  3. 프라이버시 보호:
    • 통신 과정에서 데이터의 출발지, 목적지, 내용이 드러나지 않으므로, 네트워크를 도청하는 제3자가 데이터를 추적하거나 분석하는 것을 방지한다.

 

활용 사례

  1. 검열 회피:
    • 억압적인 환경에 있는 사용자가 외부 세계와 자유롭게 소통할 수 있도록 돕는다.
    • 예: 인터넷 검열을 피하려는 언론인이나 활동가들이 사용.
  2. 익명성 보장:
    • 사용자의 IP 주소와 위치를 숨길 수 있어, 익명이 필요한 환경에서 활용된다.
    • 예: Tor 네트워크는 Onion Routing의 한 구현체로, 익명 브라우징을 지원한다.

 

보안 매커니즘

  1. 중간 노드에서의 제한:
    • 데이터를 전달하는 중간 노드는 이전 노드 또는 다음 노드만 알 수 있다.
    • 이로 인해 단일 노드가 전체 통신 경로를 파악할 수 없게 된다.
  2. 종단 간 암호화:
    • 최종 목적지까지의 데이터는 암호화된 상태로 전송되며, 최종 노드에서만 완전히 복호화된다.
  3. 레이어 기반 암호화:
    • 데이터를 전송하기 전, 여러 계층으로 암호화하여 각 계층이 중간 노드에서 하나씩 해제된다.

Virtual Private Networks (VPN)

Virtual Private Network (VPN)은 공용 네트워크를 통해 데이터를 전송할 때, 사설 네트워크와 같은 보안과 프라이버시를 제공하는 기술이다. 다음 두 그림은 VPN이 조직 내 및 원격 근무 환경에서 어떻게 사용되는지를 보여준다.

  • Office A와 Office B 간의 VPN:
    • Office A와 B는 인터넷을 통해 연결되며, VPN 터널을 통해 암호화된 데이터가 전송된다.
    • Firewall A와 Firewall B는 각 사무실 네트워크의 경계에서 보안을 강화하고 VPN 연결을 관리한다.
    • 데이터가 인터넷을 통해 전송되더라도 암호화되므로, 외부에서 데이터를 도청하거나 변경하는 것이 어렵다.

  • 사무실과 원격 근무자 간의 VPN:
    • 원격 근무자(Teleworker)는 자신의 디바이스를 사용하여 회사 네트워크(Office)와 안전하게 연결된다.
    • 원격 근무자의 트래픽은 인터넷을 통해 회사의 Firewall A로 전달되며, VPN 터널을 통해 암호화된 상태로 유지된다.
    • 회사 내 네트워크(A1~A4) 및 서버와 안전하게 통신할 수 있다.
    • 이는 원격 근무 환경에서 데이터 보안과 네트워크 리소스 접근을 보장한다.

VPN의 주요 특징

  1. 암호화:
    • 데이터가 VPN 터널을 통해 전송될 때 암호화되어 외부에서 읽을 수 없다.
    • 첫 번째 그림에서 터널은 암호화된 연결을 나타낸다(회색으로 표시).
  2. 보안:
    • 외부 공격이나 도청으로부터 데이터를 보호하며, 조직 내 민감한 데이터가 안전하게 전송된다.
  3. 접근성:
    • 두 번째 그림처럼 원격 근무자는 VPN을 통해 회사 내부 시스템에 접근할 수 있다.
    • 이는 물리적으로 멀리 떨어진 환경에서도 안전한 네트워크 접근을 가능하게 한다.

Firewalls

Firewalls는 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 간의 모든 트래픽을 필터링하는 장치이다. 주요 특징과 작동 방식은 다음과 같다:

  1. 전용 장치로 작동:
    • 대부분의 방화벽은 전용 장치로 실행되며, 이는 설계를 더 간단하게 만들고 성능을 최적화하는 데 유리하다.
    • 이를 통해 버그를 쉽게 검사할 수 있다.
  2. 보안 정책 구현:
    • 방화벽은 특정 트래픽이 통과할 수 있는지 여부를 결정하는 규칙 또는 보안 정책을 실행한다.
    • 이는 네트워크 보호의 첫 번째 단계로 작동한다.
  3. 참조 모니터 특성:
    • 방화벽은 참조 모니터의 예로, 다음과 같은 세 가지 특성을 충족해야 한다:
      • 항상 호출됨: 방화벽은 우회될 수 없어야 한다.
      • 변조 방지: 방화벽은 안전하게 보호되어야 한다.
      • 단순성: 방화벽은 엄격한 분석이 가능할 정도로 작고 단순해야 한다.

활용

  • 방화벽은 네트워크의 입구와 출구를 제어함으로써 외부 공격, 내부 정보 유출, 불필요한 트래픽을 방지하는 역할을 한다.
  • 보안의 기본 계층으로서, 방화벽은 네트워크를 보호하기 위한 필수 장비이다.

Firewall security Policy

 

Firewall의 종류

 

  • 패킷 필터링 게이트웨이(Packet Filtering Gateways):
    • 네트워크 계층에서 작동하며, 송신자와 수신자의 IP 주소 및 포트 번호를 기반으로 트래픽을 필터링한다.
    • 기본적이고 빠르지만, 상태 정보를 유지하지 않아 세부적인 보안 기능은 부족하다.

  • 상태 기반 검사 방화벽(Stateful Inspection Firewalls):
    • 세션 상태 정보를 추적하며, 패킷의 상태(연결 설정 여부 등)를 검사하여 허용 여부를 결정한다.
    • 네트워크 계층과 전송 계층에서 작동하며, 보안성과 효율성이 높다.

  • 애플리케이션 수준 게이트웨이(Application-Level Gateways):
    • 프록시 서버라고도 불리며, 애플리케이션 계층에서 작동한다.
    • 특정 애플리케이션 프로토콜에 따라 트래픽을 필터링하며, 높은 수준의 보안을 제공한다.
    • 데이터로도 필터링이 가능하고 문제가 발생하면 logging할 수 있다.

  • 회로 수준 게이트웨이(Circuit-Level Gateways):
    • 세션 계층에서 작동하며, 네트워크 연결이 확립되기 전에 트래픽을 검사한다.
    • 사용자 인증을 지원하며, 비교적 간단한 보안을 제공한다.

  • 가드(Guards):
    • 패킷 내용을 검사하고 트래픽을 제어하는 고급 방화벽이다.
    • 사용자 정의 정책을 지원하며, 보다 정교한 보안 제어가 가능하다.
  • 개인 또는 호스트 기반 방화벽(Personal or Host-Based Firewalls):
    • 개인 컴퓨터나 장치에서 실행되며, 개별 사용자를 보호한다.
    • 애플리케이션 접근 제어와 같은 세부적인 보안 설정이 가능하다.

 

각 Firewall 종류별 비교

 

Demilitarized Zone (DMZ)

DMZ(비무장 지대)는 외부 네트워크(인터넷)와 내부 네트워크(사내 네트워크) 사이에 위치한 중간 지대로, 네트워크 보안을 강화하기 위한 구조이다.

 

  • DMZ 내부 구성 요소:
    • DMZ에는 외부에서 접근 가능한 웹 페이지 서버, 이메일 서버, FTP 서버와 같은 공용 서비스 서버가 위치한다.
    • 이러한 서버는 외부 네트워크에서 접근할 수 있지만, 내부 네트워크와는 물리적으로 분리된다.
  • 방화벽(Firewall)의 역할:
    • 외부 방화벽은 인터넷과 DMZ 간 트래픽을 제어하며, 외부에서 서버로 접근하는 요청을 제한적으로 허용한다.
    • 내부 방화벽은 DMZ와 내부 네트워크 간 트래픽을 제어하여, 공용 서버를 통해 내부 네트워크로의 직접적인 접근을 차단한다.
  • 목적:
    • DMZ는 공용 서비스 서버가 해킹을 당하더라도 내부 네트워크와 데이터베이스를 보호하는 추가적인 방어 계층을 제공한다.
    • 내부 네트워크로의 침투를 방지하며, 공용 서버는 외부와 내부 간 완충 역할을 수행한다.
  • 보안 강화:
    • DMZ에 위치한 서버들은 외부 네트워크에서 발생할 수 있는 공격에 대비하여 별도로 보안 조치를 강화하며, 내부 네트워크와의 연계를 최소화한다.
    • 내부 데이터베이스와 직원 컴퓨터는 두 개의 방화벽을 통해 보호된다.

 

  1. Firewalls Can:
    • 방화벽은 네트워크 경계(perimeter)를 완전히 제어하는 경우에만 환경을 보호할 수 있다. 즉, 외부에서 내부로 들어오는 모든 트래픽을 차단하거나 필터링해야 효과를 발휘한다.
  2. Firewalls Cannot:
    • 방화벽은 경계 밖의 데이터 보호는 불가능하다. 즉, 외부로 나간 데이터에 대한 보안은 방화벽이 관여하지 않는다.
    • 방화벽은 네트워크 설치에서 가장 눈에 잘 띄는 부분이다. 이로 인해 공격자들에게 매력적인 표적이 되기도 한다.
  3. Requirements:
    • 방화벽은 정확히 구성되어야 하며, 환경 변화에 맞게 구성을 지속적으로 업데이트해야 한다.
    • 방화벽 활동 보고서를 주기적으로 검토하여 침입 시도나 성공적인 침입 증거를 확인해야 한다.
  4. Limitations:
    • 방화벽은 내부로 허용된 콘텐츠에 대해 미세한 제어만 할 수 있다. 즉, 허가된 내부 트래픽에 포함된 악성 코드나 부정확한 데이터는 방화벽만으로는 제어할 수 없으며, 내부에서 별도의 조치를 취해야 한다.

이로써 방화벽은 네트워크 보안의 중요한 첫 방어선 역할을 하지만, 단독으로는 완전한 보안을 제공할 수 없으며, 올바른 구성과 다른 보안 조치와의 조합이 필요하다.

 


Network Address Translation (NAT)

 

Network Address Translation(NAT)는 내부 네트워크의 프라이빗 IP 주소를 외부 네트워크에서 인식할 수 있는 공인 IP 주소로 변환하는 기술이다.

내부 네트워크의 호스트(예: 192.168.1.35)가 외부 네트워크(예: 65.216.161.24)로 데이터를 전송할 때, 방화벽이 출발지 IP 주소를 자신의 공인 IP 주소(예: 173.203.129.90)로 변환하여 외부로 보낸다. 이 과정에서 포트 번호(예: 80)는 그대로 유지된다.

수신된 데이터가 다시 내부 네트워크로 돌아올 때, NAT는 변환 테이블을 참조하여 패킷의 목적지 IP 주소를 원래의 프라이빗 IP 주소로 복원한다. 이를 통해 내부 네트워크는 공인 IP 주소를 최소한으로 사용하면서 외부와 통신할 수 있다.

 


Data Loss Prevention (DLP)

Data Loss Prevention(DLP)는 민감한 데이터가 허가되지 않은 위치로 전송되는 것을 감지하고 방지할 수 있는 기술 집합이다. DLP는 OS 루트킷으로 설치된 에이전트(agent)나 보안 감시 시스템(guard) 형태로 구현될 수 있다.

DLP는 다음과 같은 지표를 기반으로 데이터 유출을 감지한다:

  • 키워드 탐지
  • 트래픽 패턴 분석
  • 인코딩 및 암호화 여부 확인

DLP는 주로 실수로 인한 데이터 유출을 방지하는 데 적합하지만, 악의적인 사용자는 이를 우회할 방법을 찾을 수 있으므로 완벽한 보안은 보장하지 않는다.


Intrusion Detection Systems (IDS)

침입 탐지 시스템(Intrusion Detection System, IDS)은 네트워크 또는 시스템에서 발생하는 이벤트를 수집, 저장, 분석하여 침입 시도를 감지하고 이에 대한 대응을 제안하는 시스템이다. IDS는 다음과 같은 주요 구성 요소와 흐름을 가진다:

  1. 이벤트(Event) 수집 (E):
    • IDS는 네트워크 트래픽, 시스템 로그 등 다양한 원천에서 원시 이벤트 데이터를 수집한다. 이러한 데이터는 낮은 수준의 이벤트로 표현될 수 있으며, 시스템의 활동이나 잠재적인 침입 행동에 대한 정보를 포함한다.
  2. 저장(Storage, S):
    • 수집된 원시 이벤트 데이터는 저장소에 저장된다. 저장된 데이터는 나중에 분석에 사용되며, 시스템에서 발생한 활동을 추적하거나 증거를 제공하는 데 유용하다.
  3. 분석(Analysis, A):
    • 저장된 데이터를 기반으로 IDS는 이벤트를 분석하여 고수준의 의미를 가진 해석된 이벤트로 변환한다. 분석 단계에서는 침입 패턴을 감지하기 위해 알고리즘 또는 규칙 기반 방법을 사용한다.
    • 분석된 결과는 추가 분석을 위해 다시 이벤트로 피드백될 수 있다.
  4. 대응 조치(Countermeasures, C):
    • 분석 결과로 침입이 감지되면 IDS는 적절한 대응 조치를 수행하거나 제안한다. 대응 조치는 네트워크 트래픽 차단, 관리자에게 경고 전송, 시스템 설정 변경 등 다양한 형태로 이루어질 수 있다.
    • 이 단계에서는 분석 결과에 따라 즉각적인 반응을 보여줌으로써 보안을 강화한다.

데이터 흐름

  • 원시 이벤트는 먼저 저장소에 저장되며, 분석을 통해 고수준의 이벤트로 해석된다. 이러한 고수준 이벤트는 적절한 대응 조치를 통해 잠재적인 위협에 대응한다. 분석 단계와 이벤트 수집은 반복적으로 작동하여 IDS가 지속적으로 업데이트되고 학습할 수 있도록 한다.

IDS는 네트워크와 시스템을 모니터링하고, 침입을 사전에 방지하며, 보안 위협에 빠르게 대응하기 위해 설계된 중요한 보안 도구이다.

IDS는 아래의 4가지 방식으로 분류할 수 있다.

Detection Method (탐지 방법)

  • Signature-based:
    • 알려진 침입 패턴이나 서명을 데이터베이스에 저장하고, 이를 기반으로 침입을 탐지합니다.
    • 정밀도가 높지만, 새로운 유형의 침입(제로데이 공격) 탐지에는 한계가 있습니다.
  • Heuristic:
    • 경험적 데이터와 휴리스틱 알고리즘을 이용해 비정상적인 활동을 탐지합니다.
    • 알려지지 않은 침입 탐지에 유리하지만, 잘못된 탐지(오탐)가 발생할 가능성이 있습니다.

Location (위치)

  • Front End:
    • 외부 네트워크로부터 내부 네트워크를 보호하는 위치에서 작동합니다.
    • 주로 방화벽과 함께 배치되어 네트워크 경계를 모니터링합니다.
  • Internal:
    • 네트워크 내부에서 작동하며, 내부 사용자 또는 장치 간의 의심스러운 활동을 탐지합니다.
    • 내부 위협에 대한 탐지에 적합합니다.

Scope (범위)

  • Host-based IDS (HIDS):
    • 개별 호스트(컴퓨터, 서버)에서 작동하며, 특정 시스템의 로그와 활동을 모니터링합니다.
    • 장점: 세부적인 탐지 가능.
    • 단점: 호스트별로 설정해야 하며, 시스템에 부하를 줄 수 있음.
  • Network-based IDS (NIDS):
    • 네트워크 트래픽을 모니터링하며, 네트워크 기반의 침입을 탐지합니다.
    • 장점: 네트워크 전체를 커버 가능.
    • 단점: 암호화된 트래픽은 탐지에 어려움이 있음.

Capability (능력)

  • Passive:
    • 침입을 탐지하고 관리자에게 알리는 역할만 수행합니다.
    • 대응은 수동적으로 관리자의 조치를 필요로 합니다.
  • Active (IPS, Intrusion Prevention Systems):
    • 침입 탐지와 함께 자동으로 대응 조치를 수행합니다(예: 연결 차단, 패킷 드롭 등).
    • 예방적인 방어 체계를 구축할 수 있습니다.

Security Information and Event Management (SIEM)

 

SIEM(Security Information and Event Management)은 다양한 보안 로그와 이벤트 데이터를 수집, 저장, 분석하여 보안 위협을 탐지하고 대응할 수 있는 통합 솔루션입니다. 다음은 SIEM의 구성 요소와 동작 방식에 대한 설명입니다:

1. 데이터 수집

  • SIEM은 다양한 데이터 소스로부터 로그와 이벤트 데이터를 수집합니다.
    • OSs, Applications: 운영체제와 애플리케이션 로그.
    • Cloud Services: 클라우드 플랫폼에서 생성되는 이벤트 데이터.
    • Databases: 데이터베이스의 접근 로그와 쿼리 실행 데이터.
    • Web Servers/Applications: 웹 서버 및 애플리케이션의 활동 기록.
    • Email Servers: 이메일 송수신 기록과 관련된 데이터.
    • IDSs(침입 탐지 시스템): 네트워크 활동과 침입 탐지 로그.
    • Firewalls(방화벽): 네트워크 트래픽 차단 및 허용 기록.
    • Proxy Servers: 프록시 서버를 통한 웹 트래픽 기록.
    • Switches, Routers: 네트워크 장치의 트래픽 데이터와 상태 정보.

2. 중앙 집중형 로그 관리

  • SIEM은 수집된 데이터를 중앙 저장소(Log Data)에 저장합니다.
    • 저장된 데이터는 구조화되어 SIEM 분석 시스템으로 전달됩니다.
    • 데이터는 압축 및 인덱싱되어 검색 속도를 높이고 저장 공간을 최적화합니다.

3. 데이터 분석 및 상관관계 탐지

  • SIEM은 데이터를 분석하고 상관관계를 파악하여 보안 위협을 탐지합니다.
    • 이상 징후 탐지: 특정 행동 패턴이나 이상 징후를 탐지.
    • 정책 위반 탐지: 미리 정의된 보안 정책 위반 사례를 식별.
    • 실시간 모니터링: 발생하는 보안 이벤트를 실시간으로 분석.

4. 보안 운영 센터(SOC)

  • SIEM의 데이터를 기반으로 SOC(Security Operations Center) 분석가들이 보안 위협을 탐지하고 대응합니다.
    • 경고(Alert)를 기반으로 이벤트를 분석.
    • 필요시, 대응 조치(차단, 격리, 알림)를 수행.

5. 주요 이점

  • 위협 탐지: 여러 데이터 소스 간의 상관관계를 파악하여 고급 위협 탐지 가능.
  • 컴플라이언스: 로그와 이벤트 데이터를 저장 및 관리하여 규제 준수 지원.
  • 조사 시간 단축: 통합된 데이터와 분석 도구를 통해 보안 사고 대응 속도 향상.

이와 같이 SIEM은 기업의 다양한 IT 환경에서 발생하는 데이터를 통합적으로 관리하고, 실시간으로 위협을 탐지 및 대응할 수 있는 강력한 보안 도구입니다.


728x90

'Quality control (Univ. Study) > Information Security' 카테고리의 다른 글

Privacy  (2) 2024.12.07
Buffer-overflow attack lab (3)  (0) 2024.12.07
Buffer-overflow attack lab (2)  (0) 2024.12.04
Buffer-overflow attack lab (1)  (1) 2024.12.02
추가 개념정리(Midterm)  (4) 2024.10.22