Читаем Информационные операции в сети Интернет полностью

CAPTCHA ( от англ. Completely Automated Public Turingtest-to-tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей. Основная идея теста: предложить пользователю такую задачу, которую с легкостью может решить человек, но которую несоизмеримо сложнее решить компьютерной программе[41].

Примеры изображений, используемых в CAPTCHA см. ниже.

Могут также применяться другие, плохо алгоритмизируемые задачи, основанные на логике мышления человека, например: капчи, где необходимо выставить картинки в определенной последовательности, собрать пазл, выбрать один из предложенных вариантов решения задачи, добавить недостающий элемент в картинку, а также капчи, основанные на распознавании речи и движении мыши по определенному маршруту.

Преодоление подобного рода защиты строится на решении задачи распознавания образов и состоит из нескольких этапов:

1. В силу того, что сама защита — задача по распознаванию образов, расположена на сайте, она оформлена в соответствии с правилами оформления на языке разметки html. Поэтому первым действием необходимо считать содержимое сайта, выделить часть кода, ответственную за защиту, и проанализировать его, на предмет решения поставленной задачи, т. е. речь идет о применении классического парсинга[42] и создании для этого парсера[43].

Любой парсер состоит из трех частей, которые отвечают за три отдельных процесса парсинга:

• получение контента в исходном виде. Под получением контента чаще всего подразумевается скачивание кода веб-страницы, из которой необходимо извлечь данные или контент. Одним из самых развитых решений для получения кода требуемой страницы является библиотека cURL для языка PHP;

• извлечение и преобразование данных. В этой фазе происходит извлечение требуемых данных из полученного на первом этапе кода страницы. Чаще всего для извлечения используют регулярные выражения. Также на этом этапе происходит преобразование извлеченных данных к нужному формату, если это требуется. В случае преодоления капча-фильтра, после того как данные получены, осуществляется решение задачи распознавания образа;

• генерация результата. Завершающий этап парсинга. На нем происходит вывод или запись полученных на втором этапе данных в требуемый формат и передача результата.

2. В случае удачного решения, т. е. выявления скрытого изображения и нахождения ответа, необходимо выделить часть текста, ответственного за передачу результата на сервер, и полученный результат передать через форму непосредственно на сервер, где расположена база данных с ответами. В случае правильного ответа сервер сменит страницу сайта и пропустит программу-посетителя дальше. 

Распознавание каждого образа — это создание специального алгоритма распознавания, который базируется на выявленных слабостях конкретной капчи. Ниже приведем пример построения подобного рода алгоритма.

Например, (www.captcha.ru/breakings/phpbb/):

Довольно слабая CAPTHA: фиксированный шрифт, символы легко отделяются от фона из-за хорошего контраста. Для гарантированного получения только тех пикселей, которые принадлежат надписи, достаточно выбирать пиксели темнее некоторого порога.

увеличиваем контраст и определяем границы массивов черных точек — это и есть знакоместа.

Также слабой стороной является то, что высота расположения символа задана в шрифте, т. е. одинаковые символы будут на одной высоте (правда, при написании алгоритма распознавания это не учитывалось).

Видно, что одинаковые символы всегда на одной высоте.

Распознавание сделать довольно легко путем прямого попиксельного сравнения каждого из символов со шрифтом.

Понятно, что единого универсального алгоритма здесь нет, каждый раз при появлении принципиально нового капча-фильтра первоначально задачу придется решать человеку в виде создания алгоритма распознавания. Однако, несмотря на невозможность создания при сегодняшних технологиях универсального алгоритма, возможно создание универсальных технологий, в которых на определенном этапе используются человеческие возможности.

Делается подобное следующим образом.

Исходные данные:

• сайт № 1, защищенный капча-фильтром, на который надо проникнуть виртуальному специалисту-[ро]боту;

• достаточно раскрученный сайт № 2, который принадлежит владельцу данного виртуального специалиста-[ро]бота.

Решение задачи:

1. Виртуальный специалист-[ро]бот обращается к сайту № 1 и парсит главную страницу, на которой находится капча-фильтр.

2. Виртуальный специалист-[ро]бот выделяет из страницы капча-фильтр и размещает его на подконтрольном сайте № 2.

3. Посетители сайта № 2 благополучно проходят капча-фильтр.

4. Виртуальный специалист-[ро]бот получает результат и передает этот результат главной странице сайта № 1.

Перейти на страницу:

Все книги серии Новая стратегия

Информационные операции в сети Интернет
Информационные операции в сети Интернет

В работе предложен и обоснован подход к построению систем выявления информационных угроз. Даны базовые определения и проведено исследование специальных действий, присущих информационным операциям в сети Интернет. Показано, что производство практически всех компонент информационной операции уже поставлено на промышленную основу: от вирусов, нацеленных на автоматизированные объекты военного и промышленного назначения, до генераторов сообщений в виде текстов, голосовых сообщений по заданной голосовой характеристике или видеосюжетов по заданной исходной «картинке». В работе описан механизм, позволяющий частично автоматизировать планирование информационной операции за счет использования типовых схем их проведения, показано, каким образом возможна организация игрового тренинга по моделированию проведения информационных операций.

Мария Васильевна Литвиненко , Сергей Павлович Расторгуев

ОС и Сети, интернет

Похожие книги