1. 程式人生 > >在智能手機上跟蹤ADS-B系統的飛機航線信息

在智能手機上跟蹤ADS-B系統的飛機航線信息

驗證 cer 航空公司 err san 重要 聯邦 dispatch ads

飛機飛行的中斷可能會給航空公司造成數十億美員的損失,但即便如此大多數現代商業航班仍舊依賴於存有嚴重安全問題的空中交通管制系統。到2020年,這些系統將會被升級為一個被稱之為NextGen的系統,該系統依賴於ADS-B(廣播式自動相關監視)系統。

“ADS-B Out”是ADS-B的基本功能,它負責將信號從飛機發送方經過視距傳播發送給地面接收站或者其他飛機。在本教程中,我將帶大家初步了解ADS-B系統,以及如何HACK ADS-B系統,並在智能手機上跟蹤飛機航線。

ADS-B有多重要?

你可以想象自己現在是一名飛行員,需要完成一次橫跨大西洋的飛行任務。在漆黑的夜晚,你主要依靠空中防撞系統(TCAS)來避免發生沖撞事故。再打個比方,現在在你飛行的方向突然出現了上百架的飛機。如果你此時你使用的是空客自動駕駛功能,那麽它將自動為你作出飛行選擇。

其次在安全方面例如在繁忙的節假日期間,針對主要機場的ADS-B系統的入侵可能造成的後果。大自然已經為我們提供了很好的案例,例如“洛杉磯機場數以千計的旅客的噩夢”,“冰島火山Eyjafjallaj?kull造成的飛機中斷”使航空公司成本高達17億美元等。而如今,黑客也可以做到這一點。

技術分享

圖為2010年4月15日(星期四)冰島火山爆發後ADS-B數據

本文我將為大家展示的是,對於“ADS-B In”和TCAS的欺騙攻擊的示例,它們在協作測距系統中協同工作,因為它們都建立在相同的基礎模式S數據鏈路上。這代表了FAA的NextGen系統中一種類型的漏洞,該類漏洞早在2001年9月18日就已經被公認。並在11年後的2012年的入侵事件中被證明。嘲諷的是到2016年,該類漏洞再次被一名黑客使用廉價的SDR設備入侵。

某些應用程序可能需要對ADS-B信息進行獨立驗證以檢測欺騙,這是提出安全性問題的方面。

— FAA’s Ron Jones (via AIN Online)

ADS-B是如何工作的?

ADS-B系統是一個集通信與監視於一體的信息系統,由信息源、信息傳輸通道和信息處理與顯示三部分組成。ADS-B的主要信息是飛機的4維位置信息(經度、緯度、高度和時間)和其他可能附加信息(沖突告警信息,飛行員輸入信息,航跡角,航線拐點等信息)以及飛機的識別信息和類別信息。此外,還可能包括一些別的附加信息,如航向、空速、風速、風向和飛機外界溫度等等。

ADS-B的應用分為兩類:發送(OUT)和接收(IN)。其中OUT是ADS-B的基本功能,它負責將信號從飛機發送方經過視距傳播發送給地面接收站或者其他飛機。ADS-B IN是指航空器接收其他航空器發送的ADS-B OUT信息或地面服務設備發送的信息,為機組提供運行支持和情境意識。他們每秒鐘以純文本,未加密和未認證的方式執行此操作,也正是ADS-B In功能,為我們打開了飛機欺騙攻擊的大門。

技術分享

廉價的DVB-T加密狗可以獲取250公裏範圍內的飛機ADS-B(飛機的身份,位置和速度)數據

盡管如此,ADS-B是FAA的NextGen系統的支柱。該系統旨在允許更多的飛機在特定空域內運行,同時增加安全性,減輕空中交通管制日益增加的負擔。

美國聯邦航空局甚至授權“在大多數受控制的美國領空飛行的飛機必須在2020年1月1日之前裝備ADS-B”,而不考慮ADS-B固有的安全問題的事實。美國聯邦航空局正在盡最大努力以500美元的獎勵說服大家使用ADS-B。

截至2017年8月,美國共約164,200架通用航空固定翼飛機已經裝備了約29000架,占比達到17%。但配備商用飛機的百分比要大得多,約6,670架飛機中有2,000架裝備,占比達到30%。

事實上FAA的Ron Jones,在Defcon 20的精彩演講(幻燈片)中,也指出了關於ADS-B系統存在的,包括幹擾,註入以及竊聽等基本安全問題。

如何HACK ADS-B?

雖然我們可以做到對飛機的數據欺騙,但這會造成嚴重的安全問題和影響並惹來牢獄之災。因此,本教程將只側重於ADS-B數據的接收。以下我們將會用到SDR,在之前我發布的文章做過介紹。只需插入25美金的SDR設備,將其調到1090 MHz即可!

技術分享

然而在實際情況中,我們只要一部智能手機就可以實現該功能。我們只需簡單的在手機上安裝Flightradar24或FlightAware這兩個應用,就可以實現對航班信息數據的實時跟蹤。

Step 1:安裝Flightradar24

Flightradar24應用,可在Google Play商店和iOS App Store中進行下載。需要說明的是該應用程序僅支持Android 4.1 / iOS 8.2或更高版本的系統。如果你的手機版本較舊,你也可以通過它的官方網站獲取信息。

