---
# System prepended metadata

title: A large-scale analysis of the security of embedded firmwares
tags: [thesis]

---

# A large-scale analysis of the security of embedded firmwares



the problem with large scale analysis

heterogeneity of 
hardware, architectures ,OS
Users ,requiremenets
security goals

manual analysis doent scale ,it requires
finding and downloading the firmwares
unpacking and performing initial analysis
re-discovering the same or similar bug in other firmwares


---
## Abstract 

present a large-scale analysis of firmware images

unpacked 32 thousand firmware images into 1.7 million individual files,which we then statically analyzed

We leverage this large-scale analysis to bring new insights on the security of embedded devices

提出一些嵌入式設備的安全觀點

we discovered a total of 38 previously unknown vulnerabilities in over 693 firmware images.

Moreover, by correlating similar files inside apparently unrelated firmware images, we were able to extend some of those vulnerabilities to over 123 different products. We also confirmed that some of these vulnerabilities altogether are affecting at least 140K devices accessible over the Internet. It would not have been possible to achieve these results without an analysis at such wide scale.
We believe that this project, which we plan to provide as a firmware unpacking and analysis web service1, will help shed some light on the security of embedded devices.






---

## Introduction
前面再講firmware的介紹，韌體設計不好會造成漏洞



Manual security analysis of firmware images yields very
accurate results, but it is extremely slow and does not
scale well for a large and heterogeneous dataset of firmware images




---

## methodology

學到一些方法 和各個測試的工具

1. static analysis => 看Costin 的 dataset 、如何分析
2. symbols analysis =>Symbolic execution is a method of analyzing a program by computing symbolic states rather than implementing concrete values 
> 工具 :KLEE 
4. fuzzing => 模糊測試是一種有效且自動化挖掘設備漏洞的一種檢測方法，主要透過傳送非正常格式的訊息給受測裝置，若受測裝置有正確回應，則代表此裝置對於辨識訊息有一定的防範
    https://secbuzzer.co/post/110
4. 




---
## Experiment Requirements
我們使用了Linux的工具 REMnux，通常將其用於反向工程。靜態分析


加殼工具，稱為UPX，是可執行文件的加殼，用於檢查樣品是否已加殼並解殼
好的樣品。

邁克爾·西科斯基（Michael Sikorski）等。等在他們的書中說
UPX被許多病毒編寫者廣泛用於加殼目的。 

Bytehist是生成直方圖的工具 適用於所有類型的文件，更多地基於Windows
可移植可執行文件。
分析產生的直方圖以十六進制值指定ASCII字 在00到FF之間。最初，主要直方圖是
為文件創建，然後為PE文件創建。同樣，中學為文件的不同部分創建直方圖。
從這些直方圖中，我們可以觀察到不規則和異常文件不同部分中的字節分佈。如果字節碼均勻分佈，然後可能會加密文件，包裝或壓縮。還有另一種類似的已知工具
作為Charcount，它以文本格式生成輸出，用於整個文件。除了這些工具，我們還使用了VirusTotal提供的服務。它會分析文件或統一資源定位器，並提供以前的數據庫分析文件。 VirusTotal提供的分析報告包含惡意軟件必不可少的各種信息
研究。值得一提的是，掃描結果來自許多反病毒解決方案已經幫助我們很大程度地驗證了我們結果。

為了進行實驗，我們收集了程序
用於管理系統刪除永久文件，刪除損壞的鏈接，搜索冗餘
文件，任務管理文件，優化磁盤，文件加密
程序等。注意我們的假設
之前的目的是檢查良性樣本以觀察
惡意經常執行的動作，屬性
樣品。我們選擇了100個樣本進行我們的
實驗

---

## Architecture of extension

---

## Results of experiments
ASCII的自結分布分析出某 部分rest中程序的主要部分
部分可能是由於使用了諸如INNO之類的(加殼)工具引起的
生成安裝程序。

---
## Conclusion
觀察到，有時良性檔案也可能會包含和惡意檔案類似的操作，反惡意軟體系統誤判成惡意軟體

但是，惡意軟體作者會掩蓋惡意活動躲過檢測功能。
加殼，加密或壓縮可執行文件時，會出現同樣的問題。

儘管惡意軟體發展者廣泛使用加殼技術，它們還有助於保護合法檔案的完整性，

會很難區分好與壞的目標包後面使用。

根據我們的實驗結果多個惡意操作被積極檢測到樣品正在考慮。

分析了100個樣品積極支持我們的假設。作為這個的延伸工作中，我們將識別並鞏固所發生的變化分析後的程式安裝到系統上不同的測試環境。

在我們未來的工作中，我們會強調動態分析，因為要發現一個包裝樣品的隱藏行為，必須執行它。

包裝資訊在描述時不能忽略惡意軟體或惡意軟體的行為簽名，但他們應該

沒有什麼意義，不應該影響變成消極檢測。

---


###### tags: `thesis`