【 학습 범위 】
[CN] Computer Networking: A Top-Down Approach / Ch.1.1 ~ 1.2
[NSE] Network Security Essentials: Applications and Standards / Ch.1.1 ~ 1.4
【 학습 목표 】
각 교재에서는 다음과 같이 학습 목표를 정의한다.
- Computer Networking / Ch.1
- 인터넷과 네트워크의 구성과 작동 원리 이해하기
- 네트워크 종단 시스템(Edge)부터 중심부(Core) 이해하기
- 지연과 손실의 개념 설명하기
- 프로토콜 계층화 이해하기
- 보안 취약점 이해하기
- Network Security Essentials / Ch.1
- CIA 3원칙에 대해 이해하기
- OSI를 위한 X.800 보안 아키텍쳐 설명하기
- 보안 위협 및 공격 분류하기
- 보안 설계 원칙 이해하기
- 공격 분석 기법 (Surfaces & Trees) 이해하기
- 암호화 표준화 기관 이해하기
1.1 인터넷이란 무엇인가
- 인터넷 (Internet)
- 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 네트워크를 의미한다.
- A Computer Network that Interconnects billions of Computing Devices throughout the world
- 개별 장치 (Each Devices) = 호스트 (Host) = 종단 시스템 (End System)
- 일반적으로 네트워크 구성의 끝자락에 있어 종단 시스템, End System이라고도 부른다.
- 컴퓨터 네트워크에 연결된 컴퓨팅 장치 각각을 호스트(Host) 또는 종단 시스템이라고 부른다.
- 예를 들어, 데스크탑 PC나 서버, 하물며 TV나 세탁기, 스마트워치 등 인터넷에 연결된 모든 IoT 장비들을 모두 포함한다.

