18 лет назад 9 ноября 2006 в 13:10 799

В прошлый раз (Upgrade # 7 (45)) мы рассмотрели некоторые способы усложнения жизни тем, кто ворует информацию с наших сайтов. То, что было предложено в той статье, вполне подойдет начинающим практику публикации на личном веб-сайте. Информацию такие люди, как правило, не продают, а предлагают бесплатно всем желающим.

В этом случае автора обычно не волнует степень защищенности текста от потенциальных вредителей. Но как быть тем, кто предлагает уникальную информацию, обладающую какой-то ценностью? Утечки быть не должно, нужно обеспечить одновременно и полный доступ, и полную защиту. Как одновременно показать аудитории текст, максимально снизив возможность его копирования? 

Естественно, методы, описанные в предыдущей статье, малоэффективны применительно даже к непродвинутым компьютерным пользователям, которые воруют материалы с сайтов, зато они доступны для тех, кто свой сайт хочет защитить, и легко реализуемы. Конечно, существует несколько способов обойти их без особых усилий. Можно использовать браузер Opera. Из-за меньшей мощности Java-машины этот браузер просто не знает таких свойств HTML-документов, как onselectstart и oncopy. Он с легкостью позволит выделить и скопировать в буфер обмена хоть весь текст.

Ну, а если человек имеет хотя бы малейшие познания в языке гипертекстовой разметки (HTML), немного повозившись с исходником, он найдет нужный ему фрагмент и правильно вырежет его из общего текста страницы. И при этом ему даже не понадобится другой браузер. «Блокнот» без особых последствий для своей совести сдаст и ваш текст, и сайт, и вас заодно. Особые извращенцы могут просто-напросто сделать скриншот экрана, нажав на клавишу «Print Screen», а затем распознать получившуюся картинку — например, при помощи Fine Reader. Очень веселый и оригинальный способ, а главное — самый медленный.

Зачем я все это рассказываю, казалось бы, сводя на нет все наши усилия, дабы наш суперкопирайтный текст не расплодился по всему интернету? Затем, во-первых, что еще в прошлый раз я предупреждал, что описанные мной способы — это «защита от дурака», способы, которые не сделают невозможным копирование текста, но банально усложнят задачу злоумышленника. Во-вторых, методы обхода этой защиты я привожу здесь с той целью, чтобы объяснить и вам механизм вредительства. Кто осведомлен, тот вооружен и все такое.

В том случае, когда требуется обеспечить более надежную, почти непробиваемую защиту (а абсолютно непробиваемой защиты нет), требуется придумать что-то похитрее. Задача ставится следующим образом: у нас есть какой-то текст, который мы хотим предложить потенциальным клиентам, одновременно обеспечив его защиту от пиратского тиражирования. Как в обычной библиотеке. Доступ к журналам и книгам есть, существует даже возможность ксерокопирования и фотографирования, однако доступ к печатному набору отсутствует. 

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

Первый подход уже давно используется различными компаниями. Информация предлагается в специальном формате, который сам способен обеспечивать ее защиту. Типичным примером служит формат PDF, разработанный компанией Adobe Systems. При создании файлов программа-редактор (Acrobat Distiller, FrameMaker) позволяет редактировать содержимое, ставить пароли и разрешения на различные виды действий (просмотр, редактирование), а также шифровать ваш документ. Программа-просмотровщик (Acrobat Reader) способна воспроизвести информацию, если пользователь имеет на это права. Таким образом, автор получает гарантию сохранения оригинала, а также возможность продавать информацию другим.

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

К примеру, Pentium II 400 МГц за 1 час 38 минут подобрал пароль, состоящий из пяти русских букв, перебирая при этом русские, английские буквы в верхнем и нижнем регистрах и цифры. Естественно, это очень долго. Но опытный взломщик сломает пароль гораздо быстрее.

Шифрование информации на программном уровне обеспечивает возможность передавать информацию получателю. Наглядным примером использования такой технологии служит технология PGP (Pretty Good Privacy). Специальные ключи, наборы байтов, служат для кодирования/декодирования передаваемых данных. Это обеспечивает высокую степень защиты, так как расшифровка таких закодированных данных представляет собой весьма сложный и долгий процесс.

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

Как известно, программы на Java способны генерировать изображения «на лету». Они и служат для декодирования текста, представления его в графическом виде и вывода полученной картинки в браузер. На экране монитора мы видим текст, но не можем ни скопировать его в буфер обмена, ни сохранить на жесткий диск. Если же мы сделаем копию экрана (клавиша «Print Screen»), то мы все-таки сможем распознать текст. Но представьте себе, что текст не умещается на экране. Тогда придется несколько раз прокручивать страницу, делать снимки экрана и проводить распознавание. Несомненно, для двух-трех страниц стоит потратить лишних 15 минут. Но вот когда речь пойдет о тиражировании большого объема защищенного текста, уже стоит подумать, а надо ли вам это?

Если использовать метод водяных знаков, то процесс распознавания может быть еще больше осложнен. Этот подход подразумевает вывод текста поверх другого изображения — «водяного знака». При этом вы сможете легко прочесть то, что написано, а Fine Reader «испугается и убежит». Так, например, вам не удастся правильно распознать текст на цветном фоне, предварительно не вытравив с заднего плана водяной знак. А вытравливание (отделение текста от фона) тоже занимает какое-то время, требует немалых усилий и опыта. Если же и текст будет менять свой цвет, то ситуация еще больше осложнится. Кто захочет заниматься отбеливанием фона? Кому захочется связываться с такими трудностями? 

Чтобы читать графический текст, формируемый программой, написанной на языке Java, программа-клиент (браузер) должна иметь виртуальную Java-машину, основу этого языка. Java Virtual Machine — это виртуальный компьютер, располагающийся только в оперативной памяти. Она служит для выполнения Java-приложений, обеспечивает мобильность языка (мультиплатформенность), при реализации занимает мало места в ОЗУ. Виртуальная Java-машина входит в комплект поставки большинства браузеров.

Если же она отсутствует в вашем Internet Explorer, то браузер выведет диалоговое окно и попросит у вас разрешения установить JVM с сервера Microsoft. Таким образом, при наличии подключения он сам ее скачает и установит.

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

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

Евгений Жданов

Никто не прокомментировал материал. Есть мысли?