KR20230122510A - 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 - Google Patents
보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 Download PDFInfo
- Publication number
- KR20230122510A KR20230122510A KR1020220081815A KR20220081815A KR20230122510A KR 20230122510 A KR20230122510 A KR 20230122510A KR 1020220081815 A KR1020220081815 A KR 1020220081815A KR 20220081815 A KR20220081815 A KR 20220081815A KR 20230122510 A KR20230122510 A KR 20230122510A
- Authority
- KR
- South Korea
- Prior art keywords
- data packet
- server
- protocol
- programmable logic
- type
- Prior art date
Links
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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템이 제공된다. 상기 방법은 : 프로그램 가능한 논리 장치를 서버에 연결하는 단계; 상기 서버에 의해 제1 데이터 패킷을 수신하는 단계; 상기 서버에 의해, 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하는 단계; 상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하는 단계; 상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하는 단계; 상기 서버에 의해, 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하는 단계; 및 상기 프로그램 가능한 논리 장치에 의해 상기 필터링 규칙에 따라 상기 보안 데이터 전송을 수행하는 단계를 포함한다.
Description
관련 출원에 대한 상호 참조
본 출원은 2022년 2월 14일자에 출원된 미국 가출원 제63/309,646호의 우선권 이익을 주장한다. 상기 특허 출원의 전체는 본 명세서에 참고로 포함되어 본 명세서의 일부를 이룬다.
기술분야
본 개시서는 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템에 관한 것이다.
보안 데이터 전송이 필요한 시스템에서, 잠재적으로 안전하지 않은 데이터 또는 악의적인 공격이 최종 장치에 침투하는 것을 차단하기 위해 필터링 장치가 배치될 수 있다. 이를 위해서, 필터링 장치는 특정 필터링 규칙들을 사용하여 데이터 패킷이 최종 장치로 포워딩되기에 안전한지 여부를 결정해야 한다. 필터링 규칙은 최종 장치에 포워딩되어야 하는 데이터에 대한 지식을 이해하는 엔지니어에 의해 수동으로 생성될 수 있지만, 경우에 따라, 사용자 정의 필터링 규칙들이 필요할 수 있다.
본 개시서는 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템에 관한 것이다. 본 개시서는 보안 데이터 전송에 대한 필터링 규칙을 자동으로 생성할 수 있다.
본 개시서는 프로그램 가능한 논리 장치 및 서버를 포함하는, 보안 데이터 전송을 위한 시스템을 제공한다. 상기 서버는 상기 프로그램 가능한 논리 장치에 연결되며, 상기 서버는 : 제1 데이터 패킷을 수신하도록 구성되고; 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하도록 구성되고; 상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하도록 구성되고; 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하도록 구성되고; 그리고 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하도록 구성된다. 상기 프로그램 가능한 논리 장치는 상기 필터링 규칙에 따라 보안 데이터 전송을 수행한다.
본 개시서의 일 실시예에서, 상기 서버는 다음 단계들에 의해 필터링 규칙을 생성한다 : 상기 데이터 패킷 정보 세트로부터, 상기 프로토콜 유형 및 상기 명령 유형에 대응하는 복수의 데이터 패킷들을 획득하는 단계; 상기 복수의 데이터 패킷들로부터, 상기 복수의 데이터 패킷들에 각각 대응하는 복수의 피처 값들을 획득하는 단계로서, 상기 복수의 피처 값들은 적어도 하나의 제1 피처 값 적어도 하나의 제2 피처 값을 포함하는, 단계; 상기 적어도 하나의 제1 피처 값의 제1 수가 상기 적어도 하나의 제2 피처 값의 제2 수보다 더 큰 것에 응답하여, 상기 적어도 하나의 제1 피처 값 및 적어도 하나의 제2 피처 값 중에서 상기 적어도 하나의 제1 피처 값을 선택된 피처 값으로 선택하는 단계; 및 상기 선택된 피처 값에 따라, 상기 프로토콜 유형과 상기 명령 유형에 대응하는 필터링 규칙을 생성하는 단계.
본 개시서의 일 실시예에서, 상기 선택된 피처 값은 인터넷 프로토콜(IP) 주소, MAC(Media Access Control) 주소 및 TCP(Transmission Control Protocol) 포트 번호 중 적어도 하나를 포함한다.
본 개시서의 일 실시예에서, 상기 필터링 규칙은 : 상기 제2 데이터 패킷의 피처 값이 상기 선택된 피처 값과 일치하지 않는 것에 응답하여 상기 프로토콜 유형과 상기 명령 유형에 대응하는 제2 데이터 패킷을 폐기하는 것을 포함한다.
본 개시서의 일 실시예에서, 상기 시스템은 제1 게이트웨이를 더 포함한다. 상기 제1 게이트웨이는 상기 프로그램 가능한 논리 장치에 연결되며, 상기 제1 게이트웨이는 상기 제2 데이터 패킷을 수신하며 그리고 상기 제2 데이터 패킷을 상기 프로그램 가능한 논리 장치에 포워딩한다.
본 개시서의 일 실시예에서, 상기 제1 게이트웨이는 상기 서버에 연결되며, 상기 제1 게이트웨이는 상기 제1 데이터 패킷을 수신하며, 상기 제1 데이터 패킷을 상기 서버에 미러링한다.
본 개시서의 일 실시예에서, 상기 제1 게이트웨이는 상기 제1 데이터 패킷과 상기 제2 데이터 패킷을 제1 통신 프로토콜에서 제2 통신 프로토콜로 변환한다.
본 개시서의 일 실시예에서, 상기 시스템은 제2 게이트웨이를 더 포함한다. 상기 제2 게이트웨이는 상기 프로그램 가능한 논리 장치와 연결되며, 상기 제2 게이트웨이는 보안 데이터 전송을 통해 상기 프로그램 가능한 논리 장치로부터 데이터 패킷을 수신하고 제2 통신 프로토콜로부터 제1 통신 프로토콜로 데이터 패킷을 변환한다.
본 개시서의 일 실시예에서, 상기 시스템은 진단 장치를 더 포함한다. 상기 진단 장치는 상기 프로그램 가능한 논리 장치에 연결되며, 상기 진단 장치는 상기 프로그램 가능한 논리 장치에 의해 폐기된 제2 데이터 패킷을 수신하며, 그리고 상기 제2 데이터 패킷에 따라 리포트를 생성한다.
본 개시서의 일 실시예에서, 상기 기계 학습 모델은 컨볼루션 신경망(convolutional neural network)을 포함한다.
본 개시서의 일 실시예에서, 상기 서버는 다음의 단계들에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증한다 : 상기 제1 데이터 패킷의 제1 필드로부터 제1 값을 획득하는 단계로서, 상기 제1 필드는 상기 프로토콜 유형과 관련되는, 단계; 및 상기 제1 데이터 패킷의 데이터 길이 및 상기 제1 값 모두가 상기 프로토콜 유형과 일치하는 것에 응답하여 상기 프로토콜 유형이 올바르다고 판단하는 단계.
본 개시서의 일 실시예에서, 상기 서버는 다음의 추가 단계들에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증한다 : 상기 제1 데이터 패킷의 제2 필드로부터 제2 값을 획득하는 단계로서, 상기 제2 필드는 상기 프로토콜 유형에 대응하는 상기 명령 유형과 관련되는, 단계; 및 상기 제2 값이 상기 명령 유형과 일치하는 것에 응답하여 상기 명령 유형이 올바르다고 판단하는 단계.
본 개시서의 일 실시예에서, 상기 서버는 상기 데이터 패킷 정보 세트의 데이터 패킷 수가 임계값보다 큰 것에 응답하여 상기 필터링 규칙을 생성한다.
본 개시서는 보안 데이터 전송을 위한 방법을 제공하는데, 상기 방법은 : 프로그램 가능한 논리 장치를 서버에 연결하는 단계; 상기 서버에 의해 제1 데이터 패킷을 수신하는 단계; 상기 서버에 의해, 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하는 단계; 상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하는 단계; 상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하는 단계; 상기 서버에 의해, 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하는 단계; 및 상기 프로그램 가능한 논리 장치에 의해 상기 필터링 규칙에 따라 상기 보안 데이터 전송을 수행하는 단계를 포함한다.
전술한 내용을 고려하면, 본 개시서는 데이터 패킷이 데이터 패킷의 프로토콜 유형 및 명령 유형에 따라 필터링 규칙들을 생성하기 위해 사용될 수 있는지 여부를 검증할 수 있다. 본 개시서는 검증을 통과하는 데이터 패킷에 따라 필터링 규칙들을 생성하고 보안 데이터 전송을 수행하기 위해 PLD에 필터링 규칙들을 배포할 수 있다.
전술한 내용을 더 이해하기 쉽게 만들기 위해, 도면을 수반하는 몇몇 실시예들은 다음과 같이 상세히 설명된다.
첨부 도면들은 본 개시서의 추가적인 이해를 제공하기 위해 포함되며, 그리고 본 명세서에 통합되고 본 명세서의 일부를 구성한다. 도면들은 본 개시서의 예시적인 실시예들을 도시하고, 설명과 함께, 본 개시서의 원리를 설명하는 역할을 한다.
도 1은 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 시스템의 개략도를 도시한다.
도 2는 본 개시서의 일 실시예에 따른 서버의 개략도를 도시한다.
도 3은 본 개시서의 실시예에 따라 필터링 규칙을 생성하기 위한 데이터 패킷을 스크리닝하는 흐름도를 도시한다.
도 4는 본 개시서의 일 실시예에 따라 필터링 규칙을 생성하는 흐름도를 도시한다.
도 5는 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 방법의 흐름도를 도시한다.
도 1은 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 시스템의 개략도를 도시한다.
도 2는 본 개시서의 일 실시예에 따른 서버의 개략도를 도시한다.
도 3은 본 개시서의 실시예에 따라 필터링 규칙을 생성하기 위한 데이터 패킷을 스크리닝하는 흐름도를 도시한다.
도 4는 본 개시서의 일 실시예에 따라 필터링 규칙을 생성하는 흐름도를 도시한다.
도 5는 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 방법의 흐름도를 도시한다.
본 개시서를 보다 이해하기 쉽게 하기 위해, 몇 가지 실시예들이 아래에서 본 개시서의 구현 예들로서 설명된다. 또한, 동일한 참조 번호들을 갖는 요소들/구성 요소들/단계들은 적절한 경우 도면들 및 실시예들에서 동일하거나 유사한 부분들을 나타내는데 사용된다.
도 1은 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 시스템(10)의 개략도를 도시한다. 시스템(10)은 서버(100), 프로그램 가능한 논리 장치(programmable logic device; PLD)(200), 게이트웨이(또는 스위치)(300) 및 진단 장치(400)를 포함할 수 있다. 일 실시예에서, 시스템(10)은 게이트웨이(500)를 추가로 포 할 수 있다. PLD(200)는 서버(100), 게이트웨이(300), 진단 장치(400) 및 게이트웨이(500)에 통신 가능하게 연결될 수 있다. 시스템(10)은 잠재적으로 안전하지 않은 데이터 또는 악의적인 공격이 전자 장치에 침투하는 것을 차단할 수 있다.
도 2는 본 개시서의 일 실시예에 따른 서버(100)의 개략도를 도시한다. 서버(100)는 프로세서(110), 저장 매체(120) 및 트랜시버(130)를 포함할 수 있다.
프로세서(110)는 중앙 처리 장치(CPU), 마이크로 제어 장치(MCU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 프로그램 가능한 논리 컨트롤러(PLC), 특정 용도 지향 집적 회로(ASIC), 그래픽 처리 장치(GPU), 이미지 신호 프로세서(ISP), 이미지 처리 장치(IPU), 산술 논리 장치(ALU), 복합 프로그램 가능한 논리 장치(CPLD), FPGA 또는 기타 유사한 구성 요소들 또는 전술한 구성 요소들의 조합일 수 있다. 프로세서(110)는 저장 매체 및 트랜시버에 연결될 수 있으며, 프로세서는 저장 매체(120)에 저장된 복수의 모듈들 또는 프로그램들에 액세스하고 실행할 수 있다.
저장 매체(120)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 플래시 메모리, 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 기타 유사한 구성 요소들 또는 전술한 구성 요소들의 조합일 수 있다. 저장 매체(120)는 프로세서(110)가 액세스할 수 있는 복수의 모듈들 또는 프로그램들을 저장할 수 있으므로, 프로세서(110)는 서버(100)의 다양한 기능들을 수행할 수 있다. 저장 매체(120)는 기계 학습 모델(121) 및 프로토콜 유형들 및 명령 유형들과 관련된 프로토콜 라이브러리(122)를 저장할 수 있다.
트랜시버(130)는 유선 또는 무선 방식으로 신호들을 전송하고 수신하도록 구성될 수 있다. 트랜스시버(130)는 또한 저잡음 증폭(low noise amplifying), 임피던스 매칭, 주파수 혼합, 업다운 주파수 변환, 필터링, 증폭 및 유사한 동작들과 같은 동작들을 수행할 수 있다.
게이트웨이(300)(또는 게이트웨이(500))는 게이트웨이(300)(또는 게이트웨이(500))의 기능을 수행하는데 필요한 구성 요소들, 예를 들어 처리 장치(예를 들어, 프로세서), 통신 장치(예를 들어, 트랜시버 또는 통신 칩) 및 저장 매체(예를 들어, RAM, ROM, HDD 또는 SSD)을 포함할 수 있다. 일 실시예에서, 게이트웨이(300) 또는 게이트웨이(500)는 수신된 데이터 패킷을 포워딩하기 전에 수신된 데이터 패킷을 통신 프로토콜에서 다른 통신 프로토콜로 변환할 수 있다. 예를 들어, 게이트웨이(300) 또는 게이트웨이(500)는 직렬 기반 전송 프로토콜에서 이더넷 기반 프로토콜로 데이터 패킷(예를 들어, 외부 직렬 장치로부터 수신된 데이터 패킷)을 변환할 수 있다. 다른 예를 들어, 게이트웨이(300) 또는 게이트웨이(500)는 데이터 패킷(예를 들어, PLD(200)로부터 수신된 데이터 패킷)을 이더넷 기반 프로토콜에서 직렬 기반 전송 프로토콜로 변환할 수 있다. 일 실시예에서, 게이트웨이(300)(또는 게이트웨이(500))는 외부 전자 장치(예를 들어, 최종 장치)로부터 데이터 패킷을 수신할 수 있고, 그리고 게이트웨이(300)(또는 게이트웨이(500))가 데이터 패킷을 PLD(200) 또는 서버(100)로 포워딩하기 전에 상기 수신된 데이터 패킷을 통신 프로토콜에서 다른 통신 프로토콜(예를 들어, PLD(200) 또는 서버(100)에 의해 지원되는 프로토콜)로 변환할 수 있다. 일 실시예에서, 게이트웨이(300)(또는 게이트웨이(500))는 PLD(200)로부터 데이터 패킷을 수신할 수 있으며, 그리고 게이트웨이(300)(또는 게이트웨이(500))가 데이터 패킷을 외부 전자 장치(예를 들어, 최종 장치)로 포워딩하기 전에 상기 수신된 데이터 패킷을 통신 프로토콜에서 다른 통신 프로토콜(예를 들어, 외부 전자 장치에 의해 지원되는 프로토콜)로 변환할 수 있다.
도 1을 참조하면, 게이트웨이(300)(또는 게이트웨이(500))는 데이터 패킷들을 수신할 수 있고, 그리고 수신된 데이터 패킷을 PLD(200)로 포워딩할 수 있다. 일 실시예에서, 게이트웨이(300)(또는 게이트웨이(500))는 수신된 데이터 패킷들을 PLD(200)로 포워딩하기 전에 상기 수신된 데이터 패킷을 통신 프로토콜에서 PLD(200)에 의해 지원되는 다른 통신 프로토콜(예를 들어, 이더넷 또는 모드버스)로 변환할 수 있다. 시스템(10)의 작동 모드들에는 학습 모드 및 실행 모드가 포함될 수 있다. 시스템(10)이 학습 모드에 있을 때, 게이트웨이(300)는 PLD(200)로부터 또는 PLD(200)로 포워딩된 데이터 패킷을 서버(100)에 미러링할 수 있다. 일 실시예에서, 게이트웨이(300)는, 수신된 데이터 패킷들을 서버(100)에 미러링하기 전에, 상기 수신된 데이터 패킷들을 통신 프로토콜에서 서버(100)에 의해 지원되는 다른 통신 프로토콜로 변환할 수 있다. 시스템(10)이 실행 모드에 있을 때, 게이트웨이(300)는 데이터 패킷을 서버(100)에 미러링하는 것을 중단하거나 중단하지 않을 수 있다. 시스템(10)의 작동 모드는 주기적으로 변경될 수 있거나 서버(100)에 의해 결정될 수 있다.
서버(100)는 PLD(200)에 새 필터링 규칙을 배포하거나 PLD(200)에 저장된 필터링 규칙을 업데이트할 수 있다. PLD(200)에 저장된 필터링 규칙이 없거나 PLD(200)에 저장된 필터링 규칙들이 아직 업데이트되지 않은 경우, 서버(100)는 시스템(10)이 학습 모드에 있다고 판단할 수 있다. 반면, 서버(100)가 PLD(200)에 새 필터링 규칙을 배포하거나 PLD(200)에 저장된 필터링 규칙을 업데이트한 후, 서버(100)는 시스템(10)이 실행 모드에 있다고 판단할 수 있다. 시스템(10)이 학습 모드에 있을 때, PLD(200)는 수신된 데이터 패킷(예를 들어, 게이트웨이(300) 또는 게이트웨이(500)로부터 수신된 데이터 패킷)을 바이패스할 수 있으며, 또는 이전 필터링 규칙들에 따라 상기 수신된 데이터 패킷을 필터링할 수 있다. 시스템(10)이 실행 모드에 있을 때, PLD(200)는 새로운 필터링 규칙 또는 업데이트된 필터링 규칙에 의해 상기 수신된 데이터 패킷(예를 들어, 게이트웨이(300) 또는 게이트웨이(500)로부터 수신된 데이터 패킷)을 필터링할 수 있다. 필터링 규칙과 일치하는 데이터 패킷은 PLD(200)에 의해 포워딩될 수 있으며, 그리고 필터링 규칙과 일치하지 않는 데이터 패킷은 PLD(200)에 의해 폐기될 수 있다. 일 실시예에서, PLD(200)로부터 출력된 데이터 패킷은 MACsec(Media Access Control Security) 프로토콜을 기반으로 (게이트웨이(300), 게이트웨이(500) 또는 회로에 의해) 인코딩될 수 있다.
진단 장치(400)는 보안 운영 센터(security operation center; SOC)이거나 SOC에 통신 가능하게 연결된 컴퓨팅 장치일 수 있다. 진단 장치(400)는 PLD(200)에 의해 폐기된 데이터 패킷을 수신할 수 있고, 그리고 수신된 데이터 패킷에 따라 리포트를 생성할 수 있다. 진단 장치(400)는 사용자의 단말 장치에 상기 리포트를 출력하여, 사용자에게 비보안 데이터 전송 또는 악성 공격이 발생하고 있음을 알릴 수 있다. 일 실시예에서, 진단 장치(400) 및 서버(100)는 동일한 하드웨어 장비에 의해 구현될 수 있다.
일 실시예에서, 시스템(10)이 실행 모드에 있을 때, 게이트웨이(300)는 수신된 데이터 패킷을 서버(100)에 미러링할 수 있으며, 서버(100)는 서버(100)에 의해 생성된 필터링 규칙들에 따라 상기 미러링된 데이터 패킷을 분석하거나 필터링할 수 있다. 미러링된 데이터 패킷이 필터링 규칙들과 일치하지 않으면, 서버(100)는 사용자에게 비보안 데이터 전송 또는 악의적인 공격이 발생하고 있음을 알리기 위해 사용자의 단말 장치에 리포트를 출력할 수 있다. 일 실시예에서, 서버(100)는 서버(100)에 의해 수신된 미러링된 데이터 패킷이 필터링 규칙들과 일치하지 않는 경우 PLD(200)에 대한 필터링 규칙을 업데이트하기로 결정할 수 있다.
도 3은 본 개시서의 실시예에 따라 필터링 규칙을 생성하기위한 데이터 패킷을 스크리닝하는 흐름도를 도시하며, 여기서 흐름도의 단계들은 도 1에 도시된 바와 같이 시스템(10)에 의해 구현될 수 있다. 시스템(10)의 작동 모드가 학습 모드인지 또는 실행 모드인지 여부에 관계없이 서버(100)에 의해 필터링 규칙이 생성될 수 있다. 단계 S310에서, 서버(100)는 데이터 패킷을 수신할 수 있다. 데이터 패킷은 게이트웨이(300)에 의해 PLD(200)로 포워딩될 수 있으며, 게이트웨이(300)에 의해 서버(100)에 미러링될 수 있다. 게이트웨이(300)는 데이터 패킷을 PLD(200) 및 서버(100)로 전송하기 전에 PLD(200) 및 서버(100)에 의해 지원되는 프로토콜로 데이터 패킷을 변환할 수 있다.
단계 S320에서, 서버(100)의 프로세서(110)는 데이터 패킷을 기계 학습 모델(121)에 입력하여, 상기 데이터 패킷의 명령 유형과 프로토콜 유형을 예측할 수 있다. 예를 들어, 프로토콜 유형은 모드버스(modbus)와 같은 통신 프로토콜을 포함할 수 있으며, 명령 유형은 쿼리 명령 또는 응답 명령을 포함할 수 있지만, 본 개시서는 이에 국한되지 않는다. 기계 학습 모델(121)은 CNN(Convolutional Neural Network)일 수 있다. 일 실시예에서, 기계 학습 모델(121)은 훈련 세트(training set)에 따라 서버(100)에 의해 오프라인으로 사전 훈련될 수 있으며, 여기서 훈련 세트는 프로토콜 유형 및 명령 유형으로 라벨링된 복수의 데이터 패킷들을 포함할 수 있다.
단계 S330에서, 서버(100)의 프로세서(110)는 상기 데이터 패킷의 예측된 프로토콜 유형 및 예측된 명령 유형이 올바른지 검증할 수 있다. 데이터 패킷의 프로토콜 유형과 명령 유형이 올바른 경우, 단계 S340로 처리한다. 데이터 패킷의 프로토콜 유형과 명령 유형이 올바르지 않은 경우, 단계 S350로 처리한다.
프로세서(110)는 프로토콜 라이브러리(122)에 기초하여 프로토콜 유형과 명령 유형이 올바른지 여부를 결정할 수 있으며, 여기서 프로토콜 라이브러리(122)는 데이터 패킷의 프로토콜 유형, 명령 유형 및 적어도 하나의 필드 간의 매핑 관계를 기록하는 데이터베이스일 수 있다. 구체적으로, 프로세서(110)는 프로토콜 라이브러리(122)를 참조함으로써 데이터 패킷의 필드로부터 값을 얻을 수 있으며, 여기서 필드는 프로토콜 유형(및/또는 프로토콜 유형에 대응하는 명령 유형)과 연관된다. 값이 대응 프로토콜 유형(및/또는 프로토콜 유형에 대응하는 명령 유형)과 일치하는 경우, 프로세서(110)는 데이터 패킷의 프로토콜 유형(및/또는 프로토콜 유형에 대응하는 명령 유형)이 올바르다고 판단할 수 있다. 값이 대응 프로토콜 유형(및/또는 프로토콜 유형에 대응하는 명령 유형)과 일치하지 않는 경우, 프로세서(110)는 데이터 패킷의 프로토콜 유형(및/또는 프로토콜 유형에 대응하는 명령 유형)이 올바르지 않다고 판단할 수 있다.
예를 들어, 프로토콜 라이브러리(122)는 모드버스 패킷의 프로토콜 식별자가 "0"과 같고 바이트 3 및 바이트 4를 포함하는 특정 필드에 대응한다는 것을 기록할 수 있으며, 프로토콜 라이브러리(122)는 모드버스 패킷의 합리적인 데이터 길이가 253 바이트 미만임을 기록할 수 있다. 기계 학습 모델(121)이 서버(100)에 의해 수신된 데이터 패킷의 프로토콜 유형이 모드버스 프로토콜에 대응한다고 예측한다는 것을 가정하면, 프로세서(110)가 250 바이트 크기인 수신 데이터 패킷의 바이트 3 및 바이트 4에서 "0" 값을 획득한다면, 프로세서(110)는, 모드버스 프로토콜과 일치하는 데이터 패킷의 데이터 길이 및 획득된 값 모두에 따라, 예측된 프로토콜 유형이 올바르다고 판단할 수 있다.
단계 S340에서, 서버(100)의 프로세서(110)는 수신된 데이터 패킷(또는 수신된 데이터 패킷의 일부를 포함하는 데이터 패킷 정보)을 데이터 패킷 정보 세트에 추가할 수 있으며, 여기서 데이터 패킷 정보 세트는 PLD(200)에 대한 필터링 규칙을 생성하는데 사용될 수 있다. 단계 S350에서, 프로세서(110)는 수신된 데이터 패킷을 폐기할 수 있다. 일 실시예에서, 프로세서(110)는 데이터 패킷 정보 세트의 데이터 패킷의 수가 임계값보다 큰 것에 응답하여, 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하기 시작할 수 있다.
도 4는 본 개시서의 실시예에 따라 필터링 규칙을 생성하는 흐름도를 도시하며, 여기서 흐름도의 단계들은 도 1에 도시된 시스템(10)에 의해 구현될 수 있다. 단계 S410에서, 서버(100)의 프로세서(110)는 데이터 패킷 정보 세트로부터, 동일한 프로토콜 유형 및 명령 유형에 대응하는 복수의 데이터 패킷들을 획득할 수 있다. 예를 들어, 프로세서(110)는 데이터 패킷 정보 세트로부터 모드버스 프로토콜의 응답 명령에 대응하는 복수의 데이터 패킷들을 획득할 수 있다.
단계 S420에서, 프로세서(110)는 복수의 데이터 패킷들로부터, 복수의 데이터 패킷들에 각각 대응하는 복수의 피처 값들을 획득할 수 있으며, 상기 복수의 피처 값들은 적어도 하나의 제1 피처 값 및 적어도 하나의 제2 피처 값을 포함할 수 있다. 일 실시예에서, 피처 값들은 인터넷 프로토콜(IP) 주소, MAC(Media Access Control) 주소, TCP(Transmission Control Protocol) 포트 번호, 수신지 주소 또는 소스 주소와 관련될 수 있지만, 본 개시서는 이에 국한되지 않는다. 예를 들어, 프로세서(110)는 복수의 데이터 패킷들로부터, 복수의 데이터 패킷들에 각각 대응하는 복수의 TCP 포트 번호들을 획득할 수 있으며, 여기서 복수의 TCP 포트 번호들은 여러 "포트 21" 및 여러 "포트 23"을 포함할 수 있다.
단계 S430에서, 프로세서(110)는, 상기 적어도 하나의 제1 피처 값의 수가 상기 적어도 하나의 제2 피처 값의 수보다 더 큰 것에 응답하여, 상기 적어도 하나의 제1 피처 값 및 적어도 하나의 제2 피처 값 중에서 적어도 하나의 제1 피처 값을 선택된 피처 값으로 선택할 수 있다. 예를 들어, 복수의 TCP 포트 번호들이 120개의 "포트 21" 및 80 개의 "포트 23"을 포함한다고 가정한다. 프로세서(110)는, "포트 21"의 수가 "포트 23"의 수보다 큰 것에 응답하여, "포트 21" 및 "포트 23" 중에서, "포트 21"을 선택된 피처 값으로서 선택한다. 다른 예로서, 복수의 TCP 포트 번호들이 100 개의 "포트 21" 및 60개의 "포트 23", 그리고 40 개의 "포트 53"을 포함한다고 가정한다. 프로세서(110)는 "포트 21"의 수가 "포트 23"의 수와 "포트 53"의 수보다 큰 것에 응답하여, "포트 21", "포트 23" 및 "포트 53" 중에서, "포트 21"을 선택된 피처 값으로서 선택한다.
일 실시예에서, 복수의 피처 값들은 상기 적어도 하나의 제1 피처 값만 포함할 수 있다. 즉, 모든 복수의 피처 값들은 동일할 수 있다. 예를 들어, 단계 S420에서, 프로세서(110)는 복수의 데이터 패킷들로부터, 복수의 데이터 패킷들에 각각 대응하는 복수의 TCP 포트 번호를 획득할 수 있으며, 여기서 복수의 TCP 포트 번호는 여러 개의 "포트 21"만 포함할 수 있다. 이러한 경우, 상기 적어도 하나의 제1 피처 값은 자동으로 상기 선택된 피처 값으로 선택될 수 있다.
일 실시예에서, 적어도 하나의 제1 피처 값의 수는 상기 적어도 하나의 제2 피처 값의 수와 동일할 수 있다. 이러한 경우, 프로세서(110)는 선택된 피처 값으로 적어도 하나의 제1 피처 값과 적어도 하나의 제2 피처 값 중 하나를 선택하거나, 선택된 피처 값들로서 상기 적어도 하나의 제1 피처 값과 적어도 하나의 제2 피처 값 모두를 선택할 수 있다.
단계 S440에서, 프로세서(110)는 선택된 피처 값에 따라, 프로토콜 유형 및 명령 유형에 대응하는 필터링 규칙을 생성할 수 있다. 도 4와 유사한 방식으로, 프로세서(110)는 프로토콜 유형과 명령 유형의 각 조합에 대한 필터링 규칙들을 생성할 수 있다. 이어서, 프로세서(110)는 필터링 규칙(들)을 PLD(200)로 전송하여 PLD(200)에 필터링 규칙(들)을 배포할 수 있다. 따라서, PLD(200)은 필터링 규칙(들)에 따라 보안 데이터 전송을 수행할 수 있다. 일 실시예에서, 필터링 규칙들은 범용 비동기 수신기/송신기(UART) 인터페이스를 통해 프로세서(110)에서 PLD(200)로 전송될 수 있으며, 여기서 UART 인터페이스는 트랜시버(130)에 의해 지원될 수 있다. 일 실시예에서, 필터링 규칙들은 승인된 패스워드(authorized password)와 함께 프로세서(110)로부터 PLD(200)로 전송될 수 있다. PLD(200)는 승인된 비밀번호가 PLD(200)에 의해 성공적으로 검증되는 것에 응답하여 상기 수신된 필터링 규칙들을 배포하기로 결정할 수 있다. 즉, 패스워드를 아는 인증된 사람만이 서버(100)를 작동시켜 PLD(200)의 필터링 규칙들을 업데이트할 수 있다.
PLD(200)는 데이터 패킷의 피처 값이 필터링 규칙에 의해 표시된 선택된 피처 값(들)과 일치하는 것에 응답하여 프로토콜 유형 및 명령 유형에 대응하는 수신된 데이터 패킷을 포워딩할 수 있으며, PLD(200)는 데이터 패킷의 피처 값이 필터링 규칙에 의해 표시된 선택된 피처 값(들)과 일치하지 않는 것에 응답하여 프로토콜 유형 및 명령 유형에 대응하는 수신된 데이터 패킷을 폐기할 수 있다. 예를 들어, 필터링 규칙은 데이터 패킷의 TCP 포트가 "포트 21"과 같으면, 모드버스 프로토콜 및 응답 명령에 대응하는 데이터 패킷이 PLD(200)에 의해 포워딩될 수 있음을 나타낼 수 있고, 그리고 데이터 패킷의 TCP 포트가 "포트 21"과 같지 않으면, 모드버스 프로토콜 및 응답 명령에 대응하는 데이터 패킷이 PLD(200)에 의해 폐기될 수 있음을 나타낼 수 있다. 다른 예를 들어, 필터링 규칙은 데이터 패킷의 TCP 포트가 "포트 21" 또는 "포트 23"과 같으면, 모드버스 프로토콜 및 응답 명령에 대응하는 데이터 패킷이 PLD(200)에 의해 포워딩될 수 있음을 나타낼 수 있고, 데이터 패킷의 TCP 포트가 "포트 21" 또는 "포트 23"과 같지 않으면, 모드버스 프로토콜 및 응답 명령에 대응하는 데이터 패킷이 PLD(200)에 의해 폐기될 수 있음을 나타낼 수 있다.
도 5는 본 개시서의 실시예에 따른 보안 데이터 전송 방법의 흐름도를 도시하며, 여기서 흐름도의 단계들은 도 1에 도시된 시스템(10)에 의해 구현될 수 있다. 단계 S510에서, 프로그램 가능한 논리 장치를 서버에 연결하는 단계. 단계 S520에서, 상기 서버에 의해 제1 데이터 패킷을 수신하는 단계. 단계 S530에서, 상기 서버에 의해, 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하는 단계. 단계 S540에서, 상기 서버에 의해, 상기 프로토콜 유형과 명령 유형이 올바른지 검증하는 단계. 단계 S550에서, 상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하는 단계. 단계 S560에서, 상기 서버에 의해, 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하는 단계. 단계 S570에서, 상기 프로그램 가능한 논리 장치에 의해 상기 필터링 규칙에 따라 상기 보안 데이터 전송을 수행하는 단계.
요약하면, 본 개시서의 시스템은 최종 장치에 대한 보안 데이터 전송을 수행하기 위해 PLD에 필터링 규칙들을 배포할 수 있다. 필터링 규칙들이 생성되기 전에, 시스템의 게이트웨이는 PLD로 포워딩된 데이터 패킷들을 서버에 미러링할 수 있다. 서버는 기계 학습 모델을 사용하여, 데이터 패킷의 프로토콜 유형 및 명령 유형에 따라 필터링 규칙들을 작성하는데 데이터 패킷을 활용할 수 있는지 여부를 판단할 수 있다. 따라서 필터링 규칙들을 작성하는데 적합한 데이터 패킷들은 서버에 의해 자동으로 수집될 수 있다. 수집된 데이터 패킷들의 수가 충분한 후에는, 시스템은 수집 된 데이터 패킷들을 나타내는 피처를 선택하고, 선택된 피처를 기반으로 필터링 규칙들을 만들 수 있다. 서버는 PLD에 필터링 규칙들을 배포할 수 있으며, PLD는 필터링 규칙에 따라 보안 데이터 전송을 수행할 수 있다. 시스템의 게이트웨이는 시스템에 입력되거나 시스템으로부터 출력된 데이터 패킷의 통신 프로토콜을 변환할 수 있다. 따라서 최종 장치들과 서버가 데이터 전송에 서로 다른 매체를 사용하더라도, 최종 장치들 간의 보안 데이터 전송이 달성될 수 있다. 위의 내용을 기반으로, 사용자 정의된 보안 데이터 전송을 쉽게 구현할 수 있다.
본 발명의 범위 또는 사상을 벗어나지 않으면서 개시된 실시 예들에 대한 다양한 수정 및 변형이 이루어질 수 있음이 당업자에게 명백할 것이다. 전술한 바와 같이, 본 개시서는 수정들 및 변형들이 다음의 청구항의 청구범위 및 그 등가물 내에 있는 한 그러한 수정들 및 변형들을 포함하는 것으로 의도된다.
Claims (14)
- 보안 데이터 전송을 위한 시스템으로서,
프로그램 가능한 논리 장치; 및
상기 프로그램 가능한 논리 장치에 연결되는 서버를 포함하며,
상기 서버는 :
제1 데이터 패킷을 수신하도록 구성되고;
상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하도록 구성되고;
상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하도록 구성되고;
상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하도록 구성되고; 그리고
상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하도록 구성되며,
상기 프로그램 가능한 논리 장치는 상기 필터링 규칙에 따라 보안 데이터 전송을 수행하는, 시스템. - 청구항 1에 있어서,
상기 서버는 다음 단계들 :
상기 데이터 패킷 정보 세트로부터, 상기 프로토콜 유형 및 상기 명령 유형에 대응하는 복수의 데이터 패킷들을 획득하는 단계;
상기 복수의 데이터 패킷들로부터, 상기 복수의 데이터 패킷들에 각각 대응하는 복수의 피처 값들을 획득하는 단계로서, 상기 복수의 피처 값들은 적어도 하나의 제1 피처 값 적어도 하나의 제2 피처 값을 포함하는, 단계;
상기 적어도 하나의 제1 피처 값의 제1 수가 상기 적어도 하나의 제2 피처 값의 제2 수보다 더 큰 것에 응답하여, 상기 적어도 하나의 제1 피처 값 및 적어도 하나의 제2 피처 값 중에서 상기 적어도 하나의 제1 피처 값을 선택된 피처 값으로 선택하는 단계; 및
상기 선택된 피처 값에 따라, 상기 프로토콜 유형과 상기 명령 유형에 대응하는 필터링 규칙을 생성하는 단계;
에 의해 상기 필터링 규칙을 생성하는, 시스템. - 청구항 2에 있어서,
상기 선택된 피처 값은 인터넷 프로토콜(IP) 주소, MAC(Media Access Control) 주소 및 TCP(Transmission Control Protocol) 포트 번호 중 적어도 하나를 포함하는, 시스템. - 청구항 2에 있어서,
상기 필터링 규칙은 :
제2 데이터 패킷의 피처 값이 상기 선택된 피처 값과 일치하지 않는 것에 응답하여 상기 프로토콜 유형과 상기 명령 유형에 대응하는 상기 제2 데이터 패킷을 폐기하는 것을 포함하는, 시스템. - 청구항 4에 있어서,
상기 프로그램 가능한 논리 장치에 연결된 제1 게이트웨이를 더 포함하며,
상기 제1 게이트웨이는 상기 제2 데이터 패킷을 수신하며 그리고 상기 제2 데이터 패킷을 상기 프로그램 가능한 논리 장치에 포워딩하는, 시스템. - 청구항 5에 있어서,
상기 제1 게이트웨이는 상기 서버에 연결되며,
상기 제1 게이트웨이는 상기 제1 데이터 패킷을 수신하며, 상기 제1 데이터 패킷을 상기 서버에 미러링하는, 시스템. - 청구항 5에 있어서,
상기 제1 게이트웨이는 상기 제1 데이터 패킷과 상기 제2 데이터 패킷을 제1 통신 프로토콜에서 제2 통신 프로토콜로 변환하는, 시스템. - 청구항 7에 있어서,
상기 시스템은 프로그램 가능한 논리 장치와 연결된 제2 게이트웨이를 더 포함하며,
상기 제2 게이트웨이는 보안 데이터 전송을 통해 프로그램 가능한 논리 장치로부터 데이터 패킷을 수신하고 제2 통신 프로토콜로부터 제1 통신 프로토콜로 데이터 패킷을 변환하는, 시스템. - 청구항 4에 있어서,
상기 시스템은 상기 프로그램 가능한 논리 장치에 연결된 진단 장치를 더 포함하며,
상기 진단 장치는 상기 프로그램 가능한 논리 장치에 의해 폐기된 제2 데이터 패킷을 수신하며, 그리고 상기 제2 데이터 패킷에 따라 리포트를 생성하는, 시스템. - 청구항 1에 있어서,
상기 기계 학습 모델은 컨볼루션 신경망(convolutional neural network; CNN)을 포함하는, 시스템. - 청구항 1에 있어서,
상기 서버는 다음 단계들 :
상기 제1 데이터 패킷의 제1 필드로부터 제1 값을 획득하는 단계로서, 상기 제1 필드는 상기 프로토콜 유형과 관련되는, 단계; 및
상기 제1 데이터 패킷의 데이터 길이 및 상기 제1 값 모두가 상기 프로토콜 유형과 일치하는 것에 응답하여 상기 프로토콜 유형이 올바르다고 판단하는 단계;
에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증하는, 시스템. - 청구항 11에 있어서,
상기 서버는 추가의 다음 단계들 :
상기 제1 데이터 패킷의 제2 필드로부터 제2 값을 획득하는 단계로서, 상기 제2 필드는 상기 프로토콜 유형에 대응하는 상기 명령 유형과 관련되는, 단계; 및
상기 제2 값이 상기 명령 유형과 일치하는 것에 응답하여 상기 명령 유형이 올바르다고 판단하는 단계;
에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증하는, 시스템. - 청구항 1에 있어서,
상기 서버는 상기 데이터 패킷 정보 세트의 데이터 패킷 수가 임계값보다 큰 것에 응답하여 상기 필터링 규칙을 생성하는, 시스템. - 보안 데이터 전송을 위한 방법으로서,
프로그램 가능한 논리 장치를 서버에 연결하는 단계;
상기 서버에 의해 제1 데이터 패킷을 수신하는 단계;
상기 서버에 의해, 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하는 단계;
상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하는 단계;
상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하는 단계; 및
상기 서버에 의해, 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하는 단계; 및
상기 프로그램 가능한 논리 장치에 의해 상기 필터링 규칙에 따라 상기 보안 데이터 전송을 수행하는 단계를 포함하는, 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263309646P | 2022-02-14 | 2022-02-14 | |
US63/309,646 | 2022-02-14 | ||
US17/829,382 | 2022-06-01 | ||
US17/829,382 US11991185B2 (en) | 2022-02-14 | 2022-06-01 | Method for secure data transmission and system using the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230122510A true KR20230122510A (ko) | 2023-08-22 |
Family
ID=82404141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220081815A KR20230122510A (ko) | 2022-02-14 | 2022-07-04 | 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11991185B2 (ko) |
EP (1) | EP4228205A1 (ko) |
JP (1) | JP2023118038A (ko) |
KR (1) | KR20230122510A (ko) |
CA (1) | CA3164504A1 (ko) |
DE (1) | DE22181554T1 (ko) |
ES (1) | ES2956563T1 (ko) |
TW (1) | TWI813389B (ko) |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5703562A (en) | 1996-11-20 | 1997-12-30 | Sandia Corporation | Method for transferring data from an unsecured computer to a secured computer |
US7031267B2 (en) | 2000-12-21 | 2006-04-18 | 802 Systems Llc | PLD-based packet filtering methods with PLD configuration data update of filtering rules |
US6871281B2 (en) * | 2001-02-23 | 2005-03-22 | Thomas J. Schwab | Method and system for sending data between computers using a secure pipeline |
US20040128545A1 (en) * | 2002-12-31 | 2004-07-01 | International Business Machines Corporation | Host controlled dynamic firewall system |
US7721048B1 (en) * | 2006-03-15 | 2010-05-18 | Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System and method for cache replacement |
US9762536B2 (en) | 2006-06-27 | 2017-09-12 | Waterfall Security Solutions Ltd. | One way secure link |
US8352450B1 (en) | 2007-04-19 | 2013-01-08 | Owl Computing Technologies, Inc. | Database update through a one-way data link |
US7649452B2 (en) | 2007-06-29 | 2010-01-19 | Waterfall Solutions Ltd. | Protection of control networks using a one-way link |
US7992209B1 (en) | 2007-07-19 | 2011-08-02 | Owl Computing Technologies, Inc. | Bilateral communication using multiple one-way data links |
US8250358B2 (en) | 2009-04-01 | 2012-08-21 | Raytheon Company | Data diode system |
US9521120B2 (en) | 2009-04-23 | 2016-12-13 | General Electric Technology Gmbh | Method for securely transmitting control data from a secure network |
US9215212B2 (en) * | 2009-06-22 | 2015-12-15 | Citrix Systems, Inc. | Systems and methods for providing a visualizer for rules of an application firewall |
DE102010011022A1 (de) | 2010-03-11 | 2012-02-16 | Siemens Aktiengesellschaft | Verfahren zur sicheren unidirektionalen Übertragung von Signalen |
WO2012012266A2 (en) | 2010-07-19 | 2012-01-26 | Owl Computing Technologies. Inc. | Secure acknowledgment device for one-way data transfer system |
US8893253B2 (en) | 2011-11-29 | 2014-11-18 | Bayshore Networks, Inc. | Firewall apparatus, systems, and methods employing detection of application anomalies |
US9736121B2 (en) | 2012-07-16 | 2017-08-15 | Owl Cyber Defense Solutions, Llc | File manifest filter for unidirectional transfer of files |
US8776254B1 (en) | 2013-01-23 | 2014-07-08 | Owl Computing Technologies, Inc. | System and method for the secure unidirectional transfer of software and software updates |
US9306953B2 (en) | 2013-02-19 | 2016-04-05 | Owl Computing Technologies, Inc. | System and method for secure unidirectional transfer of commands to control equipment |
US9178908B2 (en) * | 2013-03-15 | 2015-11-03 | Shape Security, Inc. | Protecting against the introduction of alien content |
US9419975B2 (en) | 2013-04-22 | 2016-08-16 | Waterfall Security Solutions Ltd. | Bi-directional communication over a one-way link |
CN104426837B (zh) * | 2013-08-20 | 2019-09-13 | 南京中兴新软件有限责任公司 | Ftp的应用层报文过滤方法及装置 |
US9088558B2 (en) | 2013-08-21 | 2015-07-21 | Owl Computing Technologies, Inc. | Secure one-way interface for OPC data transfer |
US9531669B2 (en) | 2014-01-30 | 2016-12-27 | Sierra Nevada Corporation | Bi-directional data security for supervisor control and data acquisition networks |
US8891546B1 (en) | 2014-04-27 | 2014-11-18 | Waterfall Security Solutions Ltd. | Protocol splitter |
GB201410089D0 (en) | 2014-06-06 | 2014-07-23 | Bae Systems Plc | Secured network bridge |
KR101593168B1 (ko) | 2014-09-11 | 2016-02-18 | 한국전자통신연구원 | 물리적 단방향 통신 장치 및 방법 |
DE102014226398A1 (de) | 2014-12-18 | 2016-06-23 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zum rückwirkungsfreien Erfassen von Daten |
US9853918B2 (en) | 2015-03-24 | 2017-12-26 | Owl Cyber Defense Solutions, Llc | One-way network interface |
EP3425865B1 (de) | 2017-07-05 | 2019-12-18 | Siemens Mobility GmbH | Verfahren und vorrichtung zur rückwirkungsfreien unidirektionalen übertragung von daten an einen abgesetzten anwendungsserver |
DE102017217432A1 (de) | 2017-09-29 | 2019-04-04 | Siemens Mobility GmbH | Konzept zum unidirektionalen Übertragen von Daten |
IL268485B (en) | 2018-08-13 | 2022-04-01 | Waterfall Security Solutions Ltd | Automatic security response using one-way links |
WO2020069367A1 (en) | 2018-09-27 | 2020-04-02 | Bayshore Networks, Inc. | System and methods for automated computer security policy generation and anomaly detection |
US10990737B2 (en) | 2019-04-23 | 2021-04-27 | Owl Cyber Defense Solutions, Llc | Secure one-way network gateway |
US11627153B2 (en) * | 2019-09-25 | 2023-04-11 | Royal Bank Of Canada | Systems and methods of adaptively securing network communication channels |
US11588840B2 (en) * | 2020-01-31 | 2023-02-21 | Salesforce, Inc. | Automated encryption degradation detection, reporting and remediation |
KR102221052B1 (ko) * | 2020-11-30 | 2021-02-25 | 윤동권 | Sdn 오픈플로우 프로토콜을 지원하는 네트워크 장비의 장애처리 시스템 |
US11847111B2 (en) * | 2021-04-09 | 2023-12-19 | Bitdefender IPR Management Ltd. | Anomaly detection systems and methods |
US11159546B1 (en) * | 2021-04-20 | 2021-10-26 | Centripetal Networks, Inc. | Methods and systems for efficient threat context-aware packet filtering for network protection |
-
2022
- 2022-06-01 US US17/829,382 patent/US11991185B2/en active Active
- 2022-06-21 CA CA3164504A patent/CA3164504A1/en active Pending
- 2022-06-28 EP EP22181554.1A patent/EP4228205A1/en active Pending
- 2022-06-28 DE DE22181554.1T patent/DE22181554T1/de active Pending
- 2022-06-28 ES ES22181554T patent/ES2956563T1/es active Pending
- 2022-07-04 KR KR1020220081815A patent/KR20230122510A/ko unknown
- 2022-07-20 TW TW111127178A patent/TWI813389B/zh active
- 2022-08-05 JP JP2022125149A patent/JP2023118038A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CA3164504A1 (en) | 2023-08-14 |
US11991185B2 (en) | 2024-05-21 |
DE22181554T1 (de) | 2023-11-02 |
JP2023118038A (ja) | 2023-08-24 |
TW202333479A (zh) | 2023-08-16 |
ES2956563T1 (es) | 2023-12-22 |
EP4228205A1 (en) | 2023-08-16 |
TWI813389B (zh) | 2023-08-21 |
US20230262069A1 (en) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3603001B1 (en) | Hardware-accelerated payload filtering in secure communication | |
US8576847B2 (en) | Mechanisms for discovering path maximum transmission unit | |
US20080192648A1 (en) | Method and system to create a virtual topology | |
JP2017212725A (ja) | ネットワークハブ、転送方法及び車載ネットワークシステム | |
CN101166160B (zh) | 一种过滤即时通讯垃圾信息的方法和系统 | |
JP2017212726A (ja) | 電子制御ユニット、フレーム生成方法及びプログラム | |
US12003415B2 (en) | Message validation using data-link layer fields | |
US20240179137A1 (en) | Control apparatus, in-vehicle communication system, communication control method and program | |
JP7139252B2 (ja) | 転送装置 | |
US20070242682A1 (en) | Information processing device, information processing method, program, and recording medium | |
JP5079844B2 (ja) | 不要メッセージおよび受信者側が送信を要求していないメッセージの低減 | |
CN108322454B (zh) | 一种网络安全检测方法及装置 | |
JP2022109857A (ja) | Vlan idに基づく一方向送信の通信方法及びスイッチ装置 | |
KR20230122510A (ko) | 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 | |
US8646066B2 (en) | Security protocol control apparatus and security protocol control method | |
KR102220636B1 (ko) | G/n 필드가 부가된 프레임 통신 방법 | |
CN108282454A (zh) | 用于使用内联模式匹配加速安全检查的装置、系统和方法 | |
US20230291748A1 (en) | An apparatus including a transceiver | |
US11627110B2 (en) | Systems and methods for operating a networking device | |
CN109729026B (zh) | 一种sdn网络的控制方法和sdn控制器 | |
JP4627989B2 (ja) | 複数の通信装置間の通信を確立する方法、インタフェース・ユニット、通信システム、コンピュータ読み取り可能な媒体、および装置 | |
US20030063559A1 (en) | Method and apparatus for a switch fabric in a data transport system | |
JP2001244937A (ja) | イーサネットを用いた通信における電文量を削減する方法 | |
CN108141357A (zh) | 用于在网络中生成秘密的电路装置 | |
KR20010038029A (ko) | 근거리통신망 프로토콜의 에뮬레이션 방법 |