Как стать автором
Обновить

Законность защиты своего ПО

Время на прочтение10 мин
Количество просмотров2.6K
У меня уже долгое время не доходят руки написать статью на тему как сделать защиту так чтобы в случае взлома ПО продажи с большой вероятностью не пострадали, а возможно даже и повысились. Однако трудно советовать людям делать грамотную защиту своего ПО ввиду того что магаданскому программисту дали 2 года условно за то, что он решил защитить свое ПО. Впрочем немалое количество людей утверждают что если “разобраться в вопросе” станет понятно что парень виновен. Я внимательно изучил обстоятельства дела Жукова и попросил его защитника дать ответы на вопросы которые на мой взгляд должны расставить все точки на i.

Что же осталось “за кадром”

от сына Жукова

Я (сын Жукова, и его защитник в суде) хочу прояснить некоторые вопросы о деле Жукова.

По результатам обсуждения дела Жукова значительная часть Интернет-сообщества пришла к двум выводам:

1. Пользователи не знали, что программа имеет срочную лицензию на год, то есть налицо обман
2. Программа по окончании срока лицензии искажает информацию и имитирует сбои, что ужасно

Однако есть ряд важных моментов в этом деле, на которые не было обращено внимание ранее и которые позволяют по-иному взглянуть на проблему. Эти моменты я и попытаюсь прояснить.

1) Зачем вообще это ограничение по сроку? Чтобы заставить пользователей покупать программу снова и снова?

Особенностью бухгалтерского учета и расчета заработной платы является ежегодная смена законодательства, налоговых форм, алгоритма расчета налогов, сборов, отпускных и т. д. В связи с этим каждый год наше предприятие выпускает новую программу по расчету заработной платы. Название версии соответствует году, для которого она предназначается (ZRP99 — для 1999 года, ZRP4 — для 2004-го и так далее).

Исторически ограничения по сроку работы программы появились так: В начале 90-ых годов к разработчику обратился начальник городской налоговой инспекции Пентяшин со словами, что ему сдали не соответствующую законодательству налоговую отчетность по программе прошлого года, и что так делать нельзя. Именно в тот момент было введено ограничение, что работать на программе ZRP можно только в N-ом году. Т.е. ПРЕЖДЕ ВСЕГО это было сделано, чтобы предотвратить сдачу отчетности в новом году на старой программе.

То есть на самом деле к покупке новой версии программы принуждает ежегодно меняющееся законодательство в бухгалтерском учете. Поэтому каждая версия программы предназначена СТРОГО для определенного года. А ограничения в ней исторически появились, чтобы не допустить работу бухгалтера на старой программе, не соответствующей новому законодательству.

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

Таким образом то, будто разработчик обманывал заказчиков, скрывая от них срок предоставления программы — это МИФ, сооруженный прокуратурой. У компании-разработчика почти 300 клиентов, многие из которых постоянные. В материалах дела имеется целый том(!) положительных отзывов от клиентов. Несмотря на вынесенный приговор, люди не спешат отказываться от «вредоносных» программ, а наоборот — выступают в поддержку разработчика. Среди постоянных клиентов областной суд(!), судебный департамент, УВД(!) города Магадана…

Да, и если прокуратура так настаивает на версии вымогательстве и принуждения к заключению договоров, то почему не было возбуждено уголовное дело по этим статьям? В УК есть статьи и за мошенничество и за вымогательство. Причем здесь статья 273 УК: «создание вредоносных программ»?

