Великое "Воскрешение"

В прошлую субботу между, так называемыми, "элитарными асечниками Рунета" пронеслась информация, что в Рунете появлось огромное количество пятизначек и мол всем своим хватит. Слова подтверждались делом. Когда я сидел на пятизнаке 100**, то весь контакт был усеян номерами из первой тысячи, аля 10***. А потом в аську стали приходить сообщения вообще смешного содержания: "ICQ взломана?", "Spacoom раздает "своим" пятизнаки", русские хакеры написали "5-digit icq uins generator for russian icq-hax0rz ver 3.13.37 beta" и тому подобное. Правдой оказалось лишь русская солидарность. В последние дни уходящего июня Spacoom щедро возздал большую порцию пятизначек к обиженным русским асечникам, которые отчаялись от постоянных анрегов, закрытий их он-лайн магазинов и прочих подстав со стороны мирабилиса.

$t4Lk3r 5:18 PM: Меня порядком достали эти слухи. Давай рассеем туман. Итак, что же за день такой великий 29-е июня? Многие рунетовцы надолго запомнят его =)

Spacoom 5:28 PM: Да это правда =) Просто 29 июня я осознал, что у Мозга Партии есть пятизначный уин. Это событие меня очень заинтреговало. По его словам, пароль он подобрал простым перебором. (Ха, пусть расскажет кому другому как детей делают) Сама по себе ситуация казалась достаточно невероятной. Возможно поэтому я и полез в свою старую базу пятизначек, дабы поискать его номер. Как и следовало ожидать, ася, оказывается, была моя где-то полтора года назад. Тут же я вспомнил про человека с ником ™¤§$Ч…3LWAN…Ч$§¤™, информация по которому пролетела от Смерча с неделю назад. На этом нике висело штук 30 пятизначек. Поняв, что что-то опять произошло в доме по адресу www.icq.com, я проделал единственно разумную вещь - забежал за угол и засейвился. Гыы. Шутка юмора такой. Я достал из огромных штанин список асек и начал проверять свой старый лист на наличие валидных паролей. Как и следовало ожидать штук пятьсот из них сработали!!!

$t4Lk3r 5:32 PM: Хмм. Элвана я знаю. Он турок. Помню познакомились когда был обнаружен баг в Whitepages в этом году. Мы "бились" за 100 подряд идущих шестизначек. it was very funny. Всегда удевляла продвинутость турок на мировой сцене icq-движения. Что-то тут не так. Даже ритрайв на hotmail через турецкий прокси работает. LOL. Кстати, расскажи тогда уж и о Мозге Партии подробней? Думаю всем будет интересно узнать, что это за личность.

Spacoom 5:34 PM: То есть на эти уины он не мог залогиниться? Только поменял инфу? Странными путями приводит к истине логика =) Мозг Партии парень из Ростова уин ***000. Не раз помогал в нахождении багов АОЛа =)

$t4Lk3r 5:34 PM: Есть ли предположение почему вдруг аськи, пребывавшие в анреге, вдруг стали свободными? Ведь в вайтпаговском баге тоже происходила такая вещь? Какие мысли? И что думаешь по поводу дальнейших действий мирабов после появления такого количества пятизнаков? Думаю вероятность их ухода в анрег равна единице...

Spacoom 5:36 PM: много возможных причин. начиная от кривых рук программеров, и кончая восстановлением с бэкапа вероятность ухождения в анрег = 100% Как и во всех прошлых случаях. Это только дело времени, и возможно после опубликования нашего разговора дело только ускорится. Но похоже, что единственный способ указывать АОЛу на баги - это придавать их публичной огласке

$t4Lk3r 5:42 PM: Это точно. Писать на [email protected] - писать Господу Богу. Когда была проблема с вайтпагесами они не ответили на три моих письма в течении недели. Хоть я и писал им языком, которым говаривали за чашкой кофе Карл Маркс и Фридрих Энгельс, но ответа не получил. В следующий раз буду писать на иврите. Ди и что с AOL возьмешь в данном случае. Ну купили они ICQ, а программеры в большинстве остались теже (с некоторыми у меня не потеряны связи до сих пор), только осталось их меньше... ICQ в прошлом году распустила штат на 25% Но это к делу не очень относится... Расскажи откуда у тебя взялась база на 500 пятизначных уинов? Хех =]

Spacoom 5:44 PM: База осталась с давних пор =) Но это к делу не относится. С асей столкнулся в 99 году и с тех пор только и делаю что сталкиваюсь =)

