попутно понять работу простой нейросети на практике, а также улучшить ее результаты.
Сразу оговоримся, что не будем погружаться в размышления о том, как работает нейрон и что с этим всем делать, статья не претендует на научность, а только предоставляет небольшой туториал.
Поэтому очень кстати вышла статья на pyimagesearch.com о том как работать со своими собственными данными, а также ее перевод.
Но, как говорится, хрен редьки не слаще: даже с переводом разжеваной статьи по keras осталось много слепых мест. Опять же предлагается заранее подготовленный датасет, только уже с котами, собаками и пандами. Придется заполнить пустоты самостоятельно.
Однако за базу будет взята эта статья и код.
Как резать? Можно в photoshopе, но лучше иметь нож получше.
Поэтому вот код ножа на python — скачать. (для Windows. Предварительно создать папки C:\1\test и C:\1\test-out).
На выходе получится свалка из цифр от 1 до 9 (нулей в капче нет).
Если при выборе цифры возникает сомнение какая из цифр, лучше удалить этот образец. И ничего страшного если цифры будут зашумлены или неполностью входить в «кадр»:
Набрать в каждую папку надо штук по 200 образцов каждой цифры. Можно эту работу поручить сторонним сервисам, но лучше сделать все самим, чтобы потом не искать неправильно соотнесенные цифры.
Перед тем как начать работать с собственными данными лучше пройтись по вышеуказанной статье и запустить код, чтобы понять, что все компоненты (keras, tensorflow и т.п.) установлены и работают корректно.
Будем использовать простую сеть, синтаксис запуска которой из командной (!) строки:
python train_simple_nn.py --dataset animals --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png
Главное, чтобы на выходе после отработки программы в папке проекта output появились два файла: simple_nn_lb.pickle и simple_nn.model, а на экран будет выведено изображение животного с надписью и процентом распознавания, например:
Поместим в папку dat папки с цифрами, содержащими отобранные образцы по каждой цифре.
Папку dat для удобства разместим в папке с проектом (например рядом c папкой animals).
Теперь синтаксис запуска обучения сети будет таким:
python train_simple_nn.py --dataset dat --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png
Необходимо поправить файл train_simple_nn.py.
1. В самый конец файла:
#model.summary()
score = model.evaluate(testX, testY, verbose=1)
print("\nTest score:", score[0])
print('Test accuracy:', score[1])
2.
image = cv2.resize(image, (32, 32)).flatten()
image = cv2.resize(image, (16, 37)).flatten()
Здесь мы изменяем размер входной картинки. Почему именно такой размер? Потому как большинство из нарезанных цифр имеют такой размер либо приводятся к нему. Если масштабировать до 32×32 пикселя, картинка будет искажена. Да и зачем это делать?Кроме того, загоняем это изменение в try:
try:
image = cv2.resize(image, (16, 37)).flatten()
except:
continue
определим архитектуру 3072-1024-512-3 с помощью Keras
В нашем случае вход 1776 (16 пикселей*37 пикселей*3), далее слой 1024, слой 512, на выходе 9 вариантов цифр.
Поэтому наш код:
model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))model.add(Dense(512, activation="sigmoid"))
python train_simple_nn.py --dataset dat --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --plot output/simple_nn_plot.png
Это означает, что на обучающем наборе достигнута верность — 82,19%, на контрольном — 75,6 % и на тестовом — 75,59 %.
Нам надо ориентироваться на последний показатель большей частью. Почему остальные также важны будет пояснено далее.
Посмотрим также графическую часть работы нейросети. Она в папке output проекта simple_nn_plot.png:
Вариант подлиннее следующий.
Добавим эпох.
В коде меняем
EPOCHS = 75
EPOCHS = 200
Результат:
Таким образом, 93,5%, 92,6%, 92,6%.
В картинках:
Здесь заметно, что синяя и красные линии после 130 эпохи начинают разъезжаться друг от друга и это говорит, что дальнейшее увеличение числа эпох ничего не даст. Проверим это.
В коде меняем
EPOCHS = 200
EPOCHS = 500
Результат:
Итак, имеем:
99%,95,5%,95,5%.
И на графике:
Что ж, увеличение числа эпох, явно пошло сети на пользу. Однако этот результат обманчив.
Проверим работу сети на реальном примере.
Для этих целей в папке проекта есть скрипт predict.py. Перед запуском подготовимся.
В папку images проекта положим файлы с изображениями цифр с капчи, ранее не попадавшиеся сети в процессе обучения. Т.е. надо взять цифры не из набора датасета dat.
В самом файле поправим две строки для размера изображений по умолчанию:
ap.add_argument("-w", "--width", type=int, default=16, help="target spatial dimension width")
ap.add_argument("-e", "--height", type=int, default=37, help="target spatial dimension height")
python predict.py --image images/1.jpg --model output/simple_nn.model --label-bin output/simple_nn_lb.pickle --flatten 1
И видим результат:
Другая картинка:
Однако не со всеми зашумленными цифрами работает:
Что здесь можно сделать?
Снизим скорость обучения.
INIT_LR = 0.01
наINIT_LR = 0.001
Что ж, мимо.
Дабавим дополнительный скрытый слой.
model.add(Dense(512, activation="sigmoid"))
наmodel.add(Dense(512, activation="sigmoid"))
model.add(Dense(258, activation="sigmoid"))
Получше, но нет.
Однако, если увеличить количество эпох до 250:
84%,83%,83%
При этом красная и синяя линия не отрываются друг от друга после 130 эпохи:
Сохраним 250 эпох и применим прореживание:
from keras.layers.core import Dropout
model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(258, activation="sigmoid"))
model.add(Dropout(0.3))
Первое значение ниже остальных, это говорит о том, что сеть не обучается. Для этого рекомендуют увеличить количество эпох.
model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))
С 1 дополнительным слоем, прореживанием и 500 эпохами:
model.add(Dense(1024, input_shape=(1776,), activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(512, activation="sigmoid"))
model.add(Dropout(0.3))
model.add(Dense(258, activation="sigmoid"))
Несмотря на более низкий процент по сравнению с простым увеличением эпох до 500, график выглядит более ровным:
И сеть обрабатывает изображения, которые ранее выпадали:
Соберем теперь все в один файл, который нарежет изображение с капчей на входе на 5 цифр, прогонит каждую цифру через нейросеть и выдаст результат в интерпретатор python.
Здесь попроще. В файл, который нарезал нам цифры из капчи добавим файл, который занимается предсказаниями.
Теперь программа не только нарежет капчу на 5 частей, но и выведет все распознанные цифры в интерпретатор:
Опять же надо иметь в виду, что программа не дает 100% результата и зачастую одна из 5 цифр неверна. Но и это неплохой результат, если учесть, что в обучающем наборе всего по 170-200 экземпляров для каждого числа.
Распознавание капчи длится 3-5 сек на компьютере средней мощности.
Как еще можно попытаться улучшить работу сети можно почитать в книге «Библиотека Keras — инструмент глубокого обучения» А. Джулли, С.Пала.
Итоговый скрипт, который режет капчу и распознает — здесь.
Запускается без параметров.
Переработанные скрипты для тренировки и теста сети.
Капчи для теста, в том числе с ложным срабатыванием — здесь.
Модель для работы — здесь.
Цифры, разложенные по папкам — здесь.
Каждый бит аудиосигнала каждого числа загружается в 6 различных бесплатных онлайн-сервисов транскрипции аудио (IBM, Google Cloud, Google Recognition, Sphinx, Wit-AI, Bing Speech Recognition), и эти результаты агрегируются. После объединения наиболее вероятная строка выявляется эвристически. После этого числа последовательно набираются в капчу. При тестировании наблюдалась точность от 92% для отдельных чисел и до 85% в распознавании аудиокоманды в полном объеме.
unCAPTCHA является не первой системой подобного рода. В марте текущего года была информация об атаке с использованием ReBreakCaptcha, системы, практически идентичной unCAPTCHA.
Тесты показывают, что unCAPTCHA может решить 450 задач reCAPTCHA с точностью 85,15% за 5,42 секунды. Это меньше, чем требуется человеку для прослушивания одного звукового файла reCAPTCHA.
→ Исходный код опубликован на github.
По ссылке доступно исследование от создателей утилиты.
Разработчики уведомили о своем исследовании специалистов Google, в результате чего уже добавлены новые меры защиты от подобных атак.
Безусловно, требование разгадать непонятно написанную комбинацию букв и цифр каждый раз, когда мы хотим что-нибудь сделать, немного напрягает. И это требует дополнительного времени. Каждый раз, когда необходимо пройти тест CAPTCHA, Вы тратите примерно 10 секунд Вашей жизни. Вот почему CAPTCHA заработала плохую репутацию среди Интернет-пользователей, несмотря на то, что он был создан как раз для обеспечения нашей безопасности.
Здорово, что мы помогаем оцифровывать книги, но когда речь заходит об Интернет-безопасности, но эффективна ли CAPTCHA?
Еще раз напоминаемо том, что мы стали слишком зависимы от технологий. А вот компьютеры все меньше и меньше зависят от человека, так что роботы становятся все более способными выполнять действия подобно человеку. И хотя это игра в «кошки-мышки», Google продолжает разрабатывать и проводить тесты подобные CAPTCHA, чтобы оградить роботов от тех действий, которые должен выполнять только человек.
Panda Security в России
+7(495)105 94 51, [email protected]
Не будем томить интригами специалистов в области speech recognition, сразу заявив, что никакая собственная система распознавания голоса под заявленные цели не разрабатывалась. В статье используется старый добрый Pocketsphinx, но с определенной степенью настройки.
«Забегаешь в офис к конкурентам, у которых голосовое управление на компах, кричишь «Судо эрэм минус эрэф хоум» и убегаешь.» Из комментов.Итак, капча предлагает себя прослушать, нажав на соответствующую кнопку. Если сохранить полученный звуковой файл, то можно выяснить, что он представляет из себя короткий отрезок аудио в .mp3. При этом, как выяснилось, капчи предлагаются с озвучкой женским голосом или мужским. «Рисунок» одних и тех же звуков, произнесенных мужчиной и женщиной разный:
Озвучивают они как буквы (причем русские), так и цифры.
На первый взгляд все грустно. Но есть и позитивный момент в том, что звуки для одинаковых букв совпадает.
Пока эти знания не сильно помогают. Как это все затолкать в пакет Сфинкса?
Установка самого Pocketsphinx на windows (да и на linux) не сильно замысловата — скачать, установить.
Так как по умолчанию pocketsphinx идет с английской языковой, акустической моделями, словарем, понадобится все то же самое для русского языка.
Скачаем русский вариант — ссылка.
После распаковки русской модели в структуре файлов можно попробовать тестовый .wav файл decoder-text.wav cо следующим кодом на python:
import os
from pocketsphinx import AudioFile, get_model_path, get_data_path
#from pocketsphinx import Pocketsphinx
model_path = get_model_path()
data_path = get_data_path()
config = {
'verbose': False,
'audio_file': os.path.join(data_path, 'C://python3//decoder-test.wav'),
'buffer_size': 2048,
'no_search': False,
'full_utt': False,
'hmm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//zero_ru.cd_cont_4000'),
'lm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.lm'),
'dict': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.dic')
}
audio = AudioFile(**config)
for phrase in audio:
print(phrase)
Для этого понадобится ffmpeg.
ffmpeg -i decoder-test.wav -ar 16000 decoder-test-.wav
'audio_file': os.path.join(data_path, 'C://python3//decoder-test-.wav'),
Правда надо ждать как до второго пришествия, код очень медленно работает — около 20 сек.
Сконвертируем аудио капчи по тому же принципу из mp3 в wav и скормим аудио от капчи. Взглянем на работу кода:
Невесть какой, но результат есть. Было гораздо хуже, если если бы ничего не вывело. Как с женским голосом:
Посмотрим как улучшить результат и одновременно его ускорить.
Все символы надо поместить в обычный текстовый файл по одному в каждой строке в кодировке UTF-8.
Теперь надо сконвертировать словарь.
Понадобится установка perl (он нужен для работы конвертатора).
Далее скачаем проект для конвертации ru4sphinx.
И конвертируем ранее созданный словарь:
C:\ru4sphinx-master\ru4sphinx-master\text2dict> perl dict2transcript.pl my_dictionary.txt my_dictionary_out.txt.
Расширение словаря надо переименовать из .txt в формат .dic, а сам файл положить в доступное место.
В коде python укажем расположение словаря, закомментировав старый словарь:
#'dict': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.dic')
'dict': os.path.join(model_path, 'C://python3//my_dict.dic')
Лучше, но так же медленно и не все буквы правильно определились.
Пойдем коротким путем из инструкции.
Зайдем по ссылке и загрузим на сайт наш словарь, ранее созданный в формате .txt (не .dic!):
Нажмем «Compile…». На выходе можно скачать полученный пакет в архиве .tgz (он содержит все необходимые файлы):
Далее из архива возьмем файл с расширением .lm (наша модель).
Поправим python скрипт распознавания, заменив модель на вновь изготовленную:
#'lm': os.path.join(model_path, 'C://python3//zero_ru_cont_8k_v3//ru.lm'),
'lm': os.path.join(model_path, 'C://python3//my_model//1896.lm'),
Работает заметно быстрее — менее секунды, кроме того, все буквы определены.
Но тут необходима небольшая ремарка.
Не все символы распознаются корректно, и если вместо правильной букву выдает другой символ, то можно вручную поправить ранее созданный словарь .dic, сопоставив соответствие буквы.
Например, вместо буквы а, выводит э. Необходимо взять строку из словаря э:э r y
и перенести(удалив старую) ее, поменяв букву:а r y
Но так как буква «а» уже есть в словаре, то к букве надо добавить «(2)» (или 3,4), вообщем, порядковый номер, в зависимости сколько звуков уже есть в словаре:a(2) r y
Заново конвертировать словарь не нужно. Таким нехитрым способом можно «подобрать» фонемы всех букв, почти.
Если при запуске программы ничего не распознало — значит мы имеем дело с женским голосом, так можно фильтровать «женские» капчи.
Но что с ними делать?
Здесь надо поработать с конвертацией.
Например, с «мужской» капчей частота была 16000, а для женской «подойдет» 24000:
ffmpeg -i acap(3).mp3 -ar 24000 acap(3)2.wav
Все звуки определились (в каждой строке по звуку), но их соответствие хромает.
Лучше создать отдельный словарь под женскую модель и далее ее править.
Однако, это для самостоятельного изучения.
Полезные ссылки:
1. home-smart-home.ru/raspberry-pi-pocketsphinx-offlajn-raspoznavanie-rechi-i-upravlenie-golosom
2.https://itnan.ru/post.php?c=1&p=351376
3. ru.wikipedia.org/wiki/Cherchez_la_femme
Файлы:
1. Программа.
2. Модель.
3. Русская модель.
4. Словарь.
5.Тестовые капчи.
6. ffmpeg.
7. Пачка капч.
Основные причины обилия капч — это то, что разработчики не думая берут пример с популярных сервисов при разработке маленьких сайтов и не понимают почему спамят формы.
В большинстве случаев для формы обратной связи достаточно этого метода.
Проверки «докажи, что ты не робот» раздражают многих. Да, ReCAPTCHA и другие подобные инструменты помогают отсекать массу ботов и спамеров, но обычные пользователи теряют время и тратят нервные клетки на эти тесты. Поэтому специалисты по информационной безопасности со всего мира пытаются найти альтернативу, кроме того, некоторые специалисты учатся обходить капчу.
Ученым из Мэрилендского университета это удается лучше других. Они назвали свой метод unCaptcha, он позволяет обходить ReCAPTCHA от Google при помощи сервисов самой корпорации Google. Процент удачных попыток превышает 90%. Стоит напомнить, что ReCAPTCHA работает на тысячах сайтов, сервис популярнее многих других. Поэтому, научившись обходить его, специалисты получают обширные возможности.
Пример ReCAPTCHA с возможностью прослушивания информации, требуемой для решения капчи для людей, которые не могут по тем либо иным причинам пройти тесты с фотографиями или символами
Обход стал возможным благодаря работе с сервисом преобразования голоса в текст от Google. Принцип достаточно простой. UnCaptcha загружает аудиофайл ReCAPTCHA (аудио предназначено для тех пользователей, кто по тем либо иным причинам не может работать с изображениями капчи). Далее аудио разделяется на элементы — произносимые буквы и цифры. Элементы сохраняются и загружаются на разные сервисы распознавания голоса и преобразования голоса в текст.
Среди прочих сервисов используется инструмент от Google, о чем говорится выше. Затем распознанные и преобразованные в текст элементы вновь собираются вместе и вводятся в поле распознавания самой капчи. Кроме того, метод использует автоматическое распознавание произносимых фраз, что увеличивает число успешных попыток обхода капчи.
Представители Google в курсе работы ученых — по словам последних, они держат контакт с компанией около полугода. Корпорация особо не переживает по поводу капчи и ее обхода, так что не стала препятствовать публикации результатов работы специалистов.
Годом ранее исследователи разработали ИИ, который научился обходить капчу в 66% случаев. Для этого ученые использовали не обучение нейросети при помощи миллионов изображений капчи, как в обычном случае. Вместо этого нейросеть научили определять форму и начертание символов, что позволило ИИ начать «понимать» капчу.
Как-то была создана даже капча, которая предназначена для отсеивания людей. Называется она Humans Not Invited, и человеку пройти тест можно лишь при наличии везения и удачливости.
Выше показана картинка с изображениями именно такой капчи, где нужно найти все элементы с селфи-палкой. Вместо четких картинок мы видим заблюренные кусочки фотографий, где ничего разобрать нельзя. Специальным образом запрограммированный бот справляется с этой задачей без всяких проблем. Но человека как ни учи, ничего распознать не получится.
Что касается буквенных капч, то с ними лучше всего справляются полносверточные нейронные сети, где нет полносвязного слоя. Все это работает так хорошо, что использование символов просто теряет смысл, поскольку нейросеть без проблем проходит проверку. Возможно, в недалеком будущем от капчи вообще откажутся, и на смену ей придет какой-то иной способ защиты от ботов. Но случится это еще не скоро, сейчас капча продолжает неплохо выполнять свое предназначение.
Если вы встречались в интернете с мини-тестом, который предлагает распознать символы на картинке, то наверняка знаете, какой утомительной может быть задача по вводу капчи. Одно дело, если вы встречаетесь с капчами редко, однако если требуется постоянно расшифровывать капчу, то каждый раз вводить символы быстро надоедает. Впрочем, к счастью существуют способы, позволяющие вводить капчу быстро или даже вовсе обойти этот вид проверки.
Содержание
Капча представляет собой, как правило, зашифрованные символы на картинке, которые необходимо расшифровать. На изображении капчи могут содержаться самые разнообразные символы: буквы кириллицы или латинского алфавита, цифры, уравнения или даже фотографии. При вводе капчи следует быть максимально внимательным, так как ошибка при расшифровке даже одного символа не позволит пройти тест.
Заработок 💰 онлайн на вводе капчиВсё, что вам нужно — это правильно ввести текст с картинки (с капчи).Вы получаете деньги 💵 за каждый ввод капчи.
Зарегистрироваться>>>
Значение при вводе капчи имеет не только символ, но и его размер – учтите отличие прописной буквы от заглавной, также важно иногда учитывать форму символа, ведь бывает, что буква «О» похожа на цифру «ноль», и при вводе система не засчитает такую подмену.
При решении математических уравнений в качестве капчи следует вписать в поле капчи лишь ответ, например, если вас просят сложить две цифры, то ответом на капчу будет результат математических действий. Другой же необычный вид капчи – набор фотографий, среди которых следует выбрать похожие. Так, вас могут попросить выбрать фото с напитками среди самых разнообразных наборов изображений, в этом случае следует проявить внимательность и смело выбрать фото, на которых есть даже что-то похожее на напиток.
Капча возникает в тех случаях, когда система хочет определить, настоящий ли вы человек. Обычно это требуется при регистрации на сайтах, где вводить капчу иногда заставляют несколько раз. Если вы ввели капчу неправильно, система не позволит завершить регистрацию на сайте.
Особенно сложной выглядит задача при регистрации с мобильных устройств, для которых ресурсы не всегда имеют надлежащую версию с работоспособной капчей. В таком случае иногда ввести капчу вообще невозможно и приходится выполнять регистрацию с компьютера.
Капча также возникает на сайтах при проявлении пользователем подозрительной активности. Если вы решите заняться распространением спама, ввод капчи станет для вас очень частой задачей. Конечно, можно посоветовать просто не заниматься спам-рассылкой и другой подозрительной активностью на сайтах, однако бывает, что именно в этом и заключается ваша текущая задача и требуется распространить рекламу в соцсети или объявление на форуме. В этом случае важно найти способ быстро вводить каждую капчу или как-нибудь пропустить проверку.
Смотрите видео – Как быстро писать сложную японскую капчу:
Антикапча-сервис ручного распознаванияНад распознаванием капчи работают живые люди, поэтому сервису подвластно все, что способен распознать человек:текстовые капчи, графические капчи: ReCaptcha V2, KeyCaptcha, FunCaptcha и др.
Зарегистрироваться>>>
Некоторые сайты и программы позволяют пропустить ввод капчи. Достаточно просто оставить поле ввода пустым, но этот способ действует редко. Есть совет и от хакеров, которые привыкли взламывать сайты и капчи – в некоторых случаях достаточно просто отключить в браузере загрузку изображений, таким образом, картинка капчи не загрузится и поле ввода можно оставить пустым – сайт сравнит два пустых значения и позволит пройти капчу. Этот способ также работает далеко не всегда, но на простом сайте без защиты попробовать стоит.
Кроме всего этого, существуют специальные программы для автоматического ввода капчи, они обеспечивают не 100%-ый ввод капчи и допускают достаточно ошибок, но в целом иногда оказываются весьма эффективными.
Если вы хотите самостоятельно научиться быстро вводить капчу, то потребуется много тренировок и терпения. Существуют специальные сайты, на которых можно зарабатывать на вводе капчи – именно здесь умение быстро вводить любую капчу пригодится вам больше всего.
Для максимальной скорости ввода попробуйте игнорировать наличие в капче заглавных и прописных букв и вводить все символы маленькими – система чаще всего засчитывает такой ввод. Также не забывайте про использование цифровой клавиатуры, на которой цифры вводятся гораздо быстрее.
Ну и один из важнейших советов – научитесь «слепому вводу». Постарайтесь не смотреть на клавиатуру при вводе капчи и мозг постепенно сам выучит расположение всех клавиш, это позволит вводить капчу очень быстро и почти автоматически.
Как видите, обойти ввод капчи в интернете непросто, однако можно всегда ускорить прохождение этого теста. Главное – проявлять терпение и набраться опыта, ведь чем чаще вы вводите капчу, тем больше тренируетесь скоростному вводу.
Недавно Cloudflare добавила поддержку hCaptcha для страницы проверки безопасности, что привело к значительному увеличению популярности hCaptcha.
Что такое hCaptcha?
hCaptcha позиционирует себя как замену Google ReCaptcha. На самом деле это клон ReCaptcha, и даже в исходном коде и названиях элементов мы видим много ссылок на ReCaptcha.
Как мы знаем, Google использовал ReCaptcha для маркировки данных, и в результате теперь у нас есть огромный набор данных Open Images, помеченный миллиардами людей, и каждый пользователь Интернета внес в него крошечный вклад.hCaptcha взяла ту же идею и сделала сервис маркировки данных доступным для всех, он действительно гибкий и настраиваемый, позволяющий создавать наборы данных для задач машинного обучения. И мы думаем, что они действительно хорошо работают.
С другой стороны, hCaptcha предоставляет сервис капчи в качестве решения для защиты от ботов.И, как мы все знаем, защиту от ботов можно обойти с некоторыми усилиями. 2captcha использует человеческие силы для этого, и поэтому мы думаем, что даже не затрагиваем основную задачу hCaptcha — маркировку данных, поскольку наши сотрудники имеют большой опыт в такого рода задачах.
Обход hCaptcha
Процесс решения hCaptcha действительно похож на ReCaptcha:
1. Вам нужно найти sitekey , который предоставляется в свойстве data-sitekey тега script .
3. Поместите токен в поля с именем g-recaptcha-response и h-captcha-response .
4. Отправьте форму.
Это можно сделать с помощью простого кода javascript, если вы в браузере:
пусть submitToken = (токен) => {
document.querySelector (‘[name = g-recaptcha-response]’). InnerText = токен
document.querySelector (‘[name = h-captcha-response]’). InnerText = токен
документ.querySelector (‘. проблема-форма’). submit ()
}
submitToken (‘TOKEN_STRING’)
Или вы можете создать запросы POST, предоставляющие правильные значения.
Вот и все.
Стоимость
Цена такая же, как и на ReCaptcha, 2,99 доллара за 1000 токенов.
.Начнем с того, откуда произошло слово «капча». Оказывается, что капча — это аббревиатура от полностью автоматизированного общедоступного теста Тьюринга, позволяющего отличить компьютеры от людей. Идея технологии капчи (а также оригинального теста Тьюринга) проста: это тест, который люди могут пройти, а онлайн-боты — нет. Captcha обычно представляет собой искаженное текстовое изображение, которое необходимо повторно ввести, чтобы убедиться, что вы не компьютер.
ТехнологияCaptcha важна, поскольку она обеспечивает простую и практичную безопасность для множества различных вещей, таких как защита регистрации веб-сайтов, предотвращение спама в комментариях в блогах, обеспечение того, чтобы в онлайн-опросах голосовали только люди, и многое другое. Без технологии captcha спамеры потенциально могут злоупотреблять этими ситуациями, создавая многочисленные учетные записи, оставляя смехотворное количество комментариев или голосуя неограниченное количество раз в одном опросе.
Первые версии капчи было относительно легко обойти компьютерам.Это привело к гонке вооружений между хакерами и разработчиками капчи. После того, как первая представит новую версию капчи, вторая будет иметь более новую, более надежную версию.
«ReCaptcha от Google — это самый простой способ избавиться от ботов. Никаких математических задач не требуется!» @jgamboa #WPEProTip pic.twitter.com/bPOegSbmbz
— WP Engine (@wpengine) 14 апреля 2016 г.
В какой-то момент Google вышел на сцену и выпустил reCAPTCHA, который теперь неофициально считается стандартом капчи.Он использует не только искаженный текст, но и изображения, и считается одним из самых надежных сервисов ввода капчи. Технология Google reCAPTCHA используется самим Google, Facebook и многими другими веб-сайтами как средство защиты от спама и злоупотреблений. Фактически, reCAPTCHA — самый популярный провайдер капчи в мире.
К сожалению, кажется, что эта технология не так надежна, как считалось ранее.
Исследователи безопасности из Колумбийского университета обнаружили недостатки в технологии Google reCAPTCHA, которые открывают хакерам возможность влиять на анализ рисков, обходить ограничения и развертывать крупномасштабные атаки.
Исследователи заявили, что они смогли разработать недорогую атаку, которая успешно решила более 70% задач reCAPTCHA с изображениями, и каждая задача требовала в среднем всего 19 секунд для решения. Они также применили систему к капче изображений Facebook и обнаружили уровень точности 83,5%. Считается, что более высокая точность в Facebook является результатом того, что изображения в Facebook имеют более высокое разрешение.
Система использовала методы, позволяющие обходить файлы cookie и токены, а также использовала машинное обучение как способ правильно угадывать изображения.Забавно то, что эта система взлома reCAPTCHA основана на собственном поиске обратных изображений Google. Но он также может работать в автономном режиме.
«Тем не менее, наша полностью автономная система взлома капчи сравнима с профессиональным сервисом решения как по точности, так и по продолжительности атаки, с дополнительным преимуществом, заключающимся в том, что злоумышленник не несет никаких затрат», — заявили исследователи, подчеркнув простоту и экономичность этой конкретной атаки.
Прежде чем результаты были обнародованы, исследователи уведомили Google и Facebook, чтобы сообщить им об этих потенциальных недостатках.Они заявили, что Google ответил попыткой улучшить безопасность reCAPTCHA, но Facebook, похоже, не предпринял никаких шагов для улучшения.
Лучшая капча, которую я когда-либо видел. pic.twitter.com/tVvbwjmTLC
— Сиддхарт Вадгама (@siddvee) 12 апреля 2016 г.
Исследователи полагают, что хакеры могут разумно взимать 2 доллара за 1000 решенных капч и в результате могут зарабатывать более 100 долларов в день. Они могли бы заработать еще больше, если бы запустили несколько атак одновременно или использовали дополнительные методы.
Исследование показывает, что в мире кибербезопасности еще многое предстоит сделать, но также дает возможность многим компаниям, таким как Google, двигаться вперед и более активно анализировать свои текущие меры безопасности. Google уже проявил интерес к усилению своей безопасности, и, надеюсь, другие веб-сайты не сильно отстают.
.
Об авторе