Журнал Системный Администратор, Октябрь 2005

Журнал Системный Администратор

Октябрь 2005

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


Linux/BSD как бастион на пути вирусов

Крис Касперски

Количество дыр, обнаруженных в Windows, уже давно перешагнуло через все мыслимые границы и неуклонно продолжает расти. Выходить в Интернет стало небезопасно. Дальше так жить нельзя – надо защищаться. Для этого организуем защитный бастион, основанный на Linux/BSD, и пригодный как для офиса, так и для домашнего использования.

Почему Windows NT небезопасна? Почему в ней обнаруживаются все новые и новые дыры? Вопрос абстрактный, но мы все-таки постараемся дать на него ответ. Начнем с того, что умных людей в Microsoft осталась не так уж и много, налицо явная текучка кадров. Опытные специалисты покидают «империю зла» и уходят в другие компании. Достаточно вспомнить памятный скандал с менеджером, в которого Стив Балмер зашвырнул креслом (от такого руководителя я бы и сам ушел) – http://www.cnews.ru/news/line/index.shtml?2005/09/06/186136 и http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html – последний источник рассказывает о переменах, происходящих внутри Microsoft, и деградации операционной системы.

Падение культуры программирования легко проследить с помощью дизассемблера. Если MS-DOS 6.x еще содержала огромное количество ассемблерного кода, а Windows 95 представляет собой настоящий шедевр оптимизации (без всякой иронии!), запрограммированный на смеси ассемблера с чистым Си, то в Windows 98 уже доминирует Си++, «мастера» и прочие автоматические кодогенераторы, заменившие живой ум. Windows NT 4.x (которая, как известно, создавалась приблизительно в то же самое время, что и Windows 95, только другим коллективом программистов) – это блестяще оптимизированная, хотя и слишком навороченная система, запрограммированная руками и головой, но в Windows 2000 и тем более XP уже доминирует Си++ и «мастера». Программисты старого поколения так не поступают! Вывод – все это писали новички, со всеми вытекающими отсюда последствиями. В дизассемблере код выглядит просто ужасно. Поражает даже не тяжеловесность, а… «рассосредоточенность» кода, тонким слоем размазанного по куче функций. В частности, никакой единой функции переключения контекста в Windows NT нет! SwitchContext – это только малая часть, весь остальной код размазан по всему ядру, регистры многократно сохраняются/восстанавливаются в разных местах, делается куча проверок на допустимость их значений и т. д. Сетевые компоненты выглядят еще хуже.

К тому же Windows очень стремительно развивается и содержит массу избыточного, никому не нужного кода, который не так-то просто удалить из системы или хотя бы просто отключить. Причем развитие идет по принципу «не трогаем того, что написали, а набрасываем сверху еще и еще». Как следствие, количество связей между отдельными компонентами системы лавинообразно нарастает, а времени на тестирование нет, и продукт выбрасывается на рынок таким как есть. Кража исходных текстов Windows 2000 только подлила масла в огонь. Они есть практически у каждого хакера, но отсутствуют у легальных специалистов по безопасности, а это, значит, что игра идет в одни ворота. Хакеры ищут дыры, а специалисты вынуждены лишь признавать их постфактум.

Вместо того чтобы вылизывать систему и работать над ее улучшением, Microsoft несется вперед, предлагая новые революционные решения, которые даже она при своих миллиардных доходах просто физически не в состоянии отладить. Так что количество дыр в последующих версиях Windows сокращаться не собирается, и хакерство будет только процветать. Как в этих условиях хранить и обрабатывать конфиденциальные данные, не говоря уже про «электронные кошельки», кража которых в последнее время принимает массовый характер?

Служба поддержки Microsoft отвечает – регулярно устанавливайте на компьютер свежие заплатки, которые и так устанавливаются службой Windows Update. Предложение, конечно, заманчивое, но… заплатки выпускаются не мгновенно и только для уже известных дыр. Для домашнего компьютера такая степень защищенности вполне подходит, да и то… Только представьте, сколько электронных денег сможет утащить хакер, если он напишет вирус прежде чем будет выпущен «патч»? А для фирмы захват сервера вообще может стать фатальным. Причем заплатки выпускаются не бесконечно, а только в течение так называемого «жизненного цикла продукта», определяемого самой Microsoft. В практическом плане это означает, что даже если старая операционная система полностью удовлетворяет нашим скромным потребностям, ее все равно придется менять, попутно обновляя «железо», что выливается в солидные расходы и вызывает множество проблем от необходимости обучения персонала до «старые программы не запускаются».

Про то, что заплатки занимают огромный объем и для их перекачки необходимо иметь по меньшей мере DSL-модем, мы промолчим. К тому же реально воспользоваться Windows Update все равно не удастся. Задумайтесь, что произойдет, если операционная система упадет? Ведь после установки с дистрибутивного диска выходить в Интернет и качать заплатки ни в коем случае нельзя, ведь в эти минуты наш узел совершенно беззащитен перед хакерами, а вероятность атаки не так уж и мала, особенно если вспомнить про червей, которые стучатся во все компьютеры подряд. Теоретически можно скачать заплатки в виде отдельных файлов, сохранив их на любом носителе, но… тогда придется разбираться в них самостоятельно, а это не так-то просто, поскольку заплатки содержат зависимости и абы как не встают или встают, но не работают.

Исчезает самое главное преимущество Windows – простота управления. Воздвигнуть NT-сервер и оставить его без присмотра сегодня уже не получится. Если только не нанять администратора, разбирающегося в безопасности, с высокой степенью вероятности сервер будет взломан. Тоже самое относится и к домашним машинам. Вирусы так и прут! Они создают излишний трафик, воруют пароли и другую секретную информацию или просто нарушают нормальную работу операционной системы, вызывая сбои и зависания, убытки от которых зачастую весьма значительны. Давайте посмотрим, что в этой ситуации можно предпринять…

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке
oread