네트워크 보안 – 개요
이 현대 시대에 조직은 효율적이고 생산적인 방식으로 조직 전체에서 정보를 공유하기 위해 컴퓨터 네트워크에 크게 의존합니다. 조직의 컴퓨터 네트워크는 이제 크고 유비쿼터스가되고 있습니다. 각 직원이 전용 워크 스테이션을 가지고 있다고 가정하면 대규모 회사는 네트워크에 수천 개의 워크 스테이션과 많은 서버를 보유하게됩니다.
이러한 워크 스테이션은 중앙에서 관리되지 않거나 경계 보호 기능이 없을 가능성이 높습니다. 사용자간에 사이버 인식 수준이 다른 다양한 운영 체제, 하드웨어, 소프트웨어 및 프로토콜이있을 수 있습니다. 이제 회사 네트워크에있는 수천 개의 워크 스테이션이 인터넷에 직접 연결되어 있다고 상상해보십시오. 이러한 종류의 보안되지 않은 네트워크는 중요한 정보를 보유하고 취약성을 표시하는 공격의 표적이됩니다.
이 장에서는 네트워크의 주요 취약점과 네트워크 보안의 중요성에 대해 설명합니다. 다음 장에서는이를 달성하는 방법에 대해 설명합니다.
물리적 네트워크
네트워크는 리소스를 효율적으로 공유하기 위해 함께 연결된 두 개 이상의 컴퓨팅 장치로 정의됩니다. 또한 두 개 이상의 네트워크를 함께 연결하는 것을internetworking. 따라서 인터넷은 상호 연결된 네트워크의 모음 인 인터 네트워크 일뿐입니다.
내부 네트워크를 설정하기 위해 조직에는 다양한 옵션이 있습니다. 유선 네트워크 또는 무선 네트워크를 사용하여 모든 워크 스테이션을 연결할 수 있습니다. 오늘날 조직은 대부분 유선 및 무선 네트워크의 조합을 사용하고 있습니다.
유선 및 무선 네트워크
유선 네트워크에서 장치는 케이블을 사용하여 서로 연결됩니다. 일반적으로 유선 네트워크는 장치가 UTP (Unshielded Twisted Pair) 케이블을 사용하여 다른 스위치에 연결되는 이더넷 프로토콜을 기반으로합니다. 이러한 스위치는 인터넷에 액세스하기 위해 네트워크 라우터에 추가로 연결됩니다.
무선 네트워크에서 장치는 무선 전송을 통해 액세스 포인트에 연결됩니다. 액세스 포인트는 외부 네트워크 액세스를 위해 스위치 / 라우터에 케이블을 통해 추가로 연결됩니다.
무선 네트워크는 제공되는 이동성으로 인해 인기를 얻었습니다. 모바일 장치는 케이블에 연결할 필요가 없으며 무선 네트워크 범위 내에서 자유롭게 로밍 할 수 있습니다. 이를 통해 효율적인 정보 공유가 보장되고 생산성이 향상됩니다.
취약성 및 공격
유선 및 무선 네트워크 모두에 존재하는 일반적인 취약점은 네트워크에 대한 "무단 액세스"입니다. 공격자는 비보안 허브 / 스위치 포트를 통해 자신의 장치를 네트워크에 연결할 수 있습니다. 이 점에서 무선 네트워크는 물리적 연결없이 쉽게 액세스 할 수 있기 때문에 유선 네트워크보다 덜 안전하다고 간주됩니다.
액세스 후 공격자는이 취약점을 악용하여 다음과 같은 공격을 시작할 수 있습니다.
귀중한 정보를 훔치기 위해 패킷 데이터를 스니핑합니다.
스퓨리어스 패킷으로 네트워크 매체를 플러딩하여 네트워크의 합법적 인 사용자에 대한 서비스 거부.
합법적 인 호스트의 물리적 ID (MAC)를 스푸핑 한 다음 데이터를 도용하거나 '중간자 (man-in-the-middle)'공격을 추가로 실행합니다.
네트워크 프로토콜
네트워크 프로토콜은 네트워크에 연결된 장치 간의 통신을 제어하는 규칙 집합입니다. 여기에는 연결을위한 메커니즘과주고받는 메시지에 대한 데이터 패키징 규칙의 서식이 포함됩니다.
특정 목적을 위해 각각 설계된 여러 컴퓨터 네트워크 프로토콜이 개발되었습니다. 널리 사용되고 널리 사용되는 프로토콜은 관련된 상위 및 하위 수준 프로토콜이있는 TCP / IP입니다.
TCP / IP 프로토콜
Transmission Control Protocol (TCP) 및 Internet Protocol(IP)는 주로 함께 사용되는 두 개의 서로 다른 컴퓨터 네트워크 프로토콜입니다. 인기와 폭 넓은 채택으로 인해 네트워크 장치의 모든 운영 체제에 내장되어 있습니다.
IP는 네트워크 계층 (계층 3)에 해당하는 반면 TCP는 OSI의 전송 계층 (계층 4)에 해당합니다. TCP / IP는 TCP 전송이 IP 네트워크를 통해 데이터를 전달하는 데 사용되는 네트워크 통신에 적용됩니다.
TCP / IP 프로토콜은 일반적으로 HTTP, FTP, 애플리케이션 계층의 SSH 및 데이터 링크 / 물리적 계층의 이더넷과 같은 다른 프로토콜과 함께 사용됩니다.
TCP / IP 프로토콜 제품군은 보안 측면에 대한 관심이 거의없는 인터 네트워크 솔루션으로 1980 년에 만들어졌습니다.
제한된 신뢰할 수있는 네트워크에서의 통신을 위해 개발되었습니다. 그러나 일정 기간 동안이 프로토콜은 보안되지 않은 인터넷 통신을위한 사실상의 표준이되었습니다.
TCP / IP 프로토콜 슈트의 일반적인 보안 취약점 중 일부는 다음과 같습니다.
HTTP는 웹 서버에서 웹 페이지를 구성하는 전송 파일에 사용되는 TCP / IP 제품군의 애플리케이션 계층 프로토콜입니다. 이러한 전송은 일반 텍스트로 이루어지며 침입자는 서버와 클라이언트간에 교환되는 데이터 패킷을 쉽게 읽을 수 있습니다.
또 다른 HTTP 취약점은 세션을 초기화하는 동안 클라이언트와 웹 서버 간의 약한 인증입니다. 이 취약점은 공격자가 합법적 인 사용자의 HTTP 세션을 훔치는 세션 하이재킹 공격으로 이어질 수 있습니다.
TCP 프로토콜 취약점은 연결 설정을위한 3 방향 핸드 셰이크입니다. 공격자는이 취약점을 악용하기 위해 서비스 거부 공격 "SYN-flooding"을 실행할 수 있습니다. 그는 악수를하지 않고 반 개방 세션을 많이 만든다. 이로 인해 서버 과부하 및 결국 충돌이 발생합니다.
IP 계층은 많은 취약점에 취약합니다. IP 프로토콜 헤더 수정을 통해 공격자는 IP 스푸핑 공격을 시작할 수 있습니다.
위에서 언급 한 것 외에도 TCP / IP 프로토콜 제품군의 설계와 구현에 다른 많은 보안 취약점이 존재합니다.
덧붙여서 TCP / IP 기반 네트워크 통신에서 한 계층이 해킹되면 다른 계층은 해킹을 인식하지 못하고 전체 통신이 손상됩니다. 따라서 완벽한 보안을 보장하기 위해 각 계층에서 보안 제어를 채택해야합니다.
DNS 프로토콜
Domain Name System(DNS)는 호스트 도메인 이름을 IP 주소로 확인하는 데 사용됩니다. 네트워크 사용자는 주로 웹 브라우저에 URL을 입력하여 인터넷을 검색하는 동안 DNS 기능에 의존합니다.
DNS에 대한 공격에서 공격자의 목표는 합법적 인 DNS 레코드를 수정하여 잘못된 IP 주소로 확인되도록하는 것입니다. 해당 IP에 대한 모든 트래픽을 잘못된 컴퓨터로 보낼 수 있습니다. 공격자는 DNS 프로토콜 취약성을 악용하거나 공격을 구체화하기 위해 DNS 서버를 손상시킬 수 있습니다.
DNS cache poisoningDNS 프로토콜에서 발견 된 취약점을 악용하는 공격입니다. 공격자는 확인자가 권한있는 서버로 보낸 재귀 DNS 쿼리에 대한 응답을 위조하여 캐시를 감염시킬 수 있습니다. DNS 리졸버의 캐시가 감염되면 호스트는 악성 웹 사이트로 이동하고이 사이트와의 통신을 통해 자격 증명 정보를 손상시킬 수 있습니다.
ICMP 프로토콜
Internet Control Management Protocol(ICMP)는 TCP / IP 네트워크의 기본 네트워크 관리 프로토콜입니다. 네트워크로 연결된 장치의 상태에 대한 오류 및 제어 메시지를 보내는 데 사용됩니다.
ICMP는 IP 네트워크 구현의 필수적인 부분이므로 매우 네트워크 설정에 존재합니다. ICMP는 자체 취약성이 있으며 네트워크 공격을 시작하기 위해 악용 될 수 있습니다.
ICMP 취약점으로 인해 네트워크에서 발생할 수있는 일반적인 공격은 다음과 같습니다.
ICMP를 사용하면 공격자가 네트워크 정찰을 수행하여 네트워크 토폴로지와 네트워크 경로를 결정할 수 있습니다. ICMP 스윕은 전체 대상 네트워크에서 살아있는 모든 호스트 IP 주소를 검색하는 것을 포함합니다.
추적 경로는 클라이언트에서 원격 호스트로의 실시간 경로를 설명하여 대상 네트워킹을 매핑하는 데 사용되는 널리 사용되는 ICMP 유틸리티입니다.
공격자는 ICMP 취약점을 사용하여 서비스 거부 공격을 시작할 수 있습니다. 이 공격은 65,535 바이트를 초과하는 IPMP ping 패킷을 대상 장치로 보내는 것과 관련됩니다. 대상 컴퓨터가이 패킷을 제대로 처리하지 못하여 운영 체제가 손상 될 수 있습니다.
ARP, DHCP, SMTP 등과 같은 다른 프로토콜도 공격자가 네트워크 보안을 손상시킬 수있는 취약점을 가지고 있습니다. 이 취약점 중 일부는 이후 장에서 설명합니다.
프로토콜을 설계하고 구현하는 동안 보안 측면에 대한 최소한의 관심은 네트워크 보안 위협의 주요 원인으로 바뀌 었습니다.
네트워크 보안의 목표
이전 섹션에서 설명한 것처럼 네트워크에는 많은 취약점이 있습니다. 따라서 전송 중에 데이터는 공격에 매우 취약합니다. 공격자는 통신 채널을 표적으로 삼아 데이터를 획득하고 동일한 내용을 읽거나 잘못된 메시지를 다시 삽입하여 악의적 인 목표를 달성 할 수 있습니다.
네트워크 보안은 통신 체인의 각 끝에있는 컴퓨터의 보안에만 관심이있는 것이 아닙니다. 그러나 전체 네트워크의 보안을 보장하는 것을 목표로합니다.
네트워크 보안은 네트워크 및 데이터의 유용성, 신뢰성, 무결성 및 안전을 보호하는 것을 수반합니다. 효과적인 네트워크 보안은 네트워크에 유입되거나 확산되는 다양한 위협을 제거합니다.
네트워크 보안의 주요 목표는 기밀성, 무결성 및 가용성입니다. 네트워크 보안의이 세 가지 기둥은 종종 다음과 같이 표현됩니다.CIA triangle.
Confidentiality− 기밀 유지 기능은 권한이없는 사람으로부터 소중한 비즈니스 데이터를 보호하는 것입니다. 네트워크 보안의 기밀성 부분은 데이터가 의도되고 승인 된 사람 만 사용할 수 있도록합니다.
Integrity−이 목표는 데이터의 정확성과 일관성을 유지하고 보장하는 것을 의미합니다. 무결성의 기능은 데이터가 신뢰할 수 있고 권한이없는 사람이 변경하지 않도록하는 것입니다.
Availability − Network Security의 가용성 기능은 합법적 인 사용자가 필요할 때마다 데이터, 네트워크 리소스 / 서비스를 지속적으로 사용할 수 있도록하는 것입니다.
네트워크 보안 달성
네트워크 보안을 보장하는 것은 매우 간단 해 보일 수 있습니다. 달성해야 할 목표는 간단 해 보입니다. 그러나 실제로 이러한 목표를 달성하는 데 사용되는 메커니즘은 매우 복잡하며이를 이해하려면 건전한 추론이 필요합니다.
International Telecommunication Union(ITU)는 보안 아키텍처 X.800에 대한 권장 사항에서 네트워크 보안을 달성하기위한 방법의 표준화를 가져 오는 특정 메커니즘을 정의했습니다. 이러한 메커니즘 중 일부는-
En-cipherment−이 메커니즘은 권한이없는 사람을 위해 데이터를 읽을 수없는 형태로 변환하여 데이터 기밀 서비스를 제공합니다. 이 메커니즘은 비밀 키와 함께 암호화-복호화 알고리즘을 사용합니다.
Digital signatures−이 메커니즘은 전자 데이터의 일반 서명과 동등한 전자 방식입니다. 데이터의 신뢰성을 제공합니다.
Access control−이 메커니즘은 액세스 제어 서비스를 제공하는 데 사용됩니다. 이러한 메커니즘은 엔티티의 액세스 권한을 결정하고 시행하기 위해 엔티티의 식별 및 인증을 사용할 수 있습니다.
네트워크 보안을 달성하기위한 다양한 보안 메커니즘을 개발하고 식별 했으므로 적용 할 위치를 결정하는 것이 중요합니다. 물리적으로 (어떤 위치에서) 논리적으로 (TCP / IP와 같은 아키텍처의 어떤 계층에서) 둘 다.
네트워킹 계층의 보안 메커니즘
OSI 네트워크 계층 모델의 특정 계층에서 개발 될 수 있도록 여러 보안 메커니즘이 개발되었습니다.
Security at Application Layer−이 계층에서 사용되는 보안 조치는 애플리케이션에 따라 다릅니다. 애플리케이션 유형에 따라 별도의 보안 조치가 필요합니다. 애플리케이션 계층 보안을 보장하려면 애플리케이션을 수정해야합니다.
암호 학적으로 건전한 응용 프로그램 프로토콜을 설계하는 것은 매우 어렵고 제대로 구현하는 것이 훨씬 더 어렵다고 생각됩니다. 따라서 네트워크 통신을 보호하기위한 애플리케이션 계층 보안 메커니즘은 한동안 사용되어 온 표준 기반 솔루션으로 만 선호됩니다.
응용 프로그램 계층 보안 프로토콜의 예로는 전자 메일 메시지를 암호화하는 데 일반적으로 사용되는 S / MIME (Secure Multipurpose Internet Mail Extensions)가 있습니다. DNSSEC는 DNS 쿼리 메시지의 보안 교환에 사용되는이 계층의 또 다른 프로토콜입니다.
Security at Transport Layer−이 계층의 보안 조치를 사용하여 두 호스트 간의 단일 통신 세션에서 데이터를 보호 할 수 있습니다. 전송 계층 보안 프로토콜의 가장 일반적인 용도는 HTTP 및 FTP 세션 트래픽을 보호하는 것입니다. TLS (Transport Layer Security) 및 SSL (Secure Socket Layer)은 이러한 용도로 사용되는 가장 일반적인 프로토콜입니다.
Network Layer−이 계층의 보안 조치는 모든 애플리케이션에 적용될 수 있습니다. 따라서 응용 프로그램별로 다르지 않습니다. 두 호스트 또는 네트워크 간의 모든 네트워크 통신은 응용 프로그램을 수정하지 않고도이 계층에서 보호 할 수 있습니다. 일부 환경에서 IPsec (인터넷 프로토콜 보안)과 같은 네트워크 계층 보안 프로토콜은 개별 응용 프로그램에 제어를 추가하는 데 어려움이 있기 때문에 전송 또는 응용 프로그램 계층 제어보다 훨씬 더 나은 솔루션을 제공합니다. 그러나이 계층의 보안 프로토콜은 일부 응용 프로그램에서 요구할 수있는 통신 유연성이 떨어집니다.
덧붙여서, 상위 레이어에서 작동하도록 설계된 보안 메커니즘은 하위 레이어가 상위 레이어가 인식하지 못하는 기능을 수행하기 때문에 하위 레이어의 데이터를 보호 할 수 없습니다. 따라서 네트워크 보안을 강화하기 위해 여러 보안 메커니즘을 배포해야 할 수 있습니다.
튜토리얼의 다음 장에서는 네트워크 보안을 달성하기 위해 OSI 네트워킹 아키텍처의 여러 계층에서 사용되는 보안 메커니즘에 대해 설명합니다.