Техника промышленного шпионажа Крис Касперски ака мыщъх Хакер, номер #092, стр. 092-058-3 Конечно, люди встречаются самые разные. Есть среди них и щедрые, и скупые, и просто козлы, из которых ни грамма полезной информации не выдавишь. Но найти демократично настроенного человека, увлеченного своим делом и ставящего дружбу превыше интересов компании, — нетрудно. Конечно, наивно надеяться, что кто-то запросто так может передать полный комплект исходных текстов (документации, принципиальных схем), хотя бы уже потому, что существует такое понятие, как разграничение доступа, и каждый работает только с теми частями проекта, в которые его «посвятили». Иначе наступит полный бардак, и любой обиженный сотрудник сможет завалить всю компанию. Арабы в таких случаях говорят: «Хочешь пробраться к сановнику — сдружись с привратником». За неимением привратника сойдет и системный администратор. Случай из личной жизни. Потребовалось мне как-то раздобыть документацию на одно оборудование, которая отдавалась только под NDA и только компаниям-членам. Ну быть членом в мои планы не входило, поэтому пришлось ограничиться перепиской с системным администратором, на которого я вышел через других сотрудников компании — с ними познакомился через публичные адреса, висящие на сайте. Администратор (как и положено) был неразговорчив и мрачен, как облака, предвещающие шквал (см. «Предсказание погоды по местным признакам», выложенную на моем ftp). Дело было совсем не в неразделенной любви, а в регулярно падающей NT. Как известно, в последних Service Pack был ужесточен контроль за ошибками, и освобождение уже освобожденной памяти, ранее сходившее драйверам с рук, теперь стало вызывать выпадения в BSOD. И ведь для нашего же с вами блага! Microsoft посчитала, что лучше остановить систему, чем позволить драйверу химичить с памятью! Вся проблема в том, что этот драйвер управлял сложным аппаратным комплексом, срок технической поддержки на который уже давно истек, и все, что мог предложить его поставщик, — это купить новый аппаратный комплекс вместе с новой версией драйвера. Стоимость последнего была весьма немалой, к тому же он был несовместим с некоторым используемым оборудованием. Отказ от установки Service Pack'а решал проблему BSOD, но оставлял не заткнутыми многие дыры, для которых «индивидуальных» заплаток не существовало, точнее, эти заплатки влекли за собой зависимости, приводящие к смене ядра ОС и установке обновленной версии с ужесточенным контролем. Служба поддержки Microsoft только пожимала плечами — мол, кого волнуют чужие проблемы, — и перекладывала всю ответственность на разработчиков драйвера, вина которых была очевидной и неоспоримой, но это не было решением проблемы. Голубые экраны смерти продолжались, компания терпела убытки, администратор получал шишки и... тут на сцене появился я :). Для меня, как для хакера, решение было очевидным. Дизассемблировать ядро, найти то место, где производится проверка освобождения уже освобожденной памяти (а найти его очень просто — по перекрестным ссылкам к функции KeBugChekEx, вызываемой с соответствующим STOP-кодом), и слегка пропатчить ядро, предварительно отключив защиту от записи, путем сброса бита WriteProtect в регистр CR0. Я просто предложил несчастному администратору переслать по почте его NTKRNLOS.EXE и буквально через несколько минут выслал «исправленный» вариант. И нет! Никакой заразы, никакого малваре, похищающего пароли, я туда не вписал. Вместо этого просто попросил свести с людьми, которые могли бы помочь с документацией. Вот и все! |