旅行訂票系統(tǒng)每天為千萬(wàn)人服務(wù),但其安全性嚴(yán)重滯后,旅行訂票系統(tǒng)的安全還停留在90年代,缺乏現(xiàn)代身份驗(yàn)證方法。一組研究人員分析了在線訂票生態(tài)系統(tǒng)后發(fā)現(xiàn):攻擊者可以很容易地修改他人的預(yù)訂,取消他們的航班,甚至使用退票款來(lái)為自己訂票。
全球分銷(xiāo)系統(tǒng)(GDS)是旅游機(jī)構(gòu)、航空公司、酒店和租車(chē)公司廣為使用的一套系統(tǒng)。柏林咨詢機(jī)構(gòu)安全研究實(shí)驗(yàn)室的研究人員,花費(fèi)數(shù)月調(diào)查了該系統(tǒng)的安全性。上個(gè)月底舉行的第33屆混沌通信大會(huì)上,他們展示了自己的研究結(jié)果。
GDS是可追溯到巨型機(jī)時(shí)代的數(shù)據(jù)庫(kù),有關(guān)旅行預(yù)訂的所有信息都存儲(chǔ)其中,比如出行者的姓名、旅行日期、路線、票務(wù)詳情、手機(jī)和郵件聯(lián)系人、護(hù)照信息、信用卡號(hào)、座位號(hào)和行李信息。所有這些數(shù)據(jù)組成了所謂的旅客訂座記錄(PNR)。
世界三大GDS運(yùn)營(yíng)商是Sabre、Travelport和Amadeus,他們隨時(shí)存有數(shù)億旅客的PNR。對(duì)訂座記錄的任何增刪改操作都存儲(chǔ)在他們的系統(tǒng)中,而訪問(wèn)這些記錄所要求的全部憑證,通常僅僅是您的姓氏和一個(gè)6字符的預(yù)訂代碼。
可從多個(gè)接入點(diǎn)訪問(wèn)這些系統(tǒng),其中包括航空公司和旅游公司運(yùn)營(yíng)的網(wǎng)站,但像CheckMyTrip這樣的第三方網(wǎng)站也能訪問(wèn)。即便其中一些接入點(diǎn)要求更多信息以驗(yàn)證用戶——比如要求完整姓名而不單單是姓氏,PNR的防護(hù)依然是整個(gè)鏈條中最弱的一環(huán)。
舉個(gè)例子,如果一次預(yù)訂包括多個(gè)航線的不同航班,該預(yù)訂信息便可通過(guò)其中任何一家航空公司的網(wǎng)站進(jìn)行訪問(wèn)和修改。
預(yù)訂代碼本身根本不是什么秘密。大多數(shù)人每次落地后即撕掉的行李標(biāo)簽上就印有——即便他們的整個(gè)旅程尚未結(jié)束。相當(dāng)多的旅行者有在社交媒體上曬機(jī)票車(chē)票的習(xí)慣,然而,票據(jù)上印的二維碼中就嵌入了他們的預(yù)訂代碼。
很多航空公司和旅程查詢網(wǎng)站對(duì)代碼輸錯(cuò)次數(shù)沒(méi)有任何限制,讓暴力猜解攻擊得以橫行。研究人員采用自動(dòng)化方法,僅數(shù)分鐘就找到了大眾姓氏的預(yù)訂代碼匹配。
而且,GDS只使用大寫(xiě)字母登記,進(jìn)一步縮減了暴力拆解預(yù)訂代碼的嘗試次數(shù)。為避免跟字母I和O混淆,其中一套系統(tǒng)根本不使用數(shù)字1和0。另外兩套系統(tǒng)則是順序增加代碼,讓攻擊者可以快速劃定需要搜索的代碼范圍。
旅行機(jī)構(gòu)有自己的GDS主登錄憑證,但這些賬戶往往使用非常弱的口令。一個(gè)案例中,該口令以“WS”打頭(意指“ Web Service ”),即Web服務(wù),后跟登錄當(dāng)天的日期(DDMMYY格式)。這種口令很容易被暴力破解,但很不幸,這已經(jīng)是研究人員觀察到的最復(fù)雜的旅行機(jī)構(gòu)口令了。
除了訪問(wèn)他人預(yù)訂數(shù)據(jù)這種明顯的隱私侵犯,攻擊者還能濫用此類(lèi)信息牟利。比如,他們可以將自己的常旅客號(hào)添加到別人的長(zhǎng)途航班中,為自己收獲獎(jiǎng)勵(lì)里程。研究人員表示,這種技術(shù)在現(xiàn)實(shí)中已經(jīng)在用了。
取消航班這種事,攻擊者也可以做到的。如果機(jī)票是沒(méi)有退票限制的,他們還可以使用航空公司的“退款”購(gòu)買(mǎi)其他機(jī)票供自己使用。
他人準(zhǔn)確旅行計(jì)劃信息,還可以助攻網(wǎng)絡(luò)釣魚(yú)攻擊活動(dòng)。不妨想象一下:如果收到剛剛訂了機(jī)票的航空公司的郵件,說(shuō)是支付失敗,需要重新錄入信用卡信息,你會(huì)怎么做?大多數(shù)人恐怕就直接遵從要求輸入了,連核實(shí)一下郵箱真實(shí)性都沒(méi)考慮。
最恐怖的是,GDS數(shù)據(jù)庫(kù)根本沒(méi)有日志。也就是說(shuō),根本沒(méi)辦法查出都有誰(shuí)訪問(wèn)了特定記錄,有多少記錄濫用存在這些系統(tǒng)中。
對(duì)這些系統(tǒng)而言,理想情況就是開(kāi)始要求訪問(wèn)個(gè)人PNR必須持有恰當(dāng)?shù)目诹?,但這是個(gè)相當(dāng)長(zhǎng)期的目標(biāo),因?yàn)樵撋鷳B(tài)系統(tǒng)中的所有玩家——旅行機(jī)構(gòu)、航空公司、酒店、車(chē)輛租賃公司等等,需要跟上這種變化,同步進(jìn)行。
短期來(lái)看,至少我們可以期待提供旅客個(gè)人信息訪問(wèn)的網(wǎng)站具備最低限度的Web安全性,這里面就包括了起碼的速度限制。而在口令和其他安全措施成為常態(tài)之前,我們有權(quán)知道誰(shuí)訪問(wèn)了我們的記錄,也就是,必須要有一定程度的可審計(jì)性,尤其是在知道這些系統(tǒng)如此不安全的今天!