Компании Loohuis Consulting и Opendawn, при поддержке организаций NLnet Foundation и Linux Foundation, представили (http://www.loohuis-consulting.nl/news.php?group=3&show=19) свободный инструмент Binary Analysis Tool (http://www.binaryanalysis.org/en/home) для обнаружения фактов использования кода GPL-проектов в бинарных прошивках. Для определения наличия включения целых программ или их частей в бинарном файле программа использует специальную базу знаний, построенную на основе доступных исходных текстов. База включает в себя такие данные как символьные и строковые сигнатуры популярных программ, данные о файловых системах, драйверах, данные о чипсетах и связанной с аппаратными платформами информацией. В процессе проверки может быть использована как централизованная база знаний, так и БД, подготовленная собственными силами, например, с целью выявления следов использования определенной программы.Binary Analysis Tool представляет собой модульный фреймворк, написанный на языке Pyth...
URL: http://lwn.net/Articles/383504/rss
Новость: http://www.opennet.me/opennews/art.shtml?num=26255
Ждём массовых новостей типа "в продукте XXX выявлено использование GPL кода YYY".
>Ждём массовых новостей типа "в продукте XXX выявлено использование GPL кода YYY".
>не обновлений прошивок ;-)
Не понимаю как это делается без реверса, упаковщики же разные бинарный код тоже. Или я что то пропустил?
Я в этом нифига не смыслю, но предположу, что выявление подобно выявлению вирусов антивирусными системами по сигнатурам из БД. Не?
Неа. Еще никто не запрещал делать на бинарники ldd и strip. Это не декомпиляция и не дезассемблирование. Это поиск с стрингам на наличие узнаваемых сигнатур.
Я про что и спрашиваю, как найти эту сигнатуру не распаковывая бинарник, хорошо есть заранее известные популярные паковщики, вернее паковщик. Но борьба с реверсом идет и могут жать чем то своим еще и шифровать, для поиска по сигнатуре код надо будет пожать вот этим "своим" и потом уже использовать его как сигнатуру, как то так.
>Я про что и спрашиваю, как найти эту сигнатуру не распаковывая бинарник,
>хорошо есть заранее известные популярные паковщики, вернее паковщик. Но борьба с
>реверсом идет и могут жать чем то своим еще и шифровать,
>для поиска по сигнатуре код надо будет пожать вот этим "своим"
>и потом уже использовать его как сигнатуру, как то так.$ cat hello.c
#include "stdio.h"void main()
{
printf("hello, megamaza!\n");
return;
}$ gcc -o hello hello.c
$ grep megamaza ./hello
Двоичный файл ./hello совпадаетКстати, в том же самом файле hello есть строчки о версии компилятора и т.д.
И я не думаю, что в дешевых модемах/роутерах/плеерах будет шифрование прошивки.
Если там кроме декомпрессии делать еще и расшифровку - юзер устанет ждать загрузки девайса. Алсо, наличие ОС проверяется по куче признаков. Как то реализованные протоколы, их свойства, глюки и особенности, поддерживаемые ФС, набор ПО и функицонала, etc. При том чем сильнее некто прячет шило в мешке, тем приятнее будет найти и въ...ь посильнее за это дело. И как бы надежный метод спрятать - один: переписать все с нуля, ха-ха :)
>Если там кроме декомпрессии делать еще и расшифровку - юзер устанет ждать
>загрузки девайса. Алсо, наличие ОС проверяется по куче признаков. Как то
>реализованные протоколы, их свойства, глюки и особенности, поддерживаемые ФС, набор ПО
>и функицонала, etc.Да ладно, какие там признаки, когда подрубаешься к консоли той же voip железки от linksys, а там linux+asterisk =)
>И как бы надежный метод спрятать - один: переписать все с
>нуля, ха-ха :)Угу.
Или просто выложить исходники (раз уж взяли gpl'ный код).
этот инструмент возможно полезен при большом количестве проверяемых файлов, отделят подозрительные и проверят вручную.
Как-то ненадежно. Прошивка может быть пожата, или еще как-нибудь перелопачена. Походу, на основании такой тулзы нельзя будет с уверенностью сказать, что в прошивке не линукс.
Кроме тулзов есть еще глаза и мозг :)
$ strings VeryBadApp | grep GPLГде-то на этом уровне.
Показательно, что рядом новость "RIAA намерена следить за лицензионной чистотой программ на домашних компьютерах"
>Показательно, что рядом новость "RIAA намерена следить за лицензионной чистотой программ на домашних компьютерах"При том:
Ассоциации звукозаписывающих компаний и кинопроизводителей Америки (RIAA/MPAA) РАССМАТРИВАЮТ ВОЗМОЖНОСТЬ
Компании Loohuis Consulting и Opendawn, при поддержке организаций NLnet Foundation и Linux Foundation, ПРЕДСТАВИЛИ свободный инструмент
а если они не код своровали, а идею? посмотрели как там, поменяли местами пару операторов, вставили своих и все уплыл код GPL
Реализуют поиск нечетких дублей
>а если они не код своровали, а идею? посмотрели как там, поменяли
>местами пару операторов, вставили своих и все уплыл код GPLИсполняемый код - да.
А вот данные (текстовые, бинарные), имена функций, библиотек - нет.
А что, на идеи уже распространяется GNU GPL? :)Вообще-то это проприетарщики пытаются идеи тоже заковать в юридические наручники.
Я не знаю, как обстоят дела на самом деле, но думаю, просто поменять пару операторов будет точно не достаточно, чтобы рассматривать код как свой собственный. Это скорее как раз модифицированный gpl-ный код.
Чтобы сделать заявку, что это всё написал я сам, думаю, надо как раз всю программу и перелопатить. Но в этом случае встанет вопрос, а не легче ли тогда уж самому всё с нуля написать.
Ну, а написать с нуля никто не мешает (в нормальных странах без кривых патентов).
А мне кажется, что все приличные и значимые идеи имеются в книжках, и необязательно воровать, да ещё и перелопачивать чей-то код.
В книжках базовые идеи и теория.
В коде - идеи по применению на практике.