Дата-майнинг базы нью-йоркских такси
- вторник, 11 ноября 2014 г. в 02:11:14
Интересная дискуссия развернулась вокруг базы данных, которую в июне 2014 года опубликовали власти Нью-Йорка. В соответствии с Законом о свободе информации, они выложили более 20 гигабайт файлов CSV с информацией обо всех (!) поездках на такси в 2013 году, с координатами места посадки и места высадки, временем, стоимостью поездки и т.д.
Поездки, 2013 год (11 ГБ)
Стоимость, 2013 год (7,7 ГБ)
Хотя информация анонимная, в базе не указаны имена пассажиров, но хакеры быстро выяснили, что можно опознать личность практически каждого пассажира по координатам! В самом деле, если к твоему дому подъехало такси на вызов, то кто сядет в машину?
Более того, по координатам можно определить, куда направился человек. Один пытливый исследователь из компании Neustar Research проследил маршруты разных знаменитостей, вроде Джессики Альбы (поездка Джессики на такси 7 сентября 2013 года). Он посмотрел, где они обедают, в каких ночных клубах развлекаются. Он даже выяснил, сколько они заплатили за каждую поездку. Оказалось, что звёздные личности редко дают чаевые.
Автор исследования говорит, что дата-майнинг позволяет, например, вычислить аудиторию стрипклубов! Так, на этой карте показаны координаты высадки посетителей стрипклуба Hustler Club во временные промежутки с 0 до 6 часов за все ночи 2013 года.
База данных содержит информацию о 173 миллионах поездок. Кроме координат, времени и стоимости поездки, указан уникальный идентификатор автомобиля и другие метаданные в таком формате:
6B111958A39B24140C973B262EA9FEA5,D3B035A03C8A34DA17488129DA581EE7,VTS,5,,2013-12-03 15:46:00,2013-12-03 16:47:00,1,3660,22.71,-73.813927,40.698135,-74.093307,40.829346
Это соответствует следующим значениям:
medallion,hack_license,vendor_id,rate_code,store_and_fwd_flag,pickup_datetime,dropoff_datetime,passenger_count,trip_time_in_secs
Первые две колонки указывают на попытку властей анонимизировать данные, скрыв номер автомобиля и номер лицензии. Но они крайне неграмотно сделали это, используя хэш-функцию MD5. Но поскольку диапазон номеров и лицензий ограничен, кто угодно может рассчитать хэш-функцию для всех номеров — и деанонимизировать базу.
9Y99,5296319,VTS,1,,2013-12-06 00:07:00,2013-12-06 00:16:00,5,540,1.85,-73.97953,40.776447,-73.982254,40.754925
9Y99,5296319,VTS,1,,2013-12-06 00:20:00,2013-12-06 00:46:00,5,1560,6.58,-73.985779,40.757317,-73.984543,40.681244
DIP1,111333,VTS,1,,2013-12-03 12:10:00,2013-12-03 12:24:00,5,840,.00,0,0,0,0
SBV106,429925,VTS,1,,2013-12-05 23:04:00,2013-12-05 23:16:00,6,720,2.86,-73.988197,40.731232,-73.96199,40.764343