- 분산 시스템 (Distributed System)
- 수많은 컴퓨팅 장치들, 호스트가 네트워크로 연결된 환경을 의미한다.
- 데이터가 호스트를 떠나 타인의 장비와 통신 시설을 거쳐 전송되기 시작하며, 전송 중인 데이터를 보호하기 위한 인터넷 보안(Internet Security)은 필수적인 요소로 자리 잡았다.
- 보안이라는 것은
- 우리가 네트워크로 연결하는 장비(하드웨어, 소프트웨어, 통신 시설 등)는 모두 시스템 자원이다.
- 이 자원의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 지켜내는 것이 보안의 핵심 요소이다.
- The Protection afforded to an Automated Information System in order to Attain the Applicable Objectives of Preserving the Confidentiality, Integrity, Availability of Information System Resources (includes hardware, software, firmware, information/data, and telecommunications).
End System은 Communications Links와 Packet Switches에 의해 서로 연결되어 있다. 이 인프라 위에서 데이터가 어떻게 이동하고, 또 어떻게 보호받아야 하는지 살펴보자.
- 패킷 (Packet)
- 데이터를 송신 호스트에서 수신 호스트로 보낼 때, 보내고자 하는 데이터를 세그먼트(Segment)로 나누고, 각 세그먼트에 헤더(Header) 바이트를 부착하여 발송한다.
- 헤더 바이트가 부착된 세그먼트, 이 데이터 조각들을 패킷(Packet)이라고 부른다.
- 패킷은 목적지에서 원래의 데이터로 다시 조립(Reassembled)된다.
- 통신 링크 (Communications Links)
- 데이터를 전송하기 위한 물리적 수단을 의미한다. 여기에는 동축 케이블, 구리선, 광케이블, 라디오 스펙트럼 등을 모두 포함한다.
- 각 매체(media)마다 전송률(Transmission Rate 또는 Bandwidth)이 다르며, 단위는 Bits Per Seconds 줄여서 bps라고 한다.
- 패킷 스위치 (Packet Switch)
- 들어오는 통신 링크 중 하나로 도착한 패킷을 받아, 나가는 통신 링크 중 하나로 해당 패킷을 전달(forward)하는 네트워크 장비이다.
- 흔히 라우터(Router)와 링크 계층 스위치(Link-layer Switch)가 있다.
- 라우터 (Router): Network Core에서 사용, 네트워크 중심부(Core)에서 최종 경로를 계산하여 넘겨주는 역할을 한다.
- 링크 계층 스위치 (Link-Layer Switch): Access Network에서 사용, 단말기와 가까운 곳에서 트래픽을 모아서 넘겨주는 역할을 한다.
- 통신 인프라 보안 요구사항 (CIA Triad)
- 앞서 설명한 종단 시스템, 패킷, 통신 링크, 패킷 스위치는 데이터를 목적지까지 나르는 훌륭한 물리적 인프라지만, 분산된 통신 환경에서 패킷은 수많은 위협에 노출된다.
- 개방된 인프라 위에서 데이터를 안전하게 보호하기 위해서는 NIST에서 정의한 컴퓨터 보안 핵심 3대 목표를 보장해야 한다.
- 기밀성 (Confidentiality)
- Assures that Private or Confidential Information is not made Available or Disclosed to Unauthorized Individuals
- 개인정보나 기밀 정보가 인가되지 않은 개인에게 제공되거나 공개되지 않도록 보장해야 한다.
- 패킷이 공용 통신 링크를 지나가는 동안, 해커가 이를 엿듣거나 가로채서 내용을 확인하지 못하게 막는 것을 의미한다.
- 무결성 (Integrity)
- Assures that Data (both stored and in transmitted packets) and Programs are Changed only in a Specifed and Authorized Manner
- 저장된 데이터 및 전송 중인 패킷 모두와 프로그램이 지정되고 인가된 방식으로만 변경되도록 보장해야 한다.
- 송신 호스트가 쪼개어 보낸 패킷들이 수많은 패킷 스위치와 통신 링크를 거쳐 수신 호스트에 도달하는 과정에서, 그 내용이 악의적으로 위조, 변조, 삭제되지 않고 원본 그대로 도착했음을 보장해야 하는 것이다.
- 가용성 (Availability)
- Assures that Systems work promptly and Service is not denied to Authorized Users
- 시스템이 신속하게 작동하고 인가된 사용자에게 서비스가 거부되지 않도록 보장해야 한다.
- 라우터와 같은 패킷 스위치와 통신 링크 같은 물리적 네트워크 인프라가 공격자들의 서비스 거부 공격(DoS) 등으로 인해 마비되지 않고, 정상적인 사용자가 원할 때 언제든지 해당 통신 서비스 및 시설을 이용할 수 있도록 유지하는 것이다.
물리적인 통신 링크와 패킷 스위치가 깔려있다고 해서 우리가 바로 인터넷을 쓸 수 있을까? 각 종단 시스템은 ISP를 통해 비로소 인터넷에 접속할 수 있다.
- 인터넷 서비스 제공자 (ISP; Internet Service Provider)
- 흔히 '통신사'를 의미한다. 각 ISP는 수많은 패킷 스위치와 통신 링크로 구성된 네트워크이다.
- 인터넷은 전 세계를 연결해야 하므로, 수많은 Lower-Tier 지역 ISP들은 국가 및 국제단위의 Upper-Tier ISP들과 서로 상호 연결되어 있다.
- These lower-tier ISPs are thus interconnected through national and international upper-tier ISPs and ther upper-tier ISPs are connected directly to each other.
- ISP 망에서의 보안 위협
- 내 컴퓨터를 떠난 패킷은 목적지에 도달하기까지 수많은 독립적인 타사 ISP 망을 거치게 된다.
- 이 말은, 수많은 ISP를 거치며 신뢰할 수 없는 구역을 통과하므로 여러 공격(attack)에 노출될 수 있다는 의미이기도 하다.
- 수동적 공격 (Passive Attack)
- 시스템 자원에 영향을 주지 않고, ISP 망을 지나는 패킷을 몰래 엿듣거나 모니터링하여 정보를 빼내는 공격이다.
- Passive attacks are in the nature of Eavesdropping on, or Monitoring of, Transmissions. The Goal of the Opponent is to Obtain Information that is being Transmitted.
- 흔히 메시지 내용을 유출(Release of Message Contents)하거나 트래픽을 분석하여 데이터를 확인하는 행위(Traffic Analysis)가 있다.
- 데이터가 변조되지 않으므로 탐지하기가 매우 어려워, 암호화 등을 통한 예방(Prevention)에 중점을 둔다.
- 능동적 공격 (Active Attack)
- 패킷을 단순히 엿보든 넋을 넘어 ISP 망을 지나는 데이터 스트림을 임의로 수정하거나 가짜 패킷을 만들어내는 등 시스템에 직접적인 영향을 주는 공격이다.
- Active attacks involve some modification of the data stream or the creation of a false stream and can be subdivided into four categories: masquerade, replay, modification of messages, and denial of service
- 신분 위장(Masquerade)이나 재전송(Replay), 메시지 수정(Modification)과 서비스 거부 공격(DoS) 등이 해당한다.
- 다양한 네트워크 취약점이 있어 절대적인 예방이 어려우므로 탐지(Detection) 및 복구에 중점을 둔다.


