오늘의 목표 : 드디어! 기나긴 시간 끝에 다시 인공지능 보안으로 아주 미약하게 강해져서 돌아왔다!!! 11장 끝낼 수 있지 않을까? 할.. 수 있을 것 같은데..?
네트워크는 노드들이 서로 자원을 공유할 수 있도록 허용하는 통신망을 의미한다.
네트워크 보안은 컴퓨터 네트워크와 네트워크에 접근 가능한 자원들에 대한 허가되지 않은 접근, 남용, 오용, 변조, 서비스 거부 공격을 예방하고 감시하기 위해 사용하는 일련의 정책과 기술이다.
네트워크를 사용하는 모든 장비들은 프로토콜을 토대로 통신을 한다. 서로 다른 역할을 하는 프로토콜들이 모여 하나의 완전한 기능을 구현할 수 있도록 계층화한 것이 OSI 7계층이다. 그리고, 유사한 계층을 모아 4개의 계층으로 구성한 것이 TCP/IP 계층이다.

< 네트워크 사용 사례 >
(1) 메신저와 네트워크
보통 중개 서버를 하나 두고 서버가 모든 사용자들의 메시지를 빠짐없이 안전하게 전달하는 방식을 사용한다.
작성한 메시지가 상대방에게 전달되는 과정 :
1. 메신저 앱에서 대화 상대를 선택, 메시지 입력 후 Enter
2. 메신저 앱은 사용자가 입력한 메시지를 서버로 보내기 위해 메시지에 서버 주소 & 메시지에 대한 정보를 함께 기록
3. 메시지는 이동 경로상 위치한 라우터에게 목적지 서버의 위치 정보를 지속적으로 얻음
4. 서버가 위치한 네트워크에 도착한 메시지는 기본적인 검사를 받음
5. 메시지를 받은 서버는 메시지에 기록된 송신자 정보와 메시지를 확인하고, 상대방 앱에 메시지 도착 여부를 알림
- 상대방이 수신한 메시지를 확인하는 방법은 네트워크 패킷이 만들어지는 과정을 거꾸로 수행하면 된다.

(2) 인터넷 서핑과 네트워크
브라우저 프로그램을 이용해 구글을 검색하는 경우.
google.com이라는 주소는 사람이 이해하기 쉽도록 만든 도메인 주소로, 통신을 위해선 도메인 주소와 연결된 실제 IP 주소가 필요하다.
DNS 서버를 통해 주소 정보를 확인한 후 웹페이지를 받아오는 과정도 앞의 예제와 크게 다르지 않다.
위의 두 목적이 다른 네트워크 통신 사례는 데이터를 주고받는 방식과 기술이 크게 다르지 않다. 우선, 사용자와 가장 가까이 맞닿아 있는 응용 프로그램 측에서 실제로 요청 또는 작업을 원하는 메시지를 생성한다. 다음으로, 목적지 정보를 데이터 헤더에 기록한다. 이때 중요한 점은, 네트워크 통신의 최종 목적지가 컴퓨터가 아니라 서비스, 즉 통신의 주체가 되는 응용 프로그램이다. 하지만, IP와 포트 정보는 대략적인 인터넷 상의 주소일 뿐 물리적 주소인 MAC 주소는 최종 목적지 시스템이 위치한 네트워크에 도달해야 확인이 가능하다.
IP주소는 특정 네트워크를 찾아가기 위한 주소일 뿐, 특정 컴퓨터 또는 서버에 영구적으로 부여되는 고유 주소가 아니다.
MAC 주소는 컴퓨터에 장착된 네트워크 어댑터의 물리적 주소로, 영구적이다.
(1) 네트워크 접근 계층
물리적 연결과 포인트 투 포인트(Point to Point) 간 신뢰성 있는 전송 보장을 위한 계층
오류 제어 & 흐름 제어 필요
네트워크 접근 계층의 보안 위협은 주로 트래픽 흐름 조작과 관련이 있다. 기본적으로 효율적인 흐름 제어와 오류 제어에 사용하는 프로토콜의 동작 방식에 존재하는 논리적 결함을 이용했다.
일반적으로 시스템 설정 또는 간단한 도구를 이용해 쉽게 탐지 또는 예방이 가능하다.
(2) 인터넷 계층
여러 개의 네트워크 사이의 통신을 담당하는 계층
주소 부여 & 경로 설정이 핵심 역할, 대표적인 프로토콜로 IP,ICMP,IPsec 등이 있음
네트워크 접근 계층에서 발생 가능한 보안 위협에 더해 트래픽이 범람하도록 만드는 서비스 거부 공격 위협이 본격적으로 등장하는 계층