И ЕЩЕ ОДИН ВАЖНЫЙ МОМЕНТ. Пользователь никак не ограничен в работе с информацией за договорной период. Информация, введенная по договору за 2008-ой год, полностью доступна и в 2009-ом и в последующие годы, без проблем можно составлять отчеты за 2008-ой года. Ограничения возникают, только если в программе выполнить переход на 2009-ый год, и начать работать с отчетными данными за 2009-ый год, которым не соответствуют алгоритмы программы. В экспертизе это видно — ограничения в программах начиная с версии ZRP4 работают не по календарной дате, а по текущему отчетному месяцу, в котором ведется работа. То есть пока пользователь работает с информацией за оплаченный отчетный период, ограничений никаких не возникает, независимо от текущей календарной даты. В версиях программы до ZRP4 разработчик по запросу поставлял клиенту версию без каких либо ограничений с условием, что он будет работать с информацией только за период договора.

2) Так зачем все-таки нужны ограничения? Ведь на устаревшей программе и так нельзя работать из-за ее несоответствия законодательству!

Безусловно, квалифицированный бухгалтер понимает что пользоваться программой прошлого года нельзя из-за несоответствия ее законодательству. На вопросы в суде «Могли бы вы чисто гипотетически работать на прошлогодней программе?» бухгалтеры отвечают «Нет, ведь поменялся способ расчета налогов, социальных взносов и т.д.». Однако с программой иногда работают непрофессиональные либо неопытные бухгалтеры. Они не придают особого значения ежегодным изменениям в законодательстве, считая, что можно “проскочить” на старой программе (“авось, обойдется”).

Продолжив работать на старой программе в новом году, такие бухгалтеры (сами о том не подозревая) неизбежно получат в программе результаты, несоответствующие новому законодательству. Причем обнаруживается это достаточно поздно — при сдаче отчетов, когда времени на переделки уже не хватает. Чтобы предотвратить подобные случаи, и существуют ограничения по сроку. Уж лучше, если программа вовсе перестанет работать, чем будет работать не в соответствии с законодательством, выдавая неверные результаты (вспомните налогового инспектора!).

Если говорить о конкретных свидетелях, заявивших, что со старой программой можно работать в новом году — это Яковлева и Ильиных. Они обе заинтересованы в обвинении Жукова и, вероятно, поэтому делали такие заявления. Надо отметить, что в материалах дела есть письмо начальника Ильиных, в котором говорится, что в связи со сменой законодательства в новом году, необходимо обновление программы. То есть налицо противоречие — с одной стороны Ильиных нужна новая программа, с другой стороны в суде она заявляет, что не нужна.

Подробнее о том, какие средства защиты есть в программе, и для чего они нужны, написано здесь.

3) А что за лицензия у программы на самом деле? И что за договора «на сопровождение»?

Пару слов о договорах. У компании-разработчика отдельного юриста никогда не было. Поэтому юридически договора были слабые. Для разработчика всегда первоочередной задачей было хорошо делать свою работу (поставить качественный продукт). Привлечение юриста и разработка лицензионного договора было второстепенной задачей. В договорах стоял срок, но что означал этот срок, в самих договорах не разъяснялось. В старых договорах слов типа «правообладатель не разрешает использование программы после окончания срока договора» нет. Однако, как я уже сказал, клиентам разработчик все разъяснял, поэтому никакого непонимания с их стороны не было. Для бухгалтеров вполне естественно, что программа предназначена для определенного года и только для него. Людям же не знакомым с порядком работы, со спецификой бухгалтерских программ, может показаться наличие обмана в том, что в договоре нет явного объяснения, что означает срок договора.

Еще один слабый момент — то что договора называются «на сопровождение». Дело в том, что вместе с программой разработчик также предоставлял все обновления к ней на срок договора. Решили назвать это «сопровождением» или «внедрением и сопровождением» (в разных договорах по-разному). В результате возникло мнение (уже сейчас в Интернет-сообществе, а не среди клиентов!), что разработчик заключает договора на обслуживание программы на год, а сама программа предоставляется на самом деле на вечно. Но это не так. Все пользователи знали, что программа предназначена для работы с данными того года, законодательству которого соответствуют ее алгоритмы, в следующем году работать на этой программе нельзя. Для расчетов по зарплате в следующем году нужно заключать новый договор. Для бухгалтеров это вполне естественно. Никакого обмана не было. «Вина» разработчика в том, что вовремя не пригласил юриста, чтобы формализовать все в тексте договора. Еще момент — договора практически не менялись 15 лет, с начала 90 годов. Никто не жаловался, никто не обращался в арбитраж. С клиентами всегда были хорошие отношения. Поэтому были сосредоточены на том, что казалось более важным. На доработке программного продукта под бесконечные изменения законодательства. Приведение договоров к достойному виду казалось не столь важным делом. Ну и поплатились. Не без вмешательства конкурентов (про заинтересованных лиц есть отдельная страница на сайте) было организовано уголовное преследование за «вредоносные» программы.