ISP를 통해 전 세계의 수많은 기기가 물리적으로 연결되었다 하더라고, 서로 사용하는 언어나 통신 방식이 다르면 데이터를 주고받을 수 없다. 따라서 통신을 위한 공통된 '규칙'이 필요한데, 이를 프로토콜이라 한다.
- 프로토콜 (Protocol)
- 둘 이상의 통신 개체 간에 주고받는 메시지의 형식과 순서, 그리고 특정 상황에서 취하는 행동을 정의한 규약이다.
- 인간이 대화할 때 '안녕하세요'라고 인사를 건네고 상대방의 응답을 기다리는 것과 비슷한 역할을 네트워크에서 수행한다.
- A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.
- 인터넷에서 둘 이상의 원격 개체가 참여하는 모든 활동, 예를 들어 호스트 간의 패킷 전송 속도 제어나 라우터의 경로 결정 등은 모두 예외 없이 프로토콜에 의해 제어된다.

- TCP/IP
- 인터넷에서 가장 핵심이 되는 두 프로토콜, TCP(Transmission Control Protocol)과 IP(Internet Protocol)이다.
- IP는 라우터와 종단 시스템 사이에서 송수신되는 패킷 포맷을 기술한다.
- 이러한 프로토콜들을 전 세계 장비들이 호환될 수 있도록 IETF(Internet Engineering Task Force)라는 국제 인터넷 표준화 기구에서 RFC(Requests for Comments)라는 표준 문서로 정의한다.
- 인터넷에서 가장 핵심이 되는 두 프로토콜, TCP(Transmission Control Protocol)과 IP(Internet Protocol)이다.
TCP/IP와 같은 표준 프로토콜은 통신의 효율성과 연결성을 위해 만들어져, 앞서 언급한 수동적/능동적 공격에 취약하다. 인터넷이라는 방대한 개방형 망 위에서 표준 프로토콜을 통해 데이터를 주고받을 때, 관리자는 어떤 보안 위협이 존재하는지, 또 어떤 서비스로 이를 방어해야 하는지 체계적으로 파악해야 한다. 이를 위해 국제전기통신연합(ITU-T)은 Security Artitecture for OSI, X.800이라는 표준 보안 아키텍쳐를 정의했다.
- X.800 아키텍쳐
- X.800 아키텍쳐에서는 네트워크 보안을 다음 세 가지 측면으로 분류하여 접근한다.
- 보안 공격 (Security Attack): 조직이 소유한 정보의 보안을 침해하는 모든 행위 (위에서 다룬 내용임.)
- 보안 메커니즘 (Security Mechanism): 보안 공격을 탐지, 예방 또는 복구하도록 설계된 프로세스
- 보안 서비스 (Security Service): 보안 공격에 대응하기 위해 하나 이상의 보안 메커니즘을 사용해 시스템 및 정보 전송의 보안을 강화하는 서비스
- 프로토콜을 보호하기 위한 보안 서비스
- 인증 (Authentication)
- 통신하는 상대방이 자신이 주장하는 개체가 맞는지 검증하는 서비스로, 신분 위장 공격(Masquerade)을 방어한다.
- TCP 연결 등에서 서로가 합법적인 당사자인지 확인하는 동등 개체 인증(Peer Entity Authentication)과 이메일처럼 연결이 종료된 상태에서 수신된 데이터의 출처가 정확한지 확인하는 데이터 출처 인증(Data-Origin Authentication)이 있다.
- 접근 제어 (Access Control)
- 인증을 거친 사용자에게 권한을 부여하여, 통신 링크를 통해 호스트 시스템 및 애플리케이션 리소스에 접근하는 것을 제한하고 통제하는 서비스이다.
- 데이터 기밀성 (Data Confidentiality)
- 인가되지 않은 자에게 정보가 노출되지 않도록 데이터를 보호하여 수동적 공격을 방어한다.
- 트래픽 흐름을 분석하지 못하게 막는 트래픽 흐름 기밀성(Traffic-Flow-Confidentiality)도 포함된다.
- 데이터 무결성 (Data Integrity)
- 인가된 개체가 보낸 데이터가 중간에 수정, 삽입, 삭제, 재전송되지 않고 원본 그대로 수신되었음을 보장하여 능동적 공격을 방어한다.
- 침해 발생 시 단순히 탐지만 할 것인지(without Recovery) 또는 복구까지 시도할 것인지(with Recovery)에 따라 서비스가 나뉜다.
- 부인 방지 (Non-repudiation)
- 통신에 참여한 개체가 통신 사실 자체를 부인하지 못하게 막는 서비스로, 메시지를 보낸 사람이 보냈음을 증명하는 발신원 부인 방지(Origin)와, 받은 사람이 받았음을 증명하는 목적지 부인 방지(Destination)로 나뉜다.
- 인증 (Authentication)
- 프로토콜 환경에서의 보안 적용의 복잡성 (Security Challenges)
- 컴퓨터와 네트워크 보안은 단순히 암호화 알고리즘 하나를 추가하는 것으로 끝나지 않는다. 통신 프로토콜의 본질적인 동작 방식은 보안 메커니즘의 적용을 매우 복잡하게 만든다.
- 예를 들어, 보안 메커니즘이 재전송(Replay) 공격을 막기 위해 송수신 메시지의 Transit Time Limit을 요구하더라도, 기반이 되는 네트워크나 통신 프로토콜이 변동성이 크고 예측이 어려운 지연(delay)을 발생시킨다면 해당 보안 조치는 무의미해진다.
- 따라서 프로토콜 위에 X.800 기반의 보안 서비스를 설계하고 적용할 때는, 해당 프로토콜의 취약점뿐만 아니라 네트워크 환경의 물리적 특성까지 종합적으로 고려해야 한다.
- X.800 아키텍쳐에서는 네트워크 보안을 다음 세 가지 측면으로 분류하여 접근한다.
인터넷의 하드웨어적 구성 요소를 살펴봤다면, 이번에는 '애플리케이션(Application)에 서비스를 제공하는 인프라'로서 인터넷을 정의할 수도 있겠다. 서비스의 측면에서 인터넷을 살펴보자.
- 분산 애플리케이션 (Distributed Applications)
- 인터넷은 Application에 Service를 제공하는 Infrastructure이다.
- 애플리케이션은 서로 데이터를 교환하는 많은 종단 시스템을 포함하고 있어 분산 애플리케이션(Distributed Application)이라고도 부른다.
- 분산 애플리케이션은 종단 시스템, 즉 호스트에서만 수행되며 네트워크 코어에 있는 패킷 스위치에서는 수행되지 않는다.
- 즉, 패킷 스위치는 종단 시스템 간의 데이터 교환만을 수행하며, 데이터의 시작과 끝인 애플리케이션에는 별 관심을 가지지 않는다.
- Although packet switches facilitate the exchange of data among end systems, they are not concerned with the application that is the source or sink of data.
- 보안 관점에서 다시 해석하기
- 네트워크 코어, 즉 패킷 스위치가 데이터 내용에 관여를 하지 않는다. 이 말은 전송되는 데이터의 보안 책임이 일차적으로 양 끝단, 종단 시스템에 있다는 것을 의미한다.
- 종단 시스템을 떠난 데이터는 수많은 통신 라우트를 지나는 동안 다양한 수동적, 능동적 공격에 노출된다. 따라서 애플리케이션 단계에서부터 데이터를 보호하기 위한 보안 메커니즘(Security Mechanism) 설계가 고려되어야 한다.
- 소켓 인터페이스 (Socket Interface)
- 한 호스트에서 실행되는 프로그램이 인터넷 인프라에게 목적지 프로그램으로 데이터를 전달하도록 요청할 때 따라야 하는 일련의 규칙을 의미한다.
- 우편 서비스에 비유하자면, Alice가 Bob에게 편지를 보낼 때 그냥 무작정 창 밖으로 던지는 것이 아니라 편지(데이터)를 규격 봉투에 넣고 정확한 주소를 적어 우체통(네트워크)에 넣어야 하는 것과 같다.
- 보안 관점에서 다시 해석하기
- 우편 배달부, 즉 ISP의 라우터는 봉투 겉면의 주소만 보고 배달할 뿐 누군가 편지를 뜯어보거나(메시지 내용 유출) 또는 내용을 수정(메시지 수정)하는 것을 물리적으로 막을 수는 없다.
- 따라서 소켓 인터페이스를 통해 데이터를 통신망에 내보내기 전, 송신자는 X.800 아키텍쳐에 따라 데이터 기밀성을 위한 암호화나 데이터 무결성을 보장하기 위한 보안 서비스를 선제적으로 적용해야 안전한 전송을 보장할 수 있다.
1.2 네트워크 엣지
- 종단 시스템과 호스트 (End Systems and Hosts)
- 앞서 1.1에서 종단 시스템과 호스트에 대해 이미 학습한 바 있다.
- 네트워크의 가장자리(Edge), 즉 가장 마지막에 위치하여 인터넷에 연결된 컴퓨터, 스마트폰, IoT 기기 등을 모두 종단 시스템(End System)이라고 부른다.
- 이러한 장치들은 웹 브라우저나 이메일 서버와 같은 Application 프로그램을 호스팅(실행)하기 때문에 호스트(Host)라고도 불리며, 이 두 용어는 혼용되어 사용된다.
- 호스트는 다시 데스크탑 PC, 스마트폰과 같은 클라이언트(Clients)와 웹 페이지나 비디오를 저장하고 분배하는 서버(Servers)로 나뉜다.
- 데이터 센터 (Data Center)
- 오늘날 검색 결과, 이메일, 웹 페이지나 스트리밍 비디오 등을 제공하는 대부분의 서버는 거대한 데이터 센터에 상주하고 있다.
- Google이나 Microsoft, Amazon과 같은 기업들은 수십만 대의 호스트(서버)를 수용하는 거대한 데이터 센터를 구축하여 클라우드 컴퓨팅(Cloud Computing) 인프라를 제공한다.
이제 종단 시스템이 인터넷의 중심부로 가기 위해 물리적으로 연결되는 구간, 그리고 이 연결을 구성하는 실제 물리적 매체들에 대해 알아보자.

