Эксперты научились идентифицировать кодеров по их кодам
Специалистам в области стилометрии, исследующим стилистику письменного текста путем анализа синтаксиса, уже давно известно, что письмо – крайне индивидуальный, уникальный процесс. Используемый словарный запас, синтаксис и грамматические конструкции позволяют выявить автора текста, как если бы под текстом стояла его подпись.
В настоящее время существуют автоматизированные инструменты для идентификации авторов публикаций в интернете, однако об использовании стилометрии в отношении искусственных языков (языков программирования) раньше известно не было. Тем не менее, как оказалось, каждый разработчик ПО также имеет свой уникальный стиль, по которому его можно идентифицировать.
В пятницу, 9 августа, исследователи Рэйчел Гринстад (Rachel Greenstadt) из Дрексельского университета и Айлин Калискан (Aylin Caliskan) из Университета Джорджа Вашингтона представили на конференции DefCon весьма интересные результаты исследований.
В ходе исследований Гринстад и Калискан использовали машинное обучение для выявления авторов образцов кода. Для начала исследователи разработали алгоритм для выявления абсолютно всех характерных особенностей образцов кодов, а затем сузили список только до тех характеристик (порядка 50-ти), которые позволяют отличить одного разработчика от другого. Даже небольшой части кода в репозитории GitHub достаточно для того, чтобы отличить одного кодера, уверены специалисты.
Как показывают исследования Калискан, деанонимизировать разработчика можно даже по его компиллированному коду. Так, ее команде удалось декомпиллировать код на C++ с сохранением стилистических особенностей его автора.
Читайте также
- Ошибка в API Facebook предоставляла доступ к фото 6,8 млн пользователей
- Одного ноутбука оказалось достаточно для компрометации всей корпоративной сети
- Депутаты Госдумы разработали план по обеспечению работы Рунета на случай отключения от Сети
- Морские суда часто подвергаются кибератакам
- 25 декабря состоится встреча сообщества специалистов по кибербезопасности АСУ ТП / RUSCADASEC
- Уязвимость в приложении Logitech позволяла удаленно инициировать нажатие клавиш