Как стать автором
Обновить

Деанонимизация программиста возможна не только через исходный код, но и через скомпилированный бинарный файл

Время на прочтение2 мин
Количество просмотров31K
Всего голосов 43: ↑38 и ↓5+33
Комментарии45

Комментарии 45

Не все так плохо.

1 — Большая часть используемой информации недоступна в стрипнутом бинарнике
2 — Даже оптимизация (обычный -О3) снижает точность аттрибуции на 20%
3 — Хорошая обфускация не исследована вовсе
4 — Все исследования производились на коде, который явно писал только один программист (а не группа)
5 — Слабая точность не позволяет использовать результаты в суде

Короче говоря, много шума из ничего, обычное современное «давайте засунем в рандом форест че найдем и посмотрим на результаты которые хоть чуть чуть лучше случайных», что и дает, как и любой матметод, результат по принципу garbage in — garbage out.

Согласен с вами.

И даже по поводу деанонимизации по исходному коду у меня один вопрос:
Любой достаточно большой опен-сорс проект (достаточно — это когда один человек не в состоянии охватить весь проект полностью) имеет стайл-гайд, кучу контрибьюторов и, что более важно, несколько единиц или десятков мейнтейнеров. Можно ли как-то отличить мой код от кода некоего мейнтейнера Томаса, если учесть, что он, как и некий Бернард, был моим ревьювером? И всё это шлифовалось Томасом во время коммита в транк. Причем всё, начиная от именования и до типа применяемого цикла.
— Я не говнокодю, я обфусцирую
Опенсорщиков вычислять мало толку, но вот для поимки вирусописателей может пригодиться.
Ога. Как же. Поймаете Вы вирусописателя по бинарю )))
Уверяю Вас, разве что пионера сможете, да и то не факт. А уж опытного малварщика так сказать со стажем тут Вам ничего не светит ;)
Да и с пионерами тоже не особо. Пионер зачастую чужой код использует. Или даже разный код из разных источников.
для поимки — вряд ли. а вот отфильтровывать их новые произведения может быть
Обычно git blame/hg annotate/svn blame более чем достаточно ,)
Хех, gcc:trunk:r219682. Удачи вычислить изменения, сделанные неким Ilmir Usmanov. Ибо bulk-commit, конечно, зло, но без него разработка GCC сильно бы замедлилась.
Open_source кажется совсем другая история. Source ведь open и доступен, более того в серьезных проектах(да всех на github) сохраняется история issue, request, commit, revue, accept. Так что персональная ответственность за код вполне прозрачна
Интересно, а не взламывают ли аккаунты на гитхаб, чтобы туда свой левый репозиторий подложить?
В целом, если есть возможность с узить круг поиска, то надо ее использовать. Именно для для этого такие методы и исследуют.
Про суд очень слабый аргумент. Если сделаете какую нибудь бяку, то будут желающие вас найти из безо всяких судов.
К тому же, ректальный криптоанализ еще никто не отменял. Вполнее могут появиться улики и для суда.
Конечно надо, только у метода столько недостатков, что его практическое использование практически невозможно вообразить, что собственно и имелось в виду.
А искать конечно будут. Только без ордера у них будет на порядок меньше возможностей.
Для выдачи ордера достаточно обоснованных подозрений, что этот метод, типа, даёт (хотя я сильно сомневаюсь, что это на самом деле так). Подозреваю, они именно так собираются монетизировать свою «разработку» — подрабатывать экспертами в расследовании киберпреступлений.
Если есть возможность сузить круг, то нужно приложить все усилия к уничтожению этой возможности.
В противном случае нас ждёт международная охота на ведьм, контрибутящих в неудобные политикам опенсорс-проекты.
Согласен!
НЛО прилетело и опубликовало эту надпись здесь
Зависит от %COUNTRY_NAME% :)
Или пришлют вестника крылатой демократии.
Теперь мне понятен стиль libstdc++: пишут как пишут, а потом прогоняют через что-то, что делает код таким, будто его писал робот — что бы не догадались, кто что писал :)
Забавно, если эта статья (прочитав соседнюю статью про взломы в кино) будет использоваться в будущем киношниками ))
> настоящие авторы таких разработок как Bitcoin, TrueCrypt и известных вредоносных программ.

