Обладатели авторских прав, размещающие свои произведения в Интернете, хотели бы огра-ничить возможность их несанкционированного копирования. Способы защиты от копирования информации с веб-сайтов хорошо известны (см., например, [1–3]). К ним относятся:
– запрет кеширования страницы;
– запрет копирования элементов страницы;
– отключение (блокирование) функции со-хранения картинки;
– блокирование выпадающих меню;
– запрет копирования через стандартное со-четание клавиш Ctrl+C;
– защита от копирования модальными окна-ми;
– шифрование исходного кода страницы и использование продуктов типа HTML Protector, HTML Power, Encrypt HTML Pro, ProtWare's HTML Guardian.
Среди этих способов наиболее надежным счи-тается шифрование исходного кода страницы и использование продуктов типа ProtWare's HTML Guardian [1].
Перечислим основные способы преодоления данного типа защиты, представленные в [1–3]:
– перепечатка текста, отображаемого браузером, вручную;
– фотографирование экрана, на котором ото-бражается защищенный текст, и распознавание его аналогично тому, как это делается с отскани-рованным текстом;
– запуск браузера в дополнительном контей-нере – виртуальной машине, создание копии окна этого контейнера и распознавание аналогично предыдущему варианту.
Данные способы весьма трудоемкие. К тому же они не позволяют сохранить исходное форма-тирование, и при их применении в текст могут быть внесены дополнительные ошибки и искажения.
Существует программный способ преодоления защиты от копирования типа HTML Guardian штатными средствами MS Windows, лишенный перечисленных недостатков.
Актуальные версии MS Windows (Windows XP, Windows Vista, Windows 7) имеют в своем составе интернет-браузер MS Internet Explorer и Windows PowerShell – расширяемое средство автоматиза-ции, состоящее из оболочки с интерфейсом ко-мандной строки, языка сценариев и среды для раз-работки и отладки скриптов. Windows PowerShell построен на базе Microsoft .NET Framework, по-этому в его среде можно манипулировать любыми объектами .NET-приложений. Используем эту возможность для доступа к свойствам и методам объектов Internet Explorer и покажем, как может быть преодолена защита информации HTML-страницы, выполненная на основе HTML Guardian (другие способы защиты могут быть преодолены аналогичным образом).
Для проведения эксперимента используем де-монстрационную страницу HTML Guardian сайта ProtWare (http://www.protware.com/demoE.htm). Далее перечислим шаги, которые надо выполнить для преодоления защиты.
• Запустим оболочку PowerShell. Создадим переменную, содержащую адрес тестируемой страницы: $BaseAddress=Ошибка! Недопус-тимый объект гиперссылки..
• Создадим объект Internet Explorer: $ie=
=new-object -com "InternetExplorer.Application".
Теперь все свойства и методы Internet Explorer стали доступными как свойства и методы экземп-ляра объекта $ie.
• Откроем в Internet Explorer демонстрацион-ную страницу: $ie.navigate($BaseAddress).
• Обеспечим отображение окна браузера на экране (необязательно): $ie.visible=$true.
• Загрузим базовый файл страницы и все ее компоненты (стили, скрипты, изображения и т.п.):
while($ie.busy) {start-sleep -seconds 5}
while($ie.document.readyState -ne "complete") {start-sleep -seconds 5}
После полной загрузки всех составляющих страницы в окне браузера страница отобразится в хорошо воспринимаемом человеком виде.
Через стандартное меню браузера можно со-хранить текст этой страницы и просмотреть его, например, с помощью программы «блокнот». В блокноте будет отображен текст в зашифрованном виде, примерно так, как показано на рисунке 1.
Понятно, что такое содержимое непригодно для дальнейшей обработки.
• Посмотрим, что содержится в теге BODY документа, открытого браузером. Поместим в пе-ременную PowerShel $Body содержимое этого те-га, выполнив следующую операцию: $Body=
=@($ie.document.getElementsByTagName("Body"))[0].InnerHTML.
• Распечатаем значение этой переменной (ре-зультат представлен на рисунке 2): Write-Host $Body.
Таким образом, получен расшифрованный текст с сохранением HTML-разметки, пригодный для дальнейшего использования. Следует отме-тить, что, если вместо содержимого элемента BODY попробовать получить содержимое элемен-та HTML, то можно получить содержимое стра-ницы в зашифрованном виде. Затем полученный текст может быть подвергнут дополнительным преобразованиям, проиндексирован, сохранен в файле для дальнейшего использования.
Данные оказываются доступными для несанк-ционированного копирования потому, что для отображения в браузере была выполнена их рас-шифровка, и уже в расшифрованном виде они доступны для использования в среде PowerShell как значения набора свойств объекта MS Internet Explorer, доступные через API-функции IE в обход пользовательского интерфейса. То есть получен доступ к области оперативной памяти, где содер-жатся уже расшифрованные данные.
Следует отметить, что с точки зрения сервер-ных и клиентских скриптов открытие страницы происходит в штатном режиме, как это делалось бы человеком вручную, законным приложением, и действия по несанкционированному доступу к за-щищенному контенту не могут быть обнаружены.
Таким образом, рассмотренные программные средства защиты информации от копирования только создают видимость защищенности, что приводит к появлению ложного чувства безопас-ности у обладателя авторских прав. Затраты на обеспечение такой защиты существенно превос-ходят затраты на ее преодоление. В то же время потери от применения такой защиты (например, страницы не индексируются поисковыми систе-мами) могут оказаться для правообладателя более существенными, чем потери от несанкционированного копирования [2].
Другие перечисленные ранее способы защиты могут быть преодолены аналогичным образом, в том числе и при их совместном использовании. Данный подход можно применить и к защищен-ным (доступным только для чтения) документам MS Office 2010. Для этого следует использовать объектную модель соответствующего приложения MS Office. Подход может использоваться при по-строении небольших поисковых систем для обес-печения возможности индексирования текста, за-щищенного от несанкционированного копирова-ния с помощью шифрования, а также в системах защиты информации при фильтрации контента, размещаемого в общем доступе.
Литература
1. Белов В. Защита контента // PC Week/RE. 2004. № 5. URL: http://www.pcweek.ru/themes/detail.php?ID=66653 (дата обращения: 22.03.2011).
2. Касперски К. (ака мыщъх). Защита Web-контента от кражи. URL: http://www.insidepro.com/kk/250/250r.shtml (дата обращения: 22.03.2011).
3. Нуньес Тельес К. Защита содержимого сайта от копирования. URL: http://www.web-sitio.ru/nocopy.html (дата обращения: 22.03.2011).