System and method for analyzing vulnerability in software installed on iot device
AssigneeZien, Inc.
InventorYoung Min CHO
Life of this patent
Estimating the term…
Abstract
Provided are a method and a system for analyzing a vulnerability in software installed on an Internet of things (IoT) device. In the method and the system, a target binary file extracted from firmware of the IoT device is acquired, a taint path is generated by performing taint analysis on the target binary file, transmission information related to the taint path is generated, and a vulnerability is detected 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.
Claims16
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.
A vulnerability analysis device for analyzing a vulnerability in software installed on an Internet of things (IoT) device, the vulnerability analysis device comprising:
- a communication unit configured to acquire a target binary file extracted from firmware of the IoT device;
- a taint analysis unit configured to generate a taint path by performing taint analysis on the target binary file and generate transmission information related to the taint path;
- and
- a vulnerability analysis unit configured to detect 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, to perform symbolic execution on the target binary file and analyze the vulnerability of the target binary file, the vulnerability analysis unit is further configured to:
- divide the generated taint path into blocks,
- perform 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;
- analyze block-specific state information to determine the vulnerability of the target binary file;
- compare 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, determines that the target binary file of which the state information has been analyzed has the vulnerability.
Dependencies are inferred from the claim text.