TWI813389B - 用於安全資料傳輸的方法及使用所述方法的系統 - Google Patents
用於安全資料傳輸的方法及使用所述方法的系統 Download PDFInfo
- Publication number
- TWI813389B TWI813389B TW111127178A TW111127178A TWI813389B TW I813389 B TWI813389 B TW I813389B TW 111127178 A TW111127178 A TW 111127178A TW 111127178 A TW111127178 A TW 111127178A TW I813389 B TWI813389 B TW I813389B
- Authority
- TW
- Taiwan
- Prior art keywords
- data packet
- server
- type
- protocol
- programmable logic
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000001914 filtration Methods 0.000 claims abstract description 80
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000010801 machine learning Methods 0.000 claims abstract description 15
- 230000008878 coupling Effects 0.000 claims abstract description 3
- 238000010168 coupling process Methods 0.000 claims abstract description 3
- 238000005859 coupling reaction Methods 0.000 claims abstract description 3
- 238000004891 communication Methods 0.000 claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 230000006403 short-term memory Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003321 amplification Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012795 verification 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/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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (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
本發明提供一種用於安全資料傳輸的方法及使用相同方法的系統。方法包含:將可程式化邏輯裝置耦接至伺服器;藉由伺服器接收第一資料封包;藉由伺服器將第一資料封包輸入至機器學習模型中以預測第一資料封包的協定類型及命令類型;藉由伺服器驗證協定類型及命令類型是否正確;藉由伺服器回應於協定類型及命令類型正確而將第一資料封包添加至資料封包資訊集;藉由伺服器根據資料封包資訊集產生過濾規則且在可程式化邏輯裝置中部署過濾規則;以及藉由可程式化邏輯裝置根據過濾規則執行安全資料傳輸。
Description
本揭露是針對一種用於安全資料傳輸的方法及使用相同方法的系統。
在需要安全資料傳輸的系統中,可部署過濾裝置以阻擋潛在地不安全資料或惡意攻擊滲透端裝置。為此,過濾裝置必須利用某些過濾規則判定資料封包是否可以安全轉送至端裝置。過濾規則可由理解關於應轉送至端裝置的資料的知識的工程師來手動建立,但在一些情況下,可能需要由系統客製化過濾規則。
本揭露是針對一種用於安全資料傳輸的方法及使用相同方法的系統。本揭露可自動地產生用於安全資料傳輸的過濾規則。
本揭露提供一種用於安全資料傳輸的系統,包含可程式化邏輯裝置及伺服器。伺服器耦接至可程式化邏輯裝置,其中伺服器經配置以:接收第一資料封包;將第一資料封包輸入至機器學習模型中以預測第一資料封包的協定類型及命令類型;驗證協定類型及命令類型是否正確;回應於協定類型及命令類型正確而將第一資料封包添加至資料封包資訊集;以及根據資料封包資訊集產生過濾規則且在可程式化邏輯裝置中部署過濾規則。可程式化邏輯裝置根據所述過濾規則執行安全資料傳輸。
在本揭露的一個實施例中,伺服器藉由以下產生過濾規則:自資料封包資訊集獲得對應於協定類型及命令類型的多個資料封包;自多個資料封包獲得分別對應於多個資料封包的多個特徵值,其中多個特徵值包含至少一個第一特徵值及至少一個第二特徵值;回應於至少一個第一特徵值的第一數目大於至少一個第二特徵值的第二數目而自至少一個第一特徵值及至少一個第二特徵值選擇至少一個第一特徵值作為所選特徵值;以及根據所選特徵值產生對應於協定類型及命令類型的過濾規則。
在本揭露的一個實施例中,所選特徵值包含以下中的至少一者:網際網路協定位址、媒體存取控制位址以及傳輸控制協定埠號。
在本揭露的一個實施例中,過濾規則包含:回應於第二資料封包的特徵值與所選特徵值不匹配而丟棄對應於協定類型及命令類型的第二資料封包。
在本揭露的一個實施例中,系統更包含第一閘道器。第一閘道器耦接至可程式化邏輯裝置,其中第一閘道器接收第二資料封包且將第二資料封包轉送至可程式化邏輯裝置。
在本揭露的一個實施例中,第一閘道器耦接至伺服器,其中第一閘道器接收第一資料封包且將第一資料封包鏡射至伺服器。
在本揭露的一個實施例中,其中第一閘道器將第一資料封包及第二資料封包自第一通信協定轉換成第二通信協定。
在本揭露的一個實施例中,系統更包含第二閘道器。第二閘道器耦接至可程式化邏輯裝置,其中第二閘道器經由安全資料傳輸自可程式化邏輯裝置接收資料封包,且將資料封包自第二通信協定轉換成第一通信協定。
在本揭露的一個實施例中,系統更包含診斷裝置。診斷裝置耦接至可程式化邏輯裝置,其中診斷裝置接收由可程式化邏輯裝置丟棄的第二資料封包且根據第二資料封包產生報告。
在本揭露的一個實施例中,機器學習模型包含卷積類神經網路或長短期記憶模型。
在本揭露的一個實施例中,伺服器藉由以下來驗證協定類型及命令類型是否正確:自第一資料封包中與協定類型相關聯的欄位獲得第一值;以及回應於第一值及第一資料封包的資料長度兩者與協定類型匹配而判定協定類型正確。
在本揭露的一個實施例中,伺服器進一步藉由以下來驗證協定類型及命令類型是否正確:自第一資料封包中與對應於協定類型的命令類型相關聯的欄位獲得第二值;以及回應於第二值與命令類型匹配而判定命令類型正確。
在本揭露的一個實施例中,其中伺服器回應於資料封包資訊集中的資料封包數目大於臨界值而產生過濾規則。
本揭露提供一種用於安全資料傳輸的方法,包含:將可程式化邏輯裝置耦接至伺服器;藉由伺服器接收第一資料封包;藉由伺服器將第一資料封包輸入至機器學習模型中以預測第一資料封包的協定類型及命令類型;藉由伺服器驗證協定類型及命令類型是否正確;藉由伺服器回應於協定類型及命令類型正確而將第一資料封包添加至資料封包資訊集;藉由伺服器根據資料封包資訊集產生過濾規則且在可程式化邏輯裝置中部署過濾規則;以及藉由可程式化邏輯裝置根據過濾規則執行安全資料傳輸。
鑒於前述內容,本揭露可驗證資料封包是否可用於根據資料封包的協定類型及命令類型來建立過濾規則。本揭露可根據通過驗證的資料封包產生過濾規則,且在可程式化邏輯裝置(programmable logic device;PLD)上部署過濾規則以執行安全資料傳輸。
為使前述內容更容易理解,如下詳細描述附有圖式的若干實施例。
為了使本揭露更容易理解,下文將若干實施例作為本揭露的實施的實例進行了描述。此外,在適當時,具有相同附圖標記的元件/組件/步驟在圖式及實施例中用於表示相同或類似部分。
圖1示出根據本揭露的實施例,用於安全資料傳輸的系統10的示意圖。系統10可包含伺服器100、可程式化邏輯裝置(PLD)200、閘道器(或交換器)300以及診斷裝置400。在一個實施例中,系統10可更包含閘道器500。PLD 200可以通信方式連接至伺服器100、閘道器300、診斷裝置400以及閘道器500。系統10可阻擋潛在地不安全資料或惡意攻擊滲透電子裝置。
圖2示出根據本揭露的實施例的伺服器100的示意圖。伺服器100可包含處理器110、儲存媒體120以及收發器130。
處理器110可為中央處理單元(central processing unit;CPU)、微型控制單元(micro control unit;MCU)、微處理器、數位信號處理器(digital signal processor;DSP)、可程式化邏輯控制器(programmable logic controller;PLC)、特殊應用積體電路(application specific integrated circuit;ASIC)、圖形處理單元(graphics processing unit;GPU)、影像信號處理器(image signal processor;ISP)、影像處理單元(image processing unit;IPU)、算術邏輯單元(arithmetic logic unit;ALU)、複合可程式化邏輯裝置(complex programmable logic device;CPLD)、現場可程式化邏輯閘陣列(field programmable gate array;FPGA)或其他類似組件或前述組件的組合。處理器110可耦接至儲存媒體及收發器,且處理器可存取及執行儲存於儲存媒體120中的多個模組或程式。
儲存媒體120可為隨機存取記憶體(random access memory;RAM)、唯讀記憶體(read-only memory;ROM)、快閃記憶體、硬碟驅動機(hard disk drive;HDD)、固態驅動機(solid state drive;SSD)或類似組件或前述組件的組合。儲存媒體120可儲存可供處理器110存取的多個模組或程式,使得處理器110可執行伺服器100的各種功能。儲存媒體120可儲存機器學習模型121及與協定類型及命令類型相關聯的協定庫122。
收發器130可配置成以有線或無線方式傳輸及接收信號。收發器130亦可執行諸如低雜訊放大、阻抗匹配、頻率混合、上下頻率轉換、過濾、放大的操作以及類似操作。
閘道器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支援的另一通信協定(例如,乙太網路或Modbus)。系統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丟棄與過濾規則不匹配的資料封包。在一個實施例中,可基於媒體存取控制安全(media access control security;MACSec)協定(藉由閘道器300、閘道器500或電路)編碼保護自PLD 200輸出的資料封包。
診斷裝置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可為卷積類神經網路(convolutional neural network;CNN)或長短期記憶(long short-term memory,LSTM)等監督式學習模型,但本揭露不限於此。在一個實施例中,機器學習模型121可根據訓練集藉由伺服器100離線預訓練,其中訓練集可包含標記有協定類型及命令類型的多個資料封包。
在步驟S330中,伺服器100的處理器110可驗證資料封包的預測協定類型及預測命令類型是否正確。若資料封包的協定類型及命令類型正確,則進行步驟S340。若資料封包的協定類型及命令類型不正確,則進行步驟S350。
處理器110可基於協定庫122判定協定類型及命令類型是否正確,其中協定庫122可為記錄資料封包的協定類型、命令類型與至少一個欄位之間的映射關係的資料庫。具體而言,處理器110可藉由參考協定庫122,自資料封包中的欄位獲得值,其中欄位與協定類型(及/或對應於協定類型的命令類型)相關聯。若值與對應協定類型(及/或對應於協定類型的命令類型)匹配,則處理器110可判定資料封包的協定類型(及/或對應於協定類型的命令類型)正確。若值與對應協定類型(及/或對應於協定類型的命令類型)不匹配,則處理器110可判定資料封包的協定類型(及/或對應於協定類型的命令類型)不正確。
舉例而言,協定庫122可記錄Modbus封包的協定識別符等於「0」且對應於包含位元組3及位元組4的特定欄位,且協定庫122可記錄Modbus封包的合理資料長度小於253位元組。假設機器學習模型121預測由伺服器100接收到的資料封包的協定類型對應於Modbus協定,若處理器110自該250位元組大小的資料封包的位元組3及位元組4獲得值「0」,則處理器110可回應於所獲得的值及資料封包的資料長度兩者與Modbus協定匹配,而判定所預測的協定類型正確。
在步驟S340中,伺服器100的處理器110可將接收到的資料封包(或包含接收到的資料封包的一部分的資料封包資訊)添加至資料封包資訊集,其中資料封包資訊集可用於產生PLD 200使用的過濾規則。在步驟S350中,處理器110可丟棄接收到的資料封包。在一個實施例中,處理器110可回應於資料封包資訊集中的資料封包數量大於臨界值,而根據資料封包資訊集開始產生過濾規則。
圖4示出根據本揭露的實施例產生過濾規則的流程圖,其中流程圖的步驟可藉由如圖1中所繪示的系統10來實施。在步驟S410中,伺服器100的處理器110可自資料封包資訊集獲得對應於相同協定類型及命令類型的多個資料封包。舉例而言,處理器110可自資料封包資訊集獲得對應於Modbus協定的回應命令的多個資料封包。
在步驟S420中,處理器110可自多個資料封包獲得分別對應於多個資料封包的多個特徵值,其中多個特徵值可包含至少一個第一特徵值及至少一個第二特徵值。在一個實施例中,特徵值可與網際網路協定(Internet protocol;IP)位址、媒體存取控制(media access control;MAC)位址、傳輸控制協定(transmission control protocol;TCP)埠號、目的地位址或源位址相關聯,但本揭露不限於此。舉例而言,處理器110可自多個資料封包獲得分別對應於多個資料封包的多個TCP埠號,其中多個TCP埠號可包含多個「埠21」及多個「埠23」。
在步驟S430中,處理器110可回應於至少一個第一特徵值的數目大於至少一個第二特徵值的數目,而自至少一個第一特徵值及至少一個第二特徵值選擇該至少一個第一特徵值作為所選特徵值。舉例而言,假設多個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」作為所選特徵值。
在一個實施例中,多個特徵值可僅包含至少一個第一特徵值。亦即,所有多個特徵值可相同。舉例而言,在步驟S420中,處理器110可自多個資料封包獲得分別對應於多個資料封包的多個TCP埠號,其中所述多個TCP埠號可僅包含多個「埠21」。在此類情況下,可自動選擇該至少一個第一特徵值作為所選特徵值。
在一個實施例中,至少一個第一特徵值的數目可等於至少一個第二特徵值的數目。在此類情況下,處理器110可選擇至少一個第一特徵值及至少一個第二特徵值中的一者作為所選特徵值,或處理器110可選擇至少一個第一特徵值及至少一個第二特徵值兩者作為所選特徵值。
在步驟S440中,處理器110可根據所選特徵值產生對應於協定類型及命令類型的過濾規則。處理器110可針對協定類型及命令類型的每一組合,以圖4的類似方式產生過濾規則。接著,處理器110可將過濾規則傳輸至PLD 200以在PLD 200中部署過濾規則。因此,PLD 200可根據過濾規則執行安全資料傳輸。在一個實施例中,過濾規則可經由通用異步接收器/傳輸器(universal asynchronous receiver/transmitter;UART)介面自處理器110傳輸至PLD 200,其中UART介面可由收發器130支援。在一個實施例中,過濾規則可連同經授權的密碼一起自處理器110傳輸至PLD 200。PLD 200可回應於藉由PLD 200成功地驗證經授權的密碼,而判定部署接收到的過濾規則。亦即,僅知曉密碼的經授權的個人可藉由操作伺服器100來更新PLD 200的過濾規則。
PLD 200可回應於資料封包的特徵值符合由過濾規則指示的所選特徵值,而轉送對應於協定類型及命令類型的接收到的資料封包,且PLD 200可回應於資料封包的特徵值不符合由過濾規則指示的所選特徵值,而丟棄對應於協定類型及命令類型的接收到的資料封包。舉例而言,過濾規則可指示若資料封包對應於Modbus協定及回應命令,則可藉由PLD 200轉送TCP埠等於「埠21」的資料封包,且若資料封包對應於Modbus協定及回應命令,則可藉由PLD 200丟棄TCP埠不等於「埠21」的資料封包。另舉一實例,過濾規則可指示若資料封包對應於Modbus協定及回應命令,則可藉由PLD 200轉送TCP埠等於「埠21」或「埠23」的資料封包,且若資料封包對應於Modbus協定及回應命令,則可藉由PLD 200丟棄TCP埠不等於「埠21」或「埠23」的資料封包。
圖5示出根據本揭露的實施例,用於安全資料傳輸的方法的流程圖,其中流程圖的步驟可藉由如圖1中所繪示的系統10來實施。在步驟S510中,將可程式化邏輯裝置耦接至伺服器。在步驟S520中,藉由伺服器接收第一資料封包。在步驟S530中,藉由伺服器將第一資料封包輸入至機器學習模型中以預測第一資料封包的協定類型及命令類型。在步驟S540中,藉由伺服器驗證協定類型及命令類型是否正確。在步驟S550中,藉由伺服器回應於協定類型及命令類型正確而將第一資料封包添加至資料封包資訊集。在步驟S560中,藉由伺服器根據資料封包資訊集產生過濾規則且在可程式化邏輯裝置中部署過濾規則。在步驟S570中,藉由可程式化邏輯裝置根據過濾規則執行安全資料傳輸。
總而言之,本揭露的系統可在PLD上部署過濾規則從而執行用於端裝置的安全資料傳輸。在建立過濾規則之前,系統的閘道器可將轉送至PLD的資料封包鏡射至伺服器。伺服器可使用機器學習模型判定是否可根據資料封包的協定類型及命令類型利用資料封包來建立過濾規則。因此,可藉由伺服器自動地收集適合於建立過濾規則的資料封包。在所收集的資料封包的數目足夠之後,系統可選擇代表所收集的資料封包的特徵,且基於所選特徵建立過濾規則。伺服器可在PLD上部署過濾規則且PLD可根據過濾規則執行安全資料傳輸。系統的閘道器可轉換輸入至系統或自系統輸出的資料封包的通信協定。因此,即使端裝置及伺服器使用不同的媒體進行資料傳輸,亦可達成端裝置之間的安全資料傳輸。基於上文,可容易地實施客製化安全資料傳輸。
對所屬技術領域中具有通常知識者將顯而易見的是,可在不脫離本揭露的範圍或精神的情況下對所揭露實施例進行各種修改及變化。鑒於前述內容,本揭露意欲覆蓋修改及變化,其限制條件為所述修改及變化落入以下申請專利範圍及其等效物的範圍內。
10:系統
100:伺服器
110:處理器
120:儲存媒體
121:機器學習模型
122:協定庫
130:收發器
200:可程式化邏輯裝置
300、500:閘道器
400:診斷裝置
S310、S320、S330、S340、S350、S410、S420、S430、S440、S510、S520、S530、S540、S550、S560、S570:步驟
包含隨附圖式以提供本揭露的進一步理解,且隨附圖式併入於本說明書中且構成本說明書的一部分。圖式示出本揭露的例示性實施例,且與本說明書一起用以解釋本揭露的原理。
圖1示出根據本揭露的實施例,用於安全資料傳輸的系統的示意圖。
圖2示出根據本揭露的實施例的伺服器的示意圖。
圖3示出根據本揭露的實施例,篩選用於產生過濾規則的資料封包的流程圖。
圖4示出根據本揭露的實施例,產生過濾規則的流程圖。
圖5示出根據本揭露的實施例,用於安全資料傳輸的方法的流程圖。
S510、S520、S530、S540、S550、S560、S570:步驟
Claims (13)
- 一種用於安全資料傳輸的系統,包括:可程式化邏輯裝置;以及伺服器,耦接至所述可程式化邏輯裝置,其中所述伺服器經配置以:接收第一資料封包;將所述第一資料封包輸入至機器學習模型中以預測所述第一資料封包的協定類型及命令類型;驗證所述協定類型及所述命令類型是否正確;回應於所述協定類型及所述命令類型正確而將所述第一資料封包添加至資料封包資訊集;以及根據所述資料封包資訊集產生過濾規則且在所述可程式化邏輯裝置中部署所述過濾規則,包括:自所述資料封包資訊集獲得對應於所述協定類型及所述命令類型的多個資料封包;自所述多個資料封包獲得分別對應於所述多個資料封包的多個特徵值,其中所述多個特徵值包括至少一個第一特徵值及至少一個第二特徵值;回應於所述至少一個第一特徵值的第一數目大於所述至少一個第二特徵值的第二數目而自所述至少一個第一特徵值及所述至少一個第二特徵值選擇所述至少一個第一特徵值作為所選特徵值;以及根據所述所選特徵值產生對應於所述協定類型及所述命令類型的所述過濾規則,其中 所述可程式化邏輯裝置根據所述過濾規則執行所述安全資料傳輸。
- 如請求項1所述的系統,其中所述所選特徵值包括以下中的至少一者:網際網路協定位址、媒體存取控制位址以及傳輸控制協定埠號。
- 如請求項1所述的系統,其中所述過濾規則包括:回應於第二資料封包的特徵值與所述所選特徵值不匹配而丟棄對應於所述協定類型及所述命令類型的所述第二資料封包。
- 如請求項3所述的系統,更包括:第一閘道器,耦接至所述可程式化邏輯裝置,其中所述第一閘道器接收所述第二資料封包且將所述第二資料封包轉送至所述可程式化邏輯裝置。
- 如請求項4所述的系統,其中所述第一閘道器耦接至所述伺服器,其中所述第一閘道器接收所述第一資料封包且將所述第一資料封包鏡射至所述伺服器。
- 如請求項4所述的系統,其中所述第一閘道器將所述第一資料封包及所述第二資料封包自第一通信協定轉換成第二通信協定。
- 如請求項6所述的系統,更包括:第二閘道器,耦接至所述可程式化邏輯裝置,其中所述第二閘道器經由所述安全資料傳輸自所述可程式化邏輯裝置接收資料封包,且將所述資料封包自所述第二通信協定轉換成所述第一通信協定。
- 如請求項3所述的系統,更包括: 診斷裝置,耦接至所述可程式化邏輯裝置,其中所述診斷裝置接收由所述可程式化邏輯裝置丟棄的所述第二資料封包且根據所述第二資料封包產生報告。
- 如請求項1所述的系統,其中所述機器學習模型包括卷積類神經網路或長短期記憶模型。
- 如請求項1所述的系統,其中所述伺服器藉由以下來驗證所述協定類型及所述命令類型是否正確:自所述第一資料封包中與所述協定類型相關聯的欄位獲得第一值;以及回應於所述第一值及所述第一資料封包的資料長度兩者與所述協定類型匹配而判定所述協定類型正確。
- 如請求項10所述的系統,其中所述伺服器藉由以下來驗證所述協定類型及所述命令類型是否正確:自所述第一資料封包中與對應於所述協定類型的所述命令類型相關聯的欄位獲得第二值;以及回應於所述第二值與所述命令類型匹配而判定所述命令類型正確。
- 如請求項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 US11991185B2 (en) | 2022-02-14 | 2022-06-01 | Method for secure data transmission and system using the same |
US17/829,382 | 2022-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202333479A TW202333479A (zh) | 2023-08-16 |
TWI813389B true TWI813389B (zh) | 2023-08-21 |
Family
ID=82404141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111127178A TWI813389B (zh) | 2022-02-14 | 2022-07-20 | 用於安全資料傳輸的方法及使用所述方法的系統 |
Country Status (8)
Country | Link |
---|---|
US (1) | US11991185B2 (zh) |
EP (1) | EP4228205A1 (zh) |
JP (1) | JP2023118038A (zh) |
KR (1) | KR20230122510A (zh) |
CA (1) | CA3164504A1 (zh) |
DE (1) | DE22181554T1 (zh) |
ES (1) | ES2956563T1 (zh) |
TW (1) | TWI813389B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8879427B2 (en) * | 2000-07-07 | 2014-11-04 | 802 Systems Inc. | Methods for updating the configuration of a programmable packet filtering device including a determination as to whether a packet is to be junked |
Family Cites Families (37)
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 |
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 |
HUE030535T2 (en) | 2006-06-27 | 2017-05-29 | Waterfall Security Solutions Ltd | One-way security connections from a security operating unit to a security operating unit |
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 |
US8732453B2 (en) | 2010-07-19 | 2014-05-20 | 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 |
EP3857853B1 (en) | 2018-09-27 | 2023-11-01 | OPSWAT 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 |
CA3094545A1 (en) * | 2019-09-25 | 2021-03-25 | 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 DE DE22181554.1T patent/DE22181554T1/de active Pending
- 2022-06-28 EP EP22181554.1A patent/EP4228205A1/en 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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8879427B2 (en) * | 2000-07-07 | 2014-11-04 | 802 Systems Inc. | Methods for updating the configuration of a programmable packet filtering device including a determination as to whether a packet is to be junked |
Also Published As
Publication number | Publication date |
---|---|
TW202333479A (zh) | 2023-08-16 |
US20230262069A1 (en) | 2023-08-17 |
JP2023118038A (ja) | 2023-08-24 |
KR20230122510A (ko) | 2023-08-22 |
ES2956563T1 (es) | 2023-12-22 |
EP4228205A1 (en) | 2023-08-16 |
CA3164504A1 (en) | 2023-08-14 |
DE22181554T1 (de) | 2023-11-02 |
US11991185B2 (en) | 2024-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11019029B2 (en) | Building a cooperative security fabric of hierarchically interconnected network security devices | |
TWI729320B (zh) | 可疑封包偵測裝置及其可疑封包偵測方法 | |
EP3691218A1 (en) | Method and device for identifying encrypted data stream | |
US20100287270A1 (en) | Control proxy apparatus and control proxy method | |
WO2020029694A1 (zh) | 设备控制方法、装置以及物联网系统 | |
JP2021507652A (ja) | メッセージを処理するネットワークプローブ及び方法 | |
JP6331682B2 (ja) | エンドポイント・デバイスを保護する装置及び方法 | |
JP2020017809A (ja) | 通信装置及び通信システム | |
EP3499908B1 (en) | A device and method for the determination of applications running on a network | |
CA3159619A1 (en) | Packet processing method and apparatus, device, and computer-readable storage medium | |
TWI813389B (zh) | 用於安全資料傳輸的方法及使用所述方法的系統 | |
JP7139252B2 (ja) | 転送装置 | |
WO2019187204A1 (ja) | 制御装置、車両内通信システム、通信制御方法及びプログラム | |
CN108322454B (zh) | 一种网络安全检测方法及装置 | |
JP6804026B2 (ja) | 暗号化通信システム | |
CN113678419B (zh) | 端口扫描检测 | |
US8646066B2 (en) | Security protocol control apparatus and security protocol control method | |
JP7326903B2 (ja) | 情報処理装置及びプログラム | |
JP6541009B2 (ja) | 通信制御方法、通信制御プログラム及び通信装置 | |
JP6000501B1 (ja) | 制御装置、制御プログラムおよび機器制御システム | |
CN108282454A (zh) | 用于使用内联模式匹配加速安全检查的装置、系统和方法 | |
JP2021093689A (ja) | 情報処理システムおよび情報処理方法 | |
JP5618745B2 (ja) | 通信装置、通信方法、及びプログラム | |
JP2019213010A (ja) | 通信先限定システム、通信先限定装置、管理装置、通信先限定方法及びコンピュータプログラム | |
TW201939928A (zh) | 橋接器及網路的管理方法 |