Step 2:運行和帳戶設置

應用程序完成安裝後,當我們運行它時將會要求獲取我們的位置信息,我們點擊允許即可。這一步非常重要,將直接影響後續所有功能的實現,如增強現實。

技術分享

點擊右上角的登錄圖標。你將看到一個界面,為你提供免費試用版,我們根據提示點擊獲取。這裏需要我們註冊登錄,可以使用Facebook或Google賬戶登錄,它將自動為你創建一個新的帳戶。

技術分享

Step 3:設置調整

在主界面我們可以看到,左下角一個齒輪狀的設置圖標。我們可以定制自己喜歡的形式,例如更改地圖類型,在飛機圖標上放置標簽,添加地圖日/夜線等。

Step 4:雷達視圖觀察你周圍的飛機

以下是你打開APP在主界面看到的標準視圖。視圖中的飛機已用不同類型的圖標為你標出,想要獲取目標航班更多的信息,只需點擊相應的飛機圖標即可。

技術分享

你可能已經註意到Flightradar24,並未對一些較小型的飛機進行標註,如Cessnas和Pipers也被稱為通用航空。這是因為它們是以單獨的978 MHz頻率運行,而不是1090 MHz的商用飛機,Flightradar24和FlightAware等應用程序都不會對該頻率的流量解碼。

Step 5:AR視圖效果

現在我們可以使用應用程序中最酷的部分。點擊左上角的AR選項卡,並賦予APP使用你相機的權限。你也可以通過校準屏幕來提高其準確度。

技術分享

這裏應用程序在手機中使用慣性測量單元(IMU),與GPS配合使用,以估計你的位置。目前Flightradar24的數據庫支持查看全球約 60 %的航班信息,其中七成為歐洲航班,其它為美國航班。通過在overview和details之間的切換,可以幫助我們更好的獲取航班信息。

Step 6:3D視圖效果

另一個更酷的功能是,Flightradar24還可以為我們模擬類似於駕駛艙看到的視覺體驗。在地圖或AR視圖中選擇飛機後,點擊左下角的3D視圖即可。

技術分享

Step 7:開源威脅情報收集

如果你想了解更多有關特定航班的信息,你只需點擊“更多信息”圖標。

技術分享

隨後我們將獲取到一個曲線視圖,其中包含了飛機的類型,速度和高度。

技術分享

實際上,除了以上直觀的數據外,通過簡單的分析我們還可以得到一些其它的信息,比如他們到達巡航高度的時間(高度線變平),以及由於頭/尾風導致的飛行速度的減慢或加速。

Step 8:跟蹤全球的飛機

點擊底部欄上的 “Route” 圖標,它會為你顯示航班的位置。

技術分享

值得一提的是,Flightradar24嘗試使用了多點定位技術(MLAT),來盡可能的避免之前提到的一些漏洞,特別是對於欺騙的防範,並提供最準確的飛機線路圖。

MLAT(Multilateration,多點定位技術)利用多個地面接收機接收到機載應答機信號的時間差,計算得出飛機位置。機載應答機在T0發出信號,由於飛機距地面多個地面接收機的距離不同,會導致多個地面接收機接收到應答機信號的時間也不同,接收機1/2/3/4接收到信號的時間分別為T1/T2/T3/T4,這就表示,飛機到接收機1/2/3/4的距離分別為(T1-T0)*C(光速),(T2-T0)*C,(T3-T0)*C,(T4-T0)*C。知道了飛機到4個點的距離,就可以計算出飛機的位置了。(這樣解釋是為了便於理解,但事實上不是這麽計算的,因為我們無法獲知T0。實際的計算方式,是利用T1/T2/T3/T4之間的時間差,從而計算出飛機到4個接收機間的距離差,再計算出飛機的位置。多點定位是一種很常用的定位方式,在各行業都有應用,GPS也是一種多點定位,可以將MLAT想象為將GPS放到地上了)。

Flightradar24在其網站中聲稱:“歐洲和北美的大部分地區如今都覆蓋著大約3,000-10,000英尺的MLAT。在墨西哥,巴西,南非,印度,中國,日本,臺灣,泰國,馬來西亞,印度尼西亞,澳大利亞和新西蘭地區也有MLAT覆蓋。未來將會有更多的地區覆蓋MLAT,我們將繼續向我們的網絡添加新的接收器。“

Step 9:搜索特定航班信息

通過點擊主界面頂部的搜索欄來查詢數據庫。通過該功能你可以實時的查看和跟蹤,親人或朋友的航班是否已準時到達。或者你也可以像那位無聊的波音飛行員一樣,花費18個小時在美國版圖上畫出一架波音787客機。

技術分享

Step 10:添加提醒

在主界面,你還可以在底部欄的中央添加提醒。由於是免費試用版,因此自定義提醒功能無法使用,我們可以勾選”Squawk 7700 General Emergency”(緊急情況)選項。

技術分享

通過本文,我們對ADS-B及其漏洞有了初步的了解。在我的下篇文章中,我將教大家使用Rasberry Pi和RTL-SDR加密狗來構建我們自己的ADS-B接收機,盡請關註!

在智能手機上跟蹤ADS-B系統的飛機航線信息