Поколение Cut’n’paste
Некоторые новые Интернет-услуги основаны на автоматизированном плагиате
Едва ли эпоха полного доверия к Интернету наступит в ближайшее время, но работа в области обеспечения сетевой безопасности ведется очень интенсивно. Тем не менее отнюдь не все проблемы безопасности в глобальной сети могут быть решены силами производителей ОС, брандмауэров и Web-серверов.
С проблемой незащищенности контентных сайтов я столкнулся, когда работал программистом в крупной американской компании, которая производила и продавала информацию. Это очень эффективный и малозатратный бизнес, особенно в странах со стабильно развивающейся электронной коммерцией. Для того чтобы продавать информацию регулярно и в промышленных количествах, нужно постоянно привлекать новых клиентов. Многие фирмы для этого предлагают свою электронную продукцию небольшими порциями совершенно бесплатно, и лучшего способа привлечь клиента со времен изобретения мышеловки еще не придумали. В той компании, где мне довелось работать, для этой цели был создан Web-сайт, позволявший желающим оценить объем и качество предлагаемой информации. Предполагалось, что информация, полученная бесплатно с сайта, не будет использоваться в коммерческих целях. Да и много ли пользователь может скачать с сайта?
Оказывается, что если не все, то очень много. Подобных сайтов, защищенных лишь предположением, что никто не возьмется копировать с них информацию, уже немало, и их число увеличивается. Если число пользователей велико, а журналы регистраций анализируются администраторами недостаточно внимательно, то даже факт копирования информации злоумышленником всплывет лишь тогда, когда в сети появится похожий сайт с абсолютно такой же информацией. Вот только баннерной рекламы там, вероятно, будет больше.
В процессе исследования этого вопроса стало понятно, что проблема копирования контента с информационных сайтов существует не так давно. Но перспективы у такого вида пиратства немалые. Давайте посмотрим, какой инструментарий доступен злоумышленнику. Едва ли имеет смысл использовать для копирования контента с сайта обычный браузер. Популярные программные средства вроде Teleport Pro тоже здесь вряд ли подходят, данные неплохо было бы сразу заносить в базу. Отсюда можно сделать вывод, что ленивый этим заниматься не будет. Но если информация того стоит, то написать (либо заказать) приложение, которое эмулировало бы обычный браузер, совсем несложно. Вероятно, понадобится какой-то простой диалоговый интерфейс на случай, если сайт подразумевает бесплатную регистрацию и пропускает только зарегистрированных пользователей. Следует учесть необходимость работы с cookie. Далее - дело техники. Приложение листает страницы сайта, перебирая, например, параметры URL и на ходу анализируя полученную страницу, сохраняет данные в базе.
Такое приложение может работать неделями. Процесс легко ускорить, запустив несколько экземпляров (потоков) сканирующего приложения. Можно снизить вероятность быть замеченным, добавив шумы (случайные вызовы каких-либо иных страниц) и снизив скорость перебора. Учитывая мировую тенденцию к снижению стоимости сетевого трафика, злоумышленник понесет совсем незначительные расходы: на разработку приложения под определенную задачу и на сам трафик.
Что же можно противопоставить этому? В США и в Европе уже начали бороться с проблемой, даже появился термин - digital plagiarism. Разработаны надежные способы защиты графической информации - либо с помощью видимого логотипа компании на каждом изображении, либо с использованием невидимых “водяных знаков”. Автоматизировать процесс очистки множества графических изображений весьма сложно. Но тем не менее большинство попыток защитить текстовую информацию на фоне экспоненциального роста Всемирной сети не внушает оптимизма.
Появляются ресурсы, причем бывают даже платные, например www.cheathouse.com, которые аккумулируют информацию об обнаруженных нарушениях. Интересен ресурс www.plagiarism.org, позволяющий бороться с электронным плагиатом в учебных заведениях. Система принимает от преподавателей сданный студентом документ и сообщает о том, является ли он оригинальным. Если же выясняется, что это плагиат, система выдаст первоначальный источник. А благодаря роботу, автоматически сканирующему контентные сайты в сети, она может обнаруживать факт плагиата, даже если от преподавателей такой документ поступил впервые. Для нужд учебных заведений этого еще какое-то время будет достаточно. Но для коммерческих целей это не решение.
Посмотрим, какими средствами располагает администратор Web-сервера, которому поставлена задача обеспечить защиту от такого рода атаки. В первую очередь это журналы регистраций, хранящие информацию обо всех операциях, совершенных на сайте. Добавим сюда известные всем программы, способные просматривать эти журналы и группировать события в них по каким-либо признакам. Удивительно, но программных средств, позволяющих контролировать действия пользователей и обнаруживающих злоупотребления на сайте без вмешательства в логику работы всей системы, нет. Вам даже не удастся найти каких-либо спецификаций для разработчиков, следуя которым можно было бы создать систему контроля на базе уже имеющегося Web-приложения. Актуальность проблемы начинают понимать и в России. А в Европе и США давно научились считать финансовые потери, понесенные компаниями в связи с нарушением авторских прав описанным выше способом.
Как же противостоять пиратству? Привлекать нарушителя к ответственности через суд в подобных ситуациях сложно, а чаще и вовсе бесполезно по многим причинам. Здесь проблема не в том, что правовая база несовершенна и доказать вину не так-то просто, и даже не в том, что пиратский сайт может появиться на серверах, размещенных в другой стране, а в том, что контентные сайты сами предлагают свободный доступ к некой информации. А это значит, что обеспечение правильной работы всех потенциальных пользователей с ценными сведениями отвечает интересам той компании, которая ведет этот бизнес. В своей статье “Perspectives: The Internet Drives Plagiarism” *1 Джерри Мак-Говерн констатирует: “Нравится нам это или нет, но мы принадлежим к поколению cut ,n’ paste”. Всех убедить в том, что копировать нехорошо, вряд ли удастся. Есть лишь один путь - предотвратить копирование, сделав его если не невозможным, то хотя бы трудно выполнимым”.
_____
*1. www.ces.ncsu.edu/depts/fcs/pub/2001f/mcgovern.html.
Если вы законно приобрели некую базу данных и планируете открыть в сети электронный справочник со свободным доступом, рассчитывая на прибыль, например с целевой рекламы, то только от вас зависит, появится ли в сети у вас конкурент с копией вашей базы данных.
Когда решение о создании системы защиты от подобного вида пиратства принято, встает вопрос о реализации. Будучи разработчиком Web-сайтов, я подошел к этой проблеме с профессиональной точки зрения. Ниже я приведу некоторые выводы, сделанные в процессе исследования.
Итак, на что же стоит обратить внимание, что должно быть учтено в программно реализуемых средствах? Понятно, что речь идет только о защите на программном уровне от пользователей Интернета, и мы не будем сейчас касаться вопросов, связанных с социальным инжинирингом. Любая система безопасности может быть классифицирована по методу анализа входных данных. В нашем распоряжении статистический, экспертный, нейросетевой методы и любые их сочетания.
Статистический метод основан на анализе собранных данных о поведении пользователя за определенный период времени. Как правило, для этой цели применяются журналы регистраций. В процессе последовательного анализа каждой операции, произведенной пользователем, создается определенный шаблон его поведения. Любое отклонение от этого шаблона можно рассматривать как аномальное событие. В настоящее время статистический анализ эффективен лишь как составная часть какой-то более интеллектуальной системы, поскольку сам по себе он не может быть применен для обнаружения злоупотреблений в реальном времени. Так, статистический анализ будет полезен для обучения нейросети или при создании сигнатур для экспертных систем. Статистический метод пригодится при решении задачи выявления злоупотребления на контентном сайте как раз для создания портрета типичного пользователя и определения числовых показателей аномальных событий. Конечно, знать о том, что сайт регулярно посещается кем-то, кто за несколько минут просматривает несколько сотен страниц, полезно, но недостаточно.
Система безопасности должна предотвращать аномальные события на сайте либо своевременно диагностировать аномальную активность и принимать адекватные меры. Это могут обеспечить лишь средства, контролирующие всех пользователей в режиме реального времени. Для этой цели более всего подходят экспертные и нейросетевые методы.
Экспертный метод основан на определении сигнатуры в потоке данных. В нашем случае это может быть некий определенный набор параметров, значения которых достигли заранее заданных предельных величин. Таким образом, мы можем, например, обнаружить, что маршрут пользователя цикличен и запрос следующей страницы (а речь идет о динамических страницах) происходит путем инкрементального изменения одного из параметров URL, что не согласуется с реализованной на сайте навигацией. Недостаток метода заключается в том, что все нештатные события, на которые следует реагировать системе защиты, должны быть предопределены заранее. Этот недостаток отсутствует у нейросетевого метода.
Нейросетевой метод подразумевает использование нейросети в качестве элемента принятия решений. Для того чтобы подготовить нейросеть к работе, ее надо обучить одним из двух способов - с привлечением либо учителя, либо собранной статистики. Нейросеть способна классифицировать нештатные ситуации, никем заранее не определенные. Безусловно, это очень перспективный метод. Сейчас можно приобрести готовые компоненты, реализующие многослойный перцептрон *1, которые позволят компании сэкономить на дорогой и сложной разработке и вместе с тем дадут возможность применить в своем программном комплексе функциональность полноценной нейросети. Однако на практике, экспериментируя с этим методом, я столкнулся с рядом проблем. Для обучения нейросети необходимо значительное число классифицированных тестовых данных. А их можно получить, лишь создав математическую модель сайта. Для нейросети имеет значение порядок поступающих данных. Она может быть переучена, и это тоже нельзя не учитывать.
_____
*1. Многослойный перцептрон представляет собой нейросеть с одним входным, одним выходным и одним или более скрытыми слоями нейронов.
Очевидно, что статистический и нейросетевой методы наиболее пригодны для решения поставленной задачи. Оперативно анализируя предложенными методами особенности маршрута пользователя, его скорости перехода между страницами, данные о системе (браузер, операционная система, локальное время, IP-адрес и т. д.) - а все это позволяет персонифицировать пользователя, - можно защитить сайт от несанкционированного копирования.
Думаю, в ближайшее время стоит ожидать появления первых концептуальных систем защиты, которые будут применимы на любом сайте. Но создание собственной системы защиты всегда будет иметь одно неоспоримое преимущество: алгоритм противодействия, пока он недоступен злоумышленнику, является серьезной преградой на пути создания адаптивных программных средств, способных обходить такую защиту. Очевидно, что любая “коробочная” защита в этом плане будет более уязвима.
С автором можно связаться по адресу: dmerlin@yandex.ru.