從STRIDE威脅模型看AI應(yīng)用的攻擊面威脅與管理
STRIDE是一個(gè)流行的威脅建??蚣?,目前已被廣泛用來(lái)幫助組織主動(dòng)發(fā)現(xiàn)那些可能對(duì)其應(yīng)用系統(tǒng)造成影響的威脅、攻擊、漏洞和對(duì)策。如果把“STRIDE”中的每個(gè)字母拆開(kāi),則分別代表了假冒(Spoofing)、篡改(Tampering)、否認(rèn)(Repudiation)、信息披露(Information Disclosure)、拒絕服務(wù)(Denial of Service)和特權(quán)提升(Elevation of Privilege)。
隨著人工智能(AI)系統(tǒng)應(yīng)用逐漸成為企業(yè)數(shù)字化發(fā)展的關(guān)鍵組成部分,許多安全從業(yè)者呼吁必須盡快識(shí)別和防護(hù)這些系統(tǒng)的安全風(fēng)險(xiǎn),而STRIDE框架無(wú)疑可以幫助組織更好地理解AI系統(tǒng)中可能的攻擊路徑,并強(qiáng)化其AI應(yīng)用程序的安全性與可靠性。在本文中,安全研究人員使用STRIDE模型框架全面梳理映射了AI系統(tǒng)應(yīng)用中的攻擊面(見(jiàn)下表),并對(duì)特定于AI技術(shù)的新攻擊類別和攻擊場(chǎng)景進(jìn)行了研究。隨著AI技術(shù)不斷發(fā)展,會(huì)有更多新的模型、應(yīng)用、攻擊和操作模式也隨之演進(jìn)。
針對(duì)AI基礎(chǔ)設(shè)施的攻擊
AI研究員Andrej Karpathy指出,新一代深度神經(jīng)網(wǎng)絡(luò)模型的到來(lái),標(biāo)志著傳統(tǒng)概念化軟件生產(chǎn)方式發(fā)生了范式轉(zhuǎn)變。開(kāi)發(fā)人員越來(lái)越多地將AI模型嵌入復(fù)雜的系統(tǒng)中,這些模型不是用循環(huán)和條件的語(yǔ)言來(lái)表達(dá)的,而是用連續(xù)向量空間和數(shù)值權(quán)重來(lái)表達(dá)的,這也為漏洞利用創(chuàng)造了新的途徑,并催生了新的威脅類別。
篡改。攻擊者如果能夠篡改模型的輸入和輸出,或者改變AI基礎(chǔ)設(shè)施的某些設(shè)置參數(shù),就可能導(dǎo)致有害和不可預(yù)測(cè)的惡意結(jié)果,例如意外行為、與AI代理的交互以及對(duì)鏈接組件的影響。
偽冒。如果攻擊者在模型或組件交付過(guò)程中模擬可信源,就會(huì)發(fā)生偽冒行為。這種技術(shù)可以讓攻擊者將惡意元素引入AI系統(tǒng)。同時(shí),偽冒也可作為模型供應(yīng)鏈攻擊的一部分,例如,如果威脅行為者滲透了像Huggingface這樣的第三方模型提供商,在下游進(jìn)行AI輸出的代碼執(zhí)行時(shí),他們可以在某些情況下通過(guò)感染上游模型來(lái)控制周圍基礎(chǔ)設(shè)施。
信息披露。敏感數(shù)據(jù)暴露是任何網(wǎng)絡(luò)應(yīng)用程序的常見(jiàn)問(wèn)題,包括為AI系統(tǒng)提供服務(wù)的應(yīng)用程序。在2023年3月,Redis的錯(cuò)誤配置導(dǎo)致一個(gè)Web服務(wù)器暴露了私人數(shù)據(jù)。一般來(lái)說(shuō),Web應(yīng)用程序容易受到經(jīng)典的OWASP十大漏洞的影響,如注入攻擊、跨站腳本和不安全的直接對(duì)象引用。這種情況同樣適用于為AI系統(tǒng)提供服務(wù)的Web應(yīng)用程序。
拒絕服務(wù)(DoS)。DoS攻擊也會(huì)給AI應(yīng)用構(gòu)成威脅,通過(guò)用流量淹沒(méi)模型供應(yīng)商的基礎(chǔ)設(shè)施,攻擊者可以使AI服務(wù)無(wú)法使用。在圍繞AI模型的基礎(chǔ)設(shè)施和應(yīng)用程序中設(shè)計(jì)彈性是實(shí)現(xiàn)AI系統(tǒng)安全的基礎(chǔ)要求,但這還遠(yuǎn)遠(yuǎn)不夠。
針對(duì)模型訓(xùn)練和推理的攻擊
對(duì)于已訓(xùn)練的AI模型以及較新的第三方生成型AI系統(tǒng),同樣存在以下攻擊面威脅:
數(shù)據(jù)集污染和超參數(shù)篡改。AI模型在訓(xùn)練和推理階段容易受到特定的威脅,數(shù)據(jù)集污染和超參數(shù)篡改是STRIDE篡改類別下的攻擊,指的是威脅行為者將惡意數(shù)據(jù)注入訓(xùn)練數(shù)據(jù)集。例如,攻擊者可以故意向人臉識(shí)別AI中輸入誤導(dǎo)性的圖像,導(dǎo)致其錯(cuò)誤地識(shí)別個(gè)體。
對(duì)抗樣本。對(duì)抗樣本已經(jīng)成為AI應(yīng)用信息泄露或篡改威脅的常見(jiàn)攻擊方式,攻擊者操縱模型的輸入,使其做出錯(cuò)誤的預(yù)測(cè)或分類。這些行為可能會(huì)泄露關(guān)于模型訓(xùn)練數(shù)據(jù)的敏感信息或者欺騙模型以意想不到的方式行事。例如,一組研究人員表明,在停車標(biāo)志上添加小塊膠帶可能會(huì)混淆嵌入自動(dòng)駕駛汽車的圖像識(shí)別模型,這可能會(huì)導(dǎo)致嚴(yán)重后果。
模型提取。模型提取是一種新發(fā)現(xiàn)的惡意攻擊形式,屬于STRIDE的信息泄露類別。攻擊者的目標(biāo)是基于模型的查詢和響應(yīng)來(lái)復(fù)制專有的訓(xùn)練機(jī)器學(xué)習(xí)模型。他們精心設(shè)計(jì)一系列查詢,并利用模型的響應(yīng)來(lái)構(gòu)建目標(biāo)AI系統(tǒng)的副本。這種攻擊可能侵犯知識(shí)產(chǎn)權(quán),并可能導(dǎo)致重大的經(jīng)濟(jì)損失。同時(shí),攻擊者擁有模型副本后,還可以執(zhí)行對(duì)抗性攻擊或反向工程訓(xùn)練數(shù)據(jù),從而產(chǎn)生其他威脅。
針對(duì)大語(yǔ)言模型(LLM)的攻擊
大語(yǔ)言模型(LLM)的流行推動(dòng)了新型AI攻擊方式的出現(xiàn),LLM開(kāi)發(fā)和集成是一個(gè)非常熱門的話題,因此,針對(duì)其的新攻擊模式層出不窮。為此,OWASP研究團(tuán)隊(duì)已經(jīng)開(kāi)始起草首個(gè)版本的OWASP Top 10 LLM威脅項(xiàng)目。
提示注入。提示注入包括越獄、提示泄露和令牌走私。在這些攻擊中,攻擊者會(huì)操縱輸入提示,以觸發(fā)LLM的非預(yù)期行為。這種操縱可能導(dǎo)致AI產(chǎn)生不適當(dāng)?shù)捻憫?yīng)或泄露敏感信息,與STRIDE的欺騙和信息泄露類別相吻合。當(dāng)AI系統(tǒng)與其他系統(tǒng)結(jié)合使用或在軟件應(yīng)用程序鏈中使用時(shí),這些攻擊尤為強(qiáng)大。
不當(dāng)?shù)哪P洼敵黾斑^(guò)濾。大量的API應(yīng)用可能以各種非公開(kāi)暴露的方式被利用。比如,像Langchain這樣的框架可以讓?xiě)?yīng)用程序開(kāi)發(fā)人員在公共生成式模型和其他公共或私有系統(tǒng)(如數(shù)據(jù)庫(kù)或Slack集成)上快速部署復(fù)雜的應(yīng)用程序。攻擊者可以構(gòu)造一個(gè)提示,欺騙模型進(jìn)行原本不允許的API查詢。同樣地,攻擊者也可以將SQL語(yǔ)句注入通用未凈化的web表單中以執(zhí)行惡意代碼。
成員推理和敏感數(shù)據(jù)提取。攻擊者可以利用成員推理攻擊以二進(jìn)制方式推斷特定數(shù)據(jù)點(diǎn)是否在訓(xùn)練集中,從而引起隱私問(wèn)題。數(shù)據(jù)提取攻擊允許攻擊者從模型的響應(yīng)中完全重建關(guān)于訓(xùn)練數(shù)據(jù)的敏感信息。當(dāng)LLM在私有數(shù)據(jù)集上訓(xùn)練時(shí),常見(jiàn)的情況就是模型可能具有敏感的組織數(shù)據(jù),攻擊者可以通過(guò)創(chuàng)建特定的提示來(lái)提取機(jī)密信息。
木馬模型。LLM已被證明在微調(diào)階段容易(即使是最小的操作)受到訓(xùn)練數(shù)據(jù)集污染的影響。此外,對(duì)熟悉的公共訓(xùn)練數(shù)據(jù)進(jìn)行篡改在實(shí)踐中也已被證明是可行的。這些弱點(diǎn)為公開(kāi)可用的語(yǔ)言模型充當(dāng)木馬模型敞開(kāi)了大門。從表面上看,它們的功能與大多數(shù)提示的預(yù)期一樣,但它們隱藏了在微調(diào)期間引入的特定關(guān)鍵字。一旦攻擊者觸發(fā)這些關(guān)鍵字,木馬模型就可以執(zhí)行各種惡意行為,包括提升特權(quán)、使系統(tǒng)無(wú)法使用(DoS)或泄露私人敏感信息等。
參考鏈接:
https://www.secureworks.com/blog/unravelling-the-attack-surface-of-ai-systems。