Борьба с обратным инжинирингом OCR

Я имею в виду программные средства оптического распознавания символов — средства преобразования изображений в текстовый движок, в stackoverflow есть множество публикаций о построении оптического распознавания символов, но я смотрю на противоположное, как и любые рекомендации о том, как защитить мои изображения от обратного проектирования.

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

Может ли использование специальных шрифтов или искажений гарантировать защиту OCR? хотя мое требование не позволяет обслуживать слишком много искаженного текста.

Любое направление будет очень полезно


person duckduckgo    schedule 04.02.2012    source источник
comment
Вы ищете CAPCHA для аутентификации входа, чтобы избежать спама? Если это так, вы должны использовать существующий компонент. Или вы пытаетесь опубликовать документ и хотите избежать его сканирования? Если это так, я уверен, что механизмы OCR достаточно продвинуты, и все, что поддерживает OCR, будет слишком раздражающим для чтения вашей аудиторией.   -  person Hank    schedule 04.02.2012
comment
@HenryJackson - вы правильно догадались, я публикую длинные документы для чтения людьми. почему вы сказали, что способы проверки OCR раздражают? Если это требует высококлассных исследований при низкоуровневом программировании, хотелось бы попробовать.   -  person duckduckgo    schedule 04.02.2012
comment
если вы можете его прочитать, вы можете (теоретически) его распознать.   -  person aldrin    schedule 04.02.2012
comment
@aldrin, вы правы, вот почему изображения captcha.net и Google настолько неясны, что их трудно прочитать и людям.   -  person duckduckgo    schedule 06.02.2012


Ответы (4)


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

Я бы предложил вам поискать другие аспекты, чтобы сделать хорошую защиту. Как выглядит ваш вариант использования? Почему пользователи могут получать ваши тексты в виде изображений на своих ПК? Они загружают его только в виде файлов PDF или изображений? В этом случае было бы намного проще бороться с возможностью СКАЧАТЬ ваши файлы, а не делать их нечитаемыми.

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

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

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

Надеюсь, это даст вам некоторое представление о том, куда идти.

person Tomato    schedule 05.02.2012
comment
спасибо за подробный ответ. Мой контент на стороне сервера - это HTML, отображаемый в браузере только для чтения, он разделен на страницы и не может быть загружен за один раз, но отправка открытого текста не решит проблему, потому что сканеры, которые могут делать несколько запросов, могут собирать весь контент при использовании изображения там задействован один шаг, который делает процесс утомительным, я видел, что сегодня OCR может взломать практически любой формат или высокую степень неясности. - person duckduckgo; 06.02.2012

Как я и другие говорили, если сделать большой объем текста настолько неясным, что OCR не сможет его прочитать, это сделает его непрактичным для людей.

Есть ли конкретная угроза, которую вы пытаетесь победить? Простые поисковые роботы часто не выполняют javascript, поэтому тупой способ усложнить очистку текста — загрузить его с помощью AJAX-запроса и вставить в DOM.

Или, если вы хотите стать более интенсивным, вы можете отображать текст в элементе управления Flash или Silverlight — все еще не защищенном от OCR, но это сделало бы нетривиальным автоматический захват больших объемов текста, особенно если у вас есть Flash-полоса прокрутки и/или нумерация страниц. (Я должен отметить, что элементы управления Flash для чего-то простого, например текста, звучат раздражающе, не будут доступны для поиска или добавления в закладки и, очевидно, не будут работать на большинстве мобильных устройств.)

person Hank    schedule 06.02.2012
comment
Я сделал некоторый прототип и обнаружил, что единственные трудности заключаются в том, что люди не могут выбирать текст или копировать его для поиска в Google и т. Д., В противном случае этот текст выглядит точно так же, если не скрыт (подвержен распознаванию). я хотел бы изучить Flash и т. д. Мне любопытно, может ли он разрешить расшифровку зашифрованного текста, отправленного с сервера. - person duckduckgo; 06.02.2012
comment
У меня нет опыта работы с Flash, но я уверен, что есть способ зашифровать связь между элементом управления и сервером, например. через SSL. Как я уже сказал, я думаю, что идея чтения текста в элементе управления Flash звучит немного раздражающе для пользователя, и большинство людей, вероятно, согласятся с тем, что Flash — это технология, которая уходит в прошлое, особенно для таких немультимедийных вещей, как эта. Но если вы полны решимости сделать свой сайт как можно более защищенным от кражи, я полагаю, что это вариант. Очевидно, что любой достаточно решительный человек сможет очистить ваш сайт. - person Hank; 06.02.2012

Я не думаю, что вы можете сделать это. Для CAPTCHA да, и есть масса исследований, но вы также знаете из личного опыта, как раздражает их чтение. Для более длинного текста это невозможно. Однако я бы серьезно поставил под сомнение вариант использования или бизнес-модель. У вас есть контент, который по какой-то причине нуждается в защите от OCR. Это означает, что кто-то захочет потратить ресурсы на распознавание вашего контента. Зачем тебе драться с этими людьми? Сделайте их клиентами и предложите контент в виде простого текста за определенную плату. Если эта плата меньше, чем их стоимость OCR, у вас есть беспроигрышный вариант. То, что вы пытаетесь реализовать, звучит как проигрыш.

person starmole    schedule 04.02.2012
comment
Мне нужно отображать контент, защищенный авторским правом, только для чтения, в настоящее время было бы приемлемо иметь некоторые из этих раздражающих ощущений во время использования контента, потому что контент в любом случае предлагается ограниченным образом, я видел, что есть несколько бесплатных онлайн-инструментов / ботов для последовательного загрузка и преобразование текста для всего контента. В некоторой степени разработчики отрицают DRM, потому что это никогда не является полным доказательством. - person duckduckgo; 04.02.2012
comment
Вы пытаетесь решить неразрешимую проблему. Я думаю, что одна из черт хорошего инженера заключается в том, что вы указываете на эти вещи деловым людям вместо того, чтобы кивать и пытаться реализовать невозможное. Тем не менее, то, что вы действительно хотите найти в Google, это такие вещи, как защищенный видео (или аудио) путь, который реализуют некоторые операционные системы или HW. Он пытается запретить очистку экрана на уровне ОС и может быть ближе всего к тому, что вы ищете. Конечно, это также не работает против целеустремленного злоумышленника. - person starmole; 04.02.2012
comment
Однако с реализацией ОС или универсальностью аппаратного уровня и перекрестной совместимостью возникают проблемы, я нашел следующую статью codeproject.com/Articles/3907/ - person duckduckgo; 04.02.2012

Я видел некоторые страницы, которые запутывали текст, используя невидимые буквы и другие «шумы» в тексте. Таким образом, вы по-прежнему можете отображать его как текст, но его будет намного сложнее скопировать.

Другая идея может заключаться в том, чтобы каким-то образом поставить водяной знак на текст, чтобы узнать, откуда взялась «украденная» копия. Если это полезно, зависит от того, от чего именно вы хотите защититься. Как уже упоминалось, если он читаем, кто-то может скопировать его вручную.

person Hjulle    schedule 04.10.2012