Яйцо кукушки. История разоблачения легендарного хакера. Клиффорд Столл
между компьютерами. К концу 70-х годов другие фирмы тоже захотели погреть руки и предложили специализированный вид услуг – «телефон» для данных. Тимнет создал сеть, связывающую компьютеры главных городов. Идея Тимнета проста и элегантна: создать «хребет» для передачи цифровой информации, позволить любому желающему подключаться к этому хребту, используя внутригородские телефонные каналы, и затем передавать данные в любой компьютер. Система Тимнета весьма экономична: она обеспечивает сжатие данных, поступающих от нескольких десятков пользователей, в несколько пакетов и передачу этих пакетов в нужные компьютеры. Система устойчива к помехам и обеспечивает любое нужное быстродействие. Клиенты, кроме того, экономят свои денежки, поскольку для них обеспечивается доступ в удаленный компьютер с помощью телефонного звонка.
Чтобы удовлетворить потребности научных работников из различных уголков страны, лаборатория в Беркли также была абонентом Тимнета. Когда ученому из Стоунибрука, штат Нью-Йорк, надо подключиться к нашему компьютеру, то он просто набирает городской номер Тимнета. Поскольку его модем связан с Тимнетом, то все, что требуется – попросить подсоединить его к Лоуренсовской лаборатории в Беркли, – и можно начинать работать, как у нас за терминалом. Физикам из отдаленных уголков очень нравился этот вид услуг, и нам всегда было очень приятно сознавать, что что они спускают свои баксы на наш компьютер, а не на какой-нибудь другой.
Некто вламывался, используя Тимнетовский канал. Поскольку «щупальца» Тимнета тянулись по всей стране, то наш хакер мог находиться где угодно. Но в этот момент меня интересовало не где он, а что успел натворить за три часа. Моя догадка подтвердилась: для взламывания нашего компьютера использовались атрибуты доступа Свентека.
Это был не простой взлом. Хакер был суперпользователем.
Этот хакер напоминал кукушку. Кукушка откладывает свои яйца в гнезда других птиц. Это – гнездовой паразит: ее кукушат будут растить другие матери. Кукушата, вылупившись из яиц, выбрасывают из гнезд «родных» обитателей. Жизнь птенцов кукушки – это смерть птенцов других видов. Таинственный гость подложил в наш компьютер яйцо-программу, а система «высидела» ее и накормила привилегиями.
Этим утром хакер написал коротенькую программу захвата привилегированных прав. Обычно ЮНИКС не позволяет запускать такие программы, так как никогда не дает пользователю прав выше тех, которые ему назначены. Задача заключалась в том, чтобы замаскировать эту программу – кукушкино яйцо – так, чтобы система ее восприняла как родное дитя.
Каждые пять минут система ЮНИКС выполняет собственную программу с именем atrun. Atrun планирует другие задания и выполняет рутинную работу по «уборке дома». Она работает в привилегированном режиме на всю катушку, чувствуя за своей спиной могучую поддержку операционной системы. Если на место atrun подставить фальшивую программу, то она сработает через пять минут и получит полные системные привилегии. По этой причине