В 2008-ом году для составления договоров был приглашен юрист и в договорах было явно прописано право использования на срок договора. При этом переход на новые договора прошел безболезненно, как раз потому что суть взаимоотношений НЕ ИЗМЕНИЛАСЬ: программа предназначалась для работы в определенном году и до 2008-го года и после.

Подробно все это изложено тут. Ссылки на примеры договоров (один новый и два старых) имеются на той же страничке.

4) Эта программа искажает информацию — это же вредительство!

В программе есть 2 типа ограничений:

1. не работают пункты меню
2. на экран в отчетных формах выводится 80% строчек.

Эти ограничения возникают через несколько месяцев (!) после истечения срока договора, и ТОЛЬКО если пользователь работает с данными следующего года, законодательству которого программа не соответствует. Бухгалтера на допросе подтверждают, что каждый год законодательство меняется достаточно сильно, так что работать в новом году на программе старого года не имеет смысла. И потом эти ограничения касаются только изображения на экране. Бухгалтерская информация никак не изменяется, не искажается.

За 2-3 месяца до первых ограничений у пользователя начинает появляться сообщение о необходимости обратиться к разработчику. Это подтверждается экспертизой в материалах дела.

5) А если бухгалтер сдаст такой отчет — то компания получит штраф от налоговой!

Так могут подумать только люди, которые не знакомы с бухгалтерией. Бухгалтер пошел в налоговую сдавать отчетность, в которой нет 20% строчек (в том числе в заголовке отчетной формы)? Да ни один бухгалтер не пойдет сдавать отчеты, в которых пропущено 20% строчек! Их отсутствие видно ЛЮБОМУ бухгалтеру, хотя и не очевидно хакеру. К тому же 3 месяца программа просила обратиться к разработчику, а сама фирма предупреждала, что работать на этой программе нельзя… Поэтому ситуация, когда бухгалтер пошел сдавать отчет без 20% строчек в нем несмотря на все предупреждения, чисто гипотетическая.

6) А зачем вообще нужен такой своеобразный метод защиты? Поиздеваться над пользователем?

Программу «СЛВ-Зарплата» неоднократно взламывали и а некоторые даже распространяли от своего(!) имени. Написана она на языке Clipper, программы на котором легко вскрываются (с помощью декомпилятора Valkyrie). Поэтому чтобы запутать хакеров, автор наставил много защит разного характера. Одно дело, если программа просто пишет «работать c этим годом невозможно, заключите новый договор» и никаких действий кроме этого в нелицензионной программе не предусмотрено — тогда хакер очень легко снимет такую защиту. (по некоторым данным даже менее чем за час(!). Разобраться же в том, что в отчете не отображается лишь 20% строчек, хакеру без бухгалтера, вероятно, не получится. Он ведь не бухгалтер, и не знает, как должна выглядеть отчетная форма. Также в ряде случаев окно программы раскрашивается в разные цвета. И поди, хакер, разбери, это лицензионное ограничение или что-то он сам наломал, роясь в программе.

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

И, кстати, такие хакероустойчивые средства защиты — это не «изобретение» Жукова. Специалист в материалах дела приводит пример, что программа Project Expert при подозрении на нелегальное использование начинает выдавать неверно рассчитанные бизнес-планы.

7) А что насчет блокирования информации? Оно же имеет место быть. Засудили ведь именно за это.