Напомнило: «Можно сказать: „космонавты и педерасты“. Мы не сказали ничего плохого про космонавтов, но неприятный осадок остался». Переформулируйте, пожалуйста.
Вы правы, пожалуй :)
«А велосипедиста-то за что???» (с)
У метода есть очевидный недостаток: чтобы он работал, нужна большая база кода у которого авторы изестны и при этом в этой базе кодить все должны отдельно.
github? :)
гитхаб не подходит потому что там далеко не каждый пишет под своим именем как в паспорте. У меня там например штук десять аккаунтов с именами вроде 1h27sh (чуть ли не для каждого проекта свой аккаунт) и логика за этим стоит простая: даже если я такой неуловимый Джо который никому не нужен, не стоит складывать все яйца в одну корзину.
А имейлы для регистрации берете из 10minutemail?
«Если вы параноик, то из этого ещё не следует, что за вами никто не следит!» (с)
Это был не сарказм. Мне действительно интересен способ генерации (почти) одноразовых имейлов, отличный от 10minutemail.
Собственный сервер на просторах интернета, на котором взведён sendmail, и правка aliases. Лично у меня так.
Хм, все, оказывается, просто. А домен один или несколько?
У меня один, но не вижу никаких причин, почему бы не завести несколько (кроме того, что лично мне одного вполне хватает, а дополнительные надо регистрировать и т.п.).
Ну вот по домену-то вас и отловят.
Ну, во-первых, при регистрации домена паспорт (пока) предьявлять не требуют, поэтому у Васисуалия Пупкина так много доменов; а во-вторых, ilmirus не уточнял, что его интересуют именно неотслеживаемые государством емейлы — я его вопрос понял так, что его интересует защита от спамеров уровня BugMeNot.
в гмейл регистрирую: десять секунд дел
для многих акк на гитхабе — это своего рода лицо программиста. его можно указать во всевозможных резюме и профайлах. для такого никто не регит левые акки. а между делом кодер может писать вирусы и ботнет админки, т.к. там очень хорошо платят.
Про это я не забываю и все мои акки выглядят как хеш от моего имени/фамилии + что то (условная «соль»). Если мне когда либо понадобиться показать пару проектов, я дам ссылки и скажу как получено имя аккаунта — для того, кто способен понять что я там накодил это будет очевиным доказательством того, что акк мой, но случайный человек его не найдёт.
я не про тебя конкретно говорю в данный момент. а про тенденцию в целом. а она такова, что огромное количество кодеров выкладывает свой код в гитхаб акк и прилепляет этот акк к своему резюме. это первое.
второе — случайным людям не нужно искать. достаточно владельцам гитхаба дать специальным людям просканить все сорцы в репозиториях, а потом по нужным дать данные про почтовый ящик и про айпи, с которого осуществлен был доступ.
Не понял про просканить. Вот у нас есть условный тор/и2п/биткоин автора которого очень хочет найти тот у кого длинные руки: он берет код/бинарник и… дальше что? Ищет по этому коду похожий код в гитхабе? Так ведь машинное обучение работает наоброт: ему надо дать 100500 репозиториев одного автора и тогда нейросеть сможет с 60% вероятностью сказать является ли этот человек автором данного куска кода или нет.
Даже не так — нужна большая база кода, в которой разные программисты решали одну и ту же задачу, в противном случае их решение работать не будет
Плюс тут еще много тонкостей — в GCJ почти у всех участников есть свои «шаблоны» решений, в которых для ответа на поставленную задачу чаще всего достаточно дописать только одну функцию. Отсюда и такое качество классификации, т.к. шаблоны чаще всего индивидуальны
Деанонимизация программиста возможна не только через исходный код, но и через скомпилированный бинарный файл
Похоже, нас ждёт новый этап охоты на Сатоши Накамото. Запасаемся попкорном…
НЛО прилетело и опубликовало эту надпись здесь
>> GCJ – соревнование по программированию для алгоритмистов (в подавляющем большинстве случаев это призёры финала ACM ICPC)

Не преувеличивайте, начальные этапы под силу любому практикующему программисту, знакомому с базовыми алгоритмами.
Полуфинал-финал — другое дело, туда действительно попадают в основном только профессиональные спортсмены.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории