Актуальность технологии анализа программного кода объясняется необходимостью обеспечить требуемую безопасность приложений цифровой экономики Российской Федерации в условиях роста угроз безопасности и недостаточности известных моделей, методов и средств информационной безопасности и надежности ПО. При этом различают статический и динамический анализ кода программ. В ходе первого исследуется структура некоторой программной системы (спецификация, промежуточные модели, алгоритмы и листинг программ) на предмет ошибок и уязвимостей. В ходе второго, более сложного, изучается функционирование программной системы в реальных условиях эксплуатации, в том числе в условиях компьютерных атак злоумышленников. На практике статический анализ проводится над некоторой версией исходного кода программы или над кодом в некоторой промежуточной форме, независимой от исходного языка программирования, целевой машины и ее операционной системы: например, P-кодом или байт-кодом для виртуальных машин Java или байт-кодом CIL в платформе. NET и др. При этом обычно задействуются специальные инструментальные средства, возможности которых влияют на глубину анализа. Способы анализа кода также различны: от эвристик до формальных методов, направленных на получение математически строгих доказательств свойств безопасности и надежности исследуемого ПО. В статье рассматриваются востребованные сегодня технологии анализа кода программ.
< ... >
The relevance of the technology for analyzing the program code is explained by the need to ensure the required security of applications of the Digital Economy in the face of growing security threats, and the insufficiency of known models. Static code analysis is performed on some version of the source code of the program, or on the code in some intermediate form, independent of the source programming language, the target machine and its operating system. In this case, special tools are usually involved, the capabilities of which affect the depth of analysis. The methods of code analysis are also different. The article discusses the technologies of program code analysis that are in demand today.
Keywords:
information security, security threats, software vulnerabilities and defects, trusted digital platforms, digital economy, code analysis tools