URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 44547
[ Назад ]

Исходное сообщение
"Обнаружение фактов нарушения лицензии GPL в аппаратных устройствах"

Отправлено opennews , 19-Окт-08 23:33 
Armijn Hemel из компании Loohuis Consulting представил 26 страничное руководство "The GPL Compliance Engineering Guide (http://www.loohuis-consulting.nl/downloads/compliance-manual...)" (PDF, 500Кб), в котором обобщил опыт участников ресурса gpl-violations.org (http://gpl-violations.org/) по обнаружению GPL кода в бинарных прошивках различных аппаратных устройств.


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

URL: http://www.loohuis-consulting.nl/downloads/compliance-manual...
Новость: http://www.opennet.me/opennews/art.shtml?num=18483


Содержание

Сообщения в этом обсуждении
"Обнаружение фактов нарушения лицензии GPL в аппаратных устройствах"
Отправлено FPGA , 19-Окт-08 23:33 
Сам интересуюсь железками на базе Linux. И возникает резонный вопрос: ну неужели так просто ломануть прошивку и исследовать её содержимое? Каким образом выполняется защита ОЗУ (в процессе распаковки ядра и расшифровки из флэши программ - ведь можно подключиться к выводам микросхемы ОЗУ)?

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Sky_lord , 19-Окт-08 23:57 
Не усложняй. В подавляющем большинстве случаев на плате железки уже распаяна (а если не распаяна, то могут быть просто "точки" выводов) "гребенка" последовательной консоли. Достаточно любого переходника COM-TTL на чипе типа MAX232 (подойдут многие кабели от мобильников - от старых Сименсов, например) - выясняешь методом тыка (если производитель скрывает эти данные) нахождение на "гребенке" rx, tx и земли... И все. Подключаешься любой терминалкой, методом же тыка настраиваешь скорость... Практически в 100% случаев тут же доступен рутовый вход в консоль, а при загрузке - интерфейс загрузчика...

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 01:19 
Такое может быть лишь в том случае, если производитель либо идиот, либо не хочет ничего скрывать. Если надо защитить прошивку - это очень просто, у микроконтроллеров есть внутренная память программ и бит защиты.

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 02:51 
>Такое может быть лишь в том случае, если производитель либо идиот, либо
>не хочет ничего скрывать. Если надо защитить прошивку - это очень
>просто, у микроконтроллеров есть внутренная память программ и бит защиты.

+1. Такие методы сработают только в случае, если производитель идиот. При желании можно элементарно сделать так, что из прошивки устройства вы не прочитаете ни байта.


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Хелагар я..... , 20-Окт-08 07:30 
>>Такое может быть лишь в том случае, если производитель либо идиот, либо
>>не хочет ничего скрывать. Если надо защитить прошивку - это очень
>>просто, у микроконтроллеров есть внутренная память программ и бит защиты.
>
>+1. Такие методы сработают только в случае, если производитель идиот. При желании
>можно элементарно сделать так, что из прошивки устройства вы не прочитаете
>ни байта.

Други мои! Вы, видимо, не вкуриваете, мягко говоря.
Раз пердлагаете на МИКРОКОНТРОЛЛЕРЕ делать СЕТЕВОЕ устройство (роутер, NAS & etc).
Читать подобное весьма и весьма смешно.
Поясню для "спецов" в ватоматизации (на пальцах) - в прошивку микроконтроллера вы фиг втиснете ядро с адекватным набором сетевых возможностей. А если и втисните, то тормоз у вас выйдет неимоверный, а не железка. Посему такие вещи делаются на ARM-ах чаще всего.
С отдельной флеш-памятью программ.


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 11:06 
Господин ламер! По-вашему, микроконтроллеры бывают только 8-разрядные? И не бывает ARM-совместимых _микроконтроллеров_?

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено FPGA , 20-Окт-08 11:44 
>Господин ламер! По-вашему, микроконтроллеры бывают только 8-разрядные? И не бывает ARM-совместимых _микроконтроллеров_?

Господин умник, узнайте для начала, что 32-разрядных ARM-совместимых контроллеров с более чем 1 Мб встроенной флэши и более чем 8 Мб встроенного ОЗУ пока что нет в природе, и поэтому прошивка у таких микроконтроллеров хранится во внешнем ПЗУ, а программа выполняется из внешнего ОЗУ... Посему защитить такое весьма проблематично, а ведь порой даже биты защиты 8-битников не спасают... ;)


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Denis , 21-Окт-08 09:38 
есть :) ngw100 от Atmel
http://atmel.com/dyn/products/tools_card.asp?family_id=682&f...

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено User294 , 20-Окт-08 18:27 
>Не усложняй. В подавляющем большинстве случаев на плате железки уже распаяна (а
>если не распаяна, то могут быть просто "точки" выводов) "гребенка" последовательной
>консоли.

