![]()
本文來自微信公眾號: HavenlonLabs ,作者:HavenlonLabs
很多年前,一些停車場里出現(xiàn)過一種并不復(fù)雜的盜竊方式。
車主把車停好,下車,關(guān)門,按下遙控鑰匙上的鎖車鍵,然后轉(zhuǎn)身離開。
整個過程和平時沒有任何區(qū)別。
沒有人撬車門,沒有人復(fù)制鑰匙,也沒有人破解汽車內(nèi)部復(fù)雜的電子系統(tǒng)。小偷只需要躲在附近,在車主按下遙控鑰匙時,用無線信號干擾設(shè)備阻斷那條短暫的鎖車指令。
車主按了。
但車沒有收到。
在車主心里,鎖車這件事已經(jīng)結(jié)束了;在現(xiàn)實里,車門卻仍然沒有上鎖。
等車主走遠以后,小偷不需要暴力破壞,只需要像正常開門一樣,拉開車門。
這個故事真正值得注意的地方,不是無線電干擾技術(shù)有多高明。
恰恰相反,它之所以危險,是因為它太簡單了。
攻擊者沒有正面擊敗車鎖,也沒有獲得車主的鑰匙。他只是利用了一個每個人都習(xí)以為常的認知:
我已經(jīng)按下鎖車鍵,所以車一定鎖好了。
真正被攻擊的,不只是車鎖,而是車主相信“鎖車已經(jīng)完成”的那一刻。
從按下按鈕,到車門真正鎖住,中間原來不是同一件事。
過去,我們只是很少意識到它們之間存在距離。
而攻擊者看見了這段距離。
這段距離,就是執(zhí)行縫隙。
按下按鈕,不等于結(jié)果已經(jīng)發(fā)生
我們很容易把“按下鎖車鍵”和“車輛已經(jīng)鎖住”理解成同一件事。
這是因為在絕大多數(shù)正常情況下,兩件事幾乎同時發(fā)生。
手指按下按鈕,遙控器發(fā)出信號,車輛收到命令,門鎖執(zhí)行動作,車燈閃爍,車輛進入鎖定狀態(tài)。
整條鏈路通常只需要不到一秒。
它快到人根本感覺不到中間還有步驟。
時間久了,大腦就會自動省略這條鏈路,把最前面的動作和最后面的結(jié)果直接連接起來:
按按鈕,就是鎖車。
但從事實來看,按下按鈕只證明了一件事:車主發(fā)出了鎖車意圖。
它并不能自動證明信號已經(jīng)成功發(fā)出,車輛已經(jīng)收到,控制系統(tǒng)已經(jīng)執(zhí)行,所有車門也都進入了真正的鎖止狀態(tài)。
這些原本是不同的事情。
只是在正常環(huán)境里,它們長期穩(wěn)定地一起發(fā)生,于是我們逐漸忘記了它們的區(qū)別。
攻擊者所做的,不過是把這幾件原本緊密相連的事情重新拆開。
車主完成了動作,車輛卻沒有完成結(jié)果。
人的認知已經(jīng)往前走了,現(xiàn)實卻停在原地。
執(zhí)行縫隙,往往就藏在那些“平時總是同時發(fā)生”的事情之間。
如果一個按鈕按下一萬次,都能得到正確結(jié)果,人就會自然相信第一萬零一次也一樣。
這種信任本身并不愚蠢。
現(xiàn)代生活本來就建立在大量默認可靠之上。我們不可能每次開燈以后都檢查電流,不可能每次刷卡以后都研究銀行系統(tǒng),也不可能每次按下電梯按鈕,都先驗證控制器是否正確收到了信號。
問題不在于人愿意信任系統(tǒng)。
問題在于,當這種信任可以被主動利用時,原本微不足道的距離就會變成攻擊入口。
小偷利用的不是鎖,而是“完成感”
鎖車干擾之所以經(jīng)典,是因為攻擊者沒有必要讓車主看見失敗。
如果車主按下鎖車鍵后,汽車明顯毫無反應(yīng),他很可能會重新操作,甚至走回去檢查。
最有利于攻擊者的狀態(tài),并不是讓整個過程徹底失敗,而是讓車主仍然保留一種“事情已經(jīng)辦完”的感覺。
這是執(zhí)行縫隙最危險的部分。
一個明顯失敗的系統(tǒng),反而容易引起警覺。
按鈕失靈了,系統(tǒng)報錯了,門沒有關(guān)上,付款被拒絕了,人通常會停下來處理。
真正危險的是,前面的動作足夠正常,正常到人已經(jīng)離開現(xiàn)場,而最后的結(jié)果卻沒有發(fā)生。
車主并不是不知道鎖車的重要性。
他也不是忘記了鎖車。
他認真執(zhí)行了自己認為正確的動作。
只是攻擊者知道,人在按下按鈕以后,會把注意力從車轉(zhuǎn)移到下一件事情上。
鎖車動作結(jié)束,心理上的任務(wù)也隨之結(jié)束。
這時候,攻擊者獲得的不僅是一扇沒有鎖上的車門,更是一段不會被立刻發(fā)現(xiàn)的時間。
攻擊者真正需要的,不是讓系統(tǒng)完全失效,而是讓失敗看起來像成功。
這也是為什么很多有經(jīng)驗的司機,在鎖車以后會順手拉一下車門。
這個動作看起來有點多余。
既然已經(jīng)按過遙控鑰匙,為什么還要再拉一下?
因為他確認的不是自己有沒有按,而是車門有沒有真的鎖住。
按按鈕,是檢查自己的動作。
拉車門,是檢查現(xiàn)實的狀態(tài)。
兩者之間只差一秒鐘,卻代表了兩種完全不同的安全觀。
一種相信:我已經(jīng)做了,所以事情應(yīng)該完成了。
另一種相信:只有現(xiàn)實結(jié)果出現(xiàn),事情才算真正完成。
執(zhí)行縫隙,不只是“執(zhí)行失敗”
如果只是把執(zhí)行縫隙理解為“命令沒有成功”,這個概念就太普通了。
任何機器都會失靈,任何系統(tǒng)都會報錯,任何人也都可能操作失敗。
執(zhí)行縫隙真正特殊的地方在于,它常常發(fā)生在一個看起來已經(jīng)完成的流程里。
車主確實按了鎖車鍵。
遙控鑰匙也可能確實工作了。
車輛本身沒有損壞。
整個系統(tǒng)甚至沒有留下一個明顯的錯誤提示。
然而,最終目標仍然沒有實現(xiàn)。
所以,執(zhí)行縫隙并不是簡單的“沒有執(zhí)行”。
它更接近這樣一種狀態(tài):
人已經(jīng)完成了自己能看見的動作,系統(tǒng)也給出了足以讓人繼續(xù)往下走的信號,但現(xiàn)實并沒有進入人真正期待的狀態(tài)。
這道縫有時來自信號被干擾,有時來自對象被替換,有時來自執(zhí)行條件已經(jīng)改變,也可能來自系統(tǒng)只驗證了過程,卻沒有驗證最終狀態(tài)。
但它們有一個共同點:
意圖、動作和結(jié)果,在某個位置失去了連接。
系統(tǒng)可以證明按鈕被按下,卻未必能證明現(xiàn)實已經(jīng)改變。
鎖車干擾事件里,車主想要的是一種結(jié)果:車輛處于安全鎖定狀態(tài)。
而系統(tǒng)能夠直接觀察和記錄的,往往只是一些中間動作:信號是否發(fā)送、控制器是否響應(yīng)、車燈是否閃爍。
中間動作通常可以代表結(jié)果,但不能永遠代替結(jié)果。
這就像一張快遞單只能證明包裹進入過流程,不能單獨證明包裹已經(jīng)安全到達;一條轉(zhuǎn)賬請求只能證明操作已經(jīng)提交,不能單獨證明錢最終到了正確賬戶;一條審批記錄只能證明有人點擊過同意,不能自動證明最后執(zhí)行的內(nèi)容與審批時看到的內(nèi)容完全一致。
我們習(xí)慣把這些過程證據(jù)當成結(jié)果證據(jù),是因為多數(shù)時候它們確實一致。
但攻擊者最關(guān)心的,恰恰是如何讓兩者不再一致。
為什么這道縫平時幾乎看不見
執(zhí)行縫隙有一個很特別的性質(zhì):在沒有事故的時候,它幾乎像不存在一樣。
一輛車每天正常鎖車,車主不會去思考遙控器、無線信號、車載接收器和門鎖機構(gòu)之間的關(guān)系。
他只會形成一個非常簡單的生活經(jīng)驗:
按一下,車就鎖了。
系統(tǒng)越穩(wěn)定,這種經(jīng)驗越牢固。
而經(jīng)驗越牢固,人越不會在每次操作以后重新驗證結(jié)果。
這正是現(xiàn)代自動化給人帶來的便利。
如果每一個動作都必須人工從頭檢查到尾,自動化就失去了意義。我們依賴系統(tǒng),就是希望它把復(fù)雜過程壓縮成一個簡單按鈕。
按下按鈕以后,剩下的事交給機器。
但便利背后總有一個隱含前提:
機器執(zhí)行的事情,和人以為機器執(zhí)行的事情,是同一件事。
當這個前提成立時,按鈕代表效率。
當這個前提被攻擊者打破時,按鈕就可能代表錯覺。
自動化最大的便利,是把復(fù)雜過程藏起來;自動化最大的風險,也來自復(fù)雜過程被藏起來。
車主看不見無線信號有沒有到達。
他也看不見每一扇門鎖的機械狀態(tài)。
他只能依靠幾個被設(shè)計出來的反饋:燈光、聲音、后視鏡折疊,或者手機應(yīng)用上的一個鎖形圖標。
這些反饋是系統(tǒng)為人制造的“可理解界面”。
它們非常重要,卻也可能造成一個問題:
人最后相信的不是車輛狀態(tài),而是界面狀態(tài)。
當界面顯示“已鎖車”,人的任務(wù)就結(jié)束了。
至于現(xiàn)實中的車門是否真的鎖止,反而變成了系統(tǒng)內(nèi)部一個不再被關(guān)注的問題。
這就是執(zhí)行縫隙為什么會長期被忽略。
它藏在界面背后,藏在流程深處,也藏在人已經(jīng)習(xí)慣不再確認的地方。
壞人總是比普通人更關(guān)心縫隙
普通人使用系統(tǒng),是為了完成目標。
攻擊者研究系統(tǒng),是為了尋找目標、動作與結(jié)果之間不一致的地方。
車主關(guān)心的是怎樣鎖車。
小偷關(guān)心的是:怎樣讓車主認為自己鎖了車,而實際上沒有鎖。
這兩種思維完全不同。
一個在順著流程使用系統(tǒng),另一個在逆著流程尋找斷點。
因此,很多真正有效的攻擊,并不是直接破壞最堅固的部分。
它們繞開堅固的門鎖,繞開復(fù)雜的密碼,繞開正面的權(quán)限對抗,轉(zhuǎn)而尋找那些默認被信任、卻沒有被最終驗證的環(huán)節(jié)。
遙控鎖干擾就是如此。
攻擊者不需要證明自己比汽車廠商更懂門鎖。
他只需要知道,車主通常不會在按下按鈕以后,再走回去拉一次車門。
安全系統(tǒng)守的是門,攻擊者尋找的卻是人什么時候不再回頭。
從這個角度看,執(zhí)行縫隙不僅是一種技術(shù)現(xiàn)象,也是一種行為現(xiàn)象。
它存在于系統(tǒng)沒有驗證的地方,也存在于人停止驗證的時刻。
攻擊者最喜歡的狀態(tài),是人和系統(tǒng)都認為對方已經(jīng)完成了自己的責任。
人認為:我已經(jīng)發(fā)出命令。
系統(tǒng)認為:我已經(jīng)處理請求。
流程認為:操作已經(jīng)結(jié)束。
但沒有任何一方真正負責確認,現(xiàn)實結(jié)果是否與最初意圖一致。
這時候,整條鏈路看起來人人盡責,卻仍然可能留下一個無人負責的空白。
現(xiàn)代企業(yè)里,也有無數(shù)個“鎖車按鈕”
企業(yè)的信息系統(tǒng)里,到處都是類似的按鈕。
提交、批準、發(fā)布、執(zhí)行、刪除、轉(zhuǎn)賬、部署、同步、授權(quán)。
每一個按鈕都代表著人希望現(xiàn)實發(fā)生某種變化。
點擊“發(fā)布”,希望新內(nèi)容真的出現(xiàn)在正確的位置。
點擊“轉(zhuǎn)賬”,希望資金真的到達正確賬戶。
點擊“部署”,希望正確版本進入正確環(huán)境。
點擊“批準”,希望被批準的具體內(nèi)容按照當時的條件被執(zhí)行。
長期以來,企業(yè)安全主要關(guān)心兩個問題:
誰有權(quán)按這個按鈕?
這個按鈕有沒有被未經(jīng)授權(quán)的人按下?
這當然重要。
但鎖車干擾提醒了我們,合法的人按下合法按鈕,并不能自動保證合法結(jié)果。
車主擁有自己的車鑰匙。
他有完整的鎖車權(quán)限。
他也確實親手發(fā)出了命令。
整個過程不存在越權(quán)。
可車依然沒有鎖上。
因此,執(zhí)行安全還必須多問一個問題:
按鈕按下以后,最終發(fā)生的事情,是否真的是按鈕按下時那個人想要發(fā)生的事情?
這就是從權(quán)限安全走向執(zhí)行安全的關(guān)鍵一步。
權(quán)限只能證明誰可以發(fā)出命令,不能證明命令最終以正確方式進入現(xiàn)實。
在傳統(tǒng)系統(tǒng)里,人們常常把“授權(quán)完成”視為安全鏈條的終點。
但實際上,授權(quán)只是允許執(zhí)行開始。
從授權(quán)到真正執(zhí)行,中間還可能經(jīng)過參數(shù)生成、對象選擇、環(huán)境變化、系統(tǒng)調(diào)用、接口轉(zhuǎn)換和設(shè)備響應(yīng)。
每一次轉(zhuǎn)換,都有可能產(chǎn)生偏移。
每一個沒有被重新綁定和驗證的環(huán)節(jié),都可能成為新的“無線干擾”。
AI Agent讓執(zhí)行縫隙變得更值得警惕
當人工智能只負責回答問題時,執(zhí)行縫隙造成的影響相對有限。
模型回答錯了,人可以不采用。
建議不合理,也可以停留在屏幕上。
但AI Agent正在獲得越來越多的執(zhí)行能力。
它可以發(fā)送郵件、修改代碼、調(diào)用接口、操作云資源、調(diào)整賬戶權(quán)限,甚至管理資金和現(xiàn)實設(shè)備。
這相當于我們不再只是讓AI告訴我們怎樣鎖車,而是把遙控鑰匙交給了它。
更重要的是,AI Agent的行動鏈路遠比普通遙控鑰匙復(fù)雜。
一個看似簡單的目標,可能先被模型解釋,再被拆成多個任務(wù),然后調(diào)用不同工具,生成參數(shù),經(jīng)過審批,最后由外部系統(tǒng)執(zhí)行。
人的一句話,需要穿過很長的鏈路,才能最終變成現(xiàn)實。
鏈路越長,轉(zhuǎn)換越多,執(zhí)行縫隙就越值得警惕。
攻擊者也不一定需要直接攻擊模型本身。
他可以污染模型讀取的信息,誘導(dǎo)它選擇錯誤工具,改變執(zhí)行對象,在審批摘要里隱藏關(guān)鍵差異,或者讓最終調(diào)用的參數(shù)偏離最初意圖。
整個過程中,AI可能始終表現(xiàn)得很正常。
它正確讀取了信息,合理完成了推理,順利調(diào)用了工具,系統(tǒng)也返回了成功。
就像車主確實按下了鎖車鍵。
真正的問題發(fā)生在最后:
現(xiàn)實是否真的進入了被允許的狀態(tài)?
AI不會創(chuàng)造執(zhí)行縫隙,但它會把原本短暫的一道縫,拉成長而復(fù)雜的執(zhí)行鏈。
人鎖一輛車,可能只涉及一次操作。
AI Agent一分鐘內(nèi)卻可能執(zhí)行成百上千次任務(wù)。
一個人鎖車失敗,風險集中在一輛車。
一個自動化系統(tǒng)如果在對象、范圍或條件上出現(xiàn)偏移,可能同時影響大量賬戶、設(shè)備和業(yè)務(wù)系統(tǒng)。
過去,執(zhí)行縫隙常常只帶來零散損失。
在AI時代,它第一次可能被規(guī)模化、連續(xù)化和自動化利用。
這也是為什么僅僅提高模型正確率,并不能解決全部問題。
一個模型即使在絕大多數(shù)時候都判斷正確,只要關(guān)鍵操作缺少最后的結(jié)果綁定與邊界控制,極少數(shù)偏差也可能迅速進入現(xiàn)實。
真正重要的,不只是AI有沒有正確理解任務(wù),而是無論前面發(fā)生了什么,最后那扇門到底有沒有鎖上。
“拉一下車門”代表什么
鎖車以后拉一下車門,是一個很笨的動作。
它沒有人工智能,沒有復(fù)雜算法,也沒有漂亮界面。
它甚至?xí)奚稽c效率。
但它驗證了整條鎖車鏈路最重要的結(jié)果。
車主不需要知道信號在哪個環(huán)節(jié)被干擾,也不需要分析遙控器和車輛之間發(fā)生了什么。
他只需要確認一件事:
門還能不能被打開。
這是一種非常樸素,卻非常有效的安全思想。
不試圖保證前面的每個環(huán)節(jié)永遠正確,而是在后果真正發(fā)生之前,對最終狀態(tài)做一次獨立確認。
在企業(yè)系統(tǒng)里,這種“拉一下車門”的機制,可以表現(xiàn)為很多形式。
高風險轉(zhuǎn)賬在執(zhí)行前重新核對真實收款對象。
云資源刪除前確認對象是否屬于關(guān)鍵資產(chǎn)。
代碼部署前確認版本、環(huán)境和影響范圍。
AI Agent提交操作以后,由獨立控制層判斷最終動作是否越過不可接受的邊界。
它們的共同點不是讓系統(tǒng)變得更聰明,而是不把“命令已經(jīng)發(fā)出”當成“結(jié)果已經(jīng)安全”。
真正可靠的最后一道防線,往往不負責理解全部過程,只負責確認最重要的結(jié)果。
很多人會擔心,這種機制會降低效率。
確實會。
就像每次鎖車以后再拉一下門,比按完按鈕直接離開多花一秒鐘。
但安全從來不是沒有成本的。
關(guān)鍵問題不是能否做到零成本,而是這一秒鐘的確認,是否值得換取后面不可逆損失的降低。
對于低風險、可恢復(fù)的操作,系統(tǒng)可以追求順暢。
對于高風險、不可逆的執(zhí)行,適當?shù)淖枇Σ皇侨毕荩潜Wo。
系統(tǒng)越聰明,越不能省掉最后一步
人們很容易認為,隨著系統(tǒng)越來越智能,執(zhí)行縫隙會自然縮小。
模型理解能力更強,自動化更成熟,設(shè)備反饋更完整,整個鏈路似乎理應(yīng)越來越可靠。
但事實可能恰好相反。
系統(tǒng)越聰明,人越容易把更多判斷和執(zhí)行交出去。
系統(tǒng)越順暢,人越容易減少回頭確認。
自動化越穩(wěn)定,人越容易相信按鈕背后的復(fù)雜過程永遠不會出錯。
這與鎖車完全一樣。
如果遙控鎖經(jīng)常失效,人們反而會養(yǎng)成拉門檢查的習(xí)慣。
正是因為它通常太可靠,人們才會在極少數(shù)被干擾的時刻毫無防備。
可靠性會建立信任,而過度信任又會放大極少數(shù)失敗的后果。
AI Agent未來真正的風險,不一定來自它天天犯錯。
更可能來自它絕大多數(shù)時候都表現(xiàn)得太好,以至于人們逐漸取消檢查、擴大權(quán)限,并默認它的動作等于結(jié)果。
等攻擊者終于找到那道縫時,系統(tǒng)已經(jīng)擁有了足夠大的執(zhí)行范圍。
所以,系統(tǒng)越智能,越需要明確區(qū)分三件事:
人想做什么。
系統(tǒng)做了什么。
現(xiàn)實最后發(fā)生了什么。
這三件事大多數(shù)時候應(yīng)該一致。
但安全設(shè)計不能只建立在“大多數(shù)時候”之上。
它必須考慮,當它們不一致時,是否還有機會停下來。
回到那個停車場。
車主按下遙控鑰匙,轉(zhuǎn)身離開。
在他的認知里,任務(wù)已經(jīng)結(jié)束。
但對于安全而言,真正的問題才剛剛開始:
信號有沒有到達?
車輛有沒有執(zhí)行?
所有車門有沒有鎖住?
現(xiàn)實狀態(tài)是否和車主意圖一致?
攻擊者正是在這些沒有被繼續(xù)追問的問題里,找到了機會。
執(zhí)行縫隙并不是一個遙遠的技術(shù)概念。
它就是我們每天都在經(jīng)歷、卻很少認真區(qū)分的一件事:
我們完成了一個代表結(jié)果的動作,于是便相信結(jié)果已經(jīng)發(fā)生。
大多數(shù)時候,這種信任讓生活更方便。
少數(shù)時候,它也會成為別人利用我們的入口。
AI時代,企業(yè)需要重新學(xué)習(xí)那個老司機早就知道的生活常識。
鎖車以后,不要只相信自己按過按鈕。
還要確認門真的鎖住了。
發(fā)出命令以后,不要只確認流程已經(jīng)完成。
還要確認現(xiàn)實發(fā)生的事情,仍然是當初真正想要、真正批準,也真正能夠承受的事情。
執(zhí)行縫隙,就是“我以為已經(jīng)完成”與“現(xiàn)實真正完成”之間,能夠被攻擊者利用的那段距離。
而安全真正要守住的,也從來不是按鈕。
是按鈕背后的現(xiàn)實。
本內(nèi)容由作者授權(quán)發(fā)布,觀點僅代表作者本人,不代表虎嗅立場。如對本稿件有異議或投訴,請聯(lián)系 tougao@huxiu.com。
本文來自虎嗅,原文鏈接:https://www.huxiu.com/article/4877245.html?f=wyxwapp
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.