Форум ''Интернет и Право''
26 Апреля 2024, 22:26:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости: Форум "Интернет и Право" прекратил свою работу с 01 января 2013 г.
 
   Начало   Помощь Поиск Войти Регистрация  
В закладки:
Страниц: 1 ... 34 35 [36] 37 38 ... 64   Вниз
  Печать  
Автор Тема: Экспертиза ПО на контрафактность  (Прочитано 268701 раз)
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #350 : 24 Марта 2007, 12:29:46 »

...

И представление программ в виде трех автоматов (перекодирующий вход, основной алгоритм, перекодирующий выход) является основой технологии промышленного проектирования программ, когда программа является не произведением, а предметом труда.

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

Urix, надеюсь в данном абзаце под "Вы" понимались все окружающие. Поскольку я лично, примерно с 2000 года последовательно пишу и убеждаю всех, что программы - продукт именно технического творчества и производить их следует именно по промышленным технологиям, а не в "бардачном" стиле just for fun. И, кстати, идеи д.т.н. А.А. Шалыто (http://is.ifmo.ru/) мне очень нравятся и одну его статью (правда, не по автоматному программированию непосредственно) я, с его разрешения, разместил на сайте ПОтребитель.
Посему в данном случае спорит нам совершенно не о чем.

Цитировать
Программу для ЭВМ можно представить как конечный автомат (комплекс конечных автоматов), а можно и не представлять. Можно представить и как ориентированный граф, например.
А такие понятия как эквивалентные графы и свертка графа Вам ничего не говорят?

И про матрицы смежности и инцидентности я тоже слыхал. И?
Записан
Urix
Гость


E-mail
« Ответ #351 : 24 Марта 2007, 12:43:47 »

Цитировать
но это требует весьма высокой квалификации (не такой, какая есть у студентов, пишущих вирусы и трояны)
Эт-тт точно! Тут с кандачка не получится сделать что-то серьезное.
Цитировать
надеюсь в данном абзаце под "Вы" понимались все окружающие.
Не совсем так. Все те, кто считают программирование искусством, а не промышленным производством. Да, в результате получается штучный товар, но и штучный автомобиль содержит в себе по большей части стандартные детали (болты, гайки, подшипники, шатуны и т.д.). Вот и в законодательстве закреплен этот позавчерашний век, век ручного, непроизводительного труда.
Цитировать
И про матрицы смежности и инцидентности я тоже слыхал. И?
Практически можно почти всегда так провести эквивалентные преобразования в графе, что можно свернуть измененные в процессе адаптации участки в графе до узлов так, что не будет изменен сам основной граф программы. Т.е., результаты адаптации привести к линейным участкам, которые уже можно рассматривать, как самостоятельные автоматы. На графах это не видно столь наглядно, как в случае автоматов.

Отсюда вывод, что адаптация, это такое преобразование, которое не затрагивает основной граф. А значит авторских или смежных прав на основной граф не возникает. В то время как переработка вносит свои изменения в этот граф и должна уже рассматриваться как соавторство. В общем, я попытался дать с позиций математики точное определения понятия "адаптация". И предлагаю пользоваться именно этим определением. Хотя бы в вопросах, связанных с экспертизой.
« Последнее редактирование: 24 Марта 2007, 13:10:02 от Urix » Записан
Bras
Посетитель
*
Офлайн Офлайн

Сообщений: 59


С любовью к ближнему


« Ответ #352 : 24 Марта 2007, 14:17:43 »

...

Давайте, посмотрим на это вот с какой стороны.
Как лицо может создать новую программу или изменить существующую так, чтобы она заведомо приводила к несанкционированным последствиям? Полагаю, только сделать так, чтобы получившаяся программа делала это "по построению". Иначе, какая же тут будет заведомость?


приводящих относится к программе, т.е. программа должна обладать такими свойствами (но не обязательно только ими), а заведомо приводящих означает, что лицо понимает, что программа обладает такими свойствами (но не обязательно только ими).
 
т.е. это совершенно не исключает того, что программа помимо своих вредных способностей может обладать и полезными (касаемо программ двойного, тройного, четверного.. и т.д. назначения). Т.е. если я применяю программу в зловредных целях, то по действующему определению ее вполне можно посчитать вредоносной.
Например. Возьму и установлю на компьютер моего конкурента модуль radmin в скрытном режиме, и буду контролировать всю его работу. Здесь я понимаю, что с помощью программы radim могу незаметно и незаконно копировать, уничтожать, просматривать, вообще полностью контролировать компьютер своего противника, и программа radmin все это позволяет делать.
Берем массу программ из арсенала служб по информационной безопасности: клавиатурные шпионы и более серьезные решения. которые могут вполне законно устанавливаться на компьютеры фирмы, для контроля за работой своих работников. Ничего несанкционированного в этой ситуации они  не делают, посему не вредоносные. А будучи установленными неправомерно, вполне отвечают определению.
Записан
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #353 : 24 Марта 2007, 14:32:52 »

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

Предложение само по себе довольно любопытно. Но есть ряд возражений.
Во-первых, авторские права никак не связаны с алгоритмом/графом/автоматом. Понятие авторского произведения ориентировано на художественные произведения и, поэтому, принцип действия/алгоритм им не охватывается (это и в законе прописано).
Во-вторых, определить основной граф (если только не рассматривать совсем уж "Ввод исходных данных->Обработка->Вывод результатов") без каких-либо оговорок, неоднозначности или возражений в реальных программах часто невозможно. И тут будет просто огромное поле для "натяжек" и "передёргивания".
В-третьих, например, добавление вредоносных функций (при внедрении вируса или троянского кода), точно так же может не затронуть основного графа. Тогда отличить это действие от адаптации по Вашему определению не получится...



Записан
Urix
Гость


E-mail
« Ответ #354 : 24 Марта 2007, 15:06:13 »

Цитировать
Во-первых, авторские права никак не связаны с алгоритмом/графом/автоматом.
Граф - это одна из форм описательного представления программы. Авторское право на "Сказку о царе Солтане" что на русском языке, что на английском, что на китайском все равно принадлежит А.С.Пушкину не смотря на то, что при переводах несколько меняется семантика. Раз программа является объектом авторских прав, значит тогда и граф тоже должен являться. В противном случае, дизассемблированный код программы в байт-коде, а затем снова скомпилированный уже не будет являться охраняемой законом программой, даже если файлы байт в байт совпадают. Тогда очень просто обойти ч.2 ст.146 - нужно просто дизассемблировать и заново скомпилировать код, например Windows Vista. Для формальных языков (в отличии от естественных), которыми являются так же и графовые описания, подобные процедуры проделываются легко.
Цитировать
Во-вторых, определить основной граф (если только не рассматривать совсем уж "Ввод исходных данных->Обработка->Вывод результатов") без каких-либо оговорок, неоднозначности или возражений в реальных программах часто невозможно. И тут будет просто огромное поле для "натяжек" и "передёргивания".
Вот тут и должен сыграть свою правильную роль центр регистрации программ. Иначе, мы на каждом шагу будем натыкаться на Антоновскую "Windows Vista" или что-то похожее.
Цитировать
В-третьих, например, добавление вредоносных функций (при внедрении вируса или троянского кода), точно так же может не затронуть основного графа. Тогда отличить это действие от адаптации по Вашему определению не получится...
Стоп. Автоматы-то разные. Они уже разделены, а значит вредоносный код уже отделен от основной программы. Этот факт как раз и должен помогать в определении вредоносности вирусов как программ.

Не в обиду, но похоже все ваши возражения из серии "как бы чего не вышло". Ну нельзя ориентироваться на средний уровень знаний, нельзя опускать интеллект до уровня конюшни. Надо поднимать общий уровень интеллекта, тогда и эти "как бы чего не вышло", появляющиеся e "ентих таварисчей" от безысходности по причине недостатка знаний, сами собой отомрут. Да, я понимаю, что "ентим таварисчам" будет сложно это все объяснять. Значит надо что-то придумывать. Нам с вами головы даны не для того, чтобы только шапки носить.
« Последнее редактирование: 24 Марта 2007, 16:33:46 от Urix » Записан
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #355 : 24 Марта 2007, 15:57:50 »


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

Отлично. И где уголовное дело Билла Гейтса?

Например. Возьму и установлю на компьютер моего конкурента модуль radmin в скрытном режиме, и буду контролировать всю его работу. Здесь я понимаю, что с помощью программы radim могу незаметно и незаконно копировать, уничтожать, просматривать, вообще полностью контролировать компьютер своего противника, и программа radmin все это позволяет делать.
Берем массу программ из арсенала служб по информационной безопасности: клавиатурные шпионы и более серьезные решения. которые могут вполне законно устанавливаться на компьютеры фирмы, для контроля за работой своих работников. Ничего несанкционированного в этой ситуации они  не делают, посему не вредоносные. А будучи установленными неправомерно, вполне отвечают определению.

Замечательно.

Пример №1: Беру я, скажем, и пишу клавиатурного шпиона, чтобы, значит, родители знали чего их чада друг другу по поводу свежей порнухи в локалке пишут. А какой-то злодей берёт мою программу и завладевает с её помощью данными, необходимыми для доступа к защищёной сети. Влазит в эту сеть и т.д. и т.п. Суд признаёт состав ст. 272 и, как сейчас принято, и 273 тоже. Моего клавиатурного шпиона объявляют "вредоносной программой", а меня, как создателя вредоносной программы, соответственно - под суд по той же 273, но за создание, а не за использование, как первого фигуранта. Ситуция - просто <непечатно>...

Пример №2: Беру я, скажем, и, чтобы не связываться со "шпионами" (ну их к лешему), пишу почтового клиента. А какой-то злодей берёт мою программу и организует с её помощью атаку на "отказ в обслуживании" (DoS) на какой-то слабенький серверок SMTP. Тот уходит в даун. Блокирование компьютерной информации налицо - 272. Раз при этом использовалась моя программа, то она, по-Вашему, вредоносная - 273. Меня, соответственно, опять в тюрьму по 273. Комментарий и к этой ситуации не более печатный, чем к первой, если не похлеще.

Пример №3: Беру я, скажем, и пишу системный драйвер с API для приложений Ring3. А какой-то злодей берёт мою программу и с её помощью устанавливает поный контроль над удалённой системой, где эта программа установлена. Статья 272 -> статья 273 -> со злоумышленником в тюрьму и меня, как создателя программы.

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

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

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

Точно также, торговлю кухонными ножами или медицинскими скальпелями (и даже топорами) не квалифицируют как торговлю оружием, в отличие от торговли "Калашниковыми", например. Иначе "оружейных баронов" у нас можно было бы наловить по сотне на кажом рынке... (Может не догадались ещё просто?)
Записан
Сергей Середа
Тех.специалист
Завсегдатай
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 1415


Говори, что думаешь, но думай, что говоришь (с)

286903819
WWW
« Ответ #356 : 24 Марта 2007, 16:56:52 »

Цитировать
Во-первых, авторские права никак не связаны с алгоритмом/графом/автоматом.
Граф - это одна из форм описательного представления программы. Авторское право на "Сказку о царе Солтане" что на русском языке, что на английском, что на китайском все равно принадлежит А.С.Пушкину не смотря на то, что при переводах несколько меняется семантика. Раз программа является объектом авторских прав, значит тогда и граф тоже должен являться.

ЗоАП, Статья 6. Объект авторского права. Общие положения: "...4. Авторское право не распространяется на идеи, методы, процессы, системы, способы, концепции, принципы, открытия, факты."

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

В противном случае, дизассемблированный код программы в байт-коде, а затем снова скомпилированный уже не будет являться охраняемой законом программой, даже если файлы байт в байт совпадают. Тогда очень просто обойти ч.2 ст.146 - нужно просто дизассемблировать и заново скомпилировать код, например Windows Vista. Для формальных языков (в отличии от естественных), которыми являются так же и графовые описания, подобные процедуры проделываются легко.

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

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

Однако, дизассемблирование - лишь начало исследования программы. По большей части, дизассемблированные программы обратно ассемблировать так просто не удастся. Придётся долго разбираться, где код, а где данные, где константы, а где переменные и т.д. и т.п. (Я однажды вдоволь с этим "наигрался", восстанвливая уничтоженный по глупости исходник, хорошо, что проект был на ассемблере же. Так и остались кое-где автоматические комментарии Sourcer-а...)

И всё же, преобразованная таким образом программа останется собой и в результате анализа листинга дизассемблированного кода это можно будет доказать (такие работы проводились на Западе в 60-х годах).

А вот если пойти дальше и с уровня ассемблера "подняться" до ЯВУ (Бейсик, Фортран, Паскаль, Си и т.п.), переписать программу на нём и скомпилировать, то анализ дизассемблированных модулей ничего не даст (я так делал, но с небольшой утилитой из Public Domain). Здесь поможет только "некомпьютерное" расследование, если оно позволит доказать, что авторы новой программы действительно не написали её "с нуля", а преобразовали описанным способом.

Цитировать
Во-вторых, определить основной граф (если только не рассматривать совсем уж "Ввод исходных данных->Обработка->Вывод результатов") без каких-либо оговорок, неоднозначности или возражений в реальных программах часто невозможно. И тут будет просто огромное поле для "натяжек" и "передёргивания".
Вот тут и должен сыграть свою правильную роль центр регистрации программ. Иначе, мы на каждом шагу будем натыкаться на Антоновскую "Windows Vista" или что-то похожее.

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

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

На них это что, написано? Это же просто уровни абстракции! Я "нарежу" программу на одни автоматы, Вы - на другие, другой эксперт - ещё на другие. Этот процесс недетерминирован и результаты его неизбежно будут различаться. А, следовательно, будут непригодны в эксперизе.

P.S. Я полагаю, что мои возражения носят практический характер. По поводу оригинальных идей я только "за".
Записан
Urix
Гость


E-mail
« Ответ #357 : 24 Марта 2007, 18:39:00 »

Цитировать
Если этот изображение графа попадётся среди сопутствующих документов, то оно будет формально считаться частью программы. Однако, отражаемый им алгоритм никакой охране авторским правом не подлежит и любая сторонняя реализация этого алгоритмя и графа будет самостоятельным произведением, охраняемым авторским правом, как оригинальное.
Это сейчас так в законе записано. Я же приводил пример закона "О Луне" в качестве такой дури, которую тоже можно законодательно утвердить. Да что говорить, только недавно Ватикан отменил нормы о том, что Земля плоская и Вселенная не геоцентрична и даже не гелиоцентрична. И отменил уже после того, как людина Луну слетали несколько раз.

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

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

Цитировать
Ну, во-первых, компиляция - необратимый процесс (собственно, это и есть процесс "производства устройства по чертежам").
Вы хотите сказать, что те "рюшечки", которые есть в исходном коде также исполняются процессором? Например, комментарии? Давайте отделять суп от мух - код в одну сторону, комментарии в другую.
Цитировать
После этой процедуры вернуть тот самый исходный код, вообще говоря, невозможно
Смотря что Вы хотите получить. Если хотите сохранить граф хода исполнения программы, то ничего сложного в этом нет, если хотите восстановить потерянные комментарии, то из "много" всегда можно сделать "мало", а из "мало" сделать "много" нельзя.
Цитировать
Во-первых, тот же оператор условного перехода может быть представлен несколькими альтернативными опкодами, во-вторых, если есть какая-то оптимизация, часть исходных операторов будет заменена более подходящими (по мнению транслятора) эквивалентами
Граф хода исполнения программы от этого изменится? Нет, поскольку производятся экивалентные преобразования.
Цитировать
Однако, дизассемблирование - лишь начало исследования программы. По большей части, дизассемблированные программы обратно ассемблировать так просто не удастся.
Еще в прошлом веке в какой-то конференции USENIX я натыкался на очень хороший дизассемблер для архитектуры PDP-11, который в общем-то восстанавливал даже С (K&R) с очень небольшими ассемблерными вставками. Тогда я понял и проверил на этом дизассемблере, что надо делать, чтобы эту неоднозначность обратного перевода преодолеть. Получилось, asm-а в выходе не стало вообще.
Цитировать
Придётся долго разбираться, где код, а где данные, где константы, а где переменные и т.д. и т.п
Есть граф хода исполнения программы. Его и анализируем и по нему определяем что есть что. И не забываем, что у нас машины архитектуры фон Неймана.
Цитировать
А вот если пойти дальше и с уровня ассемблера "подняться" до ЯВУ (Бейсик, Фортран, Паскаль, Си и т.п.), переписать программу на нём и скомпилировать, то анализ дизассемблированных модулей ничего не даст (я так делал, но с небольшой утилитой из Public Domain).
А если вспомнить алгоритм шифрования "укладки ранца"? А обратные преобразования (восстановление кода) как раз к "укладке ранца" и сводятся. Так что, NP-полноты здесь уже нет.
Цитировать
Если перейти к патентованию конкретных реалиаций алгоритмов (не их абстрактного описания - ни в коем случае), как я предлагал ещё давно, это ещё может сработать.
Ну, базовых алгоритмов известно не так уж и много. Создать новый базовый алгоритм - это потруднее будет, чем "Войну и Мир" написать. А вот скомпилировать из этих алгоритмов можно все. Все программы, известные на сегодняшний день, составлены на основе пары-тройки сотен базовых алгоритмов.
Цитировать
Но сегодня регистрируется "авторское произведение" вообще и по этой регистрации практически никакой экспертизы не сделаешь
Базовых патентов тоже не так уж и много, однако какое получает многообразие товаров. И генов (наследственная информация) известно тоже немного, а какие разнообюразные формы принамает жизнь.
Цитировать
На них это что, написано? Это же просто уровни абстракции! Я "нарежу" программу на одни автоматы, Вы - на другие, другой эксперт - ещё на другие.
Если код вируса простой, то значит, вирус не может менять код исходной программы. А значит легко отделяется от остального автомата. Уж это-то, надеюсь, не оспорите. Подмигивающий
« Последнее редактирование: 26 Марта 2007, 20:09:40 от Urix » Записан
Bras
Посетитель
*
Офлайн Офлайн

Сообщений: 59


С любовью к ближнему


« Ответ #358 : 26 Марта 2007, 11:20:03 »

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

ну это не ко мне вопросы, а к людям которые статьи УК пишут.
Записан
Igor Michailov
Модератор
Internet-law team
*****
Офлайн Офлайн

Пол: Мужской
Сообщений: 7261



« Ответ #359 : 26 Марта 2007, 19:04:32 »

ну это не ко мне вопросы, а к людям которые статьи УК пишут.
Так наверное в 37 отвечали на вопрос :"Братцы, за что губите?!"

Сами - то "у стеночки" оказаться не боитесь? (хотя бы за использование вредоносной программы семейства Windows  Смеющийся )
« Последнее редактирование: 26 Марта 2007, 19:06:12 от Igor Michailov » Записан

Юридические консультации.

Помощь в составлении жалоб и ходатайств.

Заверение контента сайтов, Интернет-страниц, электронной почты.
Страниц: 1 ... 34 35 [36] 37 38 ... 64   Вверх
  Печать  
 
Перейти в:  

Яндекс цитирования © Антон Серго, 1998-2012. Правовая информация.
Карта сайта "Интернет и Право" (internet-law.ru).

На правах рекламы:

Произвольная ссылка:







Powered by SMF 1.1.21 | SMF © 2011, Simple Machines