А если ее нет - есть еще такая штука, JTAG.У почти любого современного процессора присутствует.И на большинстве железок присутствует, как минимум в виде нераспаянных точек.Потому что удобен для дебаговых целей и контроля пропайки платы.

Ну а крайнем случае флеху можно и отпаять ведь....


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Sky_lord , 20-Окт-08 22:35 
>>Не усложняй. В подавляющем большинстве случаев на плате железки уже распаяна (а
>>если не распаяна, то могут быть просто "точки" выводов) "гребенка" последовательной
>>консоли.
>
>А если ее нет - есть еще такая штука, JTAG.У почти любого
>современного процессора присутствует.И на большинстве железок присутствует, как минимум в виде
>нераспаянных точек.Потому что удобен для дебаговых целей и контроля пропайки платы.
>Ну а крайнем случае флеху можно и отпаять ведь....

Не, ну JTAG - это все-таки более специфичная штука и с ним все-таки нужно уметь работать и знать процессор... Вот, скажем, ковырял я недавно ТВ-приставку D-Link DIB-120. Даташита на процессор на сайте производителя нет - только общий обзор, т.е. даже не ясно на каких ногах JTAG. Можно было тратить время и искать, но зачем, если быстрее было подключиться к консольке (в целях общения с бутлоадером), а содержимое флеша выковырять из официальных прошивок, где оно не зашифровано и тупо лежит образом cramfs? Начинать нужно с простого. :-) А купить и распотрошить кабель для мобильника - может каждый. Как и замаунтить образ...


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено grindz , 21-Окт-08 00:44 
>>Не усложняй. В подавляющем большинстве случаев на плате железки уже распаяна (а
>>если не распаяна, то могут быть просто "точки" выводов) "гребенка" последовательной
>>консоли.
>
>А если ее нет - есть еще такая штука, JTAG.У почти любого
>современного процессора присутствует.И на большинстве железок присутствует, как минимум в виде
>нераспаянных точек.Потому что удобен для дебаговых целей и контроля пропайки платы.
>
>
>Ну а крайнем случае флеху можно и отпаять ведь....

Сейчас вполне дешего производить 2 варианта ASIC. 1-й варианд для разработки - там и JTAG и все дела. 2-й вариант для production. Там нифига нет. При попытке физического доступа к внутренностям устройства - оно физически ломается. Смотрите cпеки по Master card PTS сертификации для платежных терминалов. Правда там несколько сотен страниц на английском. Там всё написано как должно быть. И ведь делают. Знаю о чем говорю, работал в 2-х крупнейших мировых производителях платежных терминалов.



"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено User294 , 20-Окт-08 18:24 
> И возникает резонный вопрос: ну неужели так просто ломануть прошивку

Так, средненько.Требуются специфичные умения и скиллы но ничего такого сверхъестественного.

> и исследовать её содержимое?

