KR20230122510A - 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 - Google Patents

보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 Download PDF

Info

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
Application number
KR1020220081815A
Other languages
English (en)
Inventor
위안 첸 찬
포-치 수
춘-시엔 차이
Original Assignee
블랙베어 (타이완) 인더스트리얼 네트워킹 시큐리티 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 블랙베어 (타이완) 인더스트리얼 네트워킹 시큐리티 리미티드 filed Critical 블랙베어 (타이완) 인더스트리얼 네트워킹 시큐리티 리미티드
Publication of KR20230122510A publication Critical patent/KR20230122510A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised 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

보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 {Method for secure data transmission and system using the same}
관련 출원에 대한 상호 참조
본 출원은 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은 본 개시서의 일 실시예에 따른 보안 데이터 전송을 위한 시스템(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 데이터 패킷을 추가하도록 구성되고; 그리고
    상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하도록 구성되며,
    상기 프로그램 가능한 논리 장치는 상기 필터링 규칙에 따라 보안 데이터 전송을 수행하는, 시스템.
  2. 청구항 1에 있어서,
    상기 서버는 다음 단계들 :
    상기 데이터 패킷 정보 세트로부터, 상기 프로토콜 유형 및 상기 명령 유형에 대응하는 복수의 데이터 패킷들을 획득하는 단계;
    상기 복수의 데이터 패킷들로부터, 상기 복수의 데이터 패킷들에 각각 대응하는 복수의 피처 값들을 획득하는 단계로서, 상기 복수의 피처 값들은 적어도 하나의 제1 피처 값 적어도 하나의 제2 피처 값을 포함하는, 단계;
    상기 적어도 하나의 제1 피처 값의 제1 수가 상기 적어도 하나의 제2 피처 값의 제2 수보다 더 큰 것에 응답하여, 상기 적어도 하나의 제1 피처 값 및 적어도 하나의 제2 피처 값 중에서 상기 적어도 하나의 제1 피처 값을 선택된 피처 값으로 선택하는 단계; 및
    상기 선택된 피처 값에 따라, 상기 프로토콜 유형과 상기 명령 유형에 대응하는 필터링 규칙을 생성하는 단계;
    에 의해 상기 필터링 규칙을 생성하는, 시스템.
  3. 청구항 2에 있어서,
    상기 선택된 피처 값은 인터넷 프로토콜(IP) 주소, MAC(Media Access Control) 주소 및 TCP(Transmission Control Protocol) 포트 번호 중 적어도 하나를 포함하는, 시스템.
  4. 청구항 2에 있어서,
    상기 필터링 규칙은 :
    제2 데이터 패킷의 피처 값이 상기 선택된 피처 값과 일치하지 않는 것에 응답하여 상기 프로토콜 유형과 상기 명령 유형에 대응하는 상기 제2 데이터 패킷을 폐기하는 것을 포함하는, 시스템.
  5. 청구항 4에 있어서,
    상기 프로그램 가능한 논리 장치에 연결된 제1 게이트웨이를 더 포함하며,
    상기 제1 게이트웨이는 상기 제2 데이터 패킷을 수신하며 그리고 상기 제2 데이터 패킷을 상기 프로그램 가능한 논리 장치에 포워딩하는, 시스템.
  6. 청구항 5에 있어서,
    상기 제1 게이트웨이는 상기 서버에 연결되며,
    상기 제1 게이트웨이는 상기 제1 데이터 패킷을 수신하며, 상기 제1 데이터 패킷을 상기 서버에 미러링하는, 시스템.
  7. 청구항 5에 있어서,
    상기 제1 게이트웨이는 상기 제1 데이터 패킷과 상기 제2 데이터 패킷을 제1 통신 프로토콜에서 제2 통신 프로토콜로 변환하는, 시스템.
  8. 청구항 7에 있어서,
    상기 시스템은 프로그램 가능한 논리 장치와 연결된 제2 게이트웨이를 더 포함하며,
    상기 제2 게이트웨이는 보안 데이터 전송을 통해 프로그램 가능한 논리 장치로부터 데이터 패킷을 수신하고 제2 통신 프로토콜로부터 제1 통신 프로토콜로 데이터 패킷을 변환하는, 시스템.
  9. 청구항 4에 있어서,
    상기 시스템은 상기 프로그램 가능한 논리 장치에 연결된 진단 장치를 더 포함하며,
    상기 진단 장치는 상기 프로그램 가능한 논리 장치에 의해 폐기된 제2 데이터 패킷을 수신하며, 그리고 상기 제2 데이터 패킷에 따라 리포트를 생성하는, 시스템.
  10. 청구항 1에 있어서,
    상기 기계 학습 모델은 컨볼루션 신경망(convolutional neural network; CNN)을 포함하는, 시스템.
  11. 청구항 1에 있어서,
    상기 서버는 다음 단계들 :
    상기 제1 데이터 패킷의 제1 필드로부터 제1 값을 획득하는 단계로서, 상기 제1 필드는 상기 프로토콜 유형과 관련되는, 단계; 및
    상기 제1 데이터 패킷의 데이터 길이 및 상기 제1 값 모두가 상기 프로토콜 유형과 일치하는 것에 응답하여 상기 프로토콜 유형이 올바르다고 판단하는 단계;
    에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증하는, 시스템.
  12. 청구항 11에 있어서,
    상기 서버는 추가의 다음 단계들 :
    상기 제1 데이터 패킷의 제2 필드로부터 제2 값을 획득하는 단계로서, 상기 제2 필드는 상기 프로토콜 유형에 대응하는 상기 명령 유형과 관련되는, 단계; 및
    상기 제2 값이 상기 명령 유형과 일치하는 것에 응답하여 상기 명령 유형이 올바르다고 판단하는 단계;
    에 의해 상기 프로토콜 유형 및 명령 유형이 올바른지 검증하는, 시스템.
  13. 청구항 1에 있어서,
    상기 서버는 상기 데이터 패킷 정보 세트의 데이터 패킷 수가 임계값보다 큰 것에 응답하여 상기 필터링 규칙을 생성하는, 시스템.
  14. 보안 데이터 전송을 위한 방법으로서,
    프로그램 가능한 논리 장치를 서버에 연결하는 단계;
    상기 서버에 의해 제1 데이터 패킷을 수신하는 단계;
    상기 서버에 의해, 상기 제1 데이터 패킷의 프로토콜 유형 및 명령 유형을 예측하기 위해 상기 제1 데이터 패킷을 기계 학습 모델에 입력하는 단계;
    상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른지 검증하는 단계;
    상기 서버에 의해, 상기 프로토콜 유형과 상기 명령 유형이 올바른 것에 응답하여 데이터 패킷 정보 세트에 상기 제1 데이터 패킷을 추가하는 단계; 및
    상기 서버에 의해, 상기 데이터 패킷 정보 세트에 따라 필터링 규칙을 생성하고 상기 프로그램 가능한 논리 장치에 상기 필터링 규칙을 배포하는 단계; 및
    상기 프로그램 가능한 논리 장치에 의해 상기 필터링 규칙에 따라 상기 보안 데이터 전송을 수행하는 단계를 포함하는, 방법.
KR1020220081815A 2022-02-14 2022-07-04 보안 데이터 전송 방법 및 이러한 방법을 사용하는 시스템 KR20230122510A (ko)

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)

* Cited by examiner, † Cited by third party
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

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) 근거리통신망 프로토콜의 에뮬레이션 방법