[인공지능 보안을 배우다] 나홀로 프로젝트 도전_0212

daniayo·2025년 2월 12일

오늘의 목표 : 드디어! 기나긴 시간 끝에 다시 인공지능 보안으로 아주 미약하게 강해져서 돌아왔다!!! 11장 끝낼 수 있지 않을까? 할.. 수 있을 것 같은데..?

11장. 네트워크 공격과 악성코드 이해

네트워크와 보안 위협

네트워크는 노드들이 서로 자원을 공유할 수 있도록 허용하는 통신망을 의미한다.
네트워크 보안은 컴퓨터 네트워크와 네트워크에 접근 가능한 자원들에 대한 허가되지 않은 접근, 남용, 오용, 변조, 서비스 거부 공격을 예방하고 감시하기 위해 사용하는 일련의 정책과 기술이다.

네트워크를 사용하는 모든 장비들은 프로토콜을 토대로 통신을 한다. 서로 다른 역할을 하는 프로토콜들이 모여 하나의 완전한 기능을 구현할 수 있도록 계층화한 것이 OSI 7계층이다. 그리고, 유사한 계층을 모아 4개의 계층으로 구성한 것이 TCP/IP 계층이다.

< 네트워크 사용 사례 >

(1) 메신저와 네트워크
보통 중개 서버를 하나 두고 서버가 모든 사용자들의 메시지를 빠짐없이 안전하게 전달하는 방식을 사용한다.

작성한 메시지가 상대방에게 전달되는 과정 :
1. 메신저 앱에서 대화 상대를 선택, 메시지 입력 후 Enter
2. 메신저 앱은 사용자가 입력한 메시지를 서버로 보내기 위해 메시지에 서버 주소 & 메시지에 대한 정보를 함께 기록
3. 메시지는 이동 경로상 위치한 라우터에게 목적지 서버의 위치 정보를 지속적으로 얻음
4. 서버가 위치한 네트워크에 도착한 메시지는 기본적인 검사를 받음
5. 메시지를 받은 서버는 메시지에 기록된 송신자 정보와 메시지를 확인하고, 상대방 앱에 메시지 도착 여부를 알림

  • 상대방이 수신한 메시지를 확인하는 방법은 네트워크 패킷이 만들어지는 과정을 거꾸로 수행하면 된다.

(2) 인터넷 서핑과 네트워크
브라우저 프로그램을 이용해 구글을 검색하는 경우.

  • 브러우저 프로그램 실행 > 주소창에 'www.google.com' 입력 > 브라우저 프로그램은 DNS 서버에 google.com의 실제 IP 주소를 문의

google.com이라는 주소는 사람이 이해하기 쉽도록 만든 도메인 주소로, 통신을 위해선 도메인 주소와 연결된 실제 IP 주소가 필요하다.
DNS 서버를 통해 주소 정보를 확인한 후 웹페이지를 받아오는 과정도 앞의 예제와 크게 다르지 않다.

위의 두 목적이 다른 네트워크 통신 사례는 데이터를 주고받는 방식과 기술이 크게 다르지 않다. 우선, 사용자와 가장 가까이 맞닿아 있는 응용 프로그램 측에서 실제로 요청 또는 작업을 원하는 메시지를 생성한다. 다음으로, 목적지 정보를 데이터 헤더에 기록한다. 이때 중요한 점은, 네트워크 통신의 최종 목적지가 컴퓨터가 아니라 서비스, 즉 통신의 주체가 되는 응용 프로그램이다. 하지만, IP와 포트 정보는 대략적인 인터넷 상의 주소일 뿐 물리적 주소인 MAC 주소는 최종 목적지 시스템이 위치한 네트워크에 도달해야 확인이 가능하다.
IP주소는 특정 네트워크를 찾아가기 위한 주소일 뿐, 특정 컴퓨터 또는 서버에 영구적으로 부여되는 고유 주소가 아니다.
MAC 주소는 컴퓨터에 장착된 네트워크 어댑터의 물리적 주소로, 영구적이다.

계층별 보안 위협

(1) 네트워크 접근 계층
물리적 연결과 포인트 투 포인트(Point to Point) 간 신뢰성 있는 전송 보장을 위한 계층
오류 제어 & 흐름 제어 필요

  • 물리 계층
    • 네트워크 통신선에 Tapping 장치를 연결해 엿듣는 공격
    • 네트워크 통신 장치를 꺼버리거나 부숴버리는 공격
  • 데이터 링크 계층
    • 활용도가 낮아 다른 계층에 비해 보안 위협과 직결되는 문제점이 그리 많지 않다.
    • ARP 스푸핑, STP 조작 공격, VLAN hopping 공격, CAM 테이블 오버플로우 공격

