楊 雪,陶永紅
(浙江警察學院計算機與信息技術系,浙江 杭州 310053)
近年來,一些高等院校把計算機取證作為法學和信息安全領域的新學科,陸續開設計算機取證課程以培養專業的取證技術人才[1-4]。隨著移動嵌入式設備市場的蓬勃發展,計算機取證課程的研究對象也從傳統的桌面電腦擴展到智能手機、無人機等移動嵌入式設備。
無人機(Umanned aerial vehicles,UAV)即空中機器人,可通過與成像設備等部件相結合擴展應用場景,被廣泛用于航拍、農林、安防、電力等領域[5]。全球移動互聯網第三方數據挖掘和分析機構iiMedia Research于2016年9月8日發布《2016年中國無人機行業研究報告》稱2015年我國民用消費級無人機市場規模約為8億元,預計2019年中國消費級無人機市場規模或將超過240億元,未來市場容量十分可觀[6]。
隨著民用無人機市場的擴張,窺探他人隱私、間諜、侵入國家要害部門、危害航空安全等惡意使用無人機的行為也進一步擴大[7]。2015年1月26日凌晨,一架中國大疆牌小型無人機闖入并墜落在白宮南坪,這一意外事件引發外界對白宮安全的擔憂[8]。2015年5月14日,一架法國Parrot公司生產的Bebop Drone無人機在白宮附近飛行,令白宮一度陷入封鎖[9]。2015年,媒體報道稱犯罪分子駕駛無人機向貝德福德監獄內運輸毒品和刀具等違禁物品[10]。2017年1月16日浙江省公安廳在“1.15蕭山機場附近空域無人機事件情況通報”中稱,2017年1月15日19時許,杭州市民袁某使用型號為“御”的大疆無人機,在距離杭州蕭山機場8.5公里處升空拍攝多架途徑的民航飛機,空中拍攝過程約10分鐘,給航空安全帶來極大隱患[11]。
為了使學生充分認識新技術可能帶來的威脅,我們在計算機取證課程中增設“無人機飛行路徑取證實驗”項目,以Parrot Mini-Drones無人機[12]為例,實現對無人機飛行路徑的取證。
Parrot Mini-Drones是Parrot公司的一款入門級無人機,重量約55g,充滿電后可續航時間為8分鐘,售價約700元人民幣。用戶通過在手機、平板電腦等設備中安裝Parrot FreeFlight APP控制其飛行。Parrot Mini-Drones無人機如圖1所示。

圖1 Parrot Mini-Drones無人機
無人機飛行路徑取證屬于綜合性實驗,要求學生掌握提取無人機內部數據、數據分析以及飛行路徑重建的方法。此外,還需考慮通過合適的方式展現取證結果。
Parrot無人機系統是開放的,用戶可以通過telnet、ftp及mini-USB接口等三種方式訪問無人機中存儲的數據[13]。本次實驗通過mini-USB連接線把Mini-Drones連接到電腦,讀取一個名為Airborne_Cargo的目錄,該目錄包含三個子目錄:academy、media和thumb,如圖2所示。經查看發現,media目錄下保存的是用戶使用無人機拍攝的多媒體文件,thumb目錄下保存的是media目錄中多媒體文件的縮略圖。academy目錄下保存了一些.pud文件,這些.pud文件記錄了無人機的飛行路徑,是需要重點分析的對象。圖3展示了academy目錄下存儲的部分.pud文件。

圖2 通過mini-USB接口讀取Mini-Drones目錄結構

圖3 academy目錄下存儲的.pud文件
Parrot Mini-Drones通過.pud文件記錄飛行軌跡,這些.pud文件的文件名包含了某次飛行開始的日期和時間信息。例如:0909_2016-04-12T191618+0000_21640A.pud的文件名記錄了無人機的某次飛行開始時刻為2016年4月12日19時16分18秒。

圖4 .pud文件的頭部元信息
使用hexedit查看.pud文件的內容,發現文件頭部包含一串JSON格式的元信息,記錄了無人機飛行時間、無人機序列號、無人機控制器型號及控制軟件等,這些.pud文件的頭部元信息格式如圖4所示。元信息中最重要的一個字段是details_headers,它描述了除元信息以外的無人機飛行數據在.pud文件中的組織方式,表1展現了details_headers字段。在一次飛行中,Parrot Mini-Drones會對軌跡進行多次采樣,并把采樣到的飛行數據按照details_headers描述的格式和長度存儲到.pud文件中。因此,在進行無人機取證實驗時,可以按照details_headers提供的數據存儲模板解析.pud文件的數據,提取無人機所處的經度、緯度和高度等信息,對無人機的飛行路徑進行取證。

表1 details_headers字段信息
Parrot Mini-Drones使用.pud文件記錄飛行數據,每個.pud文件都包含頭部元信息區和數據區。頭部元信息區記錄包含details_headers字段在內的飛行屬性;數據區包含多次采樣得到的飛行路徑數據,這些數據按照details_headers描述的格式存儲。圖5為.pud文件的存儲結構示意圖。
在本實驗中,讀取Parrot Mini-Drones存儲的.pud文件后,先依照JSON格式解析頭部元信息區域,提取飛行時間、無人機序列號、控制無人機飛行的設備及details_headers等字段信息;然后,識別details_headers字段中描述的數據存儲模板;最后,再根據識別到的模板解析飛行數據,獲得飛行路徑。
為了更直觀地顯示取證獲得的無人機飛行路徑,需要把.pud文件中存儲的軌跡信息轉換為能被地圖軟件識別的格式。
KML是開放地理空間信息聯盟(Open Geospatial Consortium,OGC)支持的一種國際標準[14],它基于XML標注來描述地理位置信息,能夠被谷歌地圖、奧維互動地圖等Web應用加載。因此,我們選擇將本取證實驗獲得的飛行路徑存儲為KML文件,重建無人機飛行路徑的實驗流程如圖6所示。

