Peniot:一款針對(duì)物聯(lián)網(wǎng)設(shè)備的專業(yè)全自動(dòng)化滲透測(cè)試工具
Peniot
Peniot是一款針對(duì)物聯(lián)網(wǎng)設(shè)備的專業(yè)滲透測(cè)試工具,它可以幫助我們通過(guò)各種不同類型的網(wǎng)絡(luò)安全攻擊來(lái)測(cè)試目標(biāo)物聯(lián)網(wǎng)設(shè)備的安全性。也就是說(shuō),我們可以將需要測(cè)試的物聯(lián)網(wǎng)設(shè)備暴露在主動(dòng)/被動(dòng)安全攻擊場(chǎng)景下,在確定了目標(biāo)設(shè)備的相關(guān)信息和參數(shù)之后,就可以利用Peniot來(lái)對(duì)其執(zhí)行攻擊測(cè)試了,比如說(shuō)更改或消耗系統(tǒng)資源,重放有效通信單元等等。除此之外,我們還可以利用Peniot來(lái)執(zhí)行被動(dòng)安全攻擊,比如說(shuō)違反重要數(shù)據(jù)的機(jī)密性或流量分析(MitM)等等。值得一提的是,所有的攻擊和分析操作都是以完全自動(dòng)化的方式實(shí)現(xiàn)的。簡(jiǎn)而言之,Peniot是一個(gè)包/框架,可以用于針對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行基于協(xié)議的安全攻擊測(cè)試。
持此之外,Peniot還可以為研究人員進(jìn)一步注入新的安全攻擊或新的物聯(lián)網(wǎng)協(xié)議提供了一個(gè)基礎(chǔ)架構(gòu)。Peniot最重要的特性之一就是它的可擴(kuò)展性,默認(rèn)配置下,它支持針對(duì)常簡(jiǎn)物聯(lián)網(wǎng)協(xié)議和其他相關(guān)協(xié)議的安全攻擊測(cè)試。而且它還可以通過(guò)導(dǎo)出內(nèi)部使用組件的基本結(jié)構(gòu)來(lái)進(jìn)行功能擴(kuò)展,這樣我們就可以開發(fā)與Peniot內(nèi)部結(jié)構(gòu)相協(xié)調(diào)的攻擊測(cè)試了。
Peniot的作用
物聯(lián)網(wǎng)模式在過(guò)去十年經(jīng)歷了巨大的變化,目前已經(jīng)有數(shù)十億設(shè)備連接到了互聯(lián)網(wǎng)上。由于容量限制,大多數(shù)設(shè)備甚至缺乏基本的安全保護(hù)措施,而且由于上市時(shí)間短,設(shè)計(jì)時(shí)沒(méi)有考慮安全性,因此很多設(shè)備都存在安全問(wèn)題。由于物聯(lián)網(wǎng)的高連通性,黑客很容易通過(guò)存在漏洞的設(shè)備發(fā)起對(duì)擴(kuò)展網(wǎng)絡(luò)具有破壞性影響的攻擊。
到目前為止,針對(duì)物聯(lián)網(wǎng)的滲透測(cè)試都是手工完成的。這個(gè)過(guò)程使得設(shè)備的測(cè)試過(guò)程非常緩慢。另一方面,生產(chǎn)物聯(lián)網(wǎng)設(shè)備的公司需要不斷更新升級(jí)其設(shè)備的可靠性、健壯性以及所提供的功能,以防止安全攻擊對(duì)用戶造成意想不到的影響。Peniot的主要目的是加快安全測(cè)試的進(jìn)程,它可以幫助研究人員通過(guò)自動(dòng)化滲透測(cè)試來(lái)找出物聯(lián)網(wǎng)設(shè)備中存在的安全缺陷。
Peniot功能介紹
隨著物聯(lián)網(wǎng)設(shè)備數(shù)量的急劇增加,物聯(lián)網(wǎng)設(shè)備在我們的日常生活中越來(lái)越普遍。智能家居、智能自行車、醫(yī)療傳感器、健身跟蹤器和智能門鎖等等只是物聯(lián)網(wǎng)產(chǎn)品的幾個(gè)例子。考慮到這一點(diǎn),我們認(rèn)為有必要選擇一些最常用的物聯(lián)網(wǎng)協(xié)議默認(rèn)植入到Peniot中。我們選擇以下協(xié)議作為Peniot中包含的默認(rèn)IoT協(xié)議,這些物聯(lián)網(wǎng)協(xié)議可以嵌入到各種類型的安全攻擊之中,如DoS、模糊測(cè)試、嗅探攻擊和重放攻擊等等。
當(dāng)前版本的Peniot支持以下協(xié)議:
- 高級(jí)消息隊(duì)列協(xié)議(AMQP)
- 低功耗藍(lán)牙協(xié)議(BLE)
- 受限應(yīng)用協(xié)議(CoAP)
- 消息隊(duì)列遙測(cè)傳輸協(xié)議(MQTT)
除此之外,Peniot還支持研究人員導(dǎo)入自己的外部協(xié)議來(lái)實(shí)現(xiàn)針對(duì)其他協(xié)議的攻擊測(cè)試。別忘了,Peniot還給我們提供了一個(gè)易于使用且用戶友好的圖形化用戶界面。
構(gòu)建命令
首先,我們需要安裝Python的setuptools模塊,并安裝python-tk和bluepy。
簡(jiǎn)而言之,我們需要在安裝和運(yùn)行Peniot之前,配置好下列組件:
- setuptools
- python-tk
- Bluepy
接下來(lái),我們就可以執(zhí)行下列命令將項(xiàng)目在本地設(shè)備上進(jìn)行安裝和配置:
- $ git clone git@github.com:yakuza8/peniot.git
- $ cd peniot
- $ python setup.py install
項(xiàng)目架構(gòu)
工具測(cè)試
Peniot默認(rèn)自帶了一些針對(duì)常見攻擊的集成測(cè)試樣例,在執(zhí)行這些攻擊測(cè)試之前,我們需要執(zhí)行一個(gè)運(yùn)行了目標(biāo)協(xié)議的程序。具體針對(duì)每個(gè)協(xié)議的測(cè)試樣例可以在項(xiàng)目目錄的examples/目錄下找到。
項(xiàng)目地址
Peniot:【GitHub傳送門】