네트워크 접근 계층의 보안 위협은 주로 트래픽 흐름 조작과 관련이 있다. 기본적으로 효율적인 흐름 제어와 오류 제어에 사용하는 프로토콜의 동작 방식에 존재하는 논리적 결함을 이용했다.
일반적으로 시스템 설정 또는 간단한 도구를 이용해 쉽게 탐지 또는 예방이 가능하다.

(2) 인터넷 계층
여러 개의 네트워크 사이의 통신을 담당하는 계층
주소 부여 & 경로 설정이 핵심 역할, 대표적인 프로토콜로 IP,ICMP,IPsec 등이 있음
네트워크 접근 계층에서 발생 가능한 보안 위협에 더해 트래픽이 범람하도록 만드는 서비스 거부 공격 위협이 본격적으로 등장하는 계층

  • 서비스 거부 공격 : 시스템 자원(메모리, 최대 트래픽 허용치)을 고갈시켜 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격. 주로 ICMP 프로토콜을 이용.
  • IP 스푸핑 공격 : 인터넷 프로토콜의 인증 취약점을 이용해 공격자 자신이 대상 시스템인 것처럼 IP 주소를 가장하는 공격
  1. 공격자가 피해자 시스템을 대상으로 서비스 거부 공격 수행
  2. 공격자가 자신의 IP를 피해자 IP로 속여 서버에 연결 요청
  3. 서버는 피해자 IP로 요청 확인 메시지를 전송하나 피해자는 수신 불가능 상태
  4. 공격자가 마치 자신이 피해자인 것처럼 응답 패킷을 전송해 서버와 신뢰 관계를 수립 (IP 스푸핑)

(3) 전송 계층
단말 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 해주는 역할
주로 프로토콜 : TCP(연결 지향성 프로토콜), UDP(단순 전송에 사용)
TCP의 신뢰성 관리 매커니즘을 공격하는 보안 위협이 대부분을 차지.

  • SYN Flooding, TCP Session Hijacking, UDP Flooding 공격

전송 계층의 대표적인 공격 기법들은 네트워크 접근 계층과 인터넷 계층에서 모두 찾아볼 수 있는 유형이 대부분이다. 다만, 계층이 올라가면서 데이터를 처리하는 방식이 더욱 정교해지고, 이를 악용해 통신 흐름을 조작하는 공격 또한 정교함이 요구된다.
전송 계층의 동작 방식에 맞는 서비스 거부 공격이 존재하는 점.

(4) 애플리케이션 계층
네트워크 통신의 최종 목적지이자 출발지 역할을 하는 서비스(하나의 포트와 연결된 응용 프로그램 또는 운영체제 기능)를 관리하는 계층
이 계층에서는 모든 유형의 보안 위협이 발생할 수 있다.

  • 가용성 : 운영체제에서 기본적으로 동작하는 네트워크 기반 서비스에 문제가 발생할 경우, 운영체제 자체를 먹통으로 만들 수 있음
  • 기밀성 : 피싱 사이트를 통해 주요 금융 정보를 탈취할 수 있음
  • 무결성 : 업데이트 서버의 취약점을 공격해 해당 서버를 사용하는 모든 서버에 랜섬웨어를 설치할 수 있음

모든 포트는 공격 대상이 될 수 있으며, 해당 포트와 연결된 프로토콜 자체에 결함이 있거나, 포트를 사용하는 프로그램에 취약점이 존재할 경우 문제가 발생할 수 있다.

네트워크 보호 기술

< 유형별 네트워크 보안 솔루션>

(1) 기본 모니터링 도구
네트워크 모니터링 도구에는 트래픽을 단순히 덤프해 보여주는 TCPDump, Wireshark와 같은 도구들도 있으며, 관심 있는 트래픽을 요약해서 보여주는 대시보드(Dashboard) 기반 도구들도 존재한다.

  • 대시보드 기반 도구
    • 장점 : 특별한 관심을 요하는 유형의 트래픽 흐름을 한눈에 볼 수 있음
    • 단점 : 트래픽의 다양한 측면을 실시간으로 분석하기 적합하지 않음
  • 트래픽 덤프 도구
    • 장점 : 필터링 옵션을 통해 실시간 트래픽 분석이 용이함
    • 단점 : 전문가가 아니면 현재 네트워크의 상황을 한눈에 파악하기 어려움

(2) 외부 침입 보안
외부 네트워크에서 내부로 유입되는 보안 위협을 탐지하고 차단하는 솔루션

