Недавно некоторые заметили странное изменение в исходном коде ядра Linux, для при просмотре кода ядра на GitHub Они заметили, что изменения, внесенные третьими сторонами (теми, кто клонировал или форкнул это), странным образом появлялись в основном репозитории.
Это привлекло внимание некоторых пользователей интерфейса GitHub, поскольку была обнаружена интересная функция. что позволяет вам представить любые сторонние изменения как изменения, уже включенные в основной проект.
Например, сегодня в соцсетях начала распространяться отсылка к смене официального зеркала основного репозитория ядра Linux, указывающая на замену черного хода в драйвере HID-Samsung.
Причуда GitHub встревожила разработчиков ядра
Столкнувшись с этим конфликтом некоторые начали проверять код ядра особенно в драйвере Самсунг в дополнение к попытке проверить, не была ли нарушена безопасность ядра.
Анализ ситуации показал, что GitHub, чтобы оптимизировать хранение и минимизировать дублирование данных на своих серверах, хранит все объекты из основного репозитория. и связанные с ним форки, логически разделяющие право собственности на коммиты.
после чего Это хранилище позволяет любому, кто просматривает код, видеть любое подтверждение от любой вилки в любом связанном репозитории, явно указывая его хэш в URL-адресе.
Например, в случае демонстрации бэкдора один из пользователей создал форк основного репозитория ядра Linux в интерфейсе GitHub, а затем добавил в свой форк коммит с кодом, похожим на бэкдор.
После этого формируется ссылка, по которой SHA1-идентификатор внешнего изменения подставляется в URL-адрес основного репозитория.
При открытии аналогичной ссылки в интерфейсе GitHub в контексте основного репозитория отображается внешняя фиксация, даже если она была сделана на вилке и не имеет ничего общего с основным репозиторием и в нем нет такой фиксации.
Кроме того, В интерфейсе GitHub при просмотре журнала изменений для отдельных файлов в основном репозитории также отображаются сторонние коммиты, что создает большую путаницу.
Это встревожило некоторых, потому что они подумали, что это был взлом и что они внедрили вредоносный код в исходный код ядра Linux.
Что ж, как мы можем видеть на изображении невооруженным глазом, может показаться, что вставленный код является частью того, что хранится в основном репозитории ядра Linux.
И что сначала он не делает ссылок на внешние репозитории, в которых были сделаны изменения.
Все это было ложной тревогой
Эта «ошибка» (так сказать) обеспокоила многих, потому что в тот момент они не знали, подвергались ли они уже риску или была ли нарушена целостность ядра.
Я провожу мало времени чтобы они понимали, что при извлечении данных или клонировании репозитория с помощью команд git сторонние изменения в итоговом репозитории отсутствовали.
GitHub просто кратко представил изменения, хотя на самом деле это не так.
Момент об этом больше ничего не известно, и если люди из Github (Microsoft) имеют в виду дать решение этой проблемы, который не влияет напрямую на разработку, не говоря уже о получении исходного кода ядра.
Но что, если это может сбить с толку многих, кто решил просмотреть некоторые части проектов, которые хранятся на Github.
Что ж, это не то, что показано непосредственно в коде ядра Linux, но это также будет показано в форках или форках других проектов.
Так что вполне возможно, что многие разработчики или пользователи этой платформы уже разослали письма людям с GitHub.
Если вы хотите узнать немного больше по этой темеВы можете посетить следующая ссылка где все еще отображается код, сформировавший эту ситуацию, а также комментарии к нему об этом здесь.