Ничего сложного в этом нет.Скажем я на глаз спокойно отличу JFFS2 от Squashfs.По характерным последовательностям байтов.Метод сжатия?Зачастую аналогично.Еще кто-то делал тулсу которая пробует декомпреснуть энный блок данных разными методами - тоже вариант :).Ах, еще и шифруетесь?Само по себе подозрительно, уделим такой штуке внимание.Смотрите ниже :).Пользуете GPLные библы?Так мы и их по характерным местам запросто найдем.И все такие места не затрете, где-нибудь да лоханетесь.Чем сильнее прятали, прикидывались шлангом и геморройнее было выколупывать - тем приятнее вас будет нагнуть.Например как вы думаете, насколько трудно отличить бузибокс от остальных?Да элементарно.Он такой один, запалить его вероятное наличие "предварительно" можно даже не декриптя в принципе - тупо по функционалу и размеру :)

> Каким образом выполняется защита ОЗУ

Зачастую никаким - а как вы предлагаете это сделать?Ну разве что если оно в проц засунуто.Но обычно сие не катит потому что в проц много RAM и флеша не лезет.Да и на быстром проце плохо RAM и Flash живется и их на мало-мальски производительные процы вообще не засовывают, кроме кэша который статика.Не любят они когда горячо.Вообще.Флеш от жары стирается а DRAM сбоит.И даже однокристалки с встроенным RAM и флешом кому сильно надо - вскрывают, если реально припрет.

>(в процессе распаковки ядра и расшифровки
> из флэши программ - ведь можно подключиться к выводам микросхемы ОЗУ)?

Обычно все куда прозаичнее и проще - трахаться с чтением чипа на горячую любителей мало - это геморройно и доступно немногим.Если авторы не предприняли *очень* крутых мер по защите то дождавшись пока ваше добро все распакует и расшифрует, грамотно приделанный патч честно запаузит все нахрен и сольет в какой-нибудь интерфейс дамп RAM :).Кстати даже чексуммы и цифровые подписи не спасут - на любую броню всегда есть свой вид снаряда.Соответственно по факту сломают или нет определяется сугубо наличием желающих сломать и тем какие затраты времени, сил и денег они готовы понести.А крутизну защиты тоже бесконечной никто не делает - защита ради защиты никому не нужна и как правило основное внимание уделяется все-таки основному функционалу девайса.Иначе он будет никому нафиг не нужен.С защитами или без.


"Почему не используют BSD?"
Отправлено Дмитрий Ю. Карпов , 20-Окт-08 01:15 
Я не понимаю производителей таких железок - есть же BSD!

"Почему не используют BSD?"
Отправлено Аноним , 20-Окт-08 02:54 
>Я не понимаю производителей таких железок - есть же BSD!

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


"Почему не используют BSD?"
Отправлено Vaso Petrovich , 20-Окт-08 05:21 
>Я не понимаю производителей таких железок - есть же BSD!

ссылки на эмбед девайсы с bsd на борту в сутдию или говову в песок


"Почему не используют BSD?"
Отправлено Аноним , 20-Окт-08 06:37 
вот и был вопрос - почему не используют BSD код. значит своровать у OpenBSD код wireless драйвера (именно своровали, обманув разработчиков помогавших в портировании кода под линукс обещав возвращение модифицированного кода обратно в BSD) - для этого код хорош. а как что - BSD отстой.

"Почему не используют BSD?"
Отправлено Хелагар я..... , 20-Окт-08 07:36 
>вот и был вопрос - почему не используют BSD код. значит своровать
>у OpenBSD код wireless драйвера (именно своровали, обманув разработчиков помогавших в
>портировании кода под линукс обещав возвращение модифицированного кода обратно в BSD)
>- для этого код хорош. а как что - BSD отстой.
>

Увы, это воровство, даже если оно было, полностью отвечает БСД-лицензии. И в этом как раз главная проблема БСД.


"Почему не используют BSD?"
Отправлено PavelR , 20-Окт-08 08:35 
нельзя перелицензировать код, написанный под BSD лицензией, в лицензию GPL, без согласия разработчиков исходного кода.

В том случае разрабами было дано согласие, но с условием что будут возвращены изменения/доработки, это условие было и нарушено.



