US 12,242,617 B2
System and method for analyzing vulnerability in software installed on IoT device
Young Min Cho, Incheon (KR)
Assigned to ZIEN, INC., Seoul (KR)
Filed by ZIEN, INC., Seoul (KR)
Filed on May 23, 2024, as Appl. No. 18/673,057.
Claims priority of application No. 10-2023-0069993 (KR), filed on May 31, 2023; application No. 10-2024-0019219 (KR), filed on Feb. 7, 2024; and application No. 10-2024-0055614 (KR), filed on Apr. 25, 2024.
Prior Publication US 2024/0403441 A1, Dec. 5, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 21/57 (2013.01); G16Y 30/10 (2020.01)
CPC G06F 21/577 (2013.01) [G16Y 30/10 (2020.01)] 16 Claims
OG exemplary drawing
 
1. A method of analyzing a vulnerability in software installed on an Internet of things (IoT) device, which is performed by a vulnerability analysis device, the method comprising:
acquiring a target binary file extracted from firmware of an IoT device;
generating a taint path and transmission information related to the taint path by performing taint analysis on the target binary file; and
detecting a vulnerability in the target binary file by performing symbolic execution on the target binary file on the basis of the taint path and the transmission information,
wherein the taint path includes a user function, including a user input function that is an internal function of the software or a user library function based on an external library of the software, and
wherein the detecting of the vulnerability in the target binary file by performing the symbolic execution on the target binary file further comprises:
dividing the generated taint path into blocks;
performing symbolic execution on the generated taint path on a block-by-block basis based on the transmission information related to the taint path to calculate state information of each block of the taint path;
analyzing block-specific state information to determine the vulnerability of the target binary file;
comparing the block-specific state information resulting from the symbolic execution with at least one preset vulnerable pattern to determine whether the block-specific state information corresponds to the compared preset vulnerable pattern; and
when the block-specific state information corresponds to the compared preset vulnerable pattern, determining that the target binary file of which the state information has been analyzed has the vulnerability.