(3) 전송 계층
단말 사용자들이 신뢰성 있는 데이터를 주고받을 수 있도록 해주는 역할
주로 프로토콜 : TCP(연결 지향성 프로토콜), UDP(단순 전송에 사용)
TCP의 신뢰성 관리 매커니즘을 공격하는 보안 위협이 대부분을 차지.
전송 계층의 대표적인 공격 기법들은 네트워크 접근 계층과 인터넷 계층에서 모두 찾아볼 수 있는 유형이 대부분이다. 다만, 계층이 올라가면서 데이터를 처리하는 방식이 더욱 정교해지고, 이를 악용해 통신 흐름을 조작하는 공격 또한 정교함이 요구된다.
전송 계층의 동작 방식에 맞는 서비스 거부 공격이 존재하는 점.
(4) 애플리케이션 계층
네트워크 통신의 최종 목적지이자 출발지 역할을 하는 서비스(하나의 포트와 연결된 응용 프로그램 또는 운영체제 기능)를 관리하는 계층
이 계층에서는 모든 유형의 보안 위협이 발생할 수 있다.
모든 포트는 공격 대상이 될 수 있으며, 해당 포트와 연결된 프로토콜 자체에 결함이 있거나, 포트를 사용하는 프로그램에 취약점이 존재할 경우 문제가 발생할 수 있다.
< 유형별 네트워크 보안 솔루션>
(1) 기본 모니터링 도구
네트워크 모니터링 도구에는 트래픽을 단순히 덤프해 보여주는 TCPDump, Wireshark와 같은 도구들도 있으며, 관심 있는 트래픽을 요약해서 보여주는 대시보드(Dashboard) 기반 도구들도 존재한다.
(2) 외부 침입 보안
외부 네트워크에서 내부로 유입되는 보안 위협을 탐지하고 차단하는 솔루션
경계 보안 (perimeter defense) 솔루션
조지 내부 네트워크와 내부 네트워크의 경계선에 위치하면서 외부의 공격으로부터 내부 네트워크를 보호하는 것이 주된 목적.
최근에는 무선 네트워크와 클라우드 서비스로 인해 경계선의 의미가 모호해지고 있음

(3) 내부 정보 유출 보안
내부 위협으로 인한 보안 사고를 막는 방법은 크게 예방과 사후 대응 방식으로 구분할 수 있다.
(4) 통합 보안 솔루션
< 요소별 보안 기술 >
(1) 기밀성(Confidentiality)
오직 허가된 사용자만 민감한 정보에 접근 가능하고, 허가되지 않은 사용자는 해당 정보를 소유하지 못하도록 보증하는 것
(2) 무결성(Integrity)
정보의 안전성과 정확성을 보장하는 것으로, 정보 수신자가 받은 정보는 정보 생산자가 의도한 정보와 동일해야 하며, 인가된 사용자만 데이터를 변경할 수 있다는 것
(3) 가용성(Availability)
사용자가 필요로 하는 순간에 정보와 자원에 접근 가능하도록 보증하는 것
중간 목표 점검 : 할 수 없었던 것 같음. 양이 생각보다 많았음. 너무 힘들어.... 그래도 해야겠지..ㅠ
패킷은 다양한 네트워크 개념과 기술이 융합된 복잡한 데이터로 계층별 헤더와 데이터의 속성에 대한 정확한 이해가 필요하다. 또한, 패킷의 경우 시간 흐름을 가지는 시계열 데이터(time series)로, 데이터 해석 방식에 따라 분석 결과가 크게 달라질 수 있다.
1) 인공지능 솔루션의 목표
네트워크 침입 탐지 모델은 보안 위협과 보호 대상에 맞는 전략을 토대로 모델을 구축해야 한다.