$t4Lk3r 5:48 PM: Ню-ню.. с давних пор. Бабушка оставила в наследство... Вместе с пентиумом 4 и хардом на 60 гигов. Давай еще раз о Элване. Ты знаком с ним? Какое он отношение имел к делу?

Spacoom 5:49 PM: Абсолютно не знаком, он всего лишь послужил толчком к моему предположению о появлении бага

$t4Lk3r 5:54 PM: Да.. Рунет изрядно приподнялся на пятизначки. А как думаешь почему возможен такой баг? Предположение о backup'е оставим пока в покое. Когда я столкнулся с "воскрешением" некоторых номеров с помощью whitepages меня уже тогда это насторожило... Ясно, что раз элемент удален из базы, то и восстановлен в базу тоже может быть без проблем... Но то что ввод 9-го пароля может привести к этому.... Хмм... Или "неисповедимы пути Господни"?

Spacoom 5:57 PM: пароль 10-значный =) И фикс был достаточно странным - просто заблокирован ввод 10-значного пароля на стороне сервера, естественно что через вайт пэйджс его все еще можно было вводить. Это показывает на недальновидность программеров пути господа в самом деле неисповедимы с тех пор как появились прерывания =) И исполнение программ стало недетерминированным =)

$t4Lk3r 6:01 PM: LOL. "...да светятся прерывания Твои, Enter" На самом деле пароль можо было вводить и 9-ти значным =) Теперь хочу спросить тебя о проблеме давно обсуждаемой в нашем форуме - структура базы. Ты не сталкивался с ней? Дело в том, что после того как мирабы сменили систему ритрайва пароля на мыл (а они наверняка это сделали халатно) немного поменялась и сама база.

Spacoom 6:05 PM: со структурой базы не сталкивался, но есть предположения о способе хранения мыл в ней. Хранятся они в отдельной таблице, по одному мылу в записи, именно по этой причине сколько бы ты мыл не ввел выбить более ранние имэйлы не удастся. Кстати, проводился эксперимент по вводу 10кб мыл, даже после этого пароль благополучно ушел на самое первое

$t4Lk3r 6:21 PM: да.. мы обсуждали этот эксперимент со Смерчем. Зря на самое первое выслали. Это обессмыслило эксперимент. Выслали бы на какое-нибудь мыло в середине. Я предпологаю два варианта: у них Oracle и есть таблица со следующими полями:
(перечислю только основные) uin, mail, regdate
uin - уин (это поле может повторяться, т.е. не уникально)
mail - мыл , просто строка
regdate - дата занесения мыла в базу, после каждой высылки делается простой запрос к базе
Code: В php-шном стиле:
$curUIN - текущий уин
$curMailRegDate = getRegDate($uin, $mail); - типа дата регистрации мыла;
а вот запросец:
DELETE FROM primary_mails_table WHERE uin=$uin AND regdate > $curMailRegDate;

второе - у них Oracle с поддержкой типа list - т.е. связный список.

Spacoom 6:24 PM: не знаю насчет оракла, но ходили слухи что у них НТ, так что вполне возможно MSSQL =) первый вариант это первый приходящий в голову, и в его случае ничего с мылом владельца не поделаешь - как и задумывалось

$t4Lk3r 6:25 PM: Хех.. Если они ничего не переставли, а видимо это так и есть, то у них действительно НТ. а слухи эти не слухи, а реальность. Мелкософту удалось закинуть троя им в сетку и, вскоре, он сидел уже на 11111 и имел права Guest на вход в систему. Структуру базы ему так и не удалось тогда изучить, но вот хистори админских базаров почитать удалось Еще вариант: помимо даты регистрации мыла (или просто id, чтоб следить за очередностью не по датам, а по id) есть еще поле время жизни... Т.о. если мы записываем в примари мыло новый ящик, то система не выделяет под него новую память сразу, а сначала ищет старый примари с коротким временем жизни (например, меньше недели или месяца) и записывает новый мыл на его место... Т.о. образом задача забить базу становиться нереальной...

Spacoom 6:25 PM: второй вариант бессмысленен. Существует же принцип "бритвы Оккама" не умножай сущности без необходимости.

Spacoom 6:25 PM: есть просто таблица уин мыло время и может еще какая-то информация такой таблицы более чем достаточно для нормального функционирования сервиса разница между примари и секондари сейчас чисто виртуальная, потому что на оба мыла пароли шлются без проблем

$t4Lk3r 6:29 PM: но все же хочется попробывать забить мылами таблицу. Штук эдак 15000 кинуть и попробывать выслать не на первый, а на 10000-й, например.

Spacoom 6:30 PM: и что это даст? Один SQL запрос откинет все мылы после 10-тысячного

