В общем, попробую дать технический анализ той, мягко говоря, неоднозначной ситуации, которая сложилась с этим розыгрышем лотереи. Просьба любителей теорий заговора в этой теме не писать и догадок про инопланетян и специальной подставы противников лотереи не приводить.
Итак, как оно работает с точки зрения специалиста по базам данных.
-
Собирается база данных. В нее аппликанты вносят свои персональные данные, адрес электронной почты, прикладывают фотографию - свою, супруга и детей. Сбор базы выглядит следующим образом: сперва на веб-серверах оформляется кейс на аппликанта, присваивается confirmation number, потом передается в “большую” базу.
-
Когда база данных собралась (после закрытия заявок), происходит первичная проверка на дубликатность, отсеивание шутников и прочее. Писали, в том числе и на этом форуме, что КСС специально закупал софт для распознавания лиц. Именно с целью отсеивания дубликатов.
-
Среди оставшихся заявок проводится отбор выигравших, формируется вторая база данных уже из победителей. В ней, помимо данных из первой базы, вносится также Case Number.
-
Вторая база становится доступной для широкой публики. Публика вносит такие данные, как фамилию (или ставит галочку от отсутствии фамилии - если аналогичная галочка была поставлена при заполнении анкеты), confirmation number и год рождения. Если все три поля совпадают и есть в базе - все хорошо, база выводит поздравительную мессагу и номер кейса. Если нет, даже если conf # правильный, а в фамилии ошибка - выдаст not selected.
Где и на каком этапе мог произойти сбой - на любом, с первого по третий.
На первом этапе могли произойти следующие ошибки:
а) данные с веб-серверов некорректно передались в “большую” базу номер один, то бишь перепутались фамилии, фотографии, гражданства и т.д., как говорится, “смешались в кучу кони, люди” (т.е. conf # присвоен, а по факту в базу улетело черт знает что);
б) данные с веб-серверов вообще не передавались в “большую” базу по причине, у примеру, отсутствия места на диске (т.е. conf # присвоен, а по факту в базу заявка не внеслась);
в) данные были испорчены в результате хакерской атаки на КСС, между первым и вторым этапами.
На втором этапе скрипт по отлову дублей и шутников мог похерить базу. Вариант маловероятный, на самом деле. Ибо, скорее всего, база с победителями была не второй, а третьей по счету, а второй базой была именно база идентичная первой, но с удаленными дублями.
На третьем этапе Главный Скрипт мог взять выборку не за весь период подачи заявок, а только за первые два дня. Маловероятно, потому как встречаются выигрыши за поздние числа.
Итак, что же, вероятно, произошло на самом деле. Лажа случилась на первом этапе, скорее всего, по варианту (а) с примесью варианта (в). Вначале все пошло как надо, потом что-то случилось с движком базы (уж не MS SQL ли?) и данные стали писаться абы как. Заметили это «абы как» уже после окончания приема заявок. Базы, скорее всего, пытались спасти штатными средствами MS SQL, спасли 5 и 6 октября и чуть-чуть всего остального. Из этого удалили дубли и уже из оставшегося (а осталось, думаю, 200-300 тысяч) разыграли лотерею. Не знаю, был ли в курсе Госдеп или нет, но, возможно, что и нет. Замяли для ясности и разыграли по тихому, думали, что прокатит. Не прокатило.
Как мог вмешаться вариант (в): гулял спам с реальными персональными данными и приходящий на правильные адреса электронной почты с предложением выкупить выигрыш. Значит, утечка информации была. Сделали это сторонние хакеры или им помог кто-то в КСС или среди контракторов - неведомо. Нехай этим ФБР занимается, зачем отнимать у них хлеб
Теперь ответы на два извечных вопроса:
Кто виноват: IT-служба КСС и привлеченные ими контракторы, разработчики софта скриптов, разработчики базы данных. Если движок MS-овский, то MS. Если летели харды, то еще и производители хардов. Удастся кого-либо наказать или нет, зависит от контрактов разработчиков. MS или производителей хардов наказать не удастся, читайте лицензии к софту. Обычно разработчик софта не несет ответственности за сохранность данных пользователя. Не думаю, что даже для Госдепа было сделано исключение. Либо за о-о-очень большие бабки.
Так что, вероятнее всего, найдут стрелочника, которого сделают крайним и уволят.
Что делать: требовать неповторения подобной ситуации в будущем, предавать эту историю гласности. Добиться переигрывания из всех заявок нереально, так как заявок, скорее всего, просто нет. «Умерла так умерла».
Что сделано: мной информация передана в московские корпункты Wall Street Journal и New York Times. Разумеется, на условиях анонимности, ибо посольские могут отомстить и аннулировать визу. С них станется.
Последствия: противники лотереи, коих немало во властных структурах США, получили в руки даже не козырных тузов, а джокеров. Разговоры о том, что благая цель превратилась в профанацию (а в этот раз именно так все и случилось), сейчас пойдут с утроенной силой.
Вряд ли будут отменять результаты, во всяком случае, это несправедливо к тем, кто выиграл. Во всяком случае, на это хочется надеяться.
Ну и напоследок, немного оффтопа вперемешку с политикой. История грязная и в узких кругах наверняка была известна еще до Нового Года. Я о США был лучшего мнения. Впрочем, приход к власти в стране какого-то непонятного нобелевского лауреата без оригинала свидетельства о рождении, более того, возможно, обладателя индонезийского и кенийского гражданств, тоже говорит о многом. Плюс к тому адвоката, а ведь любой адвокат - это такой зверек, который умеет а) молотить языком и производить нужное впечатление б) умеет из черного делать белое и наоборот и в своем умении идет на любой подлог и низость. Понятно, что работа такая, но… Харизмы у адвоката хоть попой жуй, похлеще, чем у покойного Кеннеди, а вот с делами у Кеннеди было как-то поинтересней.
Рыба, как известно, гниет с головы. Те из моих друзей и знакомых, которые поддерживали адвоката во времена президентской гонки, сейчас высказываются не иначе как “ну и чудака же мы избрали на свою голову”.