Authorship identification of a heterogeneous source code for the purposes of cybersecurity management
Authors: Куртукова А.В. , Романов А.С. , Шелупанов А.А. , Федотова А.М. 
Published: July 2024

Статья посвящена идентификации автора неоднородного исходного кода программы на основе гибридной нейронной сети. Решения данной проблемы особенно актуальны для областей информационной безопасности, образовательного процесса и защиты авторского права. В статье представлен анализ современных методов решения поставленной задачи. Авторами предлагается собственная методика на основе гибридной нейронной сети, зарекомендовавшей себя в ранних исследованиях, направленных на оценку эффективности данного подхода в простых и сложных случаях. Данная работа включает в себя эксперименты по ранее не рассмотренным случаям идентификации автора исходного кода на основе неоднородных данных. Рассматриваются случаи, актуальные для корпоративной разработки. Среди них анализ исходных кодов, представленных в виде коммитов, и обучение модели на наборах данных, включающих в себя два и более языка программирования. Также исследовано набирающее популярность направление определения авторства искусственно сгенерированного исходного кода. Для каждого случая сформирован набор данных и проведен эксперимент. Оценка эффективности авторской методики для всех трех сложных случаев осуществлена при помощи перекрестной проверки по 10 блокам. Средняя точность для смешанных наборов данных составила 87 % для двух языков программирования и 76 % для трех и более языков, соответственно. Точность методики для решения задачи определения авторства искусственно сгенерированных исходных кодов в среднем составила 81,5 %. Идентификация автора исходного кода программы на основе коммитов осуществлялась с точностью 84 %. Эксперименты показали, что во всех трех случаях эффективность методики может быть повышена путем использования больших объемов обучающих данных. Ключевые слова: авторство, исходный код, коммиты, генерация, нейронная сеть.
The article is devoted to the issue of identifying the author of a heterogeneous source code program by means of a hybrid neural network. The solutions to this problem are especially relevant to the fields of information security, educational process, and copyright protection. The article analyzes modern methods of addressing this problem. The authors propose their own methodology based on a proven in early studies hybrid neural network aimed at evaluating the effectiveness of this approach in simple and difficult cases. This research incorporates experiments on previously unconsidered cases of source code author identification based on heterogeneous data. Cases relevant to corporate development are examined including the analysis of source codes presented as commits and model training on datasets with more than two programming languages. Additionally, the trend of determining the authorship of an artificially generated source code, which is gaining traction, is regarded. A dataset was generated, and an appropriate experiment was performed for each case. The effectiveness of the author's methodology for all three difficult cases was evaluated using a 10 blocks cross-validation. The average accuracy for mixed datasets was 87 % for two programming languages and 76 % for three or more languages, respectively. The average accuracy of the methodology for authorship identification of artificially generated source codes was 81.5 %. Identification of the author of a program source code based on commits was carried out with an accuracy of 84 %. Experiments have shown that the effectiveness of the methodology can be improved in all three cases by using large amounts of training data.