中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Batea是一款什么工具

發布時間:2021-12-24 17:13:06 來源:億速云 閱讀:92 作者:小新 欄目:網絡安全

這篇文章主要介紹Batea是一款什么工具,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Batea

Batea是一款基于機器學習算法異常檢測分支的上下文驅動的網絡設備排序框架,而Batea的主要目標是允許并幫助安全團隊使用nmap掃描報告自動過濾大型網絡中感興趣的網絡資產。

Batea工作機制

Batea的工作原理是從nmap報告(XML)中構造所有設備的數字表示(numpy),然后應用異常檢測方法來發現感興趣或有價值的網絡資產。我們還可以通過向網絡資產元素的數字表示中添加特定的字符來擴展其功能。

網絡資產元素的數字表示是使用特征構建的,這些特征受到安全社區專業知識的啟發,而無人管理的異常檢測方法將允許工具將網絡資產上下文或網絡的整體描述用作排序算法的核心構建塊。這里所使用的準確算法為Isolation Forest算法。

機器學習模型是Batea的核心。模型是在整個數據集上訓練的算法,用于預測相同(和其他)數據點(網絡設備)的得分。除此之外,Batea還允許模型持久化。也就是說,我們可以重用預先訓練的模型,并導出在大型數據集上訓練的模型以供進一步使用。

工具安裝

$ git clone git@github.com:delvelabs/batea.git

$ cd batea

$ python3 setup.py sdist

$ pip3 install -r requirements.txt

$ pip3 install -e .

開發者安裝

$ git clone git@github.com:delvelabs/batea.git

$ cd batea

$ python3 -m venv batea/

$ source batea/bin/activate

$ python3 setup.py sdist

$ pip3 install -r requirements-dev.txt

$ pip3 install -e .

$ pytest

工具使用

# 完整信息

$ sudo nmap -A 192.168.0.0/16 -oX output.xml

 

# 部分信息

$ sudo nmap -O -sV 192.168.0.0/16 -oX output.xml

 

 

$ batea -v output.xml

工具使用樣例

# 簡單使用(以默認格式輸出排名前五的資產)

$ batea nmap_report.xml

# 輸出前三

$ batea -n 3 nmap_report.xml

# 輸出所有資產

$ batea -A nmap_report.xml

# 使用多個輸入文件

$ batea -A nmap_report1.xml nmap_report2.xml

# 使用通配符

$ batea ./nmap*.xml

$ batea -f csv ./assets*.csv

# 你可以在預訓練模型和導出訓練模型上使用batea。

# 持久性的訓練、輸出和轉儲模型

$ batea -D mymodel.batea nmap_report.xml

# 使用預訓練模型

$ batea -L mymodel.batea nmap_report.xml

# 使用預格式化CSV和XML文件

$ batea -x nmap_report.xml -c portscan_data.csv

# Verbose模式

$ batea -vv nmap_report.xml

如何添加新的特性

Batea的工作原理是將數字特征分配給報告(或一系列報告)中的每一臺主機。這里的主機指的是從nmap報告派生的python對象,它們由以下屬性列表組成:[ipv4, hostname, os_info, ports],其中的ports是端口對象的列表。每一個端口都有以下屬性:[port, protocol, state, service, software, version, cpe, scripts],所有屬性值默認為None。

Features是從FeatureBase類繼承的對象,它實例化了一個特定的_transform方法。這個方法始終將所有主機的列表作為輸入,并返回一個lambda函數,該函數將每個主機映射到數值的numpy列(主機順序是守恒的),然后將該列附加到掃描報告的矩陣表示形式中。Features必須輸出正確的數值(浮點或整數),而不能輸出其他值。

大多數特征轉換都是使用簡單的lambda函數實現的,只需確保為每個主機默認一個數值,以實現模型兼容性。

具體樣例如下:

class CustomInterestingPorts(FeatureBase):

    def __init__(self):

        super().__init__(name="some_custom_interesting_ports")

 

    def _transform(self, hosts):

      """This method takes a list of hosts and returns a function that counts the number

      of host ports member from a predefined list of "interesting" ports, defaulting to 0.

 

      Parameters

      ----------

      hosts : list

          The list of all hosts

 

      Returns

      -------

      f : lambda function

          Counts the number of ports in the defined list.

      """

        member_ports = [21, 22, 25, 8080, 8081, 1234]

        f = lambda host: len([port for port in host.ports if port.port in member_ports])

        return f

接下來,我們可以使用batea/__init__.py中的NmapReport.add_feature方法來向報告中添加新的特性:

from .features.basic_features import CustomInterestingPorts

 

def build_report():

    report = NmapReport()

    #[...]

    report.add_feature(CustomInterestingPorts())

 

return report

使用預計算表格數據(CSV)

我們還可以使用預處理的數據來訓練模型或進行預測。數據必須按(ipv4,port)索引,每行有一個唯一的組合。列必須使用以下名稱之一,但不必全部使用。如果缺少列,則解析器默認為空值。

'ipv4',

  'hostname',

  'os_name',

  'port',

  'state',

  'protocol',

  'service',

  'software_banner',

  'version',

  'cpe',

  'other_info'

樣例:

ipv4,hostname,os_name,port,state,protocol,service,software_banner

10.251.53.100,internal.delvesecurity.com,Linux,110,open,tcp,rpcbind,"program version   port/proto  service100000  2,3,4        111/tcp  rpcbind100000  2,3,4    "

10.251.53.100,internal.delvesecurity.com,Linux,111,open,tcp,rpcbind,

10.251.53.188,serious.delvesecurity.com,Linux,6000,open,tcp,X11,"X11Probe: CentOS"

輸出數值表示

我們還可以輸出數值矩陣和分數列,而不是常規輸出,這對于進一步的數據分析和調試非常有用。

$ batea -oM network_matrix nmap_report.xml

以上是“Batea是一款什么工具”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

三门峡市| 新河县| 扎兰屯市| 兴义市| 黎城县| 资源县| 尼木县| 康乐县| 桓仁| 清新县| 舟山市| 华池县| 东源县| 庄河市| 梁平县| 侯马市| 三台县| 屏边| 邵东县| 崇礼县| 翁源县| 杭锦后旗| 岚皋县| 桑日县| 晋州市| 铁岭市| 五莲县| 舞阳县| 新民市| 宁夏| 教育| 德惠市| 汪清县| 博乐市| 大港区| 辽宁省| 渭南市| 余姚市| 彰化市| 永丰县| 罗城|