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

19 октября 2008 года

Armijn Hemel из компании Loohuis Consulting представил 26 страничное руководство "The GPL Compliance Engineering Guide" (PDF, 500Кб), в котором обобщил опыт участников ресурса gpl-violations.org по обнаружению GPL кода в бинарных прошивках различных аппаратных устройств.

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

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

Второй шаг - анализ бинарной прошивки и выявление наличия сигнатур, свойственных определенным открытым программам. Для выявления использования GPL-лицензированных загрузчиков производится оценка особенностей загрузки устройства. Оценив применяемые способы сжатия образа загружаемого ядра, можно выявить применение gzip, bzip2, LZMA и 7z. Далее можно определить тип файловой системы (часто используют squashfs, ext2fs, cramfs, romfs, jffs2) и примонтировать ее для исследования содержимого.

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

В случае проблем с получением прошивки, анализ производится через физический доступ к устройству через последовательный порт или JTAG-интерфейс, выводы для которых присутствуют на плате.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Обнаружение фактов нарушения лицензии GPL в аппаратных устройствах», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.