汪世鵬,解 侖,李連鵬,孟 盛,王志良
北京科技大學(xué)計算機與通信工程學(xué)院,北京 100083
工業(yè)機械臂是一種多輸入多輸出的類人的作業(yè)、高度自主的控制系統(tǒng),廣泛應(yīng)用于醫(yī)療護理、家庭服務(wù)、工業(yè)制造等領(lǐng)域.近年來,隨著信息物理系統(tǒng)網(wǎng)絡(luò)與互聯(lián)網(wǎng)的融合,機械臂控制系統(tǒng)的安全暴露于互聯(lián)網(wǎng)中,使得攻擊者攻擊成功的幾率逐年增加.Stuxnet和Duqu惡意病毒已經(jīng)證明了信息物理系統(tǒng)是能夠被攻擊而且造成的后果極其嚴重[1-2].
攻擊者通常選擇現(xiàn)場總線和機械臂控制模型作為入侵對象.機械臂系統(tǒng)中以太網(wǎng)總線種類很多,常用的有Profinet IO[3-5]、Modbus[6-7]、EtherCAT[8-9]等.相較于其他總線而言,EtherCAT總線實時性更高、具有更靈活的網(wǎng)絡(luò)拓撲結(jié)構(gòu)、可無縫集成現(xiàn)有的總線系統(tǒng).因此,EtherCAT總線在工業(yè)控制領(lǐng)域中備受關(guān)注.然而,該總線缺少像身份認證等安全上的保障,Granat等[10]指出EtherCAT總線暴露于DoS/DDoS,中間人攻擊等常見的攻擊.與可達空間受限的六自由度機械臂相比,七自由度機械臂(7-DOF manipulator)能保持末端機構(gòu)在平面上位置不變的情況下,實現(xiàn)構(gòu)型的變換,而且七自由度機械臂在設(shè)計上和人體手臂的模型相類似,因此具有更好的靈活性[11].
在信息物理攻擊方法及模型研究等方面,隱蔽攻擊(Covert attacks, CA)又稱為錯誤數(shù)據(jù)注入攻擊(False data injection attacks, FDI),是一類比較有意義的攻擊方式[12-13].Xie等[14]提出了一種基于錯誤數(shù)據(jù)注入的攻擊方法,攻擊者如果獲得了當前電力系統(tǒng)相關(guān)配置信息,便有可能注入干擾智能電網(wǎng)狀態(tài)估計過程的惡意攻擊包,從而繞開系統(tǒng)中已有的不良數(shù)據(jù)檢測方法.隱蔽攻擊模型的思路是篡改當前控制系統(tǒng)的傳感器測量值,并且使修改后的數(shù)值仍處于合法運行范圍之內(nèi),從而避免被標準的入侵檢測方法檢測到,實現(xiàn)對控制系統(tǒng)的影響.相較于普通攻擊,隱蔽攻擊更難被發(fā)現(xiàn),造成的損失也比其他類型的攻擊更嚴重.de Sá等[15]提出了一種針對化工生產(chǎn)過程的隱蔽攻擊模型,并對攻擊的影響進行了評估.Krotofil和Larsen[16]提出了一種新的化工過程仿真模型,并實施了隱蔽攻擊.Quarta等[17]對工業(yè)機器人控制系統(tǒng)進行了相關(guān)的分析,提出了一個攻擊者模型,并將其與工業(yè)機器人應(yīng)該遵守的最低要求相對應(yīng):精確感知環(huán)境,執(zhí)行控制邏輯的正確性以及人類操作員的安全性;展示了攻擊者如何利用軟件漏洞等破壞這些需求,從而導(dǎo)致機器人領(lǐng)域獨有的嚴重后果.Lagraa等使用ROS對機器人攝像機進行了結(jié)構(gòu)化安全評估,并使用一些安全漏洞接管了從機器人攝像機傳入的視頻流,針對此提出了一種入侵檢測系統(tǒng)來檢測異常流量[18].Vilches等著重于創(chuàng)建一個開放和免費訪問的機器人漏洞評分系統(tǒng),主要考慮了機器人技術(shù)當中的相關(guān)安全問題[19].雖然已經(jīng)有研究人員開始關(guān)注機械臂安全相關(guān)的研究,但是針對機械臂控制系統(tǒng)的隱蔽攻擊的文章還很少.因此,研究基于EtherCAT總線的隱蔽攻擊技術(shù)對提高機械臂控制系統(tǒng)安全十分必要.
本文提出了一種基于混沌理論的多種群粒子群優(yōu)化的七自由度機械臂系統(tǒng)PID參數(shù)辨識算法;然后使用該算法對EtherCAT總線下的七自由度機械臂進行了系統(tǒng)辨識,得到的參數(shù)作為隱蔽控制器的參數(shù);最后根據(jù)提出的隱蔽攻擊方法展開隱蔽攻擊.實驗結(jié)果表明了在七自由度機械臂上實施隱蔽攻擊的可行性.本研究的新穎之處在于提出了一種針對部署在EtherCAT總線上的機械臂隱蔽攻擊方法并搭建了實驗測試平臺.作為探索性的研究,對EtherCAT總線的安全性以及機械臂控制系統(tǒng)的穩(wěn)定性作出了貢獻.
機械臂運動規(guī)劃是保障機械臂在符合設(shè)定的約束以及避障條件下,依據(jù)規(guī)劃的路徑完成位置和姿態(tài)的轉(zhuǎn)換.正向運動學(xué)通過機械臂各個關(guān)節(jié)的實際轉(zhuǎn)動或伸縮值,求解其末端的位置和姿態(tài);對應(yīng)的逆運動學(xué)是已知末端的姿態(tài)和位置,求解各個關(guān)節(jié)轉(zhuǎn)動或伸縮量,通常運動規(guī)劃都是以逆運動學(xué)為基礎(chǔ)[20].
Denavit和Hartenberg[21]為了表示機械臂相鄰連桿間的運動規(guī)則,針對各個關(guān)節(jié)的連桿建立坐標系,該坐標系被稱為D-H坐標系.按照機械臂連桿和關(guān)節(jié)的分布情況、依據(jù)D-H坐標系的創(chuàng)建規(guī)則和各個連桿的長度,建立如圖1所示的七自由度機械臂D-H坐標系,可得到如表1所示的機械臂連桿結(jié)構(gòu)參數(shù).
圖1 七自由度機械臂D-H坐標系Fig.1 7-DOF manipulator D-H coordinate system
坐標系{i}相對于坐標系{i-1}的坐標變換矩陣如下
已知目標位姿(xt,yt,zt,α,β,γ),則建立逆運動學(xué)求解等式
式(2)中,[nx,ny,nz]T、[ox,oy,oz]T、[ax,ay,az]T為機械臂末端的俯仰角、偏航角和滾轉(zhuǎn)角,[xt,yt,zt]T為機械臂末端的位移.依據(jù)所建立的D-H坐標系對七自由度機械臂逆運動學(xué)模型求解[22].由于構(gòu)型設(shè)計上符合存在封閉解的Pieper準則[23],可求解出各個關(guān)節(jié)角的解析解方程,得到解析的運動學(xué)模型.
機械臂的運動規(guī)劃需要各個關(guān)節(jié)的控制器依據(jù)模型的參數(shù)進行計算才能實施.機械臂運動控制是依靠各個關(guān)節(jié)執(zhí)行器來達到目標位姿.本文所用機械臂的關(guān)節(jié)控制器是采用PID進行調(diào)節(jié)的.具體PID控制框圖如圖2所示.
圖2中,y表示七自由度機械臂期望的末端位置,表示七自由度機械臂期望的末端速度,表示七自由度機械臂期望的末端加速度;Pd表示規(guī)劃軌跡的期望位置;ωi(i=1···7)表示關(guān)節(jié)位置,i(i=1···7)表示關(guān)節(jié)速度,i(i=1···7)表示關(guān)節(jié)加速度;x、、分別表示七自由度機械臂末端期望位置、期望速度和期望加速度.
圖2所示關(guān)節(jié)控制器采用三閉環(huán)的位置隨動系統(tǒng),位置環(huán)使得各個關(guān)節(jié)到達指定的位置,速度環(huán)使得各個關(guān)節(jié)的速度能夠按照要求的量進行轉(zhuǎn)動,電流環(huán)可以防止速度過載從而提升系統(tǒng)穩(wěn)定性.
關(guān)節(jié)位置控制器是位置式PID控制器為
式中,O(k)表示第k次的關(guān)節(jié)轉(zhuǎn)動輸出,p表示可調(diào)節(jié)的比例系數(shù),TI表示控制器的積分常數(shù),i表示可調(diào)節(jié)的積分系數(shù),Ts表示采樣周期,Td表示微分常數(shù),d表示可調(diào)節(jié)的微分系數(shù),e(k)表示第k次的關(guān)節(jié)轉(zhuǎn)動偏差.
表1 機械臂D-H坐標系參數(shù)Table 1 D-H coordinate system parameters of manipulator
圖2 機械臂PID控制框圖Fig.2 Manipulator PID control block diagram
在對機械臂控制系統(tǒng)進行隱蔽攻擊時,需要獲得足夠的先驗知識,由于通常只能獲取部分機械臂相關(guān)的知識,在這種情況下是幾乎不能夠?qū)嵤╇[蔽攻擊,因此需要通過一些措施獲取機械臂控制系統(tǒng)模型.本文將群智能優(yōu)化算法引入到七自由度PID參數(shù)辨識過程中,利用多種群粒子群優(yōu)化系統(tǒng)辨識算法得到七自由度機械臂最佳匹配模型參數(shù),并將其應(yīng)用到隱蔽攻擊方法中.
混沌粒子群算法(Chaotic particle swarm optimization,CPSO)[24]以及基本粒子群算法(Particle swarm optimization,PSO)[25]等隨著算法的搜索空間的維度增加其獲取全局最優(yōu)值的效率會大大降低.多種群粒子群優(yōu)化算法(Multi-swarm particle swarm optimization,MPSO)[26]是在 PSO上進化而來的一種優(yōu)化算法,其核心思想是將種群隨機劃分成幾個子群,子群內(nèi)部按照PSO算法的流程進行迭代更新,并且子群之間共享信息從而幫助整個種群更好地尋優(yōu).
多種群粒子群優(yōu)化算法采取的是主從策略,按照種群之間的競態(tài)關(guān)系可以將多種群粒子算法分為競爭型和合作型.合作型多種群粒子群優(yōu)化算法相對于競爭型而言少了一個遷移因子.本文采用競爭型多種群粒子群算法中主種群的更新策略如下:
式中,1≤i≤n;Xi及Vi為第i次迭代位置與速度;w是慣性權(quán)重,c1,c2,c3是主種群和從種群中粒子的學(xué)習權(quán)重;r1,r2,r3是主種群和從種群中粒子隨機真值,取值為0≤r1,r2,r3≤1;分別是主種群的局部最優(yōu)位置和全局最優(yōu)位置;是從種群的全局極值位置;φ是遷移因子,如果從種群中的全局最優(yōu)位置大于主種群中的全局最優(yōu)位置,則 φ=1,如果從種群中的全局最優(yōu)位置和主種群中的全局最優(yōu)位置處于同等水平,則 φ=0.5,如果從種群中的全局最優(yōu)位置低于主種群中的全局最優(yōu)位置,則 φ=0.由從種群和主種群的全局最優(yōu)位置來搜索整個種群的最優(yōu).
基于前述機械臂PID控制模型可知,每個關(guān)節(jié)都有6個參數(shù)需要辨識,因此使用多種群粒子群系統(tǒng)辨識對七自由度機械臂進行辨識的參數(shù)為42個.實現(xiàn)基于多種群粒子群算法的七自由度機械臂運動控制模型的系統(tǒng)參數(shù)辨識方法的詳細步驟如下:
1)將群體中的n個粒子隨機初始化到解空間中.根據(jù)七自由度機械臂系統(tǒng)模型參數(shù)待辨識的個數(shù)設(shè)置粒子的維度為42,并在隨機初始化粒子的起始位置和起始速度.這些初始化了的粒子構(gòu)成了七自由度機械臂的系統(tǒng)參數(shù)解集合并設(shè)定好學(xué)習權(quán)重c1,c2,c3的初始值以及慣性權(quán)重w的初始值等.
2)劃分群體為多個種群.將種群劃分成多個群體,群體的個數(shù)為s,劃分的方式如下:對所有的粒子進行編號,編號為1的粒子劃分進1號子群體中,2號粒子劃分進2號子群體中,i號粒子劃分進s號子群體中,i+1號粒子被劃分進1號子群體中,以此類推,通過這種方式將整個種群劃分成多個子群.劃分完畢的種群中選擇全局最優(yōu)位置所在的子種群為主群,其余子群為從子群.
3)通過適應(yīng)度函數(shù)來計算每個子群中粒子對應(yīng)的適應(yīng)值和更新的學(xué)習因子c1i,c2i,c3i及權(quán)重wi.
4)主種群更新.主群根據(jù)迭代方程更新群體中粒子的速度和位置,更新公式如下:
5)從子群更新.在更新從子群的時候采用下面的步驟進行.
a)確定從子群參數(shù)的可行域[a,b],設(shè)置混沌算法初始化參數(shù).
b)通過Logistic映射引入混沌變量,Logistic映射公式為z=μz(1-z),其中,z表示混沌域并且z∈(0,1),μ為Logistic參數(shù),取值范圍為μ∈[3.5699456,4].對于粒子位置向量x映射到Logistic方程定義域上得
c)從子群更新粒子的位置以及速度,使用的方程為
搜索過程中將混沌序列使用方程
將粒子逆映射到原來的空間中去.
6)計算從子群中每個粒子的適應(yīng)度函數(shù)值.對這些粒子的位置和粒子歷史最優(yōu)值進行比較,如果優(yōu)于的話則更新粒子的主種群以及從種群中的粒子最優(yōu)值,分別得到
7)判斷當前位置是否為優(yōu)于全局最優(yōu)值.如果是的話,則將當前位置賦給全局最優(yōu)值Pg.
8)判斷迭代是否符合終止要求.將設(shè)定的迭代次數(shù)值和算法當前的迭代次數(shù)進行比較,如果達到了則算法終止,否則,算法將跳轉(zhuǎn)到步驟4繼續(xù)執(zhí)行.
七自由度機械臂的多種群粒子算法系統(tǒng)辨識的基本流程圖如圖3所示.
本文在工業(yè)以太網(wǎng)EtherCAT總線上搭建了七自由度機械臂控制和攻擊測試平臺,該平臺主要包含了EtherCAT主站、工業(yè)交換機、EtherCAT從站、七自由度機械臂以及攻擊者.提出的平臺中各個設(shè)備之間的關(guān)系如圖4所示.
圖3 七自由度機械臂的多種群粒子算法系統(tǒng)辨識基本流程圖Fig.3 Basic flow chart of MPSO system identification for 7-DOF manipulator
圖4 系統(tǒng)整體架構(gòu)圖Fig.4 System architecture
EtherCAT主站采用EtherCAT主站軟件架構(gòu),在Linux原有的任務(wù)調(diào)度的基礎(chǔ)上移植xenomai,擴展Linux操作系統(tǒng)的在嚴格通信要求上的任務(wù)調(diào)度.采用改進的開源主站SOME連接EtherCAT從站讀取機械臂的狀態(tài)信息并向機械臂控制系統(tǒng)中寫入命令字.
工業(yè)交換機在工業(yè)控制系統(tǒng)中用于將工業(yè)以太網(wǎng)數(shù)據(jù)轉(zhuǎn)發(fā)到各個受控對象,但同時也提供給攻擊者一種入侵方式.在本文中通過工業(yè)型交換機攻擊七自由度機械臂.
EtherCAT從站主要包含了基于lan9252設(shè)計的EtherCAT從站多協(xié)議網(wǎng)關(guān)以及插入FC1100 PCI卡的主機組成的標準EtherCAT從站系統(tǒng).本文中設(shè)計的EtherCAT從站多協(xié)議網(wǎng)關(guān)用于連接機械臂等多種實驗設(shè)備,該網(wǎng)關(guān)電路上主要包含了EtherCAT從站專用控制芯片LAN9252、標準以太網(wǎng)接口電路、電源管理電路、STM32的外圍設(shè)備電路及調(diào)試電路等,如圖5所示.
攻擊者由標準計算機搭載Kali Linux系統(tǒng),通過工業(yè)交換機接入EtherCAT通信網(wǎng)絡(luò)中.EtherCAT協(xié)議在設(shè)計的時候并沒有考慮連接的安全性來保護主站和從站之間的通信.因此,很容易受到媒體訪問控制(Media access control, MAC)欺騙.本文采用了MAC地址欺騙的方法,由于該方法的實施效果取決于工業(yè)交換機整體性能,本文在實施實驗時不進行相應(yīng)的研究.EtherCAT協(xié)議實施中間人攻擊的流程如圖6所示.
圖5 EtherCAT從站多協(xié)議網(wǎng)關(guān)硬件結(jié)構(gòu)圖Fig.5 EtherCAT slave multi-protocol gateway hardware structure diagram
圖6 EtherCAT中間人攻擊示意圖Fig.6 EtherCAT man-in-the-middle attack diagram
圖中MAC_S表示EtherCAT從站的MAC地址,MAC_M表示EtherCAT主站的MAC地址,MAC_A表示攻擊者根據(jù)主站和從站通信獲得的主站以及從站偽造地址,根據(jù)欺騙的過程進行修改,Src表示通信過程中數(shù)據(jù)的源地址,Dst表示通信過程中數(shù)據(jù)的目的地址,ECAT_P,ECAT_PS,ECAT_PR表示數(shù)據(jù)包中的EtherCAT幀,ECAT_PS_M,ECAT_PR_M表示修改后的EtherCAT幀,oth_表示為了實施中間人構(gòu)建的其他包.攻擊者采用持續(xù)的發(fā)送數(shù)據(jù)包來充當主站從站來進行數(shù)據(jù)的篡改與轉(zhuǎn)發(fā).
根據(jù)系統(tǒng)整體架構(gòu)搭建的工業(yè)以太網(wǎng)下的七自由度機械臂平臺如圖7所示.其中工業(yè)型交換機是整個系統(tǒng)的連接樞紐,工作人員通過工業(yè)型交換機可以遠程控制ROS-EtherCAT主站;ROSEtherCAT主站通過工業(yè)交換機線性連接FC1100以及4塊EtherCAT從站多協(xié)議網(wǎng)關(guān),構(gòu)成EtherCAT總線通信系統(tǒng),并且有1塊EtherCAT從站多協(xié)議網(wǎng)關(guān)通過CAN總線連接七自由度機械臂.攻擊者通過工業(yè)型交換機接入整個通信網(wǎng)絡(luò)中,在圖中并未展示出來.
本文提出的七自由度機械臂隱蔽攻擊原理如圖8所示.
圖中攻擊者主要通過對被攻擊的機械臂運動學(xué)模型知識以及機械臂關(guān)節(jié)的控制模型知識構(gòu)建一個類似于機械臂控制器的隱蔽控制器,其中隱蔽控制器的參數(shù)通過前面章節(jié)所提出的基于混沌理論的多種群粒子群的PID參數(shù)辨識算法獲得.使用構(gòu)造的PID攻擊函數(shù)對控制器的輸出添加一個偏差對機械臂的各個關(guān)節(jié)的實際輸出造成影響,然后對各個關(guān)節(jié)的反饋值減去添加偏差應(yīng)該產(chǎn)生的影響值,從而欺騙控制器,讓機械臂系統(tǒng)認為當前機械臂的執(zhí)行已經(jīng)到達了目標位置及姿態(tài),從而完成隱蔽攻擊的目的.機械臂的運動規(guī)劃模型主要在攻擊的時候讓機械臂的位姿到達指定的攻擊姿態(tài),達到預(yù)期的攻擊效果.為各個關(guān)節(jié)的實際輸出值,其中n=7,為各個關(guān)節(jié)的反饋欺騙值,其中n=7.
圖7 七自由度機械臂系統(tǒng)平臺Fig.7 7-DOF manipulator system platform
圖8 七自由度機械臂隱蔽攻擊原理圖Fig.8 7-DOF manipulator covert attack schematic
首先從協(xié)議的角度對七自由度機械臂展開攻擊,因為EtherCAT協(xié)議對于拒絕服務(wù)攻擊(Denial of service, DoS)沒有任何抵抗措施,因此本文進行EtherCAT協(xié)議攻擊的部署相對簡單.EtherCAT協(xié)議在部署過程中,只有主站能夠修改從站的狀態(tài)機狀態(tài),而EtherCAT從站只有在運行狀態(tài)才能進行周期性通信過程,因此對EtherCAT從站狀態(tài)機進行攻擊會導(dǎo)致機械臂無法進行正常工作,這種攻擊很容易被操作人員發(fā)現(xiàn)或者被入侵檢測系統(tǒng)檢測到.本文根據(jù)EtherCAT主從通信過程編寫了一個可以攻擊同一網(wǎng)段下的任一從站的狀態(tài)機攻擊程序,攻擊過程及效果如圖9所示.
圖9 狀態(tài)機攻擊.(a)狀態(tài)機攻擊執(zhí)行圖;(b) ROS-EtherCAT 主站狀態(tài)檢測Fig.9 State machine attack: (a) state machine attack execution diagram;(b) ROS-EtherCAT master status detection
從圖中可以看到攻擊期間,ROS-EtherCAT主站檢測到了有從站沒有進入運行狀態(tài),主站讀取從站中的映射值出現(xiàn)了錯誤,當停止了狀態(tài)機攻擊之后,主站將從站的狀態(tài)由錯誤狀態(tài)恢復(fù)至正常運行狀態(tài),這種攻擊方式可以直接造成機械臂系統(tǒng)無法進行正常的操作而保持上次正常規(guī)劃執(zhí)行完的位姿,但很容易被操作人員發(fā)現(xiàn).
正弦攻擊具有較好的隱蔽性,一般的入侵檢測系統(tǒng)很難檢測到正弦攻擊造成的異常.正弦攻擊的幅度值以及頻率值都能夠改變,對其進行傅里葉變換分析可以發(fā)現(xiàn)其能量分布極其集中,因此能造成更強的攻擊后果,本文在七自由度機械臂上同樣構(gòu)建了正弦攻擊.正弦攻擊下的效果圖如圖10所示.
從正弦攻擊與正常工作下的機械臂的速度曲線上可以看到,正弦攻擊下速度出現(xiàn)明顯的頻率變化以及幅度變化,在位置曲線上有明顯的波動出現(xiàn),而正常工作下的速度曲線以及位置曲線都很平滑.并且在ROS-EtherCAT主站上可以看到控制系統(tǒng)報出執(zhí)行出錯的重大錯誤,機械臂并未按照正常的軌跡規(guī)劃去執(zhí)行.
由于EtherCAT通信網(wǎng)絡(luò)上有多個EtherCAT從站設(shè)備,導(dǎo)致數(shù)據(jù)量相比單個設(shè)備來說要多很多,因此,需要分析數(shù)據(jù)結(jié)構(gòu),找出七自由度機械臂相應(yīng)數(shù)據(jù),對于機械臂數(shù)據(jù)的分析假設(shè)攻擊者已經(jīng)獲得了部分關(guān)于機械臂控制器的知識,如圖11所示,從抓取的網(wǎng)絡(luò)包中,分析屬于機械臂的通信數(shù)據(jù),其中紅色方框中為七自由度機械臂通信時的一幀數(shù)據(jù).
圖10 正弦攻擊.(a)正常工作下的速度位置曲線;(b)正弦攻擊下的速度位置曲線;(c) ROS-EtherCAT主站狀態(tài)Fig.10 Sinusoidal attack: (a) speed position curve under normal working; (b) speed position curve under sinusoidal attack; (c) ROS-EtherCAT master status
從數(shù)據(jù)的傳輸格式來看,EtherCAT上傳輸?shù)臄?shù)據(jù)采用的是大端模式,七自由度機械臂上CAN總線數(shù)據(jù)按照幀格式可以看到數(shù)據(jù)為幀ID,為0x107, 數(shù)據(jù)長度(Data length count, DLC)為 0x06,接下來的為數(shù)據(jù)區(qū),數(shù)據(jù)分別為0x05、0x9c、0x34、0x16、0x00、0x00、0x00、0x00.基于圖11(a)分析得到的EtherCAT總線傳輸?shù)臄?shù)據(jù)格式,結(jié)合關(guān)節(jié)控制器內(nèi)存控制表信息(圖11(b)),根據(jù)提出的多種群粒子群的七自由度系統(tǒng)辨識算法對七自由度機械臂系統(tǒng)進行參數(shù)辨識.首先,根據(jù)上述得到的傳輸數(shù)據(jù)將群體中的n個粒子隨機初始化到解空間,劃分群體為多個種群,通過適應(yīng)度函數(shù)來計算每個子群中粒子對應(yīng)的適應(yīng)值,然后主種群、從子群更新,計算從子群中每個粒子的適應(yīng)度函數(shù)值,判斷當前位置是否為優(yōu)于全局最優(yōu)值.需要辨識的參數(shù)有42個,通過上述過程得到相應(yīng)的最優(yōu)值.表2列出了關(guān)節(jié)6和關(guān)節(jié)7參數(shù)辨識結(jié)果,其中位置PID參數(shù)為外環(huán)控制關(guān)鍵參數(shù),速度PID為內(nèi)環(huán)控制關(guān)鍵參數(shù),位置外環(huán)參數(shù)是速度內(nèi)環(huán)的輸入.從真實值和辨識值之間的對比,可以看到本文提出的系統(tǒng)辨識算法辨識效果良好.
根據(jù)本文提出的七自由度機械臂隱蔽攻擊模型,七自由度系統(tǒng)辨識參數(shù)以及七自由度機械臂的運動學(xué)模型構(gòu)建出的攻擊,攻擊函數(shù)采取正弦攻擊函數(shù),攻擊效果如圖12所示.從圖12(a)中可以看到ROS-EtherCAT主站在攻擊者進行隱蔽攻擊時并未檢測到任何異常,并且認為機械臂已經(jīng)到達了目標位姿,而圖12(b)是機械臂的真實位姿狀態(tài),和圖12(a)中顯示的位姿有明顯差異,從而驗證了本文提出的七自由度機械臂隱蔽攻擊技術(shù)的實施具有良好的隱蔽性,根據(jù)需要造成的破壞大小構(gòu)造出攻擊函數(shù)能夠造成很嚴重的后果.
從不同的角度對比上述攻擊,如表3所示.本文提出的七自由度機械臂隱蔽攻擊技術(shù)在實施上比較復(fù)雜,但是在保證破壞性的情況下具有較好的隱蔽性.
圖11 七自由度機械臂通信數(shù)據(jù).(a)通信數(shù)據(jù)格式;(b)機械臂部分內(nèi)存表信息Fig.11 7-DOF manipulator communication data:(a) communication data format;(b) part of memory table information of the robot arm
表2 部分辨識值和真實值Table 2 Partially recognized value and true value
圖12 隱蔽攻擊.(a) ROS-EtherCAT 主站狀態(tài);(b) 機械臂真實狀態(tài)Fig.12 Covert attack:(a) ROS-EtherCAT master status;(b) manipulator real state
表3 機械臂攻擊對比Table 3 Manipulator attack comparison
本文提出了基于七自由度機械臂的隱蔽攻擊方法.對七自由度機械臂進行了運動學(xué)規(guī)劃建模,并對粒子群算法進行了研究;提出了基于混沌理論的多種群粒子群優(yōu)化的七自由度PID參數(shù)辨識算法.設(shè)計了隱蔽攻擊系統(tǒng)架構(gòu)并搭建了實驗平臺,利用所提出的算法對本文中的機械臂控制系統(tǒng)的參數(shù)進行辨識,使用辨識的參數(shù)結(jié)合隱蔽攻擊原理進行了攻擊實驗,并且將所提出的隱蔽攻擊技術(shù)與協(xié)議的狀態(tài)機攻擊以及傳統(tǒng)的正弦攻擊進行了比較.實驗表明所提出的七自由度機械臂的系統(tǒng)辨識算法能夠較好的辨識系統(tǒng)參數(shù),并且能很好的應(yīng)用于機械臂的隱蔽攻擊中,驗證了所提方法的可行性.本文所構(gòu)建的攻擊實驗平臺為機械臂的攻防試驗提供了物理基礎(chǔ),該平臺對于類似研究者有一定的借鑒意義.
值得注意的是,本文在機械臂的隱蔽攻擊實驗中,仍然存在許多不足:機械臂的控制中由于傳感器的精度問題,導(dǎo)致控制精度不是很高;本文并未對七自由度機械臂的動力學(xué)進行研究,因此提出的基于混沌優(yōu)化多種群粒子群七自由度機械PID參數(shù)辨識算法并未對機械臂的動力學(xué)進行辨識.