В статье рассматривается задача декомпиляции машинного кода в псевдоисходный для последующего статического анализа с целью поиска уязвимостей. Исходя из высокой трудоемкости классического способа, предлагается применение области искусственного интеллекта в части генетических алгоритмов. В формализованном виде описывается поставленная задача и предложенный метод ее решения. Приводится гипотетический пример машинного кода с его пошаговой интеллектуальной декомпиляцией. Указываются недостатки предложенного решения и пути их устранения.
< ... >
The article discusses the task of decompiling machine code into pseudo-source code for subsequent static analysis in order to search for vulnerabilities. Based on the high complexity of the classical method, it is proposed to use the field of artificial intelligence in terms of genetic algorithms. The task and the proposed method for solving it are described in a formalized form. A hypothetical example of machine code with its step-by-step intellectual decompilation is given. The disadvantages of the proposed solution and ways to address them are indicated.
Keywords:
information security, program, machine code, vulnerability, static analysis, decompilation, artificial intelligence, machine learning, genetic algorithm