"Почему не используют BSD?"
Отправлено fresco , 20-Окт-08 11:45 
с BSD кодом можно делать все что угодно. главное автора упомянуть, а там пофиг че -- хоть перелицензируйте, хоть так открывайте.

"Почему не используют BSD?"
Отправлено Square , 21-Окт-08 13:04 
>с BSD кодом можно делать все что угодно. главное автора упомянуть, а
>там пофиг че -- хоть перелицензируйте, хоть так открывайте.

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


"Почему не используют BSD?"
Отправлено vitek , 20-Окт-08 14:21 
прикольно! :-D
с каких это пор bsd требует возврата кода? это же Вам не gpl кокой-то!

другое дело, что в ядро gnu/linux'а код с бздишной лицензией нельзя запихнуть... поэтому, как Вы выражаетесь, "разрабы" выпустили этот код под 2-мя лицензиями сразу - за что им и спасибо.

да и речь идет о GPL-совместимой лицензией ISC (BSD лицензия используемая в OpenBSD и продуктах Internet Systems Consortium) http://en.wikipedia.org/wiki/ISC_license (правый верхний угол: GPL compatible - Yes)

и уже не актуально -http://www.opennet.me/opennews/art.shtml?num=17131


"Почему не используют BSD?"
Отправлено vitek , 20-Окт-08 14:27 
а! да!
увидеть эту лицензию можно например в linux-2.6.27.2/drivers/net/wireless/ath5k/ath5k.h
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
сравните с вики (url выше) :-)

"Почему не используют BSD?"
Отправлено User294 , 20-Окт-08 18:37 
>В том случае разрабами было дано согласие, но с условием что будут
>возвращены изменения/доработки, это условие было и нарушено.

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


"Почему не используют BSD?"
Отправлено CRAZY MAX , 20-Окт-08 07:16 
D-Link DFL-1500 - например, вполне себе железка с NetBSD нав борту.

"Почему не используют BSD?"
Отправлено User294 , 20-Окт-08 18:55 
>D-Link DFL-1500 - например, вполне себе железка с NetBSD нав борту.

А оно живое?Судя по гуглу это было несколько лет назад.Нечто писюкоподобное с соплероном 1.2ГГц на борту.На данный момент сайт длинка такую железку что-то не знает даже.Уже закопали?А то найденные упоминания девайса датированы аж 2003 годом.


"Почему не используют BSD?"
Отправлено Suntechneg , 20-Окт-08 11:09 
www.onstor.com

Как минимум их Bobcat системы построены на основе OpenBSD (про другие не знаю)


"Почему не используют BSD?"
Отправлено vitek , 20-Окт-08 13:55 
а звонилка от эпла не подойдёт? :-)

"Почему не используют BSD?"
Отправлено andr.mobi , 20-Окт-08 15:27 
> Я не понимаю производителей таких железок - есть же BSD!

просто на одного БЗДуна десять пингвинологов. Производителю по большому (счету) наделать, что у него в железяке крутиться будет, лишь бы работало. Ну и про линух любой манагер почти все знает, а про Беркли первый или второй раз слышит. Маздайную лицензию никто не читает, а вы хотите, чтобы разбирались в токостях BSD vs. GPL. Многа букв! Особенно во второй :)


"Почему не используют BSD?"
Отправлено User294 , 20-Окт-08 18:48 
>Я не понимаю производителей таких железок - есть же BSD!

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

P.S. Собственно мне честно говоря не понятно что теряет вендор выложив сорц.Собственно сорцы и так кому надо скачать может а адаптации специфичные для железки никому кроме вендора строго говоря ничего и не дают - другим придется свои адаптации делать.На халяву еще и прошивок могут альтернативных понаделать что обычно популярности железяки только в плюс (например, WL500GP и олеговская прошивка - без нее девайс тупо неюзабелен в половине сетей с PPTP VPN и страдает рядом проблем, а с оной - отличный девайс).Если вендор не тормоз - мог бы еще и улучшения внедрять сделанные народом нахаляву.Те кто это поняли - здорово экономят на разработке и получают соответствующую скорость развития :).Ну а свои специфичные программы придающие девайсу *уникальный* функционал вендор может распостранять по любой угодной ему лицензии.Сорцы этого у вендора никто с ножом к горлу не требует.Лишь бы лицензии библиотек соблюдали (для проприетарных програм годятся библы под LGPL, BSDL и т.п.).