경계 보안 (perimeter defense) 솔루션
조지 내부 네트워크와 내부 네트워크의 경계선에 위치하면서 외부의 공격으로부터 내부 네트워크를 보호하는 것이 주된 목적.
최근에는 무선 네트워크와 클라우드 서비스로 인해 경계선의 의미가 모호해지고 있음

  • 방화벽 : IP와 포트를 기반으로 트래픽을 검사하고 흐름을 제어하는 역할을 하는 가장 기본적인 네트워크 보안 솔루션. 크게 1,2,3세대 방화벽이 있다.
  • IDS : 침입 탐지 시스템(Intrusion Detection System)의 약자로, 트래픽에서 악성 행위와 정책 위반을 찾아내 경고하여 그 사실을 알려주는 시스템. 시그니처 기반으로 보안 위협을 탐지한다.
    • 장점 : 통신 흐름뿐만 아니라 패킷 안에 담긴 데이터까지 검사 대상에 포함됨
    • 단점 : 오탐율이 높아 실질적인 활용이 어려움
  • IPS : 침입 방지 시스템(Intrusion Prevention System)의 약자로, 악성 트래픽을 차단하는 기능을 제공. 기본적인 동작 방식은 IDS와 거의 동일하나, 탐지 결과를 토대로 실제 트래픽을 제어(통과/차단)하는 기능까지 가지고 있다.
    • IDS 시스템이 가진 성격(높은 오탐율)을 그대로 가지고 있어 실질적 활용이 어렵다.
  • NAC : 네트워크 접근 통제 시스템(Network Access Control)의 약자로, 사용자, 단말, 트래픽 인증을 통해 모든 네트워크에 대한 접근을 제어한다.

(3) 내부 정보 유출 보안
내부 위협으로 인한 보안 사고를 막는 방법은 크게 예방과 사후 대응 방식으로 구분할 수 있다.

  • 사후 대응 : 경계 보안 솔루션 & 호스트 기반 보안 솔루션으로 탐지하지 못한 공격에 대응하는 것을 의미하며, 내부 시스템 감염으로 인한 이상 증상을 찾아내 조치하는 것에 초점이 맞춰진다.
  • 예방
    • 보안 프록시 : 프록시 서버는 클라이언트와 외부 네트워크 사이의 연결을 중재하는 역할을 하는 서버를 의미한다. 핵심은 웹사이트 차단, 웹 메일 통제, P2P, 메신저를 차단하는 기능이다.
    • DLP : 데이터 유출 방지(Data Leakage Protection)의 약자로 조직 내부자의 고의나 실수로 인한 외부 정보 유출을 방지하는 솔루션을 의미한다. 정보가 외부로 유출되는 것을 차단하는 기능에 초점이 맞춰져있다.

(4) 통합 보안 솔루션

  • UTM : 통합 위협 관리(Unified Threat Management)의 약자로 방화벽, IDS/IPS를 아우르는 솔루션 = 여러 솔루션을 하나의 솔루션(장비)에 통합시켜 구성해 놓은 것
    • 장점 : 여러 솔루션을 하나로 통합해 관리가 용이하고 가시성이 확보된다.
    • 단점 : 장애가 생길 경우 어느 하나의 보안 기능도 기대할 수 없다.
  • ESM : 기업 보안 관리(Enterprise Security Management)의 약자로 여러 네트워크 장비에서 생성한 데이터를 한 곳에서 관리할 수 있게 해주는 솔루션
    • 장점 : 기존에 구축된 보안 솔루션을 변경하지 않으면서 로그를 통합 관리할 수 있다.
    • 단점 : 데이터 연동이 어렵고 너무 많은 로그를 처리해야한다. 또한, 수집한 로그에 대한 알림, 통계, 시각화 기능이 1차원적인 해석 수준에 머무른다.
  • SIEM : 보안 정보 및 이벤트 관리(Security Information and Event Management)의 약자로 조직 내에서 발생하는 모든 자원의 정보 및 보안 이벤트를 통합 관리할 수 있도록 해주는 솔루션
    • 대용량, 비정형 데이터 수집 및 고급 분석 기능을 제공함
    • 서로 다른 로그들의 상관분석을 통해 새로운 보안 위협을 찾아냄
    • 침해 사고 발생 시 시나리오 기반 분석을 통해 침해 원인을 빠르고 정확하게 분석함

< 요소별 보안 기술 >

(1) 기밀성(Confidentiality)
오직 허가된 사용자만 민감한 정보에 접근 가능하고, 허가되지 않은 사용자는 해당 정보를 소유하지 못하도록 보증하는 것

  • 공격 유형 : 스누핑(Snoofing), 트래픽 분석(Traffic Analysis)
  • 보호 방법 : 암호화

(2) 무결성(Integrity)
정보의 안전성과 정확성을 보장하는 것으로, 정보 수신자가 받은 정보는 정보 생산자가 의도한 정보와 동일해야 하며, 인가된 사용자만 데이터를 변경할 수 있다는 것

  • 공격 방법 : 변경(Modification), 가장(Masquerading), 재연(Replying), 부인(Repudiation)
  • 보호 방법 : 암호화, 해시

