快速充電對於現在的手機、筆電來說已經不是什麼稀奇的技術,許多廠商更是積極投入在快充技術的精進與提升,壞蛋的部分也是。騰訊安全玄武實驗室在部分快充產品中發現一種新型的安全問題,並且將之命名為「BadPower」,透過這個問題,攻擊者可入侵支援快充技術的充電器等設備,使被侵入的設備在供電時輸出過高的電壓,從而導致設備的元件穿孔或燒毀,甚至可能對環境產生安全隱憂。
騰訊安全玄武實驗室發現安全問題「BadPower」,透過快充對設備進行物理攻擊
早期 USB 連接的充電器僅能輸出較小功率,給手機充滿電需要數小時的時間。目前的快充技術已至少可提供最高 20V 電壓和 100W 輸出功率,支援快充技術的設備幾十分鐘就能完成手機充電,甚至還可以對筆記型電腦、顯示器等較大功率的用電設備供電,所以快充技術在短短兩三年的時間裡就成為了各家廠商熱門的研究重點,新上市的手機、平板、筆記型電腦等產品幾乎都配備快充技術,市面上也因此出現大量支援快充技術的充電器、行動電源、車用充電器等產品。
快充協議不僅包含電力傳輸功能也可進行數據傳輸,一些廠商在數據通道裡設計了可讀寫內建韌體的連接埠,卻並未對讀寫行為進行有效的安全驗證,或驗證過程存在問題、快充協議實現存在某些破壞記憶體的問題,攻擊者利用這些問題就可能改寫快充設備的韌體,從而控制設備的供電行為。正常情況下,對不支援快充的設備,快充會預設對其提供 5V 的電壓,但透過改寫快充裝置內控制供電行為的程式碼,就可以讓快充裝置對這些僅能接受 5V 電壓的受電設備輸入最高 20V 電壓,從而導致功率過載,甚至可設定延時攻擊,在無聲無息之間造成你的財物損失。所有存在 BadPower 問題的產品都可透過特別的韌體進行攻擊,其中有相當一部分也可透過支持快充協議的手機、平板電腦、筆記型電腦等普通終端設備進行攻擊。
【完整測試影片,看這裡】
▲植入攻擊程式將供電設備預設輸出電壓設置為 20V
- 利用特別韌體所發起的典型 BadPower 攻擊過程如下:
1. 攻擊者用偽裝成手機的特製設備連接充電器的充電口,入侵充電器內部韌體。
2. 當用戶使用被入侵的充電器為其它設備充電時,充電器對受電設備進行功率過載攻擊。 - 利用普通終端設備所發起的典型 BadPower 攻擊過程如下:
1. 攻擊者通過某種方式入侵用戶的手機、筆電等終端設備,在其中植入具有 BadPower 攻擊能力的惡意程式,使該終端設備成為 BadPower 的攻擊代理。
2. 當用戶將終端設備連接充電器時,終端設備裡的惡意程式入侵充電器內部韌體。
3. 當用戶再次使用被入侵的充電器為設備充電時,充電器會對受電設備進行功率過載攻擊。
BadPower 並不像傳統網路安全問題那樣會導致個人隱私洩露,但可以實現透過數位技術破壞物理環境、設備。玄武實驗室在研究中測試了多種不同的受電設備,發現 BadPower 產生功率過載的後果與過載時的電壓、電流,以及受電設備的電路佈局、元件選擇、乃至外殼材質、內部結構等均有關係。少數過載保護較好的受電設備可不受 BadPower 功率過載攻擊的影響,但大部分情況下,功率過載會導致受電設備內相關晶片穿孔、燒毀,從而造成不可逆的物理損壞;極少數情況下,BadPower 攻擊還可能影響設備周圍物理環境的安全,像是起火燃燒等。
大部分 BadPower 問題可透過更新設備韌體進行修復,設備廠商可根據情況,採取措施修復已銷售產品中的 BadPower 問題,例如透過支援網站幫助用戶更新充電設備中的韌體,或通過網路向手機等支持快充技術的終端設備推播安全更新,升級充電設備中的韌體。普通用戶也可採取一些措施減輕與避免 BadPower 的威脅。例如不要輕易把自己的充電器、行動電源等出借給陌生人使用。因為支援快充技術的受電設備過載保護通常優於不支持快充技術的受電設備,建議不要用快充裝置為不支持快充的受電設備供電。