$t4Lk3r 6:31 PM: да об этом никто не спорит, но это даст гарантию того, что все мыла сохраняются !

Spacoom 6:32 PM: и какая интересно разница между первым и десятитысячным мылом? =)

$t4Lk3r 6:32 PM: Тогда не сложно прикинуть следующее - что стоит забить базу мирабов за пару дней?

Spacoom 6:33 PM: это сложно, потому что нельзя менять мыло чаще чем раз в несколько секунд. Попробуй посчитать сколько времени займет забить в базу хотя бы один гиг мыл

Spacoom 6:33 PM: с этой стороны к сожалению у АОЛа похоже все продумано

$t4Lk3r 6:33 PM: Разница? Я же говорю... Возможно такое понятие как время жизни... И при быстрой регистрации не все мыла сохраняются..

Spacoom 6:34 PM: я в этом сомневаюсь на основании принципа бритвы Оккама

$t4Lk3r 6:35 PM: ага.. ты о том же... так.. погоди... так ты согласен, что есть время жизни? Ок.. я наверно не так выразился... есть лимит по времени на смену мыла... запрос на апдейт не принимается в ближайшие n-секунд... так ты думаешь?

Spacoom 6:36 PM: кстати самое первое мыло держалось не дольше времени, чем предпоследнее, потому что я начал с голой аськи

$t4Lk3r 6:36 PM: кстати сформулируй этот принцип... ты его уже второй раз употребляешь =)

Spacoom 6:36 PM: нету такого времени как показывает опыт

$t4Lk3r 6:38 PM: мудрено...

Spacoom 6:40 PM: для этого лучше отослать к книжке по философии =) в кратце - не стоит придумывать гипотезы которые невероятным образом объясняют наблюдаемые события. Если камень падает то надо предполагать что на него воздействует гравитация, а не бог решил что этому камню следует упасть

Spacoom 6:40 PM: хорошее объяснение =) Не стоит придумывать МУДРЕНЫХ гипотез, когда есть более простая

$t4Lk3r 6:40 PM: т.е. ты не веришь в DDoS на базу?

Spacoom 6:41 PM: ддос можно устроить если есть достаточное количество айпишек, но это будет скорее ддос связанный с траффиком чем с базой

$t4Lk3r 6:44 PM: я как раз склоняюсь к тому, что у программистов в icq именно так. Пообщавшись с десятком программистов (некоторые из которых отлично владеют русским), я пришел к выводу, что касаемо всяких мелочей как-то флуд-лимит на регистрацию новых мыл и т.д. руки у них не доходят

Spacoom 6:44 PM: тем более они должны были взять самое простое и очевидное решение

$t4Lk3r 6:45 PM: пробл, действительно скорее с трафиком.

Spacoom 6:45 PM: =))

$t4Lk3r 6:47 PM: Ну вобщем есть пища для размышлений... Давай теперь поговорим о DFM ? Столько различных мнений о нем...

$t4Lk3r 6:48 PM: Давно началась работа над ним? И что специфичного там используется?

Spacoom 6:53 PM: принцип на котором он работает похоже первым открыл еще Mike Tan давныыым давно, но к сожалению его программа была недоступна широкой публике(в том числе и мне) и хотелось сделать похожую вещь. И однажды когда я читал форум на котором обсуждались способы как можно определить в инвизибле уин или нет, меня неожиданно пронзила мысль как все просто - рабочий набросок был написан за пол часа, интерфейс же к ней был сделан по просьбе Vishka'и на пару дней позже. Как оказалось многих людей это интересует, счетчик на данный момент находится в районе 20 тысяч человек + много откуда он качается напрямую а не через мой сайт

Spacoom 6:56 PM: Впоследствии была в нем же реализована возможность ДОС атаки на 2001-2002 асю, и добавление уинов без авторизации. По непонятным причинам АОЛ вместо того, чтобы фиксить все эти баги, натравил на меня адвокатов, из-за которых мне пришлось сменить хостинг и я потерял домен. Сейчас проект находится на домене iFud.com и я надеюсь ничего страшного с ним больше не случится

$t4Lk3r 7:10 PM: А расскажи подробней о принципе? Я думаю это будет интересно начинающим кодерам.

Spacoom 7:11 PM: при посылке сообщения сервер выдает подтверждение о том, что сообщение дошло до получателя, в случае если в инвизибле - все равно выдает

$t4Lk3r 7:18 PM: Хех.. ну ладно... хватит на сегодня =) Пойду DDoS писать LOL!

Spacoom 7:11 PM: Удачи! Пока.