一、引言
隨著人工智能技術的飛速發(fā)展,脈沖神經網絡(SNN)憑借其事件驅動和高能效的特點,在能源受限的邊緣計算場景中展現(xiàn)出巨大潛力。然而,SNN在邊緣設備上的廣泛應用也面臨著新的安全挑戰(zhàn),其中基于DRAM位翻轉的能耗攻擊成為亟待解決的問題。
二、SNN能耗攻擊原理
SNN的能耗與脈沖活性密切相關,攻擊者可通過惡意操縱存儲神經元信息的DRAM單元來增加其能耗。以行錘攻擊(Row Hammer)為例,攻擊者利用快速和反復地訪問一排DRAM電容,在相鄰行的電容間產生干擾錯誤和比特位翻轉。通過識別SNN中脈沖活性最強大的神經元,并盡可能減少比特翻轉來實現(xiàn)增加能耗的目標。
以下是一個模擬DRAM位翻轉攻擊的簡單Python代碼示例:
python
import random
class DRAMCell:
def __init__(self):
self.bit = 0 # 初始位為0
def flip_bit(self):
self.bit = 1 - self.bit # 位翻轉
def row_hammer_attack(dram_cells, target_indices, num_flips):
for _ in range(num_flips):
# 隨機選擇一個目標神經元對應的DRAM單元進行位翻轉
index = random.choice(target_indices)
dram_cells[index].flip_bit()
# 示例使用
num_cells = 1000
dram_cells = [DRAMCell() for _ in range(num_cells)]
target_indices = [random.randint(0, num_cells - 1) for _ in range(100)] # 假設有100個目標神經元對應的DRAM單元
num_flips = 10000 # 位翻轉次數(shù)
row_hammer_attack(dram_cells, target_indices, num_flips)
三、能耗攻擊對邊緣計算設備的影響
(一)能耗增加
實驗表明,通過該攻擊框架的實施,在不影響模型準確度的情況下,SNN平均能耗增加43%。能耗的急劇增加會導致邊緣設備快速耗盡電量,影響設備的正常運行時間,降低用戶體驗。
(二)潛在的安全風險
能耗的異常變化可能被惡意利用來隱藏其他攻擊行為,例如通過能耗模式分析來推斷設備的運行狀態(tài)和數(shù)據(jù)信息,從而對設備的安全性構成威脅。
四、防護策略
(一)采用新型存儲技術
磁性隨機存取存儲器(MRAM)具有非易失性、低功耗和抗輻射等優(yōu)點,可作為DRAM的替代方案。MRAM的持久性與極低能耗模式相結合,可為物聯(lián)網節(jié)點提供統(tǒng)一的代碼和數(shù)據(jù)存儲解決方案,減少對DRAM的依賴,降低位翻轉攻擊的風險。
(二)開發(fā)能量導向的SNN攻擊防御框架
例如蔣力團隊設計的能量導向的SNN攻擊框架(Energy-Oriented SNN attack,EOS)的逆向思路,通過實時監(jiān)測SNN的能耗變化,當檢測到異常能耗增加時,及時采取措施,如調整神經元參數(shù)、重新分配計算任務等,以抵御能耗攻擊。
(三)硬件層面的防護
硬件供應商可以在DDR4架構中引入防止或減少Rowhammering漏洞的緩解措施或功能,如提升最小內存更新頻率等。同時,開發(fā)能夠阻止Rowhammer漏洞的可行的硬件解決方案,如ARMOR內存運行時的熱排探測器。
五、結論
脈沖神經網絡在邊緣計算設備中的應用前景廣闊,但基于DRAM位翻轉的能耗攻擊給其安全性帶來了嚴峻挑戰(zhàn)。通過采用新型存儲技術、開發(fā)防御框架和加強硬件防護等措施,可以有效降低能耗攻擊的風險,保障SNN在邊緣計算設備上的安全穩(wěn)定運行。未來,還需要進一步深入研究SNN的安全機制,以應對不斷變化的安全威脅。