本公開涉及網絡安全,并且更具體地,涉及一種基于神經網絡的域名系統(domain?name?system,dns)隧道的識別方法、設備及機器可讀介質。
背景技術:
1、dns域名解析系統是互聯網中的一項基本服務,用于將ip地址和域名互相映射。dns域名解析系統對于互聯網的正常運行至關重要,因為用戶通常更易于記住域名而不是ip地址,dns域名解析系統可以方便用戶通過域名訪問互聯網。
2、dns隧道是一種利用域名系統(dns)協議傳輸數據的技術,它可以繞過常規網絡監控手段,將任意數據編碼成dns查詢的形式,從而實現在dns流量中隱藏通信的目的。dns隧道技術通常被惡意行為者用于隱蔽通信、數據泄露或其他攻擊性目的,因為正常的防火墻配置往往不會阻止dns流量。因此,檢測dns隧道活動成為了網絡安全領域的一個重要課題。。
技術實現思路
1、本公開提供了一種dns隧道的識別方法、設備及機器可讀介質。
2、根據本公開的一個方面,提供了一種域名系統(dns)隧道的識別方法。所述方法可以包括:從輸入信號獲得采樣單位時間內的dns流量;基于所述dns流量構建dns樣本向量;將所述dns樣本向量作為輸入提供給經訓練的機器學習模型;獲得所述經訓練的機器學習模型的模型輸出;以及基于所述模型輸出識別所述dns流量中是否存在dns隧道。
3、根據本公開的方法,其中,所述dns樣本向量的參數包括:響應名稱的最小長度、響應名稱的最大長度、響應名稱的平均長度、響應名稱的長度的標準方差、響應名稱中標簽的數量的最小值、響應名稱中標簽的數量的最大值、響應名稱中標簽的數量的平均值、響應名稱中標簽的數量的標準方差。
4、根據本公開的方法,其中,所述經訓練的機器學習模型是神經網絡模型。
5、根據本公開的方法,其中,所述神經網絡模型包括輸入層、第一隱藏層、第二隱藏層和輸出層。
6、根據本公開的方法,其中,所述輸入層和所述第一隱藏層均包括dns樣本向量的參數數量的神經元;所述第二隱藏層包括dns樣本向量的參數數量一半的神經元;以及所述輸出層包括一個神經元。
7、根據本公開的方法,其中,所述輸入層、第一隱藏層、第二隱藏層和輸出層之間均采用全連接方式連接。
8、根據本公開的方法,其中,所述輸出層采用sigmoid作為激活函數,其范圍是[-1,1]。
9、根據本公開的方法,其中,所述經訓練的機器學習模型的誤差計算方法為均方差(mse)
10、根據本公開的另一方面,提供一種用于對域名系統(dns)隧道進行識別的設備。所述設備可以包括:存儲器,存儲指令;以及至少一個處理器,與所述存儲器耦合并且被配置為執行所述指令以執行如本文所述的域名系統(dns)隧道的識別方法。
11、根據本公開的另一方面,提供一種機器可讀介質,包括指令,所述指令在被至少一個處理器執行時,使所述至少一個處理器執行如本文所述的域名系統(dns)隧道的識別方法。
1.一種域名系統(dns)隧道的識別方法,所述方法包括:
2.如權利要求1所述的方法,其中,所述dns樣本向量的參數包括:響應名稱的最小長度、響應名稱的最大長度、響應名稱的平均長度、響應名稱的長度的標準方差、響應名稱中標簽的數量的最小值、響應名稱中標簽的數量的最大值、響應名稱中標簽的數量的平均值、響應名稱中標簽的數量的標準方差。
3.如權利要求1所述的方法,其中,所述經訓練的機器學習模型是神經網絡模型。
4.如權利要求3所述的方法,其中,所述神經網絡模型包括輸入層、第一隱藏層、第二隱藏層和輸出層。
5.如權利要求4所述的方法,其中,
6.如權利要求4-5中任一項所述的方法,其中,所述輸入層、第一隱藏層、第二隱藏層和輸出層之間均采用全連接方式連接。
7.如權利要求4-5中任一項所述的方法,其中,所述輸出層采用sigmoid作為激活函數,其范圍是[-1,1]。
8.如權利要求1所述的方法,其中,所述經訓練的機器學習模型的誤差計算方法為均方差(mse)。
9.一種用于對域名系統(dns)隧道進行識別的設備,所述設備包括:
10.一種機器可讀介質,包括指令,所述指令在被至少一個處理器執行時,使所述至少一個處理器執行如權利要求1-8中的任一項所述的方法。