(3) 가용성(Availability)
사용자가 필요로 하는 순간에 정보와 자원에 접근 가능하도록 보증하는 것

  • 공격 방법 : 서비스 거부 공격(Denial of Service)
  • 탐지 : 공격 방식에 따라 다름. 보통 급격한 트래픽 변화와 임계치를 넘어서는 트래픽을 탐지하는 방식
  • 차단 기법 : DNS 싱크홀, ACL 기반 차단, 블랙홀 처리, 대역폭 제한 방법

중간 목표 점검 : 할 수 없었던 것 같음. 양이 생각보다 많았음. 너무 힘들어.... 그래도 해야겠지..ㅠ

네트워크 보안과 인공지능

패킷은 다양한 네트워크 개념과 기술이 융합된 복잡한 데이터로 계층별 헤더와 데이터의 속성에 대한 정확한 이해가 필요하다. 또한, 패킷의 경우 시간 흐름을 가지는 시계열 데이터(time series)로, 데이터 해석 방식에 따라 분석 결과가 크게 달라질 수 있다.

1) 인공지능 솔루션의 목표
네트워크 침입 탐지 모델은 보안 위협과 보호 대상에 맞는 전략을 토대로 모델을 구축해야 한다.

2) 솔루션 배치 위치와 방식
네트워크 기반 솔루션은 그 기능과 성격에 따라 네트워크에 배치되는 방식과 위치가 달라진다. 조직에서 서로 다른 성격을 가진 다수의 네트워크망(업무망, 서비스망, 계통망 등)을 보유하고 있는 경우, 각 네트워크에 최적화된 모델을 해당 네트워크 내부 또는 입구에 각각 배치할 것인지, 혹은 하나의 시스템 안에 여러 모델을 탑재해 운용할 것인지도 결정해야한다.

< 기 구축된 SIEM 솔루션이 있을 경우 이를 활용하는 방법 >

  • 솔루션 내부에 플러그인 형태도 탐지 모델을 탑지
    • 장점 : 안정적인 성능과 유지 보수 용이
    • 단점 : 초기 구축 비용 많음, 유연한 시스템 배치 어려움
  • SIEM에서 데이터를 추출해 분석하는 별도의 시스템상에서 탐지 모델을 구축해 운용
    • 장점 : 탐지 목표와 위치에 상관없이 유연한 모델 만들 수 있음, 조직 네트워크 환경에 최적화된 모델을 만들 수 있음
    • 단점 : 자체 연구 인력 확보와 개발 기간이 소요됨, 시스템 유지 보수 어려움

3) 학습 데이터
네트워크 데이터를 수집하는 가장 효율적인 방법은 조직 내에 구축된 네트워크 관리 또는 보안 기능에서 생성하는 로그를 이용하는 것이다.

로그 데이터를 이용하면 패킷 데이터 처리를 위한 별도의 기능 개발 부하를 줄일 수 있으며, 단순 파싱으로 조회하기 힘든 부분까지 손쉽게 뽑아낼 수 있다. 특정 프로그램 또는 운영체제에서 생성해주는 로그 데이터로 부족한 부분이 생기는 경우 패킷 데이터에서 직접 정보를 추출하면 된다.

로그 데이터 이해하기

로그 데이터는 주어진 환경 내의 특정 변화를 감지해 컴퓨터 시스템 또는 소프트웨어가 기록한 데이터 모음을 의미한다. 여기서 특정 변화란 새로운 사용자 로그인 정보, 보안 위협 탐지 정보, 시스템 재시작 실패 등이 포함된다.

< 로그의 유형 >

  • 보안 로그 : 공격 시도, 악성코드 감염, 데이터 탈취 등을 탐지한 기록
  • 운영 로그 : 시스템 실패 또는 잠재적으로 위험한 변화 정보를 운영자에게 알리기 위한 기록
  • 컴플라이언스 로그 : 공통 기준 또는 시스템 설계 및 보안 준수 여부 기록
  • 애플리케이션 디버그 로그 : 애플리케이션 및 시스템 개발자가 지정한 로그

로그에는 단순 변화에 대한 정보뿐만 아니라, 변화가 발생한 시간, 로그 출처, 중요도 등 다양한 정보가 함께 기록된다. 로그는 단순 텍스트 파일, 이벤트 로그 파일(ELF) 형식, XML 파일, 바이너리 형식 등 다양한 형식으로 기록된다.
로그는 임의의 기준으로 가공 또는 요약된 결과일 뿐 원본 데이터와는 다르다.

결론적으로, 우선 구축하기 원하는 모델을 명확히 정의하고, 목표 달성에 필요한 정보가 기존에 수집 중이던 로그에 모두 포함되어 있다면 로그를 활용하고, 그렇지 않다면 새로운 데이터 수집 전략을 수립해야 한다.

오늘의 공부 끄읕-!

profile
댜니에요

0개의 댓글