1. Detection of the Hardcoded Login Information from Socket and String Compare Symbols
- Author
-
Minami Yoda, Akihiko Ohsuga, Yuichi Sei, Normaziah A. Aziz, and Shuji Sakuraba
- Subjects
Password ,General Computer Science ,Firmware ,Computer science ,String (computer science) ,020206 networking & telecommunications ,020207 software engineering ,02 engineering and technology ,String searching algorithm ,computer.software_genre ,Login ,0202 electrical engineering, electronic engineering, information engineering ,Operating system ,Electrical and Electronic Engineering ,computer ,C string handling ,Vulnerability (computing) ,Backdoor - Abstract
Internet of Things (IoT) for smart homes enhances convenience; however, it also introduces the risk of the leakage of private data. TOP10 IoT of OWASP 2018 shows that the first vulnerability is ”Weak, easy to predict, or embedded passwords.” This problem poses a risk because a user can not fix, change, or detect a password if it is embedded in firmware because only the developer of the firmware can control an update. In this study, we propose a lightweight method to detect the hardcoded username and password in IoT devices using a static analysis called Socket Search and String Search to protect from first vulnerability from 2018 OWASP TOP 10 for the IoT device. The hardcoded login information can be obtained by comparing the user input with strcmp or strncmp. Previous studies analyzed the symbols of strcmp or strncmp to detect the hardcoded login information. However, those studies required a lot of time because of the usage of complicated algorithms such as symbolic execution. To develop a lightweight algorithm, we focus on a network function, such as the socket symbol in firmware, because the IoT device is compromised when it is invaded by someone via the Internet. We propose two methods to detect the hardcoded login information: string search and socket search. In string search, the algorithm finds a function that uses the strcmp or strncmp symbol. In socket search, the algorithm finds a function that is referenced by the socket symbol. In this experiment, we measured the ability of our proposed method by searching six firmware in the real world that has a backdoor. We ran three methods: string search, socket search, and whole search to compare the two methods. As a result, all methods found login information from five of six firmware and one unexpected password. Our method reduces the analysis time. The whole search generally takes 38 mins to complete, but our methods finish the search in 4-6 min.
- Published
- 2021