Авторские блоги и комментарии к ним отображают исключительно точку зрения их авторов. Редакция ЛІГА.net может не разделять мнение авторов блогов.
09.06.2020 10:47

Законно ли использовать reverse engineering в ИТ?

Керуючий партнер Trustme Law Firm, голова комітету UNBA NextGen, заступник голови комітету з інтелектуальної власності НААУ

Предлагаю разобраться, каким образом можно использовать reverse engineering в ИТ.

Многие ИТ-специалисты практически ежедневно сталкиваются с реверс-инжинирингом. Ведь процесс помогает в обучении, исследовании софта и железа, их составляющих элементов и принципов работы. В некоторых случаях reverse engineering используют для оценки уровня game developers и тд. Кто впервые столкнулся с термином – некоторые статьи в википедии и «лурке».

Если кратко, reverse engineering – законен, но с рядом условий.

В данной статье предлагаю ознакомиться с правовой стороной процесса. Опишу основные принципы реверс-инжиниринга по итогу судебных прецедентов США по делам Nintendo v. Atari, SEGA v. Accolade и Bowers v. Baystate Technologies

Одни из первых судебных дел по реверс-инжинирингу появились при попытках обойти защиту игровых консолей. К примеру, такие компании как SEGA, Nintendo были заинтересованы в том, чтобы к ним обращались за лицензией, выплачивали вознаграждения «за допуск» к консоли и выпускали игры по их условиям (и достаточно часто – эксклюзивно). 

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

Конечно, не обошлось без нарушений прав и судебных разбирательств. Благодаря «первым реверсам» суды сформировали позиции о принципах такого процесса, которые мы используем и сегодня.

Atari Games Corp. v. Nintendo of America Inc. 

975 F.2d 832 (Fed. Cir. 1992)

Nintendo разработало 10NES program, которое не допускало к работе на игровой консоли видеоигры неавторизованных производителей. Nintendo-10NES-Lockout-Chip.

Источник изображения.

Atari попыталось найти доступ к консоли. Для этого при реверс-инжиниринге удаляли и исследовали чипы 10NES, копировали и воспроизводили объектный код.

Интересный факт в деле - Atari получили копии кода из офиса по защите авторских прав США под предлогом другого судебного разбирательство, т.е. незаконно для целей реверс-инжиниринга.

Дело: Sega Enterprises Ltd. v. Accolade, Inc. 

977 F.2d 1510 (9th Cir. 1992)

SEGA ограничивала совместимость игр со своей консолью Genesis (Sega Mega Drive), а также разработала trademark security system (TMSS). Когда игровой картридж вставлялся в систему, микропроцессор консоли искал код инициации TMSS, который состоял из четырех байтов данных - букв «S-E-G-A». Если система Genesis (Sega Mega Drive) находила код инициализации TMSS в нужном месте, игра запускалась на консоли. Дополнительно TMSS отображал на экране «PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD».

Sega Genesis / Mega Drive. Источник изображения.

Accolade, используя реверс-инжиниринг, обеспечила совместимость видеоигр с Genesis. Гейм-девеловеры Accolade также «нашли» код инициации TMSS, установили, что он не влияет на совместимость Genesis II с их играми. Но разработчики предположили, что это некая функция на будущее, в итоге было принято решение скопировать и TMSS код.

После выпуска новой консоли от SEGA – Genesis III, видео игры от Accolade с TMSS, также начали отображать уведомление «PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD», что не соответствовало действительности. 

Выход из ситуации Accolade нашли в виде размещения информации на картридже, что торговые марки компаний, как и права, принадлежат разным субъектам. См. надпись ниже: 

Источник изображения.

Принципы, которые сформировали суды, по итогу кейсов:   

- автор не получает эксклюзивные права «в целом», так как авторское право не защищает идеи, процессы, операции. Или другими словами - сама идея не допускать к консоли при помощи чипа, программы – не защищается;

- для защиты процессов и методов, следует использовать патентное право;

- реверс-инжиниринг является добросовестным, когда «nature of a work» требует промежуточного копирования для понимания идей и процессов, неохраняемых элементов;

- без реверс-инжиниринга объектного кода владелец произведения фактически будет иметь монополию на функциональные аспекты работы, которые защищаются авторским правом;

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

Так как в кейсе Atari – Nintendo, копия кода была получена незаконно, то реверс-инжиниринг был признан таким, что нарушает права Nintendo.

А в кейсе SEGA – Accolade, SEGA доказала возможность «доступа» к консоли без 4-битного файла с кодом инициализации TMSS. Таким образом, игры Accolade могли быть совместимыми без ложного уведомления «PRODUCED BY OR UNDER LICENSE FROM SEGA ENTERPRISES LTD». Но суд решил, что коммерческая эксплуатация функционального кода была косвенной и имела минимальное влияние. 

И уже 1998 году в США был принят Digital Millennium Copyright Act, который на законодательном уровне разрешает обратный инжиниринг защищенной программы, чтобы выяснить, как заставить ее взаимодействовать (т.е. обмениваться информацией и использовать ее) с другими программами.  

Можно ли запретить реверс-инжиниринг договором?

Да, в большинстве лицензионных соглашений реверс-инжиниринг запрещается. Пример ограничений из лицензионного соглашения PS4 – раздел 2, ограничения. Судебная практика США сводится к тому, что договорные ограничения на запрет реверс-инжиниринга имеет высшую силу по сравнению с законом. 

В качестве примера можно взять кейс Bowers v. Baystate Technologies (320 F.3d 1317, Fed. Cir. 2003). Нарушение авторских прав Bowers на программу Designer's Toolkit, а также условий лицензии обошлись Baystate в 5 270 142 $. Так как компания незаконно использовала реверс-инжиниринг для создания своей программы Draft-Pak. Как резюмировал суд - нарушающая сторона должна сопоставить преимущества нарушения с возможными убытками, или «the breaching party must weigh the benefits of breach against the arguably de minimus damages arising from merely discerning non-protected code».

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

В Украине программное обеспечение относится к объектам авторского права и реверс-инжиниринг (или декомпилирование) разрешается.

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

Вывод

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

На сегодня большинство договоров содержат запрет на реверс-инжиниринг (лицензионные соглашения, договоры с ИТ-специалистами, NDA), и такие нормы будут иметь высшую силу по сравнению с законом во многих странах. Рекомендую внимательно относиться к тому, что подписываете и какие обязательства на себя принимаете при разработке ИТ-продуктов и взаимоотношениях с заказчиками.  

Если Вы заметили орфографическую ошибку, выделите её мышью и нажмите Ctrl+Enter.
Последние записи
Контакты
E-mail: blog@liga.net