2) 솔루션 배치 위치와 방식
네트워크 기반 솔루션은 그 기능과 성격에 따라 네트워크에 배치되는 방식과 위치가 달라진다. 조직에서 서로 다른 성격을 가진 다수의 네트워크망(업무망, 서비스망, 계통망 등)을 보유하고 있는 경우, 각 네트워크에 최적화된 모델을 해당 네트워크 내부 또는 입구에 각각 배치할 것인지, 혹은 하나의 시스템 안에 여러 모델을 탑재해 운용할 것인지도 결정해야한다.
< 기 구축된 SIEM 솔루션이 있을 경우 이를 활용하는 방법 >
- 솔루션 내부에 플러그인 형태도 탐지 모델을 탑지
- 장점 : 안정적인 성능과 유지 보수 용이
- 단점 : 초기 구축 비용 많음, 유연한 시스템 배치 어려움
- SIEM에서 데이터를 추출해 분석하는 별도의 시스템상에서 탐지 모델을 구축해 운용
- 장점 : 탐지 목표와 위치에 상관없이 유연한 모델 만들 수 있음, 조직 네트워크 환경에 최적화된 모델을 만들 수 있음
- 단점 : 자체 연구 인력 확보와 개발 기간이 소요됨, 시스템 유지 보수 어려움
3) 학습 데이터
네트워크 데이터를 수집하는 가장 효율적인 방법은 조직 내에 구축된 네트워크 관리 또는 보안 기능에서 생성하는 로그를 이용하는 것이다.
로그 데이터를 이용하면 패킷 데이터 처리를 위한 별도의 기능 개발 부하를 줄일 수 있으며, 단순 파싱으로 조회하기 힘든 부분까지 손쉽게 뽑아낼 수 있다. 특정 프로그램 또는 운영체제에서 생성해주는 로그 데이터로 부족한 부분이 생기는 경우 패킷 데이터에서 직접 정보를 추출하면 된다.
로그 데이터는 주어진 환경 내의 특정 변화를 감지해 컴퓨터 시스템 또는 소프트웨어가 기록한 데이터 모음을 의미한다. 여기서 특정 변화란 새로운 사용자 로그인 정보, 보안 위협 탐지 정보, 시스템 재시작 실패 등이 포함된다.
< 로그의 유형 >
- 보안 로그 : 공격 시도, 악성코드 감염, 데이터 탈취 등을 탐지한 기록
- 운영 로그 : 시스템 실패 또는 잠재적으로 위험한 변화 정보를 운영자에게 알리기 위한 기록
- 컴플라이언스 로그 : 공통 기준 또는 시스템 설계 및 보안 준수 여부 기록
- 애플리케이션 디버그 로그 : 애플리케이션 및 시스템 개발자가 지정한 로그
로그에는 단순 변화에 대한 정보뿐만 아니라, 변화가 발생한 시간, 로그 출처, 중요도 등 다양한 정보가 함께 기록된다. 로그는 단순 텍스트 파일, 이벤트 로그 파일(ELF) 형식, XML 파일, 바이너리 형식 등 다양한 형식으로 기록된다.
로그는 임의의 기준으로 가공 또는 요약된 결과일 뿐 원본 데이터와는 다르다.
결론적으로, 우선 구축하기 원하는 모델을 명확히 정의하고, 목표 달성에 필요한 정보가 기존에 수집 중이던 로그에 모두 포함되어 있다면 로그를 활용하고, 그렇지 않다면 새로운 데이터 수집 전략을 수립해야 한다.
오늘의 공부 끄읕-!