我們已經(jīng)看到了多種形式的中間人攻擊,攻擊者反射或偽造用于對(duì)參與方身份進(jìn)行身份驗(yàn)證的信息——?從可以重新編程來(lái)“識(shí)別”錯(cuò)誤客戶的ATM卡,到對(duì)IFF的攻擊等。不過(guò),還有很多更復(fù)雜的攻擊形式,攻擊者不僅可以偽造身份信息,還可以采用某種方式對(duì)消息內(nèi)容進(jìn)行操縱。
一個(gè)實(shí)例是,不法出租車司機(jī)在計(jì)價(jià)器和變速箱傳感器的連線上連接一個(gè)脈沖生成器。當(dāng)推進(jìn)桿轉(zhuǎn)動(dòng)時(shí),傳感器就發(fā)出脈沖信號(hào),讓計(jì)價(jià)器計(jì)算出租車所走的路程。偽造設(shè)備插入了多余的脈沖,使出租車看起來(lái)走了更遠(yuǎn)的路。
另一個(gè)實(shí)例是密鑰日志攻擊。上世紀(jì)90年代,這種攻擊突破了歐洲的很多付費(fèi)電視系統(tǒng)。這種攻擊也叫延遲數(shù)據(jù)傳輸(delayed data transfer),或DDT。第一代付費(fèi)電視設(shè)備有一個(gè)解碼器(用于對(duì)視頻信號(hào)進(jìn)行解密)和一個(gè)生成解密密鑰的客戶智能卡。這些密鑰每幾百毫秒就用單向加密函數(shù)進(jìn)行重新計(jì)算,并以信號(hào)中出現(xiàn)的各種“授權(quán)控制消息”為函數(shù)參數(shù)。這種系統(tǒng)經(jīng)過(guò)了精細(xì)的設(shè)計(jì)(本書后面會(huì)討論一些針對(duì)這些系統(tǒng)的復(fù)雜攻擊),但有一種非常簡(jiǎn)單的攻擊方式對(duì)大多數(shù)這類系統(tǒng)適用。如果在智能卡和各個(gè)解碼器之間傳送的消息對(duì)所有解碼器都是一樣的(通常如此),那么訂閱者就可以記錄下他們的卡向其解碼器發(fā)出的全部密鑰,并在線發(fā)布這些密鑰。如果有人沒進(jìn)行訂閱,但擁有加密的視頻節(jié)目錄像,他就可以從網(wǎng)絡(luò)上下載密鑰日志,并用其對(duì)磁帶進(jìn)行解密。
為防止DDT攻擊而更換付費(fèi)電視協(xié)議是困難的。已安裝的設(shè)備規(guī)模龐大,很多明顯的應(yīng)對(duì)措施又難免對(duì)合法用戶產(chǎn)生負(fù)面影響(比如禁止對(duì)節(jié)目錄像)。付費(fèi)電視公司一般都忽視這種攻擊,因?yàn)橹挥谐撩杂陔娨暤娜瞬艜?huì)用專門的硬件適配器把PC機(jī)連上衛(wèi)星電視解碼器,而很難對(duì)收費(fèi)電視服務(wù)構(gòu)成實(shí)際威脅。在極少見的情況下,當(dāng)這種攻擊構(gòu)成實(shí)際威脅時(shí),應(yīng)對(duì)策略通常是識(shí)別出這些麻煩制造者,并通過(guò)發(fā)送授權(quán)控制消息將其電視卡禁用。
消息操縱攻擊并不僅限于“消費(fèi)者”級(jí)系統(tǒng)。用于國(guó)際電話與數(shù)據(jù)流量傳輸?shù)腎ntelsat衛(wèi)星實(shí)施了更可靠的機(jī)制,以阻止命令被接受兩次——?否則攻擊者會(huì)重復(fù)地進(jìn)行同樣的操作,直到衛(wèi)星耗盡其燃料[1027]。