{"guid":"371063d0-da9d-4d9f-bbe9-f5739eba2f30","title":"De-anonymizing Programmers","subtitle":"Large Scale Authorship Attribution from Executable Binaries of Compiled Code and Source Code","slug":"32c3-7491-de-anonymizing_programmers","link":"https://events.ccc.de/congress/2015/Fahrplan/events/7491.html","description":"Last year I presented research showing how to de-anonymize programmers based on their coding style. This is of immediate concern to open source software developers who would like to remain anonymous. On the other hand, being able to de-anonymize programmers can help in forensic investigations, or in resolving plagiarism claims or copyright disputes. \n\nI will report on our new research findings in the past year. We were able to increase the scale and accuracy of our methods dramatically and can now handle 1,600 programmers, reaching 94% de-anonymization accuracy. In ongoing research, we are tackling the much harder problem of de-anonymizing programmers from binaries of compiled code. This can help identify the author of a suspicious executable file and can potentially aid malware forensics. We demonstrate the efficacy of our techniques using a dataset collected from GitHub.","original_language":"eng","persons":["Aylin"],"tags":["Security"],"view_count":39652,"promoted":false,"date":"2015-12-29T17:15:00.000+01:00","release_date":"2015-12-29T01:00:00.000+01:00","updated_at":"2026-03-20T08:30:03.862+01:00","length":3572,"duration":3572,"thumb_url":"https://static.media.ccc.de/media/congress/2015/7491-hd.jpg","poster_url":"https://static.media.ccc.de/media/congress/2015/7491-hd_preview.jpg","timeline_url":"https://static.media.ccc.de/media/congress/2015/371063d0-da9d-4d9f-bbe9-f5739eba2f30-timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/congress/2015/371063d0-da9d-4d9f-bbe9-f5739eba2f30-thumbnails.vtt","frontend_link":"https://media.ccc.de/v/32c3-7491-de-anonymizing_programmers","url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_title":"32C3: gated communities","conference_url":"https://api.media.ccc.de/public/conferences/32c3","related":[{"event_id":2204,"event_guid":"78e2d419-0adc-43ff-989e-95a78ac9ddd4","weight":4},{"event_id":2236,"event_guid":"xnYRHWIRybr3subP-h_1Wg","weight":8},{"event_id":2277,"event_guid":"ad722522-5817-4317-8f3d-bb443b4e6c77","weight":3},{"event_id":2291,"event_guid":"2f68e356-6c3f-4034-9640-c06d717ed96b","weight":4},{"event_id":2817,"event_guid":"7430c969-7ccf-4d40-903a-d9b1ebb4fb15","weight":3},{"event_id":2820,"event_guid":"1d7d4787-c77a-4e6e-9398-f3b4dcaa3587","weight":6},{"event_id":2832,"event_guid":"489a414b-2d6b-4f20-8187-813169ca19c9","weight":4},{"event_id":2862,"event_guid":"2f4cd1ef-dd90-4145-a734-141e5c081940","weight":3},{"event_id":2874,"event_guid":"5f57ffa9-631c-429d-a11b-5b51bebe0f0f","weight":3},{"event_id":2882,"event_guid":"df35c860-60fc-4df8-801c-b2f4f91b33b8","weight":4},{"event_id":2892,"event_guid":"668ba44b-6800-4a8f-9544-b8e5cd7bd86c","weight":6},{"event_id":2904,"event_guid":"8b01d636-d39b-44b8-8d6f-fc03e47eae1b","weight":7},{"event_id":2919,"event_guid":"4d473646-e765-441b-98eb-653dfe6bdeb1","weight":3},{"event_id":2937,"event_guid":"b89b8cff-c496-4885-8e72-1461e8b274f7","weight":3},{"event_id":2939,"event_guid":"c87fa147-d1f4-4353-82db-c3e5b646884b","weight":3},{"event_id":2944,"event_guid":"5fb6f7b5-c237-4b64-b786-85e4c95f13ad","weight":3},{"event_id":2945,"event_guid":"9b641e3f-6d6e-4850-bddd-ced7d67af5c6","weight":3},{"event_id":2947,"event_guid":"422ba0b9-debb-436e-9822-e9a201dec845","weight":4},{"event_id":3619,"event_guid":"84ce6d72-3f4f-445b-801e-37f6a1331bed","weight":6},{"event_id":3632,"event_guid":"378cdf23-350b-4a05-afd0-6360139a7a06","weight":4},{"event_id":3668,"event_guid":"4745fbc3-87d4-41eb-8c82-2c1bb8a51beb","weight":3},{"event_id":3689,"event_guid":"1f7eb981-2819-4824-8f40-4ddde0be7bf3","weight":4},{"event_id":3695,"event_guid":"c300b194-2a85-4705-92aa-b4e789882303","weight":6},{"event_id":3763,"event_guid":"8fbee7ff-b50c-4310-af9d-d44794669f25","weight":3}],"recordings":[{"size":54,"length":3563,"mime_type":"audio/mpeg","language":"deu","filename":"32c3-7491-de-De-anonymizing_Programmers.mp3","state":"downloaded","folder":"mp3-translated","high_quality":true,"width":null,"height":null,"updated_at":"2016-01-03T01:11:15.094+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/mp3-translated/32c3-7491-de-De-anonymizing_Programmers.mp3","url":"https://api.media.ccc.de/public/recordings/9555","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":47,"length":3563,"mime_type":"audio/opus","language":"deu","filename":"32c3-7491-de-De-anonymizing_Programmers.opus","state":"downloaded","folder":"opus-translation","high_quality":true,"width":null,"height":null,"updated_at":"2016-01-03T01:10:41.958+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/opus-translation/32c3-7491-de-De-anonymizing_Programmers.opus","url":"https://api.media.ccc.de/public/recordings/9554","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":null,"length":null,"mime_type":"application/x-subrip","language":"eng","filename":"DRAFT_32c3-7491-en-de-De-anonymizing_Programmers.en_DRAFT.srt","state":"todo","folder":"","high_quality":true,"width":null,"height":null,"updated_at":"2022-01-15T17:42:17.784+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/DRAFT_32c3-7491-en-de-De-anonymizing_Programmers.en_DRAFT.srt","url":"https://api.media.ccc.de/public/recordings/50683","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":194,"length":3572,"mime_type":"video/webm","language":"eng-deu","filename":"32c3-7491-en-de-De-anonymizing_Programmers_webm-sd.webm","state":"downloaded","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2016-02-03T14:13:33.007+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/webm-sd/32c3-7491-en-de-De-anonymizing_Programmers_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/9513","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":54,"length":3563,"mime_type":"audio/mpeg","language":"eng","filename":"32c3-7491-en-De-anonymizing_Programmers.mp3","state":"downloaded","folder":"mp3","high_quality":true,"width":null,"height":null,"updated_at":"2016-01-03T01:09:36.344+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/mp3/32c3-7491-en-De-anonymizing_Programmers.mp3","url":"https://api.media.ccc.de/public/recordings/9552","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":46,"length":3563,"mime_type":"audio/opus","language":"eng","filename":"32c3-7491-en-De-anonymizing_Programmers.opus","state":"downloaded","folder":"opus","high_quality":true,"width":null,"height":null,"updated_at":"2016-01-03T01:10:08.859+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/opus/32c3-7491-en-De-anonymizing_Programmers.opus","url":"https://api.media.ccc.de/public/recordings/9553","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":220,"length":3572,"mime_type":"video/mp4","language":"eng-deu","filename":"32c3-7491-en-de-De-anonymizing_Programmers_sd.mp4","state":"downloaded","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2016-02-03T14:12:45.282+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/h264-sd/32c3-7491-en-de-De-anonymizing_Programmers_sd.mp4","url":"https://api.media.ccc.de/public/recordings/9147","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":513,"length":3572,"mime_type":"video/mp4","language":"eng-deu","filename":"32c3-7491-en-de-De-anonymizing_Programmers_hd.mp4","state":"downloaded","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2016-02-03T14:12:36.436+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/h264-hd/32c3-7491-en-de-De-anonymizing_Programmers_hd.mp4","url":"https://api.media.ccc.de/public/recordings/9069","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":476,"length":3572,"mime_type":"video/mp4","language":"eng","filename":"32c3-7491-en-De-anonymizing_Programmers.mp4","state":"downloaded","folder":"h264-hd-web","high_quality":true,"width":1920,"height":1080,"updated_at":"2016-02-03T14:12:36.060+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/h264-hd-web/32c3-7491-en-De-anonymizing_Programmers.mp4","url":"https://api.media.ccc.de/public/recordings/9067","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":542,"length":3572,"mime_type":"video/webm","language":"eng-deu","filename":"32c3-7491-en-de-De-anonymizing_Programmers_webm-hd.webm","state":"downloaded","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2016-02-03T21:01:47.627+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/webm-hd/32c3-7491-en-de-De-anonymizing_Programmers_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/9354","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"},{"size":476,"length":3572,"mime_type":"video/mp4","language":"deu","filename":"32c3-7491-de-De-anonymizing_Programmers.mp4","state":"downloaded","folder":"h264-hd-web","high_quality":true,"width":1920,"height":1080,"updated_at":"2016-02-03T14:12:36.223+01:00","recording_url":"https://cdn.media.ccc.de/congress/2015/h264-hd-web/32c3-7491-de-De-anonymizing_Programmers.mp4","url":"https://api.media.ccc.de/public/recordings/9068","event_url":"https://api.media.ccc.de/public/events/371063d0-da9d-4d9f-bbe9-f5739eba2f30","conference_url":"https://api.media.ccc.de/public/conferences/32c3"}]}