"Обнаружение фактов нарушения лицензии GPL в аппаратных устройствах"
Отправлено Аноним , 20-Окт-08 09:50 
А D-Link не выкладывает исходники последних версий прошивок, хотя копию лицензии GPL даёт вместе с устройством.

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 10:35 
>А D-Link не выкладывает исходники последних версий прошивок, хотя копию лицензии GPL
>даёт вместе с устройством.

Вот некоторые вендоры ( Archos - производят PMP ) открыто говорят что их прошивка построенна на Linux. Исходники выкладывают, но есть один нюанс. Толку от них - никакого! Самостоятельно изменить что-либо там нельзя, ибо загрузчик закрыт, и все приложения подписанны цифровой подписью. И от новых версий прошивок они исходники не кладут! Их можно прижать за все это?


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 11:07 
>>А D-Link не выкладывает исходники последних версий прошивок, хотя копию лицензии GPL
>>даёт вместе с устройством.
>
>Вот некоторые вендоры ( Archos - производят PMP ) открыто говорят что
>их прошивка построенна на Linux. Исходники выкладывают, но есть один нюанс.
>Толку от них - никакого! Самостоятельно изменить что-либо там нельзя, ибо
>загрузчик закрыт, и все приложения подписанны цифровой подписью.

GPL2 это не противоречит. В GPL3 включили специальный пункт, запрещающий это.


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Аноним , 20-Окт-08 11:54 
>GPL2 это не противоречит. В GPL3 включили специальный пункт, запрещающий это.

Это настоящее гадство!!!


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Guest , 20-Окт-08 13:39 
>>GPL2 это не противоречит. В GPL3 включили специальный пункт, запрещающий это.
>Это настоящее гадство!!!

Что не противоречит или что включили? Я вот 100% за GPL3, воров надо давить.


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено User294 , 20-Окт-08 19:51 
>надо давить.

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


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Shura , 20-Окт-08 10:43 
>А D-Link не выкладывает исходники последних версий прошивок, хотя копию лицензии GPL
>даёт вместе с устройством.

Выкладывает, просто надо поискать, ну или по почте у суппорта запросить


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено anonymous , 20-Окт-08 12:25 
есть они, на ftp ихнем надо шариться.

"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено Skylord , 20-Окт-08 13:09 
>есть они, на ftp ихнем надо шариться.

На фтп нет ничего. У них сайт специальный, где они выкладывают исходники: http://tsd.dlink.com.tw/


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено anonymous , 20-Окт-08 13:17 
не знаю как на сайте, но вот для DIR-400 я исходники нашел на фтп: ftp://ftp.dlink.ru/pub/Router/DIR-400/

Не спорю, возможно это носит выборочных характер и тарболы выкладываются не для всех.


"Обнаружение фактов нарушения лицензии GPL в аппаратных устро..."
Отправлено User294 , 20-Окт-08 19:56 
>А D-Link не выкладывает исходники последних версий прошивок, хотя копию лицензии GPL
>даёт вместе с устройством.

Все они там выкладывают.На FTP зайдите.Если вдруг нужной версии нет - напишите на мыло.Строго говоря никто не обязан сорц выдавать в каком-то определенном виде - это не регламентировано.Что и юзают (абузают?) всякие сомнительные жуликоватые конторы типа микротика, у которых получение сорца усложнено по максимуму: запрос по почте, сорцы пришлют, но - небезвозмездно, в малоудобном виде и без своих проприетарных частей.Просто изменить и пересобрать по простому - фигушки.Только в основном такие сами себя же и нагревают - ну в итоге дофига контор юзает OpenWRT вместо оного.И как бы всем хорошо :)