圖5 .pud文件存儲格式示意圖

圖6 無人機飛行路徑取證實驗流程
根據上述實驗設計,引導學生采用Python 2.7編程環境,編寫python腳本對Parrot Mini-Drones無人機進行數據提取、分析及飛行路徑取證,并將獲得的飛行路徑存儲為KML格式加載到谷歌地圖中展示。具體實驗操作如下。
首先,提取Parrot Mini-Drones中存儲的數據,按照.pud文件的格式分別解析它的頭部元信息及數據。結果顯示成功獲得該無人機的飛行時間(2016年04月12日19時16分18秒)、序列號(PI040351AF5L092588)、用戶控制無人機飛行的設備(iPad)及所使用的應用程序(freeflight3)等。對某.pud文件的解析結果如圖7所示。

圖7 解析.pud文件
其次,把飛行路徑日志文件中包含的地理位置信息存儲為KML格式,再將該KML文件導入到谷歌地圖中。圖8展示了KML格式的飛行路徑,其中每行記錄的三個數值分別對應該軌跡點的經度、緯度及飛行高度。圖9展示了將該飛行路徑導入到谷歌地圖后投影出的結果。

圖8 存儲為KML格式的飛行路徑

圖9 投影到二維地圖上的無人機飛行路徑
隨著移動嵌入式設備市場的蓬勃發展,計算機取證課程的研究對象也需要從傳統桌面電腦擴展到以智能手機、無人機等為代表的移動嵌入式設備。作為信息安全領域重要的實驗課程,計算機取證課程必須緊跟技術潮流,幫助學生了解、掌握新技術,并使他們意識到這些新技術可能帶來的威脅[15-16]。因而,我們在計算機取證實驗課程中新增無人機飛行路徑取證實驗這一項目,引導學生探究新問題。
本文以Parrot Mini-Drones無人機為例進行實驗項目的設計和驗證,在具體實驗過程中要求學生綜合運用Parrot Mini-Drones無人機數據提取、分析以及使用Python語言編程重建無人機飛行路徑等技能。經過教學實踐驗證,無人機飛行路徑取證實驗能夠激發學生的興趣,幫助他們初步掌握針對無人機進行取證操作的技能,達到了預期的教學效果。
參考文獻(References):
[1]宋秀麗,陳龍,鄧紅耀.計算機取證課程實驗教學探討[J].實驗室研究與探索,2007.9:47-51
[2]王群,李馥娟.計算機取證技術實驗室建設[J].實驗室研究與探索,2013.10:484-488
[3]吳同,韓臻,王健等.保密專業計算機取證實驗教學[J].計算機教育,2014.13:32-34
[4]王璐.計算機取證實驗室建設的研究與探討[J].信息網絡安全,2013.7:88-90
[5]畢凱,李英成,丁曉波等.輕小型無人機航攝技術現狀及發展趨勢[J].測繪通報,2015.3:27-48
[6]艾瑞咨詢.中國無人機行業研究報告[R/OL].(2016-09-08)[2017-03-22].http://www.iimedia.cn/44699.html.
[7]Parliamentive.tv.EU internal market,infrastructure and employment sub-committee[EB/OL].[2017-03-30].http://parliamentlive.tv/Event/Index/b940faed-2157-4a9c-91b1-bf408092ce6f.
[8]BBC News.Drone maker DJI bans Washington flights after White House Crash[N/OL].(2015.01.29)[2017.03.31].http://www.bbc.co.uk/news/technology-31023750.
[9]環球網法國制無人機再闖白宮[N/OL](2015-05-15)[2017-03-31].http://mil.huanqiu.com/aerospace/2015-05/6441705.html.
[10]Delgado M,Slater R.Drone packed with drugs,phones and knife flown into jail:remote-control device snared on razor wire at high-security prison[N/OL].(2015-03-22)[2017-04-04].http://www.dailymail.co.uk/news/article-3005925/Drone-packed-drugs-phonesknife-flown-jail-Remote-control-device-snared-razorwire-high-security-prison.html.
[11]網易新聞.浙江警方通報“蕭山機場附近空域無人機”事件[N/OL].(2017-01-16[2017-03-31].http://news.163.com/17/0116/18/CAU2S3N300018AOQ.html.
[12]Statista.Largest consumer drone vendors in 2014,based on estimated revenue in million U.S.dollars[R/OL].[2017.04.04].https://www.statista.com/statistics/431746/revenue-of-the-largest-drone-vendors/.
[13]Hackersome.Parrot bebop drone hacking[EB/OL].(2014.12.09)[2017.04.03].http://hackersome.com/p/matthewlloyd/bebop.
[14]OGC.ApprovesKMLasOpenStandard[R/OL].(2008-04-14)[2017-04-09].http://www.opengeospatial.org/pressroom/pressreleases/8.
[15]胡曉荷.計算機取證:興起中的需求[J].信息安全與通信保密,2010.5:7-9
[16]唐玲.計算機取證課程與學科建設[J].計算機科學,2014.b10:144-147