- 접속 네트워크 (Access Network)
- 사실 이런 표현이 있는 줄도 처음 알았다.
- 종단 시스템이 다른 먼 곳에 있는 종단 시스템으로 가는 경로 상의 첫 번째 라우터, 즉 Edge Router에 물리적으로 연결되어 있는 네트워크 구간을 의미한다.
- 가정용 접속 (Home Access)
- DSL (Digital Subscriber Line)
- 가정이 유선 로컬 전화 서비스를 제공받는 지역 전화 회사의 기존 전화선 인프라를 그대로 이용한다.
- 가정의 DSL 모뎀은 수신한 디지털 데이터를 전화선을 통해 보내기 위해 '고주파 아날로그 신호'로 변환한다.
- 신호는 전화국의 지역 중앙국, CO에 위치한 DSLAM(디지털 가입자 회선 멀티플렉서)으로 전송되며, Dslam은 여러 가정에서 온 아날로그 신호를 모아 다시 디지털 포맷으로 변환해 인터넷으로 보낸다.
- FDM (Frequency Division Multiplexing)
- DSL에서 나오는 개념이다. 추후 1.3에서 다룰 예정이다.
- 단일 전화선으로 데이터와 전통적인 전화 신호를 동시에 전달하기 위해, 서로 다른 주파수 대역으로 인코딩하여 링크를 3개로 분리해 사용한다.
- 이때, 가정 쪽에 설치된 스플리터(Splitter)를 사용해 전화 신호와 데이터 신호를 분리하고, 데이터 신호만 DSL 모뎀으로 전송한다.
- DSL의 특징과 한계
- 다운로드가 업로드보다 빠른 비대칭(Asymmetric) 방식이다. 보통 다운스트림 채널이 업스트림 채널보다 빠른 전송률이 할당된다.
- 전화국(CO)과 가정 사이의 거리가 멀거나 꼬임쌍선의 두께, 전기적 간섭 정도에 따라 최대 속도가 제한된다.
- 케이블 (Cable Internet Access)
- 케이블 TV 회사의 기존 인프라를 이용하며, 광섬유와 동축 케이블을 혼합한 HFC(Hybrid-Fiber-Coax) 망을 사용하여 가정으로 연결된다.
- 케이블 망은 DSL과 달리 통신사(Head-End)에서 보낸 하향식 패킷이 링크에 연결된 수백~수천 개의 모든 가정으로 똑같이 복제되어 전달되므로, 공유 브로드캐스트 매체(Shared Broadcast Medium)라고 불린다.
- 공유 브로드캐스트 매체의 한계
- 여러 사용자가 다운스트림 채널에서 '다른' 비디오 파일을 동시에 수신하고 있다면, 각 사용자가 비디오 파일을 수신하는 실제 수신율은 다운스트림 전송률보다 작아진다.
- 공유 매체의 물리적 특성 때문에, 해커가 케이블 신호를 모니터링하기만 해도 이웃의 통신을 엿볼 수 있는 수동적 공격에 무방비하게 노출된다.
- 수동적 공격은 데이터 변조가 없어 탐지가 불가능하므로, 통신망에 데이터를 싣기 전 암호화와 같은 데이터 기밀성 서비스를 선제적으로 적용, 트래픽 분석 및 메시지 유출을 예방해야만 한다.
- FTTH (Fiber-to-the-Home)
- 구리선이나 동축 케이블 대신, 전화국에서 각 가정으로 광섬유를 직접 연결하여 기가비트급의 빠른 속도를 제공하는 기술이다.
- 5G 고정 무선 (5G Fixed Wireless)
- 비용이 많이 들고 고장 나기 쉬운 유선 케이블 대신, 기지국에서 가정의 모뎀으로 데이터를 빔포밍(Beam-Forming) 기술을 이용해 무선 전송하는 최신 홈 인터넷 접속 방식이다.
- 와이파이(WiFi) 무선 라우터가 케이블 또는 DSL 모뎀에 연결된 것처럼, 5G Fixed Wireless도 WiFi 무선 라우터가 모뎀에 연결되어 있다.
- DSL (Digital Subscriber Line)
이어서 기업 및 가정에서 흔히 사용하는 근거리 접속 방법, Local Area Network 즉 LAN에 대해서 알아보자. LAN은 종단 시스템을 엣지 라우터에 연결하는 데 사용된다. 이러한 LAN 기술 중 이더넷이 가장 널리 사용되고 있다.
- 이더넷 (Ethernet)
- 주로 기업, 대학, 가정의 근거리 통신망(LAN)에서 사용되며, 꼬임쌍선을 이용해 이더넷 스위치에 물리적으로 연결한다.
- 이더넷 스위치 또는 상호 연결된 스위치들의 네트워크는 더 큰 인터넷으로 연결된다.

