Комментарии 29
Очень полезно и интересно было почитать, спасибо.
Очень интересно и познавательно. Не встречал до этого эту рублику, а это уже 3-я глава оказывается.
*Ушёл читать первые две*
*Ушёл читать первые две*
Что касается выводов, то думаю каптчи пора убирать повсеместно, только пользователей мучаем. И работать в направлении запутывания кода; динамичности всего что только можно как-то различные id, имена input'ов; динамичности самого html — т.е. при каждой перезагрузке страница внутри отличается, но снаружи выглядит так же и пр.
Каптчи полезны для распугивания всяких хрумеров. По крайней мере, нестандартные.
От специализированного софта под сайт не спасет, но это надо быть довольно популярным ресурсом, чтобы под тебя софт специально делали.
От специализированного софта под сайт не спасет, но это надо быть довольно популярным ресурсом, чтобы под тебя софт специально делали.
От хрумеров спасет хотя бы минимальное запутывание, скажем hidden поле с динамическим именем в котором, например, зашифровано время+рандомная строка, и ключ шифрования известен только на сервере + какой-нибудь javascript, cookie, редиректы…
Вообщем можно как-то развить мысль, сейчас лень формулировать, но если каптча только для отпугивания, то отпугнуть можно и другими способами.
Вообщем можно как-то развить мысль, сейчас лень формулировать, но если каптча только для отпугивания, то отпугнуть можно и другими способами.
Такие защиты хрумер пробивает (как, правда, и многие каптчи). Еще школьники могут писать спамилку под сайт, каптчу им будет обойти сложнее/дороже, чем динамическое поле.
у меня ФО был с каптчей и хитрыми полями, запросто всякие US downloader'ы качали, потому как плагины под конкретный сервис писали хоть и по шаблону, но под конкретный сайт.
А вот нестандартная каптча с достаточно примитивным приемом доп. защиты надолго отвадила подобный софт.
у меня ФО был с каптчей и хитрыми полями, запросто всякие US downloader'ы качали, потому как плагины под конкретный сервис писали хоть и по шаблону, но под конкретный сайт.
А вот нестандартная каптча с достаточно примитивным приемом доп. защиты надолго отвадила подобный софт.
Погуглил что такое хрумер, видимо бред написал, от него действительно не спасет.
Хотя тут надо думать, если имена значимых input'ов делать динамичными т.е. сделать так что-бы нужный инпут можно было определить только визуально, а в коде никак не привязаться, то без вмешательства человека форму не заполнишь.
Хотя он по геометрическому расположению инпут может вычислять…
Эх сложно всё, надо думать.
Хотя тут надо думать, если имена значимых input'ов делать динамичными т.е. сделать так что-бы нужный инпут можно было определить только визуально, а в коде никак не привязаться, то без вмешательства человека форму не заполнишь.
Хотя он по геометрическому расположению инпут может вычислять…
Эх сложно всё, надо думать.
Все-же лучше, чем капча в случае небольшого сайта, нет;) Не уверен насчет конкретно Хрумера, но некоторый софт и js умеет исполнять и работать с уже результирующей формой, которую видит юзер.
А еще каптча защищает ресурсоемкие операции от масового тупого простука стандартным софтом или даже троянами без автообновления.
Для полноценной защиты нужно использоваться эвристику (для которой, в свою очередь, нужно большой сервис либо сетку из небольших). Дата-майнинг позволяет найти отклонения в поведении юзеров (например, рассылка сообщений с определенным интервалом +- некое число, массовость действий с одного аккаунта/ip/подсети), а если сдобрить чем-то типа кнопки «пожаловаться на спам», и дополнять алгоритмы определения нехарактерных для людей действий, списком юзеров, на которых жалуются с определенными условиями (большое число людей или несколько далеких друг от друга людей), то можно практически полностью защититься от такий как герой статьи.
Конечно, это все не так просто и майнинг может и сервера нагружать и просто с ним придется долго ковыряться, но опыт фейсбука и гмыла показывает, что достаточно хорошую защиту сделать можно, если этим заморачиваться.
А еще каптча защищает ресурсоемкие операции от масового тупого простука стандартным софтом или даже троянами без автообновления.
Для полноценной защиты нужно использоваться эвристику (для которой, в свою очередь, нужно большой сервис либо сетку из небольших). Дата-майнинг позволяет найти отклонения в поведении юзеров (например, рассылка сообщений с определенным интервалом +- некое число, массовость действий с одного аккаунта/ip/подсети), а если сдобрить чем-то типа кнопки «пожаловаться на спам», и дополнять алгоритмы определения нехарактерных для людей действий, списком юзеров, на которых жалуются с определенными условиями (большое число людей или несколько далеких друг от друга людей), то можно практически полностью защититься от такий как герой статьи.
Конечно, это все не так просто и майнинг может и сервера нагружать и просто с ним придется долго ковыряться, но опыт фейсбука и гмыла показывает, что достаточно хорошую защиту сделать можно, если этим заморачиваться.
>> защищает ресурсоемкие операции от масового тупого простука стандартным софтом или даже троянами без автообновления.
по-моему туда проще засунуть sleep(3) и это защитит точно также.
>>и дополнять алгоритмы определения нехарактерных для людей действий
софт не делает нехарактерные для людей действия. зачем они ему?
>> рассылка сообщений с определенным интервалом +- некое число
ставим рандом побольше и у защиты уже будут ложные срабатывания на всяких Вась, которые хотят познакомиться и рассылают приветы первым попавшимся.
>>если имена значимых input'ов делать динамичными т.е. сделать так что-бы нужный инпут можно было определить только визуально, а в коде никак не привязаться, то без вмешательства человека форму не заполнишь.
есть сниффер, показывающий отсылаемые поля
есть хтмл, в котором эти поля расположены
последовательность полей в хттп-запросе никогда не учитывается
так что я даже не представляю, как надо усложнить форму, чтобы её можно было заполнить только визуально
по-моему туда проще засунуть sleep(3) и это защитит точно также.
>>и дополнять алгоритмы определения нехарактерных для людей действий
софт не делает нехарактерные для людей действия. зачем они ему?
>> рассылка сообщений с определенным интервалом +- некое число
ставим рандом побольше и у защиты уже будут ложные срабатывания на всяких Вась, которые хотят познакомиться и рассылают приветы первым попавшимся.
>>если имена значимых input'ов делать динамичными т.е. сделать так что-бы нужный инпут можно было определить только визуально, а в коде никак не привязаться, то без вмешательства человека форму не заполнишь.
есть сниффер, показывающий отсылаемые поля
есть хтмл, в котором эти поля расположены
последовательность полей в хттп-запросе никогда не учитывается
так что я даже не представляю, как надо усложнить форму, чтобы её можно было заполнить только визуально
sleep(3) защитит? Никак он не защитит, у пользователей может быть принципиально разное время на заполнение, скажем, форм разной длинны или даже разных каптч. А софт примерно за одно время, пусть и с некоторой погрешностью, выполняет работу.
>>софт не делает нехарактерные для людей действия. зачем они ему?
затем, что цель его присутствия на сайте иная. Пользователь не будет ходить и отсылать сообщение сотне людей, к примеру. Или не будет каждый раз с новой страны логиниться или парсить поиск, заходя потом на каждый из результатов.
>>тавим рандом побольше и у защиты уже будут ложные срабатывания на всяких Вась, которые хотят познакомиться и рассылают приветы первым попавшимся.
Во-первых, Васи скорее всего писем пошлют меньше, во-вторых, скорее всего будут и другие признаки того, что Вася не бот. Критериев можно быть много. У бота цель ведь не эмуляция поведения человека, а привлечение людей к своей анкете или внешней ссылке, следовательно действия будут носить определенный характер.
Форму усложнить никак нельзя. Вернее можно (запутанным JS ее генерить), но от серьезного бота не поможет. Но вот последовательность полей вычистить можно, порядок не важен для html, но отслеживается на той стороне (если прокся не перетасует). Правда, я не знаю что это даст.
>>софт не делает нехарактерные для людей действия. зачем они ему?
затем, что цель его присутствия на сайте иная. Пользователь не будет ходить и отсылать сообщение сотне людей, к примеру. Или не будет каждый раз с новой страны логиниться или парсить поиск, заходя потом на каждый из результатов.
>>тавим рандом побольше и у защиты уже будут ложные срабатывания на всяких Вась, которые хотят познакомиться и рассылают приветы первым попавшимся.
Во-первых, Васи скорее всего писем пошлют меньше, во-вторых, скорее всего будут и другие признаки того, что Вася не бот. Критериев можно быть много. У бота цель ведь не эмуляция поведения человека, а привлечение людей к своей анкете или внешней ссылке, следовательно действия будут носить определенный характер.
Форму усложнить никак нельзя. Вернее можно (запутанным JS ее генерить), но от серьезного бота не поможет. Но вот последовательность полей вычистить можно, порядок не важен для html, но отслеживается на той стороне (если прокся не перетасует). Правда, я не знаю что это даст.
ИМХО, динамичность html тоже не спасет — нужно будет только узнать как создавать валидные данные для подобных форм. Сниффер + логика и такая защита скорее всего будет сломлена. В то же время запутывание кода усложняет обработку данных на сервере.
Обработка и валидация данных — одна задача. Отделение ботов от людей — другая.
Думаю, лучше сработают защиты, основанные на анализе поведения посетителя сайта. Например, люди перед отправкой данных сначала загружают страничку с формой. Между моментом загрузки формы и отправки данных проходит значительное время. Люди и роботы так же отличаются по тому как они посещают страницы — частота запросов, количество загружаемых страниц и т. д.
Еще для некоторых сайтов можно ввести пороговые ограничения на действия — такие, которые адекватный человек скорее всего не превысит. Например, количество публикуемых топиков/комментариев в день (разумеется, ограничения устанавливаются в зависимости от специфики сайта). Много ли настоящих пользователей напишут более 3 топиков в день? Или более 50 комментариев? И можем ли мы быть уверены, что эти комментарии будут полезны ресурсу (весьма сомнительно, что в день можно писать по 50 развернутых и толковых комментариев — скорее всего это спам в стиле «спасибо, интересная статья»).
Каждому из этих правил можно задать коэффициенты в зависимости от их важности. И уже проверяя пользователя по списку заданных правил считать степень его соответствия нашей модели «хорошего пользователя».
Обработка и валидация данных — одна задача. Отделение ботов от людей — другая.
Думаю, лучше сработают защиты, основанные на анализе поведения посетителя сайта. Например, люди перед отправкой данных сначала загружают страничку с формой. Между моментом загрузки формы и отправки данных проходит значительное время. Люди и роботы так же отличаются по тому как они посещают страницы — частота запросов, количество загружаемых страниц и т. д.
Еще для некоторых сайтов можно ввести пороговые ограничения на действия — такие, которые адекватный человек скорее всего не превысит. Например, количество публикуемых топиков/комментариев в день (разумеется, ограничения устанавливаются в зависимости от специфики сайта). Много ли настоящих пользователей напишут более 3 топиков в день? Или более 50 комментариев? И можем ли мы быть уверены, что эти комментарии будут полезны ресурсу (весьма сомнительно, что в день можно писать по 50 развернутых и толковых комментариев — скорее всего это спам в стиле «спасибо, интересная статья»).
Каждому из этих правил можно задать коэффициенты в зависимости от их важности. И уже проверяя пользователя по списку заданных правил считать степень его соответствия нашей модели «хорошего пользователя».
А каким образом обходится защита на лавпланете и мамбе? Как я понимаю, для получения подтвержденного аккаунта надо телефон вводить и туда приходит СМС. На ум приходит только 2 годных способа: понять принцип генерации текста смс (очень маловероятно) и подставлять форму с смс на другом сайте и отправляя смс через сам лавпланет и туда-же вводя ответ от юзера (как делают для взлома каптч, которые очень сложно распознавать, наряду с наемом для этого дела китайцев).
Интересно, как действуют в промышленых масштабах. Ведь спровоцировать пользователя ввести свой номер на левом сайте не так просто, так же и на платную услугу можно подписать.
Интересно, как действуют в промышленых масштабах. Ведь спровоцировать пользователя ввести свой номер на левом сайте не так просто, так же и на платную услугу можно подписать.
Написано же, что это проблема заказчика, а заказчик закупает уже подтверждённые акки. То есть, эту защиту не ломают, ломают сами акки и их пачками продают.
Что за проблема заказчика? Человек сам продает подтвержденные акки, подтверждение для него не проблема (с его слов).
Я вот не уверен, что это именно взлом. Поломать даже 1000 аккаунтов дело весьма непростое, да и сильно зависит от того, что за акк, у одного 10 друзей, у другого 1000, степень наполненности разный, такие вещи сложно продавать массово. Пачками берут именно новые аккаунты, ИМХО. Да и объявление часто встречаются о _создании_ пачек подверженных аккаунтов на заказ.
Я вот не уверен, что это именно взлом. Поломать даже 1000 аккаунтов дело весьма непростое, да и сильно зависит от того, что за акк, у одного 10 друзей, у другого 1000, степень наполненности разный, такие вещи сложно продавать массово. Пачками берут именно новые аккаунты, ИМХО. Да и объявление часто встречаются о _создании_ пачек подверженных аккаунтов на заказ.
>>Человек сам продает подтвержденные акки, подтверждение для него не проблема (с его слов).
с чьих слов?
речь шла именно о покупке реалов, а те — либо угнанные, либо массово активированные (последнее конечно тщательно скрывают и правильно делают)
с чьих слов?
речь шла именно о покупке реалов, а те — либо угнанные, либо массово активированные (последнее конечно тщательно скрывают и правильно делают)
Хотя, конечно, и существующие аккаунты с помощью фишинга воруют. Но, думаю, они не особо долговечные.
ошибаетесь
Что, народу пофиг на аккаунты и никто их не восстанавливает? Даже если тот-же пароль использовать, сами сервисы часто суетятся настаивая на смене пароля в связи с рассылкой спама через аккаунт.
меняешь пароль, перепривязываешь имейл
к тому же многие видимо просто забивают
а если не менять пароль, то можно использовать акк параллельно с пользователем и далеко не 100% заметят подобную активность, да к тому же сразу кинутся менять свой пароль.
Например ОД использует множество людей в возрасте, которые умеют только переписываться и смотреть фотографии. Среди них даже мой отец.
к тому же многие видимо просто забивают
а если не менять пароль, то можно использовать акк параллельно с пользователем и далеко не 100% заметят подобную активность, да к тому же сразу кинутся менять свой пароль.
Например ОД использует множество людей в возрасте, которые умеют только переписываться и смотреть фотографии. Среди них даже мой отец.
привязка к телефону затем и нужна, чтобы мыло не имело значение. Не можешь зайти — отправляешь смс с паролем себе на телефон. Для большинства людей это не проблема, моих очень далеких от интернета знакомых ломали и они без проблем восстанавливали аккаунт.
А еще как на ОД так и на ВК за то, что начинаешь проявлять подозрительную активность (или люди нажимают «спам») очень быстро банят и заставляют поменять пароль, который подтверждается по смс.
Можно, конечно, брать массовостью, но тогда цена одного аккаунта должна быть довольно низкой. Гораздо ниже, чем обычные аккаунты, зареганные ботом.
А еще как на ОД так и на ВК за то, что начинаешь проявлять подозрительную активность (или люди нажимают «спам») очень быстро банят и заставляют поменять пароль, который подтверждается по смс.
Можно, конечно, брать массовостью, но тогда цена одного аккаунта должна быть довольно низкой. Гораздо ниже, чем обычные аккаунты, зареганные ботом.
Гы, судя по частоте упоминания слова «школота» и уровне «проблем» — товарищу undefined еще учиться и учиться :)
Такое слово уже многие употребляют, в том числе из тех, кто лет 10 назад заменял его «ламерьем»;) А вот рандомные формы в квипе действительно удивили. В прочем, судя по предыдущим постам, все знания добыты скорее опытным путем, а при таком подходе часто получается «шерлок холмс», который знает многое, что не знает основная масса и при этом не знает то, что известно большинству людей.
И его сложно в чем-то упрекать, я слабо себе представляю серьезного программиста за пределами мегаполиса (или почти мегаполиса) в СНГ. Как правило, там сидят фрилансеры (удаленщики, часто являются скорее дауншифтерами, имеющими опыт работы в большом городе в оффлайне). По крайней мере, по моим наблюдениям, это так.
И его сложно в чем-то упрекать, я слабо себе представляю серьезного программиста за пределами мегаполиса (или почти мегаполиса) в СНГ. Как правило, там сидят фрилансеры (удаленщики, часто являются скорее дауншифтерами, имеющими опыт работы в большом городе в оффлайне). По крайней мере, по моим наблюдениям, это так.
Также, не поддался мне реггер яху.ком.
Возможно я был тогда ещё неопытен, возможно уровень защиты действительно очень высокий.
При фокусе в каждом поле формы — яваскрипт подсчитывает некую контрольную сумму, которая затем отправляется вместе с данными при регистрации. Понять принцип её подсчета мне тогда к сожалению не удалось.
решается на раз selenium'ом seleniumhq.org/
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
«Софт за пределами морали». Глава третья «Состояние современных защит»