Abstract:Determining whether vulnerabilities in the target program have been fixed is one of the approaches to software security detection, which can enhance the safety of the program. A method for determining the existence of firmware patches based on random walks was proposed. This method utilizes program analysis techniques to extract and analyze code features from binary firmware functions, judging whether functions in the firmware have undergone patch repairs, and achieving the detection of firmware vulnerability codes. The method constructs accompanying graphs representing the degree of code similarity between the target function in the firmware and its corresponding vulnerability function, as well as between the target function and the patch function. Important nodes in the accompanying graph are then selected using a random walk approach. Based on the information from these important nodes, it is possible to determine the similarity between the target function and both the vulnerability function and the patch function, enabling automated judgment on the patch repair status of the target function. Experimental results show that the proposed method can efficiently judge the patch repair status of firmware, providing support for enhancing the security of binary firmware.