- 와이파이 (Wi-Fi)
- IEEE 802.11 기술을 기반으로 수십 미터 내에서 무선 Access Point (AP)를 통해 전파를 공유한다.
- AP는 다시 유선 네트워크에 연결하여 인터넷을 공유한다.
- 오늘날의 전형적인 홈 네트워크는 광대역 접속(DSL, 케이블 등)과 무선 LAN 기술인 Wi-Fi를 결합하여 구축된다.

- 광역 무선 접속 (4G/5G)
- 스마트폰 등 모바일 기기가 이동통신 사업자의 무선 기지국(Base Station) 인프라를 통해 반경 수십 킬로미터 내의 광역 통신을 지원하는 기술이다.
- 수십 미터 반경 내에 있어야 하는 Wi-Fi와는 달리, 기지국의 이용 반경이 넓다.
- 보안 위협은 없을까?
- 누구나 주파수를 수신할 수 있는 무선 통신은 공격자가 합법적인 사용자로 위장(Masquerade)하거나 전파를 방해해 통신을 끊는 서비스 거부 공격(DoS) 등 능동적 공격에 매우 취약하다.
- 이를 막기 위해 개체가 진짜인지 검증하는 인증(Authentication)과 인가되지 않은 자원을 무단 사용하지 못하게 막는 접근 제어(ACL) 서비스가 강력히 요구된다.
이렇게 CN 교재의 챕터 1.1과 1.2 내용은 모두 정리했다. 하지만 아직 NSE 교재에서 다루지 못한 내용이 있어, 이 부분만 별도로 다뤄보고자 한다. 어쨌거나 네트워크 공부에 보안 공부를 겸해서 하는 만큼 중요한 개념은 꼭 짚고 넘어가야겠다.
- 보안 목표의 확장
- 앞서 살펴본 컴퓨터 보안의 3대 핵심 목표, CIA Triad는 보안의 기초를 이룬다. 하지만 보다 더 완벽한 보안을 충족하기 위해 두 가지 개념을 추가적으로 요구한다.
- 진위성 (Authenticity)
- 해당 개체가 진짜임을 검증하고 신뢰할 수 있는 속성을 의미한다.
- The property of being genuine and being able to be verified and trusted.
- 즉, 통신하는 사용자가 자신이 주장하는 바로 그 사람이 맞는지 확인하고, 시스템에 도착한 각각의 입력 데이터가 신뢰할 수 있는 출처에서 온 것임을 증명하는 것이다
- 책임 추적성 (Accountability)
- 특정 개체의 행동을 해당 개체까지 고유하게 추적할 수 있도록 요구하는 보안 목표이다.
- The security goal that generates the requirement for actions of an entity to be traced uniquely to that entity.
- 현재 기술로는 '완벽하게 안전한 시스템'을 구축하는 것을 불가능하다. 따라서 보안 침해가 발생했을 때 책임이 있는 당사자를 반드시 추적할 수 있어야 한다.
- 이를 위해 시스템은 부인 방지(Nonrepudiation), 침입 탐지, 사후 복구 및 법적 조치, 거래 분쟁 해결 등을 지원하기 위한 활동 기록을 유지해야 한다.

