С появлением большого количества интернет-ресурсов, используемых для коммерческой деятельности, социальных взаимодействий и поиска информации, возникла необходимость в их защите от ботов. Боты — это программы, выполняющие автоматически настроенные задачи, в том числе и мошеннические. Для защиты от таких программ широко используется CAPTCHA [1] (Completely Automated Public Turing test to tell Computers and Humans Apart) - компьютерный тест, предназначенный для различения компьютеров и людей. Этот термин, часто упоминаемый в русскоязычной литературе как "капча", стал общеупотребительным.
С развитием капч возникла и задача автоматизации их решения. Задача решения (распознавания) капчи интересна не только «взломщикам» сайтов и сервисов. В частности, представленная в работе система распознавания капчи реализуется по заказу кампании EvoSoft [2]. Деятельность компании-заказчика реализуемой системы связана с разработкой сайтов и мобильных приложений по доставке еды. Разрабатываемая система не предназначена для несанкционированного доступа к внешним ресурсам, а исключительно для использования в строго законных целях - для автоматизации и улучшения процессов внутреннего тестирования наших собственных приложений. Применение технологий распознавания капч является ключевым элементом в процессе разработки таких решений, позволяя эффективно проверять взаимодействие приложений с различными веб-интерфейсами и улучшать их функциональность. В контексте тестирования автоматизация распознавания капчи обеспечивает более высокую точность и скорость проверок, способствуя повышению качества и безопасности разрабатываемых продуктов.
Разнообразие типов капч, от текстовых до сложных графических пазлов, требует разработки многофункциональных и адаптивных методов распознавания. В этом контексте алгоритмы компьютерного зрения, такие как те, что предлагает OpenCV [3], играют ключевую роль, позволяя создавать системы, способные эффективно интерпретировать и решать различные типы капч.
Целью данной работы является разработка специализированного сервиса для решения капч, который будет взаимодействовать c платформой по тестированию.
В ходе достижения поставленной цели должны быть решены следующие задачи:
1. Изучение предметной области, обзор аналогов, анализ методов решения капч.
2. Проектирование и реализация системы распознавания капч с использованием библиотеки OpenCV.
3. Интеграция с платформой по тестированию.
4. Тестирование разработанной системы, исследование возможностей адаптации к различным видам и сложности капч.
В системе реализованы функции для решения капч посредством POST- запросов, обеспечивая эффективную обработку и распознавание различных типов капч. При этом особое внимание уделено подробной документации, описывающей принципы работы системы и предоставляющей руководства по её использованию. Система успешно внедрена в эксплуатацию в организации EvoSoft, что подтверждается актом о внедрении (Приложение A).
Планируется дальнейшее развитие и расширение системы, а также ведется техническая поддержка существующей версии.
В заключении выпускной квалификационной работы, посвященной разработке системы распознавания и решения капч на основе OpenCV, можно отметить, что анализ предметной области подчеркивает значительную актуальность и необходимость таких систем. Существующие на рынке решения, в большинстве своем, зависят от человеческого фактора, что приводит к повышенным затратам и задержкам в обработке. Автоматизированная система, разработанная на базе OpenCV, предлагает ряд преимуществ, включая ускорение процесса распознавания капч, снижение стоимости и повышение точности. Это открывает новые возможности для оптимизации различных процессов, где требуется верификация капч, и способствует улучшению общей эффективности систем, использующих такого рода защиту. В целом, разработка такой системы является важным шагом в направлении улучшения и оптимизации процессов автоматизации, связанных с распознаванием и решением капч.