KR102628441B1 - 네트워크 보호 장치 및 그 방법 - Google Patents
네트워크 보호 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102628441B1 KR102628441B1 KR1020230092623A KR20230092623A KR102628441B1 KR 102628441 B1 KR102628441 B1 KR 102628441B1 KR 1020230092623 A KR1020230092623 A KR 1020230092623A KR 20230092623 A KR20230092623 A KR 20230092623A KR 102628441 B1 KR102628441 B1 KR 102628441B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- communication flow
- network
- terminals
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 59
- 238000004891 communication Methods 0.000 claims abstract description 300
- 230000004044 response Effects 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 34
- 230000000903 blocking effect Effects 0.000 claims description 31
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 50
- 239000003795 chemical substances by application Substances 0.000 description 41
- 238000001514 detection method Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000007480 spreading Effects 0.000 description 6
- 208000015181 infectious disease Diseases 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 개시에 따르면, 네트워크 보호 장치는 통신 장치, 타겟 네트워크에 속하는 복수의 제1 단말 간의 접속 권한에 대해 정의하는 화이트 리스트(white list)를 저장하는 저장 장치, 그리고 상기 복수의 제1 단말들 사이에서 발생한 제1 통신 플로우가 상기 통신 장치에 의해 수신되도록, ARP(Address Resolution Protocol) 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하고, 상기 제1 통신 플로우가 수신되면 상기 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하도록 구성된 제어 장치를 포함할 수 있다.
Description
본 개시는 네트워크 보호 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 악성 코드 확산을 방지하기 위한 네트워크 보호 장치 및 그 방법에 관한 것이다.
최근 많은 악성 코드들이 주요 데이터의 탈취 및 피해 규모 확대를 위해 내부 네트워크와 같은 감염 경로를 적극적으로 이용하고 있다. 악성 코드 감염에 의한 피해는 감염된 시스템에 한정되지 않고, 동일 네트워크의 모든 시스템으로 확산되어 피해 규모가 커진다. 감염된 하나의 시스템에서 다른 시스템으로의 피해 확산만 막을 수 있어도 악성 코드에 의한 피해를 극적으로 줄일 수 있다.
악성 코드의 배포는, 카드 요금 명세서 등 보안 이메일로 위장하거나, 웹 쿠키 도용, 사이드재킹(sidejacking), 세션 하이재킹(hijacking) 등 다양한 방법으로 이뤄지고 있다. 최근에는, 접속 권한만 전문적으로 탈취하는 해커 집단이 오랜 시간에 걸쳐 조금씩 침투해서 접속 권한을 획득한 후, 악성 코드를 심고 금전적 이득을 취하는 또 다른 해커 집단에게 정보를 판매하는 방식으로 악성 코드 배포 트렌드가 변하고 있다.
피해자는 악성 코드에 감염된 시스템에 중요한 정보가 포함되어 있을 경우 해커가 요구하는 금액을 지불할 수밖에 없고, 금액을 지불한 후에도 해당 정보가 복구되지 않거나 유포되지 않는다는 보장이 없다. 공격에 대비하기 위해서는 구성원 모두의 주의가 필요하지만, 악성 코드에 감염된 하나의 시스템 때문에 동일 네트워크에 연결된 다른 많은 시스템들로 피해가 확대되는 것을 방지할 필요가 있다.
본 개시는 악성 코드가 네트워크 내부로 유입되는 것을 방지하고, 동일 네트워크에 연결된 단말들 사이 또는 네트워크들 사이에서 악성 코드로 인한 피해가 확산되는 것을 방지할 수 있는 네트워크 보호 장치 및 그 방법을 제공하기 위한 것이다.
상기 과제를 해결하기 위한 일 실시 예에 따른 네트워크 보호 장치는, 통신 장치, 타겟 네트워크에 속하는 복수의 제1 단말 간의 접속 권한에 대해 정의하는 화이트 리스트(white list)를 저장하는 저장 장치, 그리고 상기 복수의 제1 단말들 사이에서 발생한 제1 통신 플로우가 상기 통신 장치에 의해 수신되도록, ARP(Address Resolution Protocol) 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하고, 상기 제1 통신 플로우가 수신되면 상기 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하도록 구성된 제어 장치를 포함할 수 있다.
상기 제어 장치는, 상기 ARP 테이블 내에서 MAC(Media Access Control) 주소를 변조하고자 하는 제1 단말의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하며, 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블을 변조하도록 구성될 수 있다.
상기 제어 장치는, ARP 요청 패킷을 사용해 상기 복수의 제1 단말 각각의 주소 정보를 수집하도록 구성될 수 있다. 상기 주소 정보는 IP 주소 및 MAC 주소를 포함할 수 있다.
상기 제어 장치는, 상기 주소 정보에 기초해 상기 복수의 제1 단말 중 비인가 단말을 검출하고, ARP 패킷을 사용해 상기 비인가 단말의 ARP 테이블에 포함된 MAC 주소를 통신이 불가능한 MAC 주소로 변조하여 상기 비인가 단말의 통신을 차단하도록 구성될 수 있다.
상기 제어 장치는, 수신된 상기 제1 통신 플로우가 상기 화이트 리스트에 의해 접속이 허용된 통신 플로우이면, 상기 제1 통신 플로우의 출발지인 제1 단말에서 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart) 프로세스를 실행시키고, 상기 출발지인 제1 단말에서의 CAPTCHA 인증 결과에 따라서 수신된 상기 제1 통신 플로우를 차단하거나 목적지로 전달하도록 구성될 수 있다.
상기 저장 장치는 상기 복수의 제1 단말과 상기 타겟 네트워크의 외부 네트워크 간의 접속 권한에 대해 정의하는 블랙 리스트(black list)를 추가로 저장하며,
상기 제어 장치는, 상기 복수의 제1 단말 중 어느 하나로부터 상기 외부 네트워크로 향하는 제2 통신 플로우가 상기 통신 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하고, 상기 제2 플로우가 수신되면 상기 블랙 리스트에 기초해 상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하도록 구성될 수 있다.
상기 제어 장치는, 상기 복수의 제1 단말과 상기 외부 네트워크 사이에 연결된 게이트웨이의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하며, 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블에서 상기 게이트웨이의 MAC 주소를 변조하도록 구성될 수 있다.
상기 제어 장치는, 상기 외부 네트워크로부터 DNS(Domain Name System) 응답 패킷이 수신될 때마다 수신된 상기 DNS 응답 패킷의 DNS 정보를 DNS 테이블에 저장하며, 상기 DNS 테이블을 참조하여 상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우로 판단되면, 상기 제2 통신 플로우를 목적지로 전달하지 않고 차단하도록 구성될 수 있다. 상기 DNS 정보는, 상기 DNS 응답 패킷에 포함된 IP 주소 및 도메인 주소를 포함할 수 있다.
상기 제어 장치는, 상기 복수의 제1 단말이 출발지이거나 도착지인 통신 플로우가 발생할 때마다 발생된 통신 플로우의 플로우 정보를 플로우 테이블에 저장하며, 상기 타겟 네트워크의 외부 네트워크에서 상기 복수의 제1 단말 중 어느 하나로 향하는 제3 통신 플로우가 수신되면, 상기 플로우 테이블을 참조하여 상기 제3 통신 플로우가 상기 복수의 제1 단말 중 어느 하나의 요청에 의해 발생된 통신 플로우로 판단되면, 상기 제3 통신 플로우를 목적지인 제1 단말로 전달하도록 구성될 수 있다. 상기 플로우 정보는, 대응하는 통신 플로우의 출발지 및 목적지의 주소 정보, 그리고 프로토콜 정보를 포함할 수 있다.
상기 제어 장치는, 에이전트가 설치된 제2 단말에 상기 네트워크 보호 장치와 상기 제2 단말 사이의 통신 경로에 위치하는 AP(Access Point)의 검출을 지시하고, 상기 제2 단말에 의해 상기 통신 경로에서 상기 AP가 검출되면, 상기 AP에 연결된 적어도 하나의 제3 단말의 단말 정보 수집을 상기 제2 단말에 지시하며, 상기 제2 단말이 ARP 패킷을 사용해 수집한 상기 적어도 하나의 제3 단말의 주소 정보를 상기 제2 단말로부터 수신하고, 상기 적어도 하나의 제3 단말의 주소 정보에 기초해 상기 적어도 하나의 제3 단말 중에서 비인가 단말을 검출하며, 상기 비인가 단말이 검출되면, ARP 패킷을 사용해 상기 비인가 단말의 통신을 차단하도록 상기 제2 단말에 지시하도록 구성될 수 있다.
또한, 일 실시 에에 따른 네트워크 보호 장치의 네트워크 보호 방법은, 타겟 네트워크에 속하는 복수의 제1 단말들 사이에서 발생한 제1 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하는 단계, 그리고 상기 제1 통신 플로우가 수신되면, 상기 복수의 제1 단말 간의 접속 권한에 대해 정의하는 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계를 포함할 수 있다.
상기 변조하는 단계는, 상기 ARP 테이블 내에서 MAC 주소를 변조하고자 하는 제1 단말의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하는 단계, 그리고 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블을 변조하는 단계를 포함할 수 있다.
상기 네트워크 보호 방법은, ARP 요청 패킷을 사용해 상기 복수의 제1 단말 각각의 주소 정보를 수집하는 단계를 더 포함할 수 있다. 상기 주소 정보는, 대응하는 제1 단말의 IP 주소 및 MAC 주소를 포함할 수 있다.
상기 네트워크 보호 방법은, 상기 주소 정보에 기초해 상기 복수의 제1 단말 중 비인가 단말을 검출하는 단계, 그리고 ARP 패킷을 사용해 상기 비인가 단말의 ARP 테이블에 포함된 MAC 주소를 통신이 불가능한 MAC 주소로 변조하여 상기 비인가 단말의 통신을 차단하는 단계를 더 포함할 수 있다.
상기 네트워크 보호 방법은, 상기 제1 통신 플로우의 출발지인 제1 단말에서 CAPTCHA 프로세스를 실행시키는 단계, 그리고 상기 출발지인 제1 단말로부터 CAPTCHA 인증 결과를 수신하는 단계를 더 포함할 수 있다. 상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계는, 상기 CAPTCHA 인증 결과 및 상기 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계를 포함할 수 있다.
상기 네트워크 보호 방법은, 상기 복수의 제1 단말 중 어느 하나로부터 상기 타겟 네트워크의 외부 네트워크로 향하는 제2 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 ARP 테이블을 변조하는 단계, 그리고 상기 제2 플로우가 수신되면, 상기 복수의 제1 단말과 상기 외부 네트워크 간의 접속 권한에 대해 정의하는 블랙 리스트를 참조하여, 상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하는 단계를 더 포함할 수 있다.
상기 제2 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록 상기 ARP 테이블을 변조하는 단계는, 상기 복수의 제1 단말과 상기 외부 네트워크 사이에 연결된 게이트웨이의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하는 단계, 그리고 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블에서 상기 게이트웨이의 MAC 주소를 변조하는 단계를 포함할 수 있다.
상기 네트워크 보호 방법은, 상기 외부 네트워크로부터 DNS 응답 패킷이 수신될 때마다 수신된 상기 DNS 응답 패킷의 DNS 정보를 DNS 테이블에 저장하는 단계를 더 포함할 수 있다. 상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하는 단계는, 상기 DNS 테이블을 참조하여 상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우인지 판단하는 단계, 그리고 상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우이면, 상기 제2 통신 플로우를 목적지로 전달하지 않고 차단하는 단계를 포함할 수 있다. 상기 DNS 정보는, 상기 DNS 응답 패킷에 포함된 IP 주소 및 도메인 주소를 포함할 수 있다.
상기 네트워크 보호 방법은, 상기 복수의 제1 단말이 출발지이거나 도착지인 통신 플로우가 발생할 때마다 발생된 통신 플로우의 플로우 정보를 플로우 테이블에 저장하는 단계, 상기 타겟 네트워크의 외부 네트워크에서 상기 복수의 제1 단말 중 어느 하나로 향하는 제3 통신 플로우를 수신하는 단계, 그리고 상기 플로우 테이블을 참조하여 상기 제3 통신 플로우가 상기 복수의 제1 단말 중 어느 하나의 요청에 의해 발생된 통신 플로우로 판단되면, 상기 제3 통신 플로우를 목적지인 제1 단말로 전달하는 단계를 더 포함할 수 있다. 상기 플로우 정보는, 대응하는 통신 플로우의 출발지 및 목적지의 주소 정보, 그리고 프로토콜 정보를 포함할 수 있다.
본 개시에 따르면 악성 코드가 네트워크 내부로 유입되는 것을 방지하고, 동일 네트워크에 연결된 단말들 사이 또는 네트워크들 사이에서 악성 코드로 인한 피해가 확산되는 것을 방지할 수 있다.
도 1a는 일 실시 예에 따른 네트워크 보호 장치가 적용되는 네트워크 시스템의 일 예를 도시한다.
도 1b는 일 실시 예에 따른 네트워크 보호 장치가 적용되는 네트워크 시스템의 사설 네트워크가 존재하는 예를 도시한다.
도 2는 일 실시 예에 따른 네트워크 보호 장치를 개략적으로 도시한다.
도 3은 일 실시 예에 따른 네트워크 보호 장치의 통신 플로우 제어 방법을 개략적으로 도시한다.
도 4는 일 실시 예에 따른 네트워크 보호 장치가 내부 단말들 사이에서 발생한 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 5는 일 실시 예에 따른 네트워크 보호 장치가 내부 단말에서 외부 네트워크로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 6은 일 실시 예에 따른 네트워크 보호 장치가 외부 네트워크에서 내부 단말로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 7은 일 실시 예에 따른 네트워크 보호 장치가 사설 네트워크를 관리하는 방법을 개략적으로 도시한다.
도 1b는 일 실시 예에 따른 네트워크 보호 장치가 적용되는 네트워크 시스템의 사설 네트워크가 존재하는 예를 도시한다.
도 2는 일 실시 예에 따른 네트워크 보호 장치를 개략적으로 도시한다.
도 3은 일 실시 예에 따른 네트워크 보호 장치의 통신 플로우 제어 방법을 개략적으로 도시한다.
도 4는 일 실시 예에 따른 네트워크 보호 장치가 내부 단말들 사이에서 발생한 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 5는 일 실시 예에 따른 네트워크 보호 장치가 내부 단말에서 외부 네트워크로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 6은 일 실시 예에 따른 네트워크 보호 장치가 외부 네트워크에서 내부 단말로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 7은 일 실시 예에 따른 네트워크 보호 장치가 사설 네트워크를 관리하는 방법을 개략적으로 도시한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
"제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 이 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1a는 일 실시 예에 따른 네트워크 보호 장치가 적용되는 네트워크 시스템의 일 예를 도시한다.
도 1a를 참조하면, 보호 대상이 되는 네트워크(1)(이하, '타겟 네트워크'라 칭함)와 외부 네트워크(예를 들어, 인터넷) 사이에서 송수신되는 패킷들은 방화벽(11) 및 스위치(12)를 통과한다. 방화벽(11)은 타겟 네트워크(1)의 보안을 담당하며, 타겟 네트워크(1) 내부로 들어오거나 외부로 나가는 유해 트래픽을 차단하는 기능을 수행할 수 있다. 본 문서에서, 타겟 네트워크(1)의 내부 네트워크와 외부 네트워크는 라우터 사용을 기준으로 구분되며, 동일 브로드캐스트 도메인(broadcast domain) 사용 여부에 따라서 구분될 수도 있다. 네트워크 시스템에서, 라우터는 네트워크들을 구분하고 브로드캐스트가 다른 네트워크에 전송되지 않도록 차단한다. 이 때, 브로드캐스트가 도달하는 범위를 브로드캐스트 도메인이라 한다.
스위치(12)는 타겟 네트워크(1)에서 인터넷에 연결하고자 하는 노드들의 중심에 위치하는 백본 스위치(backbone switch)로 작동할 수 있다. 이 경우, 타겟 네트워크(1)와 외부 네트워크 사이에 송수신되는 모든 패킷들이 스위치(12)를 통과하게 된다. 스위치(12)는 타겟 네트워크(1)의 게이트웨이(gateway)로서 작동할 수도 있다. 게이트웨이는 각 패킷에 포함된 목적지 IP(Internet Protocol) 주소에 기초해, 외부 네트워크와 타겟 네트워크(1) 사이에서 패킷을 전달할 수 있다.
스위치(12)는 타겟 네트워크(1)에 속하는 단말(이하, '내부 단말'이라 칭함)(14: 14-1, ..., 14-n)들 간의 통신을 지원할 수도 있다. 내부 단말(14)은 타겟 네트워크(1)에 속하는 네트워크 단말, 서버 외에도 NAT(Network Address Translation) 장치(예를 들어, 후술하는 도 1b의 AP(151)), 프린터 등 네트워크 주변 기기를 포함할 수 있다.
타겟 네트워크(1)는 내부 단말(14)에 악성 코드가 설치된 경우, 이로 인한 피해가 급격히 확산되는 것을 방지하기 위해 네트워크 보호 장치(13)를 더 포함할 수 있다. 네트워크 보호 장치(13)는 스위치(12)에 연결되어 내부 단말(14) 또는 게이트웨이(또는 게이트웨이 기능을 하는 스위치(12)와 통신할 수 있다.
네트워크 보호 장치(13)는 ARP(Address Resolution Protocol) 패킷을 사용해 타겟 네트워크(1)에 속하는 내부 단말(14)들의 단말 정보를 검출할 수 있다. 네트워크 보호 장치(13)는 타겟 네트워크(1)의 내부 단말(14)들에서 발생하는 통신 플로우(flow)가 네트워크 보호 장치(13)를 통해서만 전달되도록 내부 단말(14)들을 격리할 수도 있다. 네트워크 보호 장치(13)는 화이트 리스트(white list) 및 플로우 캐시(flow cache) 테이블을 사용해 타겟 네트워크(1)의 내부 단말(14)들 간의 통신 플로우를 차단하거나 허용할 수 있다. 네트워크 보호 장치(13)는 블랙 리스트(black list) 및 DNS(Domain Name System) 캐시 테이블을 사용해 내부 단말(14)과 외부 네트워크 간의 통신 플로우를 차단하거나 허용할 수도 있다.
각 내부 단말(14)은 내부 단말(14)의 백그라운드(background)에서 실행되는 프로세스의 프로세스 정보를 수집할 수 있다. 프로세스 정보는, 백그라운드에서 실행되는 프로세스의 실행 경로, 해당 프로세스에서 사용되는 통신 정보(예를 들어, 목적지의 IP 주소 및 포트 번호, 프로토콜 정보(TCP, UDP 등) 등을 포함할 수 있다. 내부 단말(14)들은 수집된 프로세스 정보들을 네트워크 보호 장치(13)에 전달할 수 있다. 각 내부 단말(14)에는 프로세스 정보의 수집을 위한 에이전트(agent)가 어플리케이션(application) 형태로 설치될 수 있다.
각 내부 단말(14)로부터 프로세스 정보를 수신한 네트워크 보호 장치(13)는 수신된 프로세스 정보를 화이트 리스트와 비교하여, 각 내부 단말(14)의 맬웨어(malware) 감염 여부를 판단하는 기능을 추가로 수행할 수 있다. 네트워크 보호 장치(13)는 특정 내부 단말(14)이 맬웨어에 감염된 것으로 판단되면, 해당 내부 단말(14)에 의해 발생된 통신 플로우를 차단할 수 있다.
도 1b는 일 실시 예에 따른 네트워크 보호 장치가 적용되는 네트워크 시스템의 다른 예를 도시한다.
도 1b를 참조하면, 타겟 네트워크(1)는 AP(Access Point)(151)(또는 NAT 장치)를 통해 연결되는 사설 네트워크(15)를 포함할 수 있다. 사설 네트워크(15)는 AP(151)와 AP(151)에 연결된 단말(16: 16-1, ..., 16-n)들을 포함할 수 있다.
네트워크 보호 장치(13)는 AP(151)를 검출하는 기능을 추가로 수행할 수 있다.
사설 네트워크(15)에 속하는 단말(16)에는 네트워크 보호 장치(13)과 통신하기 위한 에이전트가 설치될 수 있다. 이 경우, 네트워크 보호 장치(13)는 단말(16) 내에 설치된 에이전트와 통신하여 AP(151)를 검출할 수 있다. 네트워크 보호 장치(13)는 타겟 네트워크(1) 내에서 사설 네트워크(15)의 AP(151)가 검출되면, 단말(16)의 에이전트와 통신하여 해당 AP(151)에 연결된 단말(16)들의 주소 정보를 수집할 수도 있다. 또한, 네트워크 보호 장치(13)는 수집한 단말(16)들의 주소 정보에 기초해 사설 네트워크(15)의 AP(151)에 연결된 비인가 단말을 검출할 수 있다. 네트워크 보호 장치(13)는 또한 단말(16)의 에이전트와 통신하여 AP(151)에 연결된 비인가 단말과 에이전트가 설치되지 않은 단말(16)의 통신을 차단할 수 있다. 단말(16)의 에이전트는, AP(151)의 게이트웨이(152) 및 차단 대상인 단말(16)에 ARP 패킷을 지속적으로 전송함으로써 비인가 단말 및 에이전트가 설치되지 않은 단말의 통신을 차단할 수 있다.
단말(16)에 에이전트가 설치되지 않은 경우, 네트워크 보호 장치(13)는 자체 검출 프로세스를 수행하여 사설 네트워크(15)의 AP(151)를 검출할 수도 있다.
도 2는 일 실시 예에 따른 네트워크 보호 장치를 개략적으로 도시한다.
도 2를 참조하면, 일 실시 예에 따른 네트워크 보호 장치(13)는 저장 장치(21), 통신 장치(22), 및 제어 장치(23)를 포함할 수 있다.
저장 장치(21)는 적어도 하나의 메모리를 포함하며, 네트워크 보호 장치(13)에서 처리되는 각종 정보, 데이터 등을 저장할 수 있다.
저장 장치(21)는 네트워크 보호 장치(13)를 통해 전달되는 패킷들을 임시 저장할 수 있다.
저장 장치(21)는 네트워크 보호 장치(13)에서 사용되는 정책 정보를 저장할 수도 있다. 정책 정보는, 타겟 네트워크(1)에서의 관리 대역 정책을 포함할 수 있다. 관리 대역 정책은, 타겟 네트워크(1)에 할당된 IP 주소 범위, VLAN(Virtual Local Area Network) 정보 등 타겟 네트워크(1)의 관리 대역에 대한 정적인 정보들을 포함할 수 있다.
저장 장치(21)는 후술하는 제어 장치(23)에 의해 획득되는 각 내부 단말(14)의 단말 정보를 저장할 수도 있다. 단말 정보는, 각 내부 단말(14)의 주소 정보(IP 주소 및 MAC 주소), 상태 정보(온라인 여부) 등을 포함할 수 있다.
저장 장치(21)는 네트워크 보호 장치(13)를 통해 전달되는 통신 플로우의 플로우 정보를 플로우 캐시 테이블 형태로 저장할 수도 있다. 플로우 정보는, 대응하는 통신 플로우의 출발지(source)의 IP 주소 및 포트 번호, 목적지(destination)의 IP 주소 및 포트 번호, 프로토콜(protocol) 정보를 포함하는 5-튜플(tuple) 정보를 포함할 수 있다.
저장 장치(21)는 화이트 리스트를 저장할 수도 있다. 화이트 리스트는, 타겟 네트워크(1) 내에서 내부 단말(14)들 간의 접속 허용과 관련된 정보를 포함할 수 있다. 즉, 화이트 리스트는, 타겟 네트워크(1) 내에서 어떤 내부 단말(14)이 다른 어떤 내부 단말(14)에 대해 접속이 허용되는지에 대한 정보, 즉, 단말들 간의 접속 허용 정보를 포함할 수 있다. 화이트 리스트는, 화이트 리스트에 등록된 각 내부 단말(14)에 대해 접속이 허용된 IP 주소 정보(또는 IP 주소 대역), 포트 번호, 프로토콜 정보 등을 포함하는 5-튜플 정보를 포함할 수 있다. 화이트 리스트는, 운영체제에 따라 내부 단말(14)에 필수적으로 설치되는 소프트웨어의 정보를 더 포함할 수 있다.
저장 장치(21)는 블랙 리스트를 저장할 수도 있다. 블랙 리스트는, 타겟 네트워크(1)의 외부 네트워크에 대한 내부 단말(14)들의 접속 제한과 관련된 정보를 포함할 수 있다. 즉, 블랙 리스트는, 블랙 리스트에 등록된 각 내부 단말(14)에 대해 접속이 허용되지 않은 외부 네트워크에서의 목적지(예를 들어, 웹 서버 등)에 대한 정보를 포함할 수 있다. 즉, 블랙 리스트는, 타겟 네트워크(1)의 각 내부 단말(14)에 대해 접속이 허용되지 않은 IP 주소, 도메인 정보 등을 포함할 수 있다.
저장 장치(21)는 예외 리스트를 저장할 수도 있다. 예외 리스트는, 타겟 네트워크(1)의 내부 단말(14)들에 대해 접속이 허용된 외부 네트워크에 대한 정보(IP 주소, 도메인 정보 등)를 포함할 수 있다.
저장 장치(21)는 외부 네트워크와 내부 단말(14) 사이에서 발생한 DNS 응답 패킷의 DNS 정보를 DNS 캐시 테이블 형태로 저장할 수도 있다. DNS 정보는, DNS 응답 패킷으로부터 추출된 정보로서, 내부 단말(14)이 접속하고자 하는 외부 네트워크 내 목적지(예를 들어, 웹 서버)의 목적지 주소 정보(IP 주소 및 도메인 주소)를 포함할 수 있다.
통신 장치(22)는 타겟 네트워크(1)에 속한 다른 장치와 네트워크 보호 장치(13) 사이에서 정보, 패킷 등을 송수신할 수 있다. 통신 장치(22)는 스위치(12)를 통해 타겟 네트워크(1)에 접속된 각 내부 단말(14)과 연결되며, 각 내부 단말(14)과 패킷들(ARP 패킷, UDP(User Datagram Protocol) 패킷, TCP(Transmission Control Protocol) 패킷 등)을 송수신할 수 있다. 통신 장치(22)는 게이트웨이(예를 들어, 게이트웨이 기능을 수행하는 스위치(12))를 통해 외부 네트워크와 연결되며, 외부 네트워크와 패킷들을 송수신할 수도 있다.
제어 장치(23)는 타겟 네트워크(1)에 속하는 내부 단말(14)들의 단말 정보를 수집할 수 있다. 제어 장치(23)는 타겟 네트워크(1)에 속한 내부 단말(14)들 사이, 그리고 내부 단말(14)과 게이트웨이 사이(즉, 내부 단말(14)과 외부 네트워크 사이)의 모든 패킷이 네트워크 보호 장치(13)를 통해서 전달되도록 내부 단말(14)들의 통신 플로우를 제어할 수 있다. 제어 장치(23)는 저장 장치(21)에 저장된 화이트 리스트, 블랙 리스트, 예외 리스트, 플로우 캐시 테이블, DNS 캐시 테이블 등을 참조하여 타겟 네트워크(1)에 속한 내부 단말(14)들 사이, 그리고 내부 단말(14)과 외부 네트워크 사이의 패킷 전달을 허용하거나 차단할 수도 있다.
이를 위해, 제어 장치(23)는 단말 정보 수집부(231), 플로우 제어부(232), 정책 관리부(233), 정책 적용부(234), DNS 처리부(235), 및 패킷 처리부(236)를 포함할 수 있다.
네트워크 보호 장치(13)의 작동이 개시되면, 단말 정보 수집부(231)는 타겟 네트워크(1)에 속한 내부 단말(14)들의 단말 정보(주소 정보, 상태 정보 등)를 수집할 수 있다.
단말 정보 수집부(231)는 ARP 요청 패킷을 사용해 각 내부 단말(14)의 주소 정보(IP 주소 및 MAC 주소)를 수집할 수 있다. 네트워크 보호 장치(13)의 초기 작동 시에는 각 내부 단말(14)의 IP 주소를 모르는 상태이므로, 단말 정보 수집부(231)는 타겟 네트워크(1)의 관리 대역 정책에 기초해 주소 정보 수집을 위한 ARP 요청 패킷을 생성할 수 있다. 단말 정보 수집부(231)는 타겟 네트워크(1)에 할당된 IP 주소 범위에서 임의의 IP 주소를 선택하고, 이를 목적지 주소 정보로 포함하는 ARP 요청 패킷을 생성하여 내부 단말(14)들에 브로드캐스팅 방식으로 전송할 수 있다.
이렇게 전송된 ARP 요청 패킷의 목적지 IP 주소에 해당하는 내부 단말(14)이 존재할 경우, 해당 내부 단말(14)은 자신의 IP 주소 및 MAC 주소를 출발지 주소 정보로 포함하는 ARP 응답 패킷을 네트워크 보호 장치(13)에 유니캐스트 방식으로 전송할 수 있다. 단말 정보 수집부(231)는 ARP 응답 패킷이 수신되면, 해당 응답 패킷에 포함된 출발지 주소 정보(출발지 IP 주소 및 출발지 MAC 주소)로부터 대응하는 내부 단말(14)의 주소 정보(IP 주소 및 MAC 주소)를 획득할 수 있다.
단말 정보 수집부(231)는 타겟 네트워크(1)에 할당된 IP 주소 범위 내에서 목적지 주소 정보로 사용되는 IP 주소를 변경해가면서 ARP 요청 패킷을 생성할 수 있다. 단말 정보 수집부(231)는 목적지 주소 정보가 변경된 ARP 요청 패킷들을 순차적으로 내부 단말(14)들에 브로드캐스팅할 수 있다. 단말 정보 수집부(231)는 ARP 요청 패킷을 브로드캐스팅할 때마다 이에 대한 응답 패킷의 수신을 대기하고, ARP 응답 패킷이 수신되면 이를 분석하여 대응하는 내부 단말(14)의 주소 정보를 획득하는 방식으로 타겟 네트워크(1)에 연결된 모든 내부 단말(14)들의 주소 정보를 수집할 수 있다. 단말 정보 수집부(231)는 또한 ARP 응답 패킷을 전송한 내부 단말(14)에 대해서는 상태 정보가 온라인 상태를 가리키도록 설정할 수도 있다.
단말 정보 수집부(231)는 ARP 패킷을 사용해 각 내부 단말(14)의 온라인 상태를 모니터링할 수도 있다. 단말 정보 수집부(231)는 온라인 상태를 확인하고자 하는 내부 단말(14)의 IP 주소를 목적지 주소 정보로 포함하는 ARP 요청 패킷을 생성하고, 이를 타겟 네트워크(1) 내에서 브로드캐스팅할 수 있다. 그런 다음, 단말 정보 수집부(231)는 전송된 ARP 요청 패킷에 대한 ARP 응답 패킷이 수신되는지 여부에 따라 대응하는 내부 단말(14)의 상태 정보를 결정할 수 있다. 단말 정보 수집부(231)는 상태를 확인하고자 하는 내부 단말(14)에 소정 시간 동안 적어도 1회 이상 ARP 요청 패킷을 전송한 후, 대응하는 내부 단말(14)로부터의 ARP 응답 패킷 수신을 대기할 수 있다. 단말 정보 수집부(231)는 ARP 요청 패킷을 전송한 후 소정 시간 내에 해당 내부 단말(14)로부터 ARP 응답 패킷이 수신되지 않으면, 해당 내부 단말(14)이 오프라인 상태인 것으로 판단할 수 있다. 단말 정보 수집부(231)는 ARP 요청 패킷을 전송한 후 소정 시간 내에 대응하는 내부 단말(14)로부터 ARP 응답 패킷이 수신되면, 해당 내부 단말(14)이 온라인 상태인 것으로 판단할 수 있다. 단말 정보 수집부(231)는 또한 결정된 상태를 토대로 각 내부 단말(14)의 상태 정보를 설정할 수 있다. 여기서, 내부 단말(14)의 온라인 상태는 해당 내부 단말(14)과 타겟 네트워크(1) 간의 연결이 활성화된 상태를 나타내고, 내부 단말(14)의 오프라인 상태는 해당 내부 단말(14)과 타겟 네트워크(1) 간의 연결이 비활성화된 상태를 나타낼 수 있다.
단말 정보 수집부(231)는 전술한 방식으로 각 내부 단말(14)들의 단말 정보(상태 정보 및 주소 정보)가 수집되면, 이를 저장 장치(21)에 저장하여 관리할 수 있다.
플로우 제어부(232)는 타겟 네트워크(1)에 속한 내부 단말(14)들의 단말 정보와 ARP 패킷을 사용해, 모든 내부 단말(14)들의 통신 플로우가 네트워크 보호 장치(13)를 통과하여 전달되도록 내부 단말(14)들의 통신 플로우를 제어할 수 있다.
플로우 제어부(232)는 내부 단말(14)들의 통신 플로우를 변경하기 위해, 각 내부 단말(14)에 저장된 ARP 테이블에서 다른 내부 단말(14)들 및 게이트웨이의 MAC 주소를 변조할 수 있다. 각 내부 단말(14)의 ARP 테이블은, 해당 내부 단말(14)과 동일한 브로드캐스트 도메인(타겟 네트워크(1))에 속한 네트워크 장치(예를 들어, 내부 단말(14))들의 주소 정보(IP 주소 및 MAC 주소)와 해당 네트워크 장치가 연결되는 게이트웨이(또는 게이트 역할을 하는 스위치(12))의 주소 정보(IP 주소 및 MAC 주소)를 포함할 수 있다.
플로우 제어부(232)는 ARP 테이블 내에서 내부 단말(14)들의 MAC 주소를 변조하기 위해 변조된 ARP 응답 패킷들을 사용할 수 있다. 각각의 변조된 ARP 응답 패킷은, ARP 테이블을 변조하고자 하는 내부 단말(14)의 IP 주소 및 MAC 주소를 목적지 주소 정보로 포함하고, 대응하는 ARP 테이블 내에서 MAC 주소를 변조하고자 하는 대상(내부 단말)의 IP 주소와 변조된 MAC 주소(네트워크 보호 장치(13)의 MAC 주소)를 출발지 주소 정보로 포함할 수 있다. 플로우 제어부(232)는 변조된 ARP 응답 패킷이 생성되면, 이를 ARP 테이블을 변조하고자 하는 내부 단말(14)에 유니캐스트 방식으로 전송할 수 있다. 네트워크 보호 장치(13)로부터 이를 수신한 내부 단말(14)은, 수신된 ARP 응답 패킷으로부터 출발지의 IP 주소 및 변조된 MAC 주소를 획득하고, 이를 사용해 자신의 ARP 테이블에서 대응하는 내부 단말(14)의 MAC 주소를 변경할 수 있다.
플로우 제어부(232)는, 각 내부 단말(14)의 ARP 테이블에서 모든 내부 단말(14)의 MAC 주소를 네트워크 보호 장치(13)의 MAC 주소로 변조하기 위해, 각 내부 단말(14)에 대해 한 번 이상 ARP 응답 패킷을 전송할 수 있다.
각 내부 단말(14)의 ARP 테이블에서 타겟 네트워크(1)에 속한 다른 모든 내부 단말(14)들의 MAC 주소가 네트워크 보호 장치(13)의 MAC 주소로 변조됨에 따라, 각 내부 단말(14)은 다른 내부 단말에 패킷을 전송하고자 하는 경우 해당 내부 단말의 MAC 주소가 아닌 네트워크 보호 장치(13)의 MAC 주소를 참조하여 패킷을 전송하게 된다. 따라서, 각 내부 단말(14)이 다른 내부 단말(14)에 전송한 패킷은 해당 내부 단말 대신 네트워크 보호 장치(13)로 먼저 전달될 수 있다.
플로우 제어부(232)는 각 내부 단말(14)의 ARP 테이블에서 게이트웨이(또는 게이트웨이의 기능을 하는 스위치(12))의 MAC 주소를 네트워크 보호 장치(13)의 MAC 주소로 변조하기 위해 변조된 ARP 응답 패킷을 사용할 수도 있다. 여기서, 변조된 ARP 응답 패킷은, ARP 테이블을 변조하고자 하는 내부 단말(14)의 IP 주소 및 MAC 주소를 목적지 주소 정보로 포함하고, 실제 게이트웨이의 IP 주소(스위치(12)의 IP 주소)와 네트워크 보호 장치(13)의 MAC 주소를 출발지 주소 정보로 포함할 수 있다. 플로우 제어부(232)는 변조된 ARP 응답 패킷이 생성되면, 이를 ARP 테이블 변조 대상인 내부 단말(14)에 유니캐스트 방식으로 전송할 수 있다. 네트워크 보호 장치(13)로부터 게이트웨이의 MAC 주소가 변조된 ARP 응답 패킷을 수신한 내부 단말(14)은, ARP 응답 패킷으로부터 획득한 게이트웨이의 변조된 MAC 주소를 사용해 자신의 ARP 테이블에서 게이트웨이의 MAC 주소를 변경할 수 있다.
플로우 제어부(232)는 전술한 바와 같이 게이트웨이의 MAC 주소가 변조된 ARP 응답 패킷을 내부 단말(14) 별로 전송하여, 타겟 네트워크(1)에 속한 모든 내부 단말(14)의 ARP 테이블에서 게이트웨이의 MAC 주소를 네트워크 보호 장치(13)의 MAC 주소로 변조할 수 있다.
각 내부 단말(14)의 ARP 테이블에서 게이트웨이의 MAC 주소가 네트워크 보호 장치(13)의 MAC 주소로 변조됨에 따라, 각 내부 단말(14)은 타겟 네트워크(1) 외부로 패킷을 전송하고자 하는 경우 게이트웨이가 아닌 네트워크 보호 장치(13)의 MAC 주소를 참조하여 패킷을 전송하게 된다. 따라서, 각 내부 단말(14)이 타겟 네트워크(1)의 외부로 전송한 패킷은 게이트웨이 대신 네트워크 보호 장치(13)로 먼저 전달될 수 있다.
플로우 제어부(232)는 전술한 바와 같이 ARP 패킷을 사용해 각 내부 단말(14)의 ARP 테이블을 변조함으로써, 모든 내부 단말(14)들의 송수신 패킷들이 네트워크 보호 장치(13)를 통과하여 다른 내부 단말(14) 또는 외부 네트워크로 전달되도록 내부 단말(14)들을 격리시킬 수 있다.
플로우 제어부(232)는 변조된 ARP 패킷을 사용해 타겟 네트워크(1)에 연결된 비인가 내부 단말(미도시)의 통신 플로우를 차단할 수도 있다.
플로우 제어부(232)는 변조된 ARP 응답 패킷들을 사용하여 비인가 내부 단말의 ARP 테이블에서 타겟 네트워크(1)에 속하는 다른 모든 내부 단말(14)들의 MAC 주소를 통신이 불가능한 의미 없는 MAC 주소로 변조할 수 있다. 플로우 제어부(232)는 각 내부 단말(14)의 IP 주소 및 의미 없는 MAC 주소를 출발지 주소 정보로 포함하고 비인가 내부 단말의 IP 주소 및 MAC 주소를 목적지 주소 정보로 포함하도록 변조된 ARP 응답 패킷들을 생성할 수 있다. 플로우 제어부(232)는 이렇게 변조된 ARP 응답 패킷을 비인가 내부 단말에 유니캐스트 방식으로 전송할 수 있다. 이를 수신한 비인가 내부 단말은 자신의 ARP 테이블에서 대응하는 내부 단말(14)의 MAC 주소를 통신이 불가능한 의미 없는 MAC 주소로 변경할 수 있다. 따라서, 비인가 내부 단말은 타겟 네트워크(1)에 속하는 다른 내부 단말(14)의 올바른 MAC 주소를 확인할 수 없어 다른 내부 단말(14)과의 통신이 차단될 수 있다.
플로우 제어부(232)는 변조된 ARP 응답 패킷을 사용하여 비인가 내부 단말의 ARP 테이블에서 게이트웨이의 MAC 주소를 의미 없는 주소로 변조시킬 수도 있다. 플로우 제어부(232)는 게이트웨이의 IP 주소 및 의미 없는 MAC 주소를 출발지 주소 정보로 포함하고 비인가 내부 단말의 IP 주소 및 MAC 주 소를 목적지 주소 정보로 포함하도록 변조된 ARP 응답 패킷을 생성할 수 있다. 플로우 제어부(232)는 이렇게 변조된 ARP 응답 패킷을 비인가 내부 단말에 유니캐스트 방식을 전송할 수 있다. 이를 수신한 비인가 내부 단말은, 자신의 ARP 테이블에서 게이트웨이의 MAC 주소를 통신이 불가능한 의미 없는 MAC 주소로 변경할 수 있다. 따라서, 비인가 내부 단말은 게이트웨이의 올바른 MAC 주소를 확인할 수 없어 게이트웨이를 통해 접속해야 하는 외부 네트워크와의 통신이 차단될 수 있다.
정책 관리부(233)는 타겟 네트워크(1)에 속한 내부 단말(14)들을 관리하기 위한 정책 정보를 설정할 수 있다. 정책 관리부(233)는 관리자 또는 관리자 단말(미도시)로부터 정책 정보를 등록하기 위한 입력 정보를 수신하고, 이를 토대로 정책 정보를 생성할 수 있다. 정책 관리부(233)는 설정된 정책 정보를 저장 장치(21)에 저장하여 관리할 수 있다.
정책 관리부(233)는 타겟 네트워크(1)에서 사용되는 화이트 리스트, 블랙 리스트, 또는 예외 리스트를 생성할 수도 있다. 정책 관리부(233)는 관리자 또는 관리자 단말(미도시)로부터 화이트 리스트, 블랙 리스트, 또는 예외 리스트를 등록하기 위한 입력 정보를 수신하고, 이를 토대로 화이트 리스트, 블랙 리스트, 또는 예외 리스트를 생성할 수 있다. 정책 관리부(233)는 설정된 화이트 리스트, 블랙 리스트, 또는 예외 리스트를 저장 장치(21)에 저장하여 관리할 수 있다.
정책 적용부(234)는 정책 관리부(233)에 의해 등록된 정책 정보가 적용되도록 이를 필요로 하는 구성 요소(예를 들어, 패킷 처리부(236))에 전달할 수 있다.
DNS 처리부(235)는 외부 네트워크와 내부 단말(14) 사이에서 발생한 DNS 응답 패킷을 분석하여, 내부 단말(14)이 접속하고자 하는 외부 네트워크 내 목적지(예를 들어, 웹 서버)의 DNS 정보(IP 주소 및 도메인 주소)를 획득할 수 있다. DNS 처리부(235)는 획득된 DNS 정보를 DNS 캐시 테이블 형태로 저장 장치(21)에 저장하여 관리할 수 있다.
패킷 처리부(236)는 내부 단말들(14) 사이, 또는 타겟 네트워크(1)의 외부 네트워크와 내부 단말(14) 사이에서 전달되는 패킷들을 수신하고, 수신된 패킷들을 목적지에 전달하거나 차단할 수 있다.
패킷 처리를 위해, 패킷 처리부(236)는 내부 단말(14)들에 대해 발생하는 통신 플로우에 대한 플로우 정보를 수집할 수 있다. 패킷 처리부(236)는 내부 단말(14)과 외부 네트워크 사이에서 발생한 통신 플로우를 모니터링하여 플로우 정보를 수집할 수 있다. 패킷 처리부(236)는 내부 단말(14)들 간에 발생한 통신 플로우를 모니터링하여 플로우 정보를 수집할 수도 있다. 수집되는 플로우 정보는, 출발지의 IP 주소 및 포트 번호, 목적지의 IP 주소 및 포트 번호, 그리고 프로토콜 정보를 포함하는 5-튜플 정보일 수 있다. 패킷 처리부(236)는 수집되는 플로우 정보를, 플로우 캐시 테이블 형태로 저장 장치(21)에 저장하여 관리할 수 있다. 패킷 처리부(236)는 외부 네트워크와 내부 단말(14) 사이의 양방향 통신 플로우를 동시에 관리하기 위해, 플로우 정보를 플로우 캐시 테이블에 저장 시 타겟 네트워크(1) 내부에서 외부 네트워크로 향하는 통신 플로우 방향을 기준으로 플로우 정보를 저장할 수 있다. 또한, 패킷 처리부(236)는 외부 네트워크에서 타겟 네트워크(1)의 내부로 향하는 통신 플로우의 경우, 플로우 정보의 저장 시 목적지 정보(IP 주소 및 포트 번호)와 출발지 정보(IP 주소 및 포트 번호)가 저장되는 순서를 서로 바꿀 수 있다. 패킷 처리부(236)는 내부 단말(14)들 간의 양방향 통신 플로우를 동시에 관리하기 위해, 출발지와 목적지의 IP 주소 간의 대소 비교, 또는 각 통신 플로우의 최초 시작점에 기초해 플로우 정보의 저장 순서를 관리할 수도 있다.
패킷 처리부(236)는 타겟 네트워크(1)의 내부 단말(14)이 다른 내부 단말(14)에 접속하기 위한 통신 플로우가 발생하면, 화이트 리스트를 참조하여 해당 통신 플로우가 허용된 것인지를 판단할 수 있다. 내부 단말(14)들 사이에서 발생한 통신 플로우가 화이트 리스트에서 등록된 통신 플로우인 경우, 패킷 처리부(236)는 해당 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 정상적으로 전달할 수 있다. 패킷 처리부(236)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가할 수 있다. 내부 단말(14)들 사이에서 발생한 통신 플로우가 화이트 리스트에서 미등록된 통신 플로우인 경우, 패킷 처리부(236)는 해당 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 전달하지 않고 차단할 수 있다. 패킷 처리부(236)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가할 수 있다.
내부 단말(14)이 악성 코드에 감염될 경우, 내부 단말(14)의 백그라운드 프로세스가 사용자가 의도하지 않은 임의의 통신 플로우를 발생시켜 화이트 리스트에 등록된 다른 내부 단말(14)에 접속할 수도 있다. 패킷 처리부(236)는 이러한 경우에 악성 코드가 다른 내부 단말(14)에 확산되는 것을 방지하기 위해, 정책 적용부(234)와 연동하여 캡차(Completely Automated Public Turing test to tell Computers and Humans Apart, CAPTCHA) 등의 보안 프로세스를 추가로 수행할 수 있다.
내부 단말(14)이 화이트 리스트에 등록된 다른 내부 단말(14)에 접속하기 위한 통신 플로우가 발생되면, 정책 적용부(234)는 접속을 시도한 내부 단말(14)에 캡차 프로세스가 실행되도록 제어할 수 있다. 그런 다음, 정책 적용부(234)는 해당 내부 단말(14)로부터 캡차 프로세스에 의한 인증 결과를 수신하고, 수신된 인증 결과에 따라 패킷 처리부(236)를 제어할 수 있다. 정책 적용부(234)는 수신된 인증 결과가 인증 성공을 나타내면, 대응하는 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 전달하도록 패킷 처리부(236)를 제어할 수 있다. 정책 적용부(234)는 수신된 인증 결과가 인증 실패를 나타내거나, 소정 시간 이상 인증 결과가 수신되지 않으면, 대응하는 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 전달하지 않고 차단하도록 패킷 처리부(236)를 제어할 수 있다.
패킷 처리부(236)는 타겟 네트워크(1)의 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우가 발생하면, 블랙 리스트를 참조하여 해당 통신 플로우의 허용 여부를 결정할 수 있다. 패킷 처리부(236)는 타겟 네트워크(1)의 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우가 발생하면 이에 대한 플로우 정보를 생성할 수 있다. 패킷 처리부(236)는 생성된 플로우 정보를 블랙 리스트와 비교하고, 대응하는 플로우가 블랙 리스트에 등록된 통신 플로우이면 해당 플로우의 패킷들을 외부 네트워크에 전달하지 않고 차단할 수 있다. 패킷 처리부(236)는 대응하는 플로우가 블랙 리스트에 미등록된 플로우로 판단되면, 해당 플로우의 패킷들을 통과시켜 외부 네트워크에 전달할 수 있다.
악성 코드에 감염될 경우, 내부 단말(14)의 백그라운드 프로세스가 DNS 쿼리 없이 IP 주소를 사용해 직접 외부 네트워크로 향하는 통신 플로우를 발생시킬 수 있다. 패킷 처리부(236)는 이러한 경우로 인해 악성 코드가 확산되는 것을 방지하기 위해, DNS 캐시 테이블을 사용할 수 있다.
패킷 처리부(236)는 내부 단말(14)로부터 DNS 요청 패킷이 발생하면 DNS 요청 패킷을 외부 네트워크에 전달한 다음, 외부 네트워크에서 이에 대한 DNS 응답 패킷이 수신되기를 대기할 수 있다. 패킷 처리부(236)는 DNS 응답 패킷이 수신되면, DNS 정보(IP 주소 및 도메인 주소)를 검출하기 위해 수신된 DNS 응답 패킷을 DNS 처리부(235)에 전달할 수 있다. DNS 처리부(235)는 전달받은 DNS 응답 패킷으로부터 DNS 정보(IP 주소 및 도메인 주소)를 획득하고, 획득한 DNS 정보를 DNS 캐시 테이블에 추가할 수 있다.
패킷 처리부(236)는, 타겟 네트워크(1)의 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우의 DNS 정보가 DNS 캐시 테이블에 등록되지 않은 경우, 블랙 리스트와 상관없이 해당 통신 플로우의 패킷 전달을 차단할 수 있다. 패킷 처리부(236)는 타겟 네트워크(1)의 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우의 DNS 정보가 DNS 캐시 테이블에 등록된 DNS 정보이면, 전술한 바와 같이 블랙 리스트를 참조하여 해당 통신 플로우의 패킷 전달을 허용하거나 차단할 수 있다.
패킷 처리부(236)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 향하는 통신 플로우가 발생하면, 해당 통신 플로우가 내부 단말(14)에서 발생한 통신 플로우에 대한 응답으로 발생한 것인지 확인할 수 있다. 내부 단말(14)의 요청에 의해 발생한 통신 플로우의 경우, 대응하는 플로우 정보가 플로우 캐시 테이블에 이미 등록된 상태일 수 있다. 따라서, 패킷 처리부(236)는 플로우 캐시 테이블을 참조하여 외부 네트워크에서 발생한 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 통신 플로우인지 확인할 수 있다. 패킷 처리부(236)는 외부 네트워크에서 발생한 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 통신 플로우인 경우, 이를 목적지인 내부 단말(14)에 전달할 수 있다. 패킷 처리부(236)는 외부 네트워크에서 발생한 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 것이 아니면, 예외 리스트를 참조하여 해당 통신 플로우의 패킷 전달을 허용하거나 차단할 수 있다. 패킷 처리부(236)은 외부 네트워크에서 발생한 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 것이 아니더라도 예외 리스트에 등록된 통신 플로우이면, 해당 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 전달할 수 있다.
패킷 처리부(236)는 각 내부 단말(14)에 설치된 에이전트로부터 프로세스 정보를 수신하고, 수신된 프로세스 정보와 화이트 리스트를 사용해 각 내부 단말(14)의 맬웨어 감염 여부를 판단할 수도 있다. 패킷 처리부(236)는 수신된 프로세스 정보에 기초해, 대응하는 프로세스가 화이트 리스트에 등록된 경로와 다른 경로에서 실행된 경우, 프로세스가 기존에 사용한적이 없는 IP 주소를 사용해 통신 플로우를 발생시킨 경우, 통신 플로우에서의 수신/접속 대기를 위한 포트 번호가 변경된 경우에, 대응하는 내부 단말(14)이 맬웨어에 감염된 것으로 판단할 수 있다.
패킷 처리부(236)는 맬웨어에 감염된 것으로 판단되는 내부 단말(14)의 경우, 해당 내부 단말(14)에 의해 발생된 통신 플로우를 차단할 수 있다.
타겟 네트워크(1) 내부에 사설 네트워크(15)가 존재하는 경우, 제어 장치(23)는 AP(151)를 검출하는 기능을 추가로 수행할 수도 있다. 이를 위해, 제어 장치(23)는 AP 검출부(237)를 추가로 포함할 수 있다.
사설 네트워크(15)에 속하는 단말(16)에는 네트워크 보호 장치(13)와 통신하기 위한 에이전트가 설치될 수 있다. 이 경우, AP 검출부(237)는 단말(16) 내에 설치된 에이전트와의 통신을 통해 AP(151)를 검출할 수 있다. AP 검출부(237)는 AP(151)의 검출을 지시하는 명령을 단말(16)에 설치된 에이전트에 전송할 수 있다. 이 명령을 수신한 단말(16)의 에이전트는, 대응하는 단말(16)과 네트워크 보호 장치(13) 사이의 통신 경로를 추적하는 트레이스라우트(traceroute) 명령을 사용하여 통신 경로 상에 위치하는 AP(151)의 개수를 검출할 수 있다. 단말(16)은 트레이스라우트 명령을 사용해 통신 경로 상에 하나의 AP(151)만 존재하는지, 아니면 복수의 AP가 계층적으로 존재하는지 확인할 수 있다.
단말(16)의 에이전트는 파악된 AP(151) 개수에 대한 정보를 네트워크 보호 장치(13)에 전송할 수 있다. AP 검출부(237)는 단말(16)의 에이전트로부터 수신된 정보에 기초해 타겟 네트워크(1)에 포함된 AP(151)의 개수를 확인하고, 이에 대한 정보를 화면 상에 표시하여 타겟 네트워크(1)의 관리자에게 통지할 수도 있다. 따라서, 관리자는 타겟 네트워크(1)에서 사설 네트워크(15)로 인한 보안 취약점을 쉽게 파악할 수 있다.
단말 정보 수집부(231)는 AP 검출부(237)에 의해 타겟 네트워크(1) 내에서 사설 네트워크(15)의 AP(151)가 검출되면, 해당 AP(151)에 연결된 단말(16)들의 정보를 수집하기 위한 명령을 단말(16)에 설치된 에이전트에 전송할 수 있다. 이 명령을 수신한 단말(16)의 에이전트는, ARP 패킷을 사용해 대응하는 AP(151)에 연결된 단말(16)들의 주소 정보(IP 주소 및 MAC 주소)를 수집할 수 있다. 그런 다음, 단말(16)의 에이전트는 대응하는 AP(151)에 연결된 단말(16)들의 주소 정보를 네트워크 보호 장치(13)에 전송할 수 있다. 이를 수신한 단말 정보 수집부(231)는 수신한 단말 정보를 저장 장치(21)에 저장할 수 있다.
플로우 제어부(232)는 사설 네트워크(15) 내 단말(16)로부터 수신한 단말 정보에 기초해, 사설 네트워크(15) 내 단말(16)들 중에서 비인가 단말을 검출할 수 있다. 플로우 제어부(232)는 비인가 단말이 검출되면, 사설 네트워크(15) 내 비인가 단말 뿐만 아니라 에이전트가 설치되지 않은 단말(16)의 통신 차단을 지시하는 명령을 단말(16)의 에이전트에 전송할 수 있다.
통신 차단 명령을 수신한 단말(16)의 에이전트는, AP(151) 내의 게이트웨이(152)와 차단 대상이 되는 단말(16)에 통신 차단을 위한 ARP 패킷을 전송할 수 있다. 단말(16)의 에이전트는 전술한 플로우 제어부(232)에서 비인가 단말의 통신 플로우를 차단한 방식과 유사하게, MAC 주소가 변조된 ARP 응답 패킷을 차단 대상 단말(16)에 전송함으로써, 해당 단말(16)의 통신 플로우를 차단할 수 있다. 단말(16)의 에이전트는, 네트워크 보호 장치(13)로부터 차단 해제 명령이 수신되기 전까지 통신 차단을 위한 ARP 패킷을 지속적으로 전송할 수 있다. 관리자는 통신이 차단된 단말(16)에 대해 통신을 허용하고자 하는 경우, 네트워크 보호 장치(13)를 제어하여 단말(16)의 에이전트에 통신 허용 명령을 전달할 수 있다.
단말(16)에 에이전트가 설치되지 않은 경우, AP 검출부(237)는 자체 검출 프로세스를 수행하여 사설 네트워크(15)의 AP(151)를 검출할 수도 있다.
제어 장치(23)는 전술한 기능들을 수행하기 위한 적어도 하나의 프로세서(processor)를 포함할 수 있다. 각 프로세서는 제어 장치(23)를 구성하는 구성 요소들인 단말 정보 수집부(231), 플로우 제어부(232), 정책 관리부(233), 정책 적용부(234), DNS 처리부(235), 패킷 처리부(236) 및 AP 검출부(237) 중 적어도 하나의 기능을 수행할 수 있다. 예를 들어, 패킷 처리부(236)와 DNS 처리부(235)는 서로 다른 프로세서에 의해 실행될 수 있다. 이와 같이, 제어 장치(23)가 복수의 프로세서를 포함하고 서로 연동하는 구성 요소들이 서로 다른 프로세서에 의해 실행되는 경우, 해당 구성 요소들은 IPC(Inter Processor Communication) 방식으로 서로 통신할 수 있다.
도 2에서는 단말 정보 수집부(231), 플로우 제어부(232), 정책 관리부(233), 정책 적용부(234), DNS 처리부(235), 패킷 처리부(236) 및 AP 검출부(237)가 하나의 네트워크 보호 장치(13) 내에 통합된 경우를 예로 들어 도시하나, 본 발명의 실시 예가 이로 인해 한정되는 것은 아니다. 다른 실시 예에서는, 이들 구성 요소들 중 적어도 일부가 네트워크 보호 장치(13) 외부의 별도 장치, 또는 클라우드 형태로 구현될 수도 있다. 예를 들어, 정책 관리부(233)는 네트워크 보호 장치(13) 외부의 별도 장치, 또는 클라우드 형태로 구현될 수 있다.
이하, 도 3 내지 도 7을 참조하여 일 실시 예에 따른 네트워크 보호 장치(13)의 네트워크 보호 방법에 대해 설명한다. 도 3 내지 도 6을 참조하여 설명하는 방법들은 도 1a, 도 1b 및 도 2를 참조하여 설명한 네트워크 보호 장치(13)에 의해 수행될 수 있다.
도 3은 일 실시 예에 따른 네트워크 보호 장치(13)의 통신 플로우 제어 방법을 개략적으로 도시한다.
도 3을 참조하면, 네트워크 보호 장치(13)의 제어 장치(23)는 네트워크 보호 장치(13)의 동작이 개시되면 타겟 네트워크(1)에 속하는 내부 단말(14)들의 단말 정보를 수집할 수 있다(S301).
S301 단계에서, 제어 장치(23)는 ARP 요청 패킷을 사용해 각 내부 단말(14)의 주소 정보(IP 주소 및 MAC 주소)를 수집할 수 있다. 제어 장치(23)는 타겟 네트워크(1)에 할당된 IP 주소 범위 내에서 목적지 주소 정보로 사용되는 IP 주소를 변경해가면서 ARP 요청 패킷을 생성할 수 있다. 제어 장치(23)는 목적지 주소 정보가 변경된 ARP 요청 패킷들을 순차적으로 내부 단말(14)들에 브로드캐스팅하고, 이에 대한 응답 패킷의 수신을 대기할 수 있다. 제어 장치(23)는 ARP 응답 패킷이 수신될 때마다, ARP 응답 패킷에 포함된 출발지 주소 정보로부터 대응하는 내부 단말(14)의 주소 정보를 획득하는 방식으로 타겟 네트워크(1)에 연결된 내부 단말(14)들의 주소 정보를 수집할 수 있다.
S301 단계에서, 제어 장치(23)는 ARP 패킷을 사용해 각 내부 단말(14)의 상태 정보를 수집할 수도 있다. 제어 장치(23)는 온라인 상태를 확인하고자 하는 내부 단말(14)의 IP 주소를 목적지 주소 정보로 포함하는 ARP 요청 패킷을 생성하고, 이를 타겟 네트워크(1) 내에서 브로드캐스팅할 수 있다. 그런 다음, 제어 장치(23)는 전송된 ARP 요청 패킷에 대한 ARP 응답 패킷이 수신되는지 여부에 따라 대응하는 내부 단말(14)의 상태 정보를 온라인 상태 또는 오프라인 상태로 결정할 수 있다.
제어 장치(23)는 S301 단계를 통해 수집된 내부 단말(14)들의 단말 정보와 ARP 패킷을 사용해 각 내부 단말(14)의 ARP 테이블을 변조함으로써, 각 내부 단말(14)의 통신 플로우가 네트워크 보호 장치(13)를 통과하여 전달되도록 각 내부 단말(14)의 통신 경로를 변경할 수 있다(S302).
S302 단계에서, 제어 장치(23)는 내부 단말(14)들 사이의 통신 경로를 변경하기 위해, 각 내부 단말(14)에 저장된 ARP 테이블에서 다른 내부 단말(14)들의 MAC 주소를 변조할 수 있다. 제어 장치(23)는 ARP 테이블 내에서 내부 단말(14)들의 MAC 주소를 변조하기 위해, MAC 주소 변조 대상인 내부 단말(14)의 IP 주소와 변조된 MAC 주소(네트워크 보호 장치(13)의 MAC 주소)를 출발지 주소 정보로 포함하는 변조된 ARP 응답 패킷들을 생성할 수 있다. 제어 장치(23)는 변조된 ARP 응답 패킷이 생성되면, 이를 ARP 테이블을 변조하고자 하는 내부 단말(14)에 유니캐스트 방식으로 전송하여 대응하는 내부 단말(14)의 ARP 테이블을 변조할 수 있다. 변조된 ARP 응답 패킷을 수신한 내부 단말(14)은, 수신된 ARP 응답 패킷으로부터 출발지의 IP 주소 및 변조된 MAC 주소를 획득하고, 이를 사용해 자신의 ARP 테이블에서 대응하는 내부 단말(14)의 MAC 주소를 변경할 수 있다.
S302 단계에서, 제어 장치(23)는 내부 단말(14)과 외부 네트워크 간의 통신 경로를 변경하기 위해, 각 내부 단말(14)에 저장된 ARP 테이블에서 게이트웨이의 MAC 주소를 변조할 수도 있다. 제어 장치(23)는 각 내부 단말(14)의 ARP 테이블에서 게이트웨이(또는 게이트웨이의 기능을 하는 스위치(12))의 MAC 주소를 네트워크 보호 장치(13)의 MAC 주소로 변조하기 위해, 게이트웨이의 IP 주소(스위치(12)의 IP 주소)와 네트워크 보호 장치(13)의 MAC 주소를 출발지 주소 정보로 포함하는 변조된 ARP 응답 패킷을 생성할 수 있다. 제어 장치(23)는 변조된 ARP 응답 패킷이 생성되면, 이를 ARP 테이블을 변조하고자 하는 내부 단말(14)에 유니캐스트 방식으로 전송하여 대응하는 내부 단말(14)의 ARP 테이블을 변조할 수 있다. 네트워크 보호 장치(13)로부터 게이트웨이의 MAC 주소가 변조된 ARP 응답 패킷을 수신한 내부 단말(14)은, ARP 응답 패킷으로부터 획득한 게이트웨이의 변조된 MAC 주소를 사용해 자신의 ARP 테이블에서 게이트웨이의 MAC 주소를 변경할 수 있다.
제어 장치(23)는 내부 단말(14)들로부터 수집된 단말 정보에 기초해 비인가 내부 단말을 검출할 수도 있다. 제어 장치(23)는 비인가 내부 단말이 검출되면(S303), 비인가 내부 단말의 ARP 테이블을 변조하여 비인가 내부 단말의 통신을 차단할 수 있다(S304).
S304 단계에서, 제어 장치(23)는 각 내부 단말(14)의 IP 주소 및 의미 없는 MAC 주소를 출발지 주소 정보로 포함하고 비인가 내부 단말의 IP 주소 및 MAC 주소를 목적지 주소 정보로 포함하도록 변조된 ARP 응답 패킷들을 생성할 수 있다. 제어 장치(23)는 이렇게 변조된 ARP 응답 패킷을 비인가 내부 단말에 유니캐스트 방식으로 전송할 수 있다. 이를 수신한 비인가 내부 단말은 자신의 ARP 테이블에서 대응하는 내부 단말(14)의 MAC 주소를 통신이 불가능한 의미 없는 MAC 주소로 변경할 수 있다. 따라서, 비인가 내부 단말은 타겟 네트워크(1)에 속하는 다른 내부 단말(14)의 올바른 MAC 주소를 확인할 수 없어 다른 내부 단말(14)과의 통신이 차단될 수 있다.
S304 단계에서, 제어 장치(23)는 게이트웨이의 IP 주소 및 의미 없는 MAC 주소를 출발지 주소 정보로 포함하고 비인가 내부 단말의 IP 주소 및 MAC 주소를 목적지 주소 정보로 포함하도록 변조된 ARP 응답 패킷을 생성할 수 있다. 제어 장치(23)는 이렇게 변조된 ARP 응답 패킷을 비인가 내부 단말에 유니캐스트 방식을 전송할 수 있다. 이를 수신한 비인가 내부 단말은, 자신의 ARP 테이블에서 게이트웨이의 MAC 주소를 통신이 불가능한 의미 없는 MAC 주소로 변경할 수 있다. 따라서, 비인가 내부 단말은 게이트웨이의 올바른 MAC 주소를 확인할 수 없어 게이트웨이를 통해 접속해야 하는 외부 네트워크와의 통신이 차단될 수 있다.
S302 단계를 통해 내부 단말(14)들의 통신 경로가 변경된 후, 제어 장치(23)는 타겟 네트워크(1) 내부에서 발생하거나 외부 네트워크에서 타겟 네트워크(1)로 유입된 통신 패킷들을 수신할 수 있다(S305).
제어 장치(23)는 수신된 통신 패킷이 내부 단말(14)들 사이의 통신 패킷이면(S306), 화이트 리스트를 사용해 대응하는 통신 플로우를 제어할 수 있다(S307).
도 4는 일 실시 예에 따른 네트워크 보호 장치(13)가 내부 단말(14)들 사이에서 발생한 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 4를 참조하면, 제어 장치(23)는 출발지 내부 단말(14)로부터 수신된 통신 플로우를 분석하여 플로우 정보를 획득할 수 있다(S401).
S401 단계에서, 플로우 정보는, 출발지 내부 단말(14)의 IP 주소 및 포트 번호, 목적지 내부 단말(14)의 IP 주소 및 포트 번호, 그리고 프로토콜 정보를 포함하는 5-튜플 정보일 수 있다.
제어 장치(23)는 S401 단계를 통해 획득한 플로우 정보에 기초해, 내부 단말(14)들 사이에서 발생한 통신 플로우가 화이트 리스트에서 등록된 통신 플로우인지 판단할 수 있다(S402).
제어 장치(23)는 수신된 통신 플로우가 화이트 리스트에 등록된 통신 플로우이면, 해당 통신 플로우를 목적지인 내부 단말(14)에 정상적으로 전달할 수 있다(S406). 제어 장치(23)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가로 저장할 수 있다(S408).
제어 장치(23)는 수신된 통신 플로우가 화이트 리스트에 미등록된 통신 플로우인 경우, 해당 통신 플로우를 목적지인 내부 단말(14)에 전달하지 않고 차단할 수 있다(S407). 패킷 처리부(236)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가로 저장할 수 있다(S408).
제어 장치(23)는 S406 단계로 진행하기 전에 보안 프로세스인 캡차 프로세스를 추가로 수행할 수도 있다. 제어 장치(23)는 수신된 통신 플로우가 화이트 리스트에 등록된 통신 플로우이더라도, 출발지인 내부 단말(14)에서 캡차 프로세스가 실행되도록 제어할 수 있다(S403). 그런 다음, 제어 장치(23)는 출발지인 내부 단말(14)로부터 캡차 결과 수신을 대기하고(S404), 캡차 결과 수신에 성공하면 이를 분석하여 인증 성공 여부를 판단할 수 있다(S405).
제어 장치(23)는 캡차 결과가 인증 성공에 해당하면, 해당 통신 플로우를 목적지인 내부 단말(14)에 정상적으로 전달할 수 있다(S406). 제어 장치(23)는 캡차 결과가 인증 실패에 해당하면, 화이트 리스트에 등록된 통신 플로우 일지라도 해당 통신 플로우를 목적지인 내부 단말(14)에 전달하지 않고 차단할 수 있다(S407).
다시, 도 3을 보면, 제어 장치(23)는 수신된 통신 패킷이 내부 단말(14)에서 외부 네트워크로 전송된 통신 패킷이면(S308), 블랙 리스트를 사용해 대응하는 통신 플로우를 제어할 수 있다(S309).
도 5는 일 실시 예에 따른 네트워크 보호 장치(13)가 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 5를 참조하면, 제어 장치(23)는 출발지 내부 단말(14)로부터 수신된 통신 플로우를 분석하여 플로우 정보를 획득할 수 있다(S501). S501 단계에서, 플로우 정보는, 출발지 내부 단말(14)의 IP 주소 및 포트 번호, 목적지 외부 단말의 IP 주소 및 포트 번호, 그리고 프로토콜 정보를 포함하는 5-튜플 정보일 수 있다.
제어 장치(23)는 수신된 통신 플로우가 블랙 리스트에 등록된 통신 플로우이면, 해당 통신 플로우를 차단할 수 있다(S505). 제어 장치(23)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가하여 저장할 수 있다(S506).
제어 장치(23)는 수신된 통신 플로우가 블랙 리스트에 미등록된 통신 플로우이면, DNS 캐시 테이블을 사용해 해당 통신 플로우가 DNS 쿼리를 통해 발생한 통신 플로우인지 판단할 수 있다(S503).
제어 장치(23)는 내부 단말(14)로부터 DNS 요청 패킷이 발생하면 DNS 요청 패킷을 외부 네트워크에 전달한 다음, 외부 네트워크에서 이에 대한 DNS 응답 패킷이 수신되기를 대기할 수 있다. 제어 장치(23)는 DNS 응답 패킷이 수신되면, 수신된 DNS 응답 패킷으로부터 DNS 정보(IP 주소 및 도메인 주소)를 검출하고, 검출한 DNS 정보를 DNS 캐시 테이블에 추가할 수 있다. 따라서, S503 단계에서, 제어 장치(23)는 통신 플로우에 대응하는 DNS 정보가 DNS 캐시 테이블에 등록된 상태인지를 확인하여 해당 통신 플로우가 DNS 쿼리 없이 IP 주소를 사용해 외부 네트워크에 직접 접속하는 통신 플로우인지 판단할 수 있다.
제어 장치(23)는 수신된 통신 플로우가 DNS 쿼리 없이 진행된 통신 플로우로 판단되면, 블랙 리스트에 미등록된 통신 플로우라도 해당 통신 플로우를 차단하고(S505), 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가하여 저장할 수 있다(S506).
제어 장치(23)는 수신된 통신 플로우가 DNS 쿼리를 수행하여 생성된 통신 플로우로 판단되면, 목적지인 외부 네트워크에 해당 플로우를 전달할 수 있다(S504). 제어 장치(23)는 또한 해당 통신 플로우의 플로우 정보를 플로우 캐시 테이블에 추가하여 저장할 수 있다(S506).
다시, 도 3을 보면, 제어 장치(23)는 수신된 통신 패킷이 외부 네트워크에서 내부 단말(14)에 전송된 통신 패킷이면(S310), DNS 캐시 테이블을 사용해 대응하는 통신 플로우를 제어할 수 있다(S311).
도 6은 일 실시 예에 따른 네트워크 보호 장치(13)가 외부 네트워크에서 내부 단말(14)로 향하는 통신 플로우를 제어하는 방법을 개략적으로 도시한다.
도 6을 참조하면, 제어 장치(23)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 전송된 통신 플로우를 분석하여 플로우 정보를 획득할 수 있다(S601). S601 단계에서, 플로우 정보는, 출발지 외부 단말의 IP 주소 및 포트 번호, 목적지 내부 단말(14)의 IP 주소 및 포트 번호, 그리고 프로토콜 정보를 포함하는 5-튜플 정보일 수 있다.
제어 장치(23)는 S601 단계를 통해 획득한 플로우 정보에 기초해, 해당 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 통신 플로우인지 판단할 수 있다(S602).
내부 단말(14)의 요청에 의해 발생한 통신 플로우의 경우, 대응하는 플로우 정보가 플로우 캐시 테이블에 이미 등록된 상태일 수 있다. 따라서, S602 단계에서, 제어 장치(23)는 플로우 캐시 테이블을 참조하여 외부 네트워크에서 발생한 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 통신 플로우인지 확인할 수 있다.
제어 장치(23)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 전송된 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 통신 플로우이면, 이를 목적지인 내부 단말(14)에 전달할 수 있다(S604). 제어 장치(23)는 또한 해당 통신 플로우로부터 획득한 플로우 정보를 플로우 캐시 테이블에 추가하여 저장할 수 있다(S606).
제어 장치(23)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 전송된 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 것이 아니면, 해당 통신 플로우가 예외 리스트에 등록되었는지 확인할 수 있다(S603). 제어 장치(23)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 전송된 통신 플로우가 예외 리스트에 등록된 상태이면, 해당 통신 플로우의 패킷들을 목적지인 내부 단말(14)에 전달할 수 있다(S604). 반면에, 제어 장치(23)는 외부 네트워크에서 타겟 네트워크(1)의 내부 단말(14)로 전송된 통신 플로우가 예외 리스트에 미등록된 경우, 해당 통신 플로우를 차단하고(S605), 대응하는 플로우 정보를 플로우 캐시 테이블에 저장할 수 있다(S606).
도 7은 일 실시 예에 따른 네트워크 보호 장치(13)가 사설 네트워크를 관리하는 방법을 개략적으로 도시한다.
도 7을 참조하면, 네트워크 보호 장치(13)의 제어 장치(23)는 AP(151)의 검출을 지시하는 명령을 사설 네트워크(15)에 속하는 단말(16)들 중 에이전트가 설치된 단말(16)에 전송할 수 있다(S701). 에이전트가 설치된 단말(16)의 단말 정보는, 에이전트의 설치 시 네트워크 보호 장치(13)에 등록될 수 있다. 따라서, 제어 장치(23)는 미리 등록된 단말 정보를 참조하여, 사설 네트워크(15)에 속하는 단말(16)의 에이전트에 명령들을 전달할 수 있다.
이 명령을 수신한 단말(16)의 에이전트는, 트레이스라우트 명령을 사용하여 대응하는 단말(16)과 네트워크 보호 장치(13) 사이의 통신 경로 상에 위치하는 AP(151)의 개수를 검출할 수 있다(S702). 또한, 단말(16)의 에이전트는 검출된 AP(151) 개수에 대한 정보가 포함된 AP 검출 결과를 네트워크 보호 장치(13)에 전송할 수 있다(S703).
네트워크 보호 장치(13)의 제어 장치(23)는 AP 검출 결과가 수신되면, 이를 화면 상에 표시하여(S704) 타겟 네트워크(1)의 관리자에게 통지할 수도 있다. 또한, 네트워크 보호 장치(13)의 제어 장치(23)는 검출된 AP(151)에 연결된 단말(16)들의 정보를 수집하기 위한 명령을 단말(16)에 설치된 에이전트에 전송할 수 있다(S705).
이 명령을 수신한 단말(16)의 에이전트는, ARP 패킷을 사용해 사설 네트워크(15) 내에서 AP(151)에 연결된 단말(16)들의 단말 정보(IP 주소 및 MAC 주소)를 수집할 수 있다(S706). 그런 다음, 단말(16)의 에이전트는 수집된 단말 정보를 네트워크 보호 장치(13)에 전달할 수 있다(S707).
단말 정보를 수신한 네트워크 보호 장치(13)의 제어 장치(23)는, 수신한 단말 정보에 기초해 사설 네트워크(15) 내 단말(16)들 중에서 비인가 단말을 검출할 수 있다(S708). 네트워크 보호 장치(13)의 제어 장치(23)는 사설 네트워크(15) 내에서 비인가 단말이 검출되면, 비인가 단말의 통신 차단을 지시하는 명령을 단말(16)의 에이전트에 전송할 수 있다(S709).
통신 차단 명령을 수신한 단말(16)의 에이전트는, ARP 패킷을 사용해 사설 네트워크(15)에 존재하는 비인가 단말의 통신을 차단할 수 있다(S710).
관리자는 통신이 차단된 비인가 단말(16)에 대해 통신을 허용하고자 하는 경우, 네트워크 보호 장치(13)에 통신 차단 해제를 요청할 수 있다. 네트워크 보호 장치(13)의 제어 장치(23)는 관리자로부터 비인가 단말의 통신 차단 해제가 요청되면(S711), 통신 차단 해제 명령을 단말(16)의 에이전트에 전달할 수 있다(S712).
단말(16)의 에이전트는 통신 차단 해제 명령이 수신되기 전까지 지속적으로 차단용 ARP 패킷을 전송하여 비인가 단말의 통신 차단 상태를 유지할 수 있다. 단말(16)의 에이전트는 통신 차단 해제 명령이 수신되면, 차단용 ARP 패킷의 전송을 중단하여 통신이 차단된 비인가 단말의 통신 차단을 해제할 수 있다(S713).
전술한 바에 따르면, 네트워크 보호 장치(13)는 내부 단말(14)들 간의 접속 권한을 화이트 리스트를 사용해 관리할 수 있다. 따라서, 주요 정보가 저장된 서버와 같이 악성 코드 감염 시 피해가 막대한 내부 단말(14)의 경우 화이트 리스트를 사용해 필수적인 접속 외 다른 내부 단말(14)의 접속을 엄격히 제한함으로써, 악성 코드 감염으로 인한 피해를 최소화할 수 있다. 네트워크 보호 장치(13)는 캡차 등의 추가적인 보안 프로세스를 사용함으로써, 내부 단말(14)의 백그라운드 프로세스에 의해 발생한 예외적인 플로우에 대해 보안 기능을 강화할 수 있다. 네트워크 보호 장치(13)는 타겟 네트워크(1)에 위치하는 내부 단말(14)들로부터 백그라운드에서 실행되는 프로세스들에 대한 프로세스 정보를 수집하고, 수집된 프로세스 정보를 화이트 리스트에 등록된 정보와 비교함으로써 내부 단말(14)의 맬웨어 감염을 검출할 수도 있다. 네트워크 보호 장치(13)는 맬웨어에 감염된 것으로 판단되는 내부 단말(14)에서 발생된 통신 플로우를 차단함으로써, 맬웨어 감염으로 인한 추가 피해를 방지할 수 있다.
네트워크 보호 장치(13)는 타겟 네트워크(1)의 내부 단말(14)에서 외부 네트워크로 향하는 통신 플로우가 발생하면, DNS 정보들이 저장된 DNS 캐시 테이블을 참조하여 해당 통신 플로우가 DNS 쿼리 없이 IP 주소를 사용해 외부 네트워크에 직접 접속하는 통신 플로우인지 판단할 수 있다. 그리고, 판단 결과 해당 통신 플로우가 DNS 쿼리 없이 진행된 통신 플로우로 판단되면 해당 플로우를 차단할 수 있다. 네트워크 보호 장치(13)는 외부 네트워크에서 내부 단말(14)을 향해 통신 플로우가 발생하면, 플로우 캐시 테이블을 참조하여 해당 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 것인지 판단할 수 있다. 네트워크 보호 장치(13)는 외부 네트워크에서 내부 단말(14)을 향해 발생된 통신 플로우가 내부 단말(14)의 요청에 의해 발생한 것이 아니면, 해당 통신 플로우를 차단할 수 있다. 이와 같이, 네트워크 보호 장치(13)는 내부 단말(14)과 외부 네트워크 사이에서 정상적인 절차에 의해 발생하지 않은 것으로 판단되는 통신 플로우를 검출하여 차단함으로써, 타겟 네트워크(1)에서 외부 네트워크로의 악성 코드 확산, 외부 네트워크에서 타겟 네트워크(1)로의 악성 코드 유입 등을 방지할 수 있다.
네트워크 보호 장치(13)는 관리자에 의해 유해한 것으로 판단된 웹 사이트 등을 블랙 리스트에 등록하여 관리하고, 타겟 네트워크(1)에 대한 접속이 필수적으로 허용되어야 하는 웹 사이트 등은 예외 리스트로 등록하여 관리하며, 블랙 리스트 또는 예외 리스트를 참조하여 타겟 네트워크(1)와 외부 네트워크 사이의 통신 플로우를 관리함으로써, 타겟 네트워크(1)에 대한 악의적이거나 유해한 접속을 추가로 차단할 수 있고, 불필요한 접속 차단이 발생하는 것을 방지할 수 있다.
네트워크 보호 장치(13)는 타겟 네트워크(1)의 내부에 연결된 AP(151)를 자동으로 검출하고, 관리자가 보안이 취약한 지점을 파악할 수 있도록 검출 결과를 관리자에게 전달할 수 있다. 또한, 네트워크 보호 장치(13)는 사설 네트워크(15)에 속한 단말(16)과 연동하여 사설 네트워크(15) 내에서 관리자에게 접속이 허가되지 않은 비인가 단말을 손쉽게 차단할 수 있다.
전술한 실시 예들은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽힐 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터는 단말기의 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
Claims (19)
- 통신 장치,
동일한 타겟 네트워크에 속하는 복수의 제1 단말 간의 접속 권한에 대해 정의하는 화이트 리스트(white list)를 저장하는 저장 장치, 그리고
상기 복수의 제1 단말들 사이에서 발생한 제1 통신 플로우가 상기 통신 장치에 의해 수신되도록, ARP(Address Resolution Protocol) 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하고, 상기 제1 통신 플로우가 수신되면 상기 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하도록 구성된 제어 장치를 포함하는 네트워크 보호 장치. - 제1항에 있어서,
상기 제어 장치는, 상기 ARP 테이블 내에서 MAC(Media Access Control) 주소를 변조하고자 하는 제1 단말의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하며, 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블을 변조하도록 구성된, 네트워크 보호 장치. - 제2항에 있어서,
상기 제어 장치는, ARP 요청 패킷을 사용해 상기 복수의 제1 단말 각각의 주소 정보를 수집하도록 구성되고,
상기 주소 정보는 IP 주소 및 MAC 주소를 포함하는, 네트워크 보호 장치. - 제3항에 있어서,
상기 제어 장치는, 상기 주소 정보에 기초해 상기 복수의 제1 단말 중 비인가 단말을 검출하고, ARP 패킷을 사용해 상기 비인가 단말의 ARP 테이블에 포함된 MAC 주소를 통신이 불가능한 MAC 주소로 변조하여 상기 비인가 단말의 통신을 차단하도록 구성된, 네트워크 보호 장치. - 제1항에 있어서,
상기 제어 장치는, 수신된 상기 제1 통신 플로우가 상기 화이트 리스트에 의해 접속이 허용된 통신 플로우이면, 상기 제1 통신 플로우의 출발지인 제1 단말에서 CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart) 프로세스를 실행시키고, 상기 출발지인 제1 단말에서의 CAPTCHA 인증 결과에 따라서 수신된 상기 제1 통신 플로우를 차단하거나 목적지로 전달하도록 구성된, 네트워크 보호 장치. - 제1항에 있어서,
상기 저장 장치는 상기 복수의 제1 단말과 상기 타겟 네트워크의 외부 네트워크 간의 접속 권한에 대해 정의하는 블랙 리스트(black list)를 추가로 저장하며,
상기 제어 장치는, 상기 복수의 제1 단말 중 어느 하나로부터 상기 외부 네트워크로 향하는 제2 통신 플로우가 상기 통신 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하고, 상기 제2 통신 플로우가 수신되면 상기 블랙 리스트에 기초해 상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하도록 구성된, 네트워크 보호 장치. - 제6항에 있어서,
상기 제어 장치는, 상기 복수의 제1 단말과 상기 외부 네트워크 사이에 연결된 게이트웨이의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하며, 상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블에서 상기 게이트웨이의 MAC 주소를 변조하도록 구성된, 네트워크 보호 장치. - 제6항에 있어서,
상기 제어 장치는, 상기 외부 네트워크로부터 DNS(Domain Name System) 응답 패킷이 수신될 때마다 수신된 상기 DNS 응답 패킷의 DNS 정보를 DNS 테이블에 저장하며, 상기 DNS 테이블을 참조하여 상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우로 판단되면, 상기 제2 통신 플로우를 목적지로 전달하지 않고 차단하도록 구성되며,
상기 DNS 정보는, 상기 DNS 응답 패킷에 포함된 IP 주소 및 도메인 주소를 포함하는, 네트워크 보호 장치. - 제1항에 있어서,
상기 제어 장치는, 상기 복수의 제1 단말이 출발지이거나 도착지인 통신 플로우가 발생할 때마다 발생된 통신 플로우의 플로우 정보를 플로우 테이블에 저장하며, 상기 타겟 네트워크의 외부 네트워크에서 상기 복수의 제1 단말 중 어느 하나로 향하는 제3 통신 플로우가 수신되면, 상기 플로우 테이블을 참조하여 상기 제3 통신 플로우가 상기 복수의 제1 단말 중 어느 하나의 요청에 의해 발생된 통신 플로우로 판단되면, 상기 제3 통신 플로우를 목적지인 제1 단말로 전달하도록 구성되고,
상기 플로우 정보는, 대응하는 통신 플로우의 출발지 및 목적지의 주소 정보, 그리고 프로토콜 정보를 포함하는, 네트워크 보호 장치. - 제9항에 있어서,
상기 제어 장치는, 에이전트가 설치된 제2 단말에 상기 네트워크 보호 장치와 상기 제2 단말 사이의 통신 경로에 위치하는 AP(Access Point)의 검출을 지시하고, 상기 제2 단말에 의해 상기 통신 경로에서 상기 AP가 검출되면, 상기 AP에 연결된 적어도 하나의 제3 단말의 단말 정보 수집을 상기 제2 단말에 지시하며, 상기 제2 단말이 ARP 패킷을 사용해 수집한 상기 적어도 하나의 제3 단말의 주소 정보를 상기 제2 단말로부터 수신하고, 상기 적어도 하나의 제3 단말의 주소 정보에 기초해 상기 적어도 하나의 제3 단말 중에서 비인가 단말을 검출하며, 상기 비인가 단말이 검출되면, ARP 패킷을 사용해 상기 비인가 단말의 통신을 차단하도록 상기 제2 단말에 지시하도록 구성된, 네트워크 보호 장치. - 네트워크 보호 장치의 네트워크 보호 방법으로서,
동일한 타겟 네트워크에 속하는 복수의 제1 단말들 사이에서 발생한 제1 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 복수의 제1 단말 각각의 ARP 테이블을 변조하는 단계, 그리고
상기 제1 통신 플로우가 수신되면, 상기 복수의 제1 단말 간의 접속 권한에 대해 정의하는 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계를 포함하는 네트워크 보호 방법. - 제11항에 있어서,
상기 변조하는 단계는,
상기 ARP 테이블 내에서 MAC 주소를 변조하고자 하는 제1 단말의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하는 단계, 그리고
상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블을 변조하는 단계를 포함하는, 네트워크 보호 방법. - 제12항에 있어서,
ARP 요청 패킷을 사용해 상기 복수의 제1 단말 각각의 주소 정보를 수집하는 단계를 더 포함하며,
상기 주소 정보는, 대응하는 제1 단말의 IP 주소 및 MAC 주소를 포함하는, 네트워크 보호 방법. - 제13항에 있어서,
상기 주소 정보에 기초해 상기 복수의 제1 단말 중 비인가 단말을 검출하는 단계, 그리고
ARP 패킷을 사용해 상기 비인가 단말의 ARP 테이블에 포함된 MAC 주소를 통신이 불가능한 MAC 주소로 변조하여 상기 비인가 단말의 통신을 차단하는 단계를 더 포함하는 네트워크 보호 방법. - 제11항에 있어서,
상기 제1 통신 플로우의 출발지인 제1 단말에서 CAPTCHA 프로세스를 실행시키는 단계, 그리고
상기 출발지인 제1 단말로부터 CAPTCHA 인증 결과를 수신하는 단계를 더 포함하며,
상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계는, 상기 CAPTCHA 인증 결과 및 상기 화이트 리스트에 기초해 상기 제1 통신 플로우를 차단하거나 목적지로 전달하는 단계를 포함하는, 네트워크 보호 방법. - 제11항에 있어서,
상기 복수의 제1 단말 중 어느 하나로부터 상기 타겟 네트워크의 외부 네트워크로 향하는 제2 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록, ARP 패킷을 사용해 상기 ARP 테이블을 변조하는 단계, 그리고
상기 제2 통신 플로우가 수신되면, 상기 복수의 제1 단말과 상기 외부 네트워크 간의 접속 권한에 대해 정의하는 블랙 리스트를 참조하여, 상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하는 단계를 더 포함하는 네트워크 보호 방법. - 제16항에 있어서,
상기 제2 통신 플로우가 상기 네트워크 보호 장치에 의해 수신되도록 상기 ARP 테이블을 변조하는 단계는,
상기 복수의 제1 단말과 상기 외부 네트워크 사이에 연결된 게이트웨이의 IP 주소 및 상기 네트워크 보호 장치의 MAC 주소를 출발지 주소 정보로 포함하도록 ARP 응답 패킷을 생성하는 단계, 그리고
상기 ARP 응답 패킷을 상기 복수의 제1 단말 각각에 전송하여 상기 ARP 테이블에서 상기 게이트웨이의 MAC 주소를 변조하는 단계를 포함하는, 네트워크 보호 방법. - 제16항에 있어서,
상기 외부 네트워크로부터 DNS 응답 패킷이 수신될 때마다 수신된 상기 DNS 응답 패킷의 DNS 정보를 DNS 테이블에 저장하는 단계를 더 포함하며,
상기 제2 통신 플로우를 차단하거나 상기 외부 네트워크에 전달하는 단계는,
상기 DNS 테이블을 참조하여 상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우인지 판단하는 단계, 그리고
상기 제2 통신 플로우가 DNS 쿼리 없이 발생된 통신 플로우이면, 상기 제2 통신 플로우를 목적지로 전달하지 않고 차단하는 단계를 포함하고,
상기 DNS 정보는, 상기 DNS 응답 패킷에 포함된 IP 주소 및 도메인 주소를 포함하는, 네트워크 보호 방법. - 제11항에 있어서,
상기 복수의 제1 단말이 출발지이거나 도착지인 통신 플로우가 발생할 때마다 발생된 통신 플로우의 플로우 정보를 플로우 테이블에 저장하는 단계,
상기 타겟 네트워크의 외부 네트워크에서 상기 복수의 제1 단말 중 어느 하나로 향하는 제3 통신 플로우를 수신하는 단계, 그리고
상기 플로우 테이블을 참조하여 상기 제3 통신 플로우가 상기 복수의 제1 단말 중 어느 하나의 요청에 의해 발생된 통신 플로우로 판단되면, 상기 제3 통신 플로우를 목적지인 제1 단말로 전달하는 단계를 더 포함하며,
상기 플로우 정보는, 대응하는 통신 플로우의 출발지 및 목적지의 주소 정보, 그리고 프로토콜 정보를 포함하는, 네트워크 보호 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230092623A KR102628441B1 (ko) | 2023-07-17 | 2023-07-17 | 네트워크 보호 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230092623A KR102628441B1 (ko) | 2023-07-17 | 2023-07-17 | 네트워크 보호 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102628441B1 true KR102628441B1 (ko) | 2024-01-23 |
Family
ID=89713575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230092623A KR102628441B1 (ko) | 2023-07-17 | 2023-07-17 | 네트워크 보호 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102628441B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005079706A (ja) * | 2003-08-28 | 2005-03-24 | Nec Corp | ネットワークへの不正接続防止システム、及びネットワークへの不正接続防止装置 |
KR20220091228A (ko) * | 2020-12-23 | 2022-06-30 | 주식회사 디비아이엔씨 | 화이트리스트 기반의 ip 접근통제 시스템 및 방법 |
KR102510093B1 (ko) * | 2022-08-03 | 2023-03-14 | 스콥정보통신 주식회사 | 네트워크에서의 접근 통제 시스템 및 그 방법 |
-
2023
- 2023-07-17 KR KR1020230092623A patent/KR102628441B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005079706A (ja) * | 2003-08-28 | 2005-03-24 | Nec Corp | ネットワークへの不正接続防止システム、及びネットワークへの不正接続防止装置 |
KR20220091228A (ko) * | 2020-12-23 | 2022-06-30 | 주식회사 디비아이엔씨 | 화이트리스트 기반의 ip 접근통제 시스템 및 방법 |
KR102510093B1 (ko) * | 2022-08-03 | 2023-03-14 | 스콥정보통신 주식회사 | 네트워크에서의 접근 통제 시스템 및 그 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9118716B2 (en) | Computer system, controller and network monitoring method | |
JP4327630B2 (ja) | インターネット・プロトコルを用いたストレージエリア・ネットワーク・システム、セキュリティ・システム、セキュリティ管理プログラム、ストレージ装置 | |
US10554475B2 (en) | Sandbox based internet isolation in an untrusted network | |
US8683059B2 (en) | Method, apparatus, and computer program product for enhancing computer network security | |
KR101270041B1 (ko) | Arp 스푸핑 공격 탐지 시스템 및 방법 | |
US7725932B2 (en) | Restricting communication service | |
US7100201B2 (en) | Undetectable firewall | |
US7873038B2 (en) | Packet processing | |
US7792990B2 (en) | Remote client remediation | |
US11539695B2 (en) | Secure controlled access to protected resources | |
US20190097972A1 (en) | Document isolation | |
US20060224897A1 (en) | Access control service and control server | |
EP1742438A1 (en) | Network device for secure packet dispatching via port isolation | |
US11159533B2 (en) | Relay apparatus | |
JP3790486B2 (ja) | パケット中継装置、パケット中継システムおよびオトリ誘導システム | |
KR101065800B1 (ko) | 네트워크 관리 장치 및 그 방법과 이를 위한 사용자 단말기및 그의 기록 매체 | |
KR102628441B1 (ko) | 네트워크 보호 장치 및 그 방법 | |
KR101977612B1 (ko) | 네트워크관리장치 및 방법 | |
CN115065548A (zh) | 一种增强型网络安全接入区数据管控系统及方法 | |
US11916957B1 (en) | System and method for utilizing DHCP relay to police DHCP address assignment in ransomware protected network | |
KR102704755B1 (ko) | 가상 호스트를 이용하여 네트워크에 대한 사이버 위협을 탐지하는 사이버 보안 서비스를 제공하는 방법 및 이를 이용한 사이버 보안 서비스 제공 서버 | |
CN115514501B (zh) | 一种封堵网络攻击的方法和装置 | |
KR102114484B1 (ko) | 소프트웨어 정의 네트워크에서 네트워크 접근을 제어하는 방법, 장치 및 컴퓨터 프로그램 | |
CN116915503B (zh) | 一种违规外联检测方法及装置、存储介质及电子设备 | |
JP2004104739A (ja) | ウィルス及びハッカー侵入防止機構のためのシステム、侵入防止方法および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |