這是一篇一年多以前的技術文章,但是裡面提到的方法在今天依舊不過時。希望這篇文章能給大家在物聯網(IoT)安全方面帶來一些新的思路。
如果你對IoT安全感興趣的話,可以移步我近期發布的這些文章和回答:
知道創宇 雲安全:硬核分享|探針盒子?不用怕!手把手教你打造專屬隱私保護工具?zhuanlan.zhihu.com一個黑客能用一台手機做到什麼事情??www.zhihu.com--------正文分割線--------
作者:fenix@知道創宇404實驗室
原文鏈接:攝像頭漏洞挖掘入門教程(固件篇)
0x00 引言
據 IT 研究與顧問諮詢公司 Gartner
預測,2017 年全球物聯網設備數量將達到 84 億,比 2016 年的 64 億增長31%,而全球人口數量為 75 億。2020 年物聯網設備數量將達到 204 億。
而與如此快的發展速度相對應的,物聯網的安全問題也日趨凸顯,尤其是網路攝像頭、路由器等常見設備。我們可以從以下兩個案例大致感受一下物聯網設備嚴峻的安全形勢。
- 抓住「新代碼」的影子 —— 基於 GoAhead 系列網路攝像頭多個漏洞分析
- 全球 2.5 萬網路攝像機被黑,用於構建 DDOS 攻擊殭屍網路
物聯網設備數量的快速增長和其安全性的嚴重滯後形成了鮮明對比。同時也給惡意攻擊者和安全研究人員提供了新的土壤,這場正邪的博弈在新的戰場上正激烈上演。
這是一篇詳細的入門級別的教程,獻給眾多想入門智能設備安全的愛好者們。(本文完成於2017年,時隔一年對外發布。)
0x01 概述
1.0 固件及其常見獲取方式
固件(Firmware)就是寫入 EROM
(可擦寫只讀存儲器)或 EEPROM
(電可擦可編程只讀存儲器)中的程序。特殊的,對於市面上大部分的路由器和攝像頭來說,固件就是電路板上的 25 系列 Flash 晶元中的程序,其中存放著嵌入式操作系統,通常是 Linux 系統。
獲取固件是分析挖掘固件漏洞的前提,本文將以攝像頭為例,介紹如何 Dump Flash 晶元中的固件以及獲取固件之後的一些玩法思路。
通常情況下,有以下幾種獲取固件的途徑。