簡介
Sybil攻擊是指利用社交網路中的少數節點控制多個虛假身份,從而利用這些身份控制或影響網路的大量正常節點的攻擊方式 。Sybil攻擊最早出現於無線通信領域中。Douceur 第一次在點對點網路環境中提出,他指出這種攻擊將破壞分散式存儲系統中的冗餘機制。後來Karlof和Newsome等都指出Sybil攻擊對感測器網路中的路由機制同樣存在著威脅。
攻擊類型
Sybil攻擊有以下類型:
直接通信:進行sybil攻擊的一種形式是sybil結點直接與合法結點進行通信。當合法結點傳送一個無線訊息給sybil結點時,sybil結點中的一個會監聽這個訊息。同樣地,從所有sybil結點傳送出的訊息事實上也是從同一個惡意設備發出的。
間接通信:在這個版本的攻擊中,沒有一個合法的結點能夠直接與sybil結點進行通信。相反,一個或多個惡意的結點宣稱他們能夠到達sybil結點。因此,傳送給sybil結點的訊息都是通過其中的一個惡意結點進行路由轉發的,這個惡意結點假裝把這個訊息傳送給sybil結點,而事實上就是這個惡意結點自己接收或者攔截了這個訊息。
偽造身份:在某些情況下,一個攻擊者可以產生任意的sybil身份。比如說如果一個結點的身份是一個32-位的整數,那么攻擊者完全可以直接為每一個sybil結點分配一個32-位的值作為它的身份。
盜用身份:如果給定一種機制來識別結點的身份,那么攻擊者就不能偽造身份了。舉個例子來說,命名空間,由於命名空間本身就是有限的,根本不允許插入一個新的身份。在這種情況下,攻擊者需要分配一個合法的身份給sybil結點。這種身份盜用在攻擊者把原有結點摧毀或者使之失效的情況下是不好檢測的。
同時攻擊:攻擊者將其所有的sybil身份一次性的同時參與到一次網路通信中。如果規定一個結點只能使用它的身份一次,那么這個惡意結點就可以循環的使用它的多個sybil身份讓人看起來是多個結點。這就是同時性。
非同時攻擊:如果攻擊者只在一個特定的時間周期里使用一部分sybil身份,而在另外一個時間段里是這些身份消失而以另外的sybil身份出現,這看起來就像網路中正常的結點撤銷和加入。