Теоретически разработчиков Linux, как и вообще любого свободного продукта, должно быть весьма сложно склонить к сотрудничеству со спецслужбами. Во-первых, исходные тексты открыты, так что закладка не продержится долго. Во-вторых, open source-коллективы, как правило, интернациональны, то есть составлены не только из американских или английских граждан. И подкатить к тому же Линусу, намекая, что отказ будет расцениваться как измена родине, не получится: коллеги, которым нет дела до желаний и методов АНБ, обязательно спросят, откуда взялся данный код и для чего нужен.
Если Линуса «достали», он не будет молчать. Он не CEO публичной корпорации, и терять ему в общем нечего. Но если уж он и пожелал (на днях) разработчикам ARM… э-э… цитирую, «сдохнуть в каком-нибудь особенно болезненном инциденте», можете быть уверены: этому предшествовали годы вежливой переписки и десятки, а может быть, и сотни случаев, когда одна сторона наплевала на интересы другой.
Но это, естественно, не избавляет Линуса от столкновений с конспирологами-параноиками, которые видят угрозу везде и во всём. Представить, насколько «приятными» бывают такие встречи, можно по совсем ещё свежему инциденту, закрутившемуся вокруг одной из внутренних функций линуксового ядра (далее, по традиции, просто Ядро). Если коротко, в Linux имеется функция RDRAND, которая используется для генерации случайных чисел. И есть некоторые сомнения насчёт качества её работы: если допустить, что в микрокод процессора силами АНБ и Intel вшит «троян», то вместо случайных чисел RDRAND может выдать неслучайную последовательность. Так что несколько ребят мечтают удалить RDRAND, но, отчаявшись найти понимание среди линуксоидов, написали открытое письмо Торвальдсу. И получили фирменный торвальдсовский ответ: пойдите подучите матчасть (драйвера и криптографию), а потом возвращайтесь и признайте, что гнали волну напрасно! Там же Линус пояснил, что RDRAND используется лишь совместно с другими источниками случайных чисел, почему и не ухудшит криптостойкости Ядра, даже если действительно скомпрометирован.
Соглашаться с Линусом или нет — личное дело каждого; у несогласных всегда есть право на форк. Вот только так уж всегда получается, что диссиденты возвращаются в родное лоно. Посмотрите хотя бы на Android: после некоторого периода разногласий, вызванных сепаратистскими настроения в Google, она снова идёт курсом на сближение, и через год–другой андроидовские исходники будут полностью включены в линуксовое ядро. В том числе и поэтому Linux продолжает расти — и конца-края росту не предвидится!
Android, захватившая мобильный рынок и продолжающая расширяться, играет теперь в популяризации Linux одну из важнейших ролей: да, пользователи Android-смартфонов, планшеток, всевозможных прочих устройств не подозревают, что фактически пользуют Linux, — но разработчики, создающие эти устройства, прекрасно понимают, на что опираются, и тем активней дорабатывают Ядро. Примерно та же история и с Chrome OS — единственным светлым пятном в унылом мире PC (см. «Chrome против всех»). Наконец, большинство сетян пользуются «Линуксом» ежедневно, даже если этого не замечают, не планируют или не хотят: инфраструктура практически любого гигантского интернет-проекта, от Google и Twitter до Facebook, сегодня основана на свободной ОС.
Как хорошо сказал Джим Землин, исполнительный директор The Linux Foundation (некоммерческий промышленный консорциум, фактически оплачивающий работу Торвальдса и основные инициативы для популяризации Linux), никто и ничего сегодня не делает без Linux, за редким исключением в лице Microsoft, Apple и BlackBerry. На этой неделе Linux Foundation опубликовала очередной ежегодный отчёт о состоянии Ядра — и цифры там впечатляющие по любым меркам. В разработке Ядра теперь принимают участие больше энтузиастов и компаний, чем когда бы то ни было. Только с 2005 года патчами отметились около 10 тысяч девелоперов и теперь Linux не просто один из самых крупных (17 миллионов строк кода), но и, вероятно, наиболее активно развивающийся софтверный проект всех времён и народов: ежечасно в Ядро вносится почти десяток исправлений, а каждые два месяца они отливаются в новую версию.
Быт Линуса настолько далёк от компьютеров, насколько это только возможно (он, к примеру, горячо увлечён дайвингом). Но вместе с тем он никогда не скрывал и не скрывает своей компьютерной (даже больше того — линуксоидной) зависимости. «Я не вижу другого проекта, который для меня по интересу хотя бы приблизился к Linux. Не могу представить, чем заполнил бы дыру в своей жизни без него».
Линус, кстати, давно уже не самый активный участник этого процесса. По количеству вносимых патчей он теперь занимает почётное 101-е место и больше управляет людьми, недели занимается кодом («перекинулся на тёмную сторону», по собственному выражению). Если же говорить о тех, чья доля заметно выросла, это будут представители компаний, занятых мобильными и встраиваемыми продуктами. В любом случае активность и численность разработчиков так велики, что наблюдатели, когда-то пытавшиеся предсказать конец этому безумному пиршеству коллективного разума, сейчас только с улыбкой чешут затылки: статистика уже беспрецедентна, такого никто ещё не видел, но и остановки не предвидится. Linux оказалась нужна всем, и люди, стоящие сейчас у Ядра, не желают назначать целей: им интересней смотреть за естественным движением проекта, помогать ему развиваться по мере рождения у пользователей новых потребностей.
Нетерпеливый читатель, вероятно, поморщился: «Хорош уже философствовать!» Но хотим мы того или нет, от философии линуксоидам теперь никуда не деться: такой уж период настал! Посмотрите на Гейба Ньюэлла — одного из самых желанных гостей LinuxCon’а, успешного и в высшей степени оригинального предпринимателя (это он основал и «руководит» Valve Software) и в то же время, пожалуй, самого большого философа open source последних лет. Гейб помешан на играх и считает, что Linux — будущее электронных развлечений. В его представлении, за последние годы игровая экономика преобразилась беспрецедентно, показав выгоды открытых (очевидно, он имеет в виду свободных) систем. Пользователи нынче генерируют больше контента, чем сами создатели игр, — и логичней предоставить им свободу, нежели пытаться их контролировать. Проще говоря, проприетарные классические гейм-консоли и современные закрытые экосистемы вроде iOS обеспечить требуемого не смогут. Смотреть нужно в направлении свободных продуктов: мне вспомнилась Ouya, а Ньюэлл, возможно, имеет в виду SteamBox (полумифическую собственную игровую Linux-консоль Valve Software, показать которую могут уже на следующей неделе).
Что до Линуса, то он, даже перевалив за сорок и вырастив трёх дочерей, остаётся в общем тем же любопытным подростком, каким был двадцать лет назад. Он удивляется, когда без объявления войны приказывает долго жить SSD на его ноутбуке. И беспокоится о дне, когда закон Мура перестанет работать: физический предел миниатюризации для полупроводников, в его понимании, уже маячит на горизонте, а ответа, куда двинется компьютерная индустрия после этого, нет пока ни у кого. Ему приятно констатировать постоянно эволюционирующий характер пользования Linux: сегодня, по словам Торвальдса, системой пользуются совсем не так, как ещё десять лет назад, не говоря о более ранних периодах. И хоть Ядро разрослось и усложнилось невообразимо, Линус считает, что в проекте по-прежнему найдётся место для всех желающих. Лучше того: влиться в разработку Ядра проще, чем в любой другой свободный проект, потому что сделано многое — но несравнимо больше ещё сделать предстоит!
К оглавлению
Аппаратные трояны для процессоров Intel — первая практическая реализация
Андрей Васильков
Опубликовано 19 сентября 2013
Восемь лет назад Министерство обороны США публично выразило обеспокоенность тем, что при достаточном техническом уровне противника существует опасность выполнения им скрытой модификации любого чипа. Изменённый чип станет работать в критических узлах, а внедрённый «троянский конь» или «аппаратная закладка» будут оставаться незамеченными, подрывая обороноспособность страны на самом фундаментальном уровне. Долгое время такая угроза оставалась гипотетической, однако международная группа исследователей недавно смогла реализовать её на физическом уровне.
Георг Беккер (Georg T. Becker) из университета штата Массачусетс вместе с коллегами из Швейцарии и Германии в рамках доказательства концепции создал две версии «трояна аппаратного уровня», нарушающего работу генератора (псевдо)случайных чисел (ГПСЧ) в криптографическом блоке процессоров Intel архитектуры Ivy Bridge. Создаваемые с помощью изменённого ГПСЧ криптографические ключи для любой системы шифрования окажутся легко предсказуемыми.