- 보안 침해 시 영향 수준 분류 (FIPS 199)
- 보안이 뚫렸을 때 조직이나 개인에게 미치는 피해의 정도는 데이터의 중요도에 따라 다르다.
- 미국 연방 정보 처리 표준인 FIPS 199는 이 잠재적 피해 수준을 3단계로 나누어 분류한다.
- Low (낮음)
- 제한적인 영향을 미치는 수준이다.
- 조직의 임무 수행 능력이 눈에 띄게 저하되거나, 경미한 자산 피해, 재정적 손실 또는 개인에게 경미한 피해를 준다.
- 예를 들어, 대중에게 공개된 대학의 디렉터리 정보가 유출되거나 신뢰성이 낮다고 이미 알려진 익명 온라인 투표 결과가 조작되는 일이 해당한다.
- Moderate (중간)
- 심각한 악영향을 미치는 수준이다.
- 주요 기능의 효과가 크게 감소하거나, 상당한 재산 피해와 재정적 손실, 또는 인명 손실이나 생명 위협이 아닌 선에서의 상당한 개인적 피해를 초래한다.
- 예를 들어, 학생 등록 정보가 유출되거나 온라인 게시판의 위변조 또는 훼손이 해당한다.
- High (높음)
- 극심하거나 치명적인 악영향을 미치는 수준이다.
- 조직의 하나 이상이 주요 기능이 아예 마비되거나, 막대한 자산 및 재정적 손실을 입고 인명 손실이나 생명의 위협을 초래할 수 있는 단계이다.
- 예를 들어, 환자의 알레르기 의료 기록이 조작되거나 성적 정보가 유출, 은행 서비스나 인증 서비스가 마비되는 경우가 해당한다.
- 컴퓨터 보안이 복잡하고 어려운 이유 (The Challenges of Computer Security)
- 단순해 보이지만 복잡한 구현: '기밀성', '인증', '무결성'과 같은 보안의 주요 요구사항은 겉보기엔 단순하고 자명해 보인다. 하지만 이를 충족하기 위해 사용하는 메커니즘은 매우 복잡하며, 그 작동 방식을 이해하려면 미묘한 추론이 필요할 때가 많다.
- 예상치 못한 약점을 노리는 공격: 특정한 보안 메커니즘이나 알고리즘을 개발할 때는 항상 그에 대한 잠재적인 공격을 고려해야 한다. 공격자들은 종종 문제를 완전히 다른 시각으로 접근하여 방어자가 예상하지 못한 약점을 찾아내고 악용한다.
- 직관에 어긋나는 절차 (Counterintuitive): 방어자는 수많은 예상치 못한 공격 형태를 모두 방어해야 하므로, 특정 보안 서비스를 제공하는 절차는 종종 직관적이지 않고 복잡해진다. 다양한 위협의 측면을 모두 고려했을 때에만 그토록 복잡한 보안 조치들이 왜 필요한지 비로소 납득할 수 있다.
- 적용 위치 결정의 어려움: 설계한 보안 메커니즘을 물리적으로(예: 네트워크의 어느 지점, 어느 라우터에), 그리고 논리적으로(예: TCP/IP 아키텍처의 어느 계층에) 어디에 배치하여 사용할지 결정하는 것은 매우 어려운 문제다.
- 비밀 정보 관리 및 통신 프로토콜의 변수: 보안 메커니즘은 단순히 특정 알고리즘 하나를 도입한다고 끝나는 것이 아니다. 통신 참여자들이 암호화 키(Key)와 같은 '비밀 정보'를 소유하고 안전하게 분배 및 보호해야 하는 문제가 뒤따른다. 또한, 예측 불가능한 지연을 발생시키는 네트워크나 통신 프로토콜에 의존하게 되면 보안 메커니즘의 적용이 더욱 복잡해지고 때로는 무의미해질 수 있다.
- 창과 방패의 비대칭성 (Battle of Wits): 컴퓨터 및 네트워크 보안은 본질적으로 취약점을 뚫으려는 가해자와 막으려는 설계자 간의 두뇌 싸움이다. 여기서 공격자는 수많은 취약점 중 단 하나의 약점만 찾아내면 되지만, 방어자는 완벽한 보안을 달성하기 위해 모든 약점을 찾아 없애야 하므로 본질적으로 방어자에게 극도로 불리하다.
- 보안 투자의 무용성 인식: 사용자와 시스템 관리자는 실제 보안 침해가 발생하기 전까지는 보안 투자의 이점이나 필요성을 거의 느끼지 못하는 자연스러운 경향이 있다.
- 지속적인 모니터링 요구: 보안은 한 번 설정하고 끝나는 것이 아니라 정기적이고 지속적인 모니터링을 필요로 한다. 하만 오늘날과 같이 항상 과부하가 걸려있는 단기적인 환경에서는 이를 수행하기가 매우 어렵다
- 사후약방문 (Afterthought): 보안은 시스템 설계 초기 과정부터 필수적인 부분으로 통합되어야 함에도 불구하고, 여전히 시스템 설계가 모두 끝난 뒤에야 사후적으로 덧붙이는(Afterthought) 경우가 너무나도 많다.
- 사용자 편의성과의 충돌: 수많은 사용자(심지어 보안 관리자조차도)가 강력한 보안을 정보 시스템의 효율성과 사용자 친화적인(User-friendly) 작동을 방해하는 '장애물(Impediment)'로 여기는 경향이 있다.
- 위험 vs. 위협 vs. 공격
- 흔히 문헌상에서 위협(Threat)과 공격(Attack)은 거의 같은 의미로 혼용되곤 하지만, 인터넷 보안 용어 사전인 RFC 4949의 정의에 따라 다음과 같이 구분할 수 있다.
- 위협 (Threat) / 잠재적 위험 (Possible Danger)
- 위협은 보안을 위반하고 피해를 초래할 수 있는 상황, 능력, 행동 또는 이벤트가 존재할 때 발생하는 보안 위반의 잠재성(Potential)을 의미한다.
- 즉, 시스템의 취약점을 악용할 수 있는 잠재적인 위험 자체를 위협이라고 칭한다.
- 해커가 아직 구체적인 해킹 시도를 하지 않았더라도, 시스템에 방화벽이 없거나(취약점) 인터넷에 새로운 악성코드가 유포되고 있는 '상황' 자체가 시스템에 대한 잠재적 위험이자 위협이 된다.
- 공격 (Attack)
- 공격은 앞서 말한 위협으로부터 파생되어 시스템 보안에 가해지는 실제적인 타격(Assault)을 의미한다.
- 단순이 위험이 존재하는 상태를 넘어, 보안 서비스를 회피하고 시스템의 보안 정책을 위반하기 위해 가해지는, 특히 특정 방법이나 기술을 사용하여 의도적이고 고의적인 시도를 하는 행위를 말한다.
- 해커가 실제로 우리 시스템의 취약점을 파고들기 위해 악성 패킷을 보내거나, 통신망을 도청하는 등 '구체적인 행동'을 취하는 순간을 공격이라고 부른다.
'[ IT ] > Security' 카테고리의 다른 글
| "알고 있다"는 착각을 깨기 위해: 네트워크 공부를 시작하며 (0) | 2026.03.03 |
|---|---|
| [긴급] 사이트 제작 대행 B모 社, MySQL 계정 정보 유출 정황 (149) | 2024.01.30 |
| [긴급] 순천향대 사이트 공격으로 개인정보 유출 (223) | 2024.01.28 |
| 네이버 로그인 피싱 팝업을 발생시키는 '맘스터치' 사이트 해킹 (22. 11. 29.) (797) | 2022.11.29 |
| Behavior:Win32/Hive.ZY 탐지 알림을 발생하는 Defender 오류 (22. 9. 4.) (12) | 2022.09.04 |
개발 적당히, 정치 적당히, 일상 적당히, 그냥 뭐든지 적당히만 하는 소프트웨어전공 대학생, 쏘가리입니다. / Profile Image by REN (Twitter @Ren_S2_)