С таким выводом тоже не стоит спешить. С бытовой точки зрения можно называть акт законом, это не так важно, однако в суде подмена слов имеет огромное значение. Следует разобраться, что есть блокирование информации в терминах статьи 273 УК РФ.

Типичный пример блокирования информации — это вирус WinLock. Он ВМЕШИВАЕТСЯ в работу операционной системы, в результате стандартными средствами ОС пользователь уже не может получить свои данные. В судебном заседании специалист Юрин привел другой пример — вирус, который ВМЕШИВАЕТСЯ в работу почтового клиента препятствуя работе с почтовой информацией.

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

3 специалиста в суде заявили, что сама себе программа мешать не может в силу единства цели программы. Поэтому утверждение о блокировании информации в терминах статьи 273 УК РФ в этом случае не корректно (такого же мнения придерживается и соавтор статьи 273 УК РФ — Карелина). На корректном трактовании слова «блокирование» базировалась защита Жукова в суде.

8) Но ведь нет дыма без огня! Дело ведь не на пустом месте появилось.

Да, необходимо упомянуть, откуда «растут ноги». Против Жукова в суде давали показания только три подружки и одна отдельная особа. ВСЕ ОНИ крайне заинтересованы в обвинении. Остальные ~15 свидетелей выступили либо за Жукова, либо нейтрально («ничего не знаю, все вроде нормально работает, не жалуемся»). В сообщении из прокуратуры выглядит вроде бы солидно — 11 эпизодов. Но три эпизода — это создание и внесение изменений в программу. Три эпизода — распространение программы в судебном департаменте, от которых прокуратура уже отказалась в кассационном представлении. Еще два эпизода распространения (на станции переливания крови) столь же бессмысленны как в судебном департаменте, потому что пользователи подтверждают, что никаких ограничений в использовании программы не было, а были сбои связанные со сбоями техники, которые прекратились после ремонта компьютера (показания Путилова, Шкурат это подтверждают). Есть «свидетели вредоносности» по трем эпизодам на двух предприятиях с одним и тем же бухгалтером. Но это и есть те самые три подруги и одна женщина, угрожавшая разработчику своими связями — Яковлева В.Г. (о ее угрозах говорят свидетели в допросе от 4 октября). Об этих трех подругах и Яковлевой здесь.

Вероятно, что инициатором дела является нынешний конкурент компании-разработчика (и бывшая сотрудница) Середа Л.И., заявлявшая о своих связях в прокуратуре. Так из дела ее подруги Бобровой о воровстве программ пропали документы, а на разработчика — было возбуждено дело за вредоносные программы (автором которых себя называла Боброва, когда распространяла их от себя — забавно, да?). Вторая ее подруга — Ильиных, бухгалтер тех самых двух как будто бы «пострадавших» предприятий.

Так государство стало инструментом в бизнес-разборок. Направить правоохранительную систему на своего конкурента — это эффективный прием недобросовестной конкуренции, ведь статистика оправдательных приговоров в России менее 1%.

Мой комментарий

Т.е. мое понимание ситуации таково:
Парень, безусловно, зря не придал значения “правильным” договорам, но осудили его не за это. Некорректные договора, и все что с ними связанно это все другие статьи или даже другой кодекс РФ.
Осудили его именно за “вредоносный” код внутри его же ПО. Т.е. если следовать логике обвинения то, как минимум, нельзя делать код в своем ПО заставляющий пользователей обновляться — ведь это получится “блокирование” программы. Попрошу заметить, что судя по материалам экспертизы не важно будет ли это обновление платным — экспертиза в деле определила “вредоносность” только за счет одного параметра “неумолимость течения времени” — и как следствие блокирование информации у любого пользователя…
Теги:
Хабы:
+44
Комментарии293

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн