Эта статья была написана после бесед с Самуэлем Джебамани (Samuel Jebamani) —
ведущим разработчиком антивирусной компании K7 Computing (малоизвестной в
России, но захватившей четверть японского рынка). Обсуждая тенденции развития
операционных систем и анализируя источники возможных угроз, мы пришли к
любопытным, хотя и противоречивым выводам. Думаю, они наверняка будут интересны
широкой аудитории читателей, дело которых так или иначе связан с компьютерной
безопасностью.

 

Листая компьютерные журналы и просматривая периодику, складывается устойчивое
впечатление, что ситуацию с безопасностью иначе как критической не назовешь.
Сеть буквально кишит злобными хакерами, вездесущими вирусами (которых не берут
антивирусы), мутирующими червями, проходящими сквозь межсетевые экраны словно
нож через масло. Критические дыры в программном обеспечении обнаруживаются
каждый день, а заплатки отсутствуют месяцами… Без оборонительных комплексов
(приобретаемых за отдельные деньги) и высококвалифицированных специалистов,
лучше сразу сворачивать свой бизнес и ложиться на рельсы, в ожидании поезда,
который все равно не придет, поскольку хакеры подломали центральный компьютер
управления железнодорожными сообщениями, а сегодня-завтра захватят спутники,
атомные электростанции, и мир (как виртуальный, так и физический) рухнет в один
момент.

Ну, пресса вообще склонна все преувеличивать. Типичная ситуация: по TV
передают о жутком землетрясении, разрушившем чуть ли не половину Таиланда вместе
с примыкающими к нему странами. Взволнованный, звоню своим приятелям. «О да! —
смеются они. — Землетрясение было столь крупным, что совсем незаметным, и если
бы не ваше (в смысле, российское) TV, они бы (тайцы) о нем так бы и не узнали».

Прогнозы, предвещающие конец Интернета, появляются все чаще и чаще, причем их
распространяют не только журналисты, падкие на сенсации, но и вполне
респектабельные руководители антивирусных компаний. Это просто маркетинговая
политика у них такая. Надо же как-то продавать свой товар…

С другой стороны, найти пользователя, никогда не сталкивавшегося с вирусами,
довольно проблематично, особенно если мы говорим о Windows-подобных системах,
количество вирусов под которые возросло настолько, что уже не поддается никакому
учету и контролю. Новые штаммы появляются с такой скоростью, что сотрудники
антивирусных компаний просто физически не успевают их анализировать, что
неизбежно влечет за собой лавинообразный рост ложных срабатываний — антивирусы
пропускают вирусы или ругаются на честные программы, нервируя пользователей и
ломая бизнес ее разработчикам.

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

Очень трудно говорить о безопасности, оставаясь полностью беспристрастным.
Тут у каждого эксперта свое мнение, подкрепленное мощной доказательной базой с
кучей цифр и графиков. Вот только никакой корреляции между ними не наблюдается.
Одни фирмы утверждают, что потрясения, случившиеся на стыке XX и XXI веков
больше не повторятся: основные дыры уже заткнуты и хакерские атаки теперь носят
лишь потенциальный характер (косвенно подтверждаемый отсутствием масштабных
эпидемий за последние несколько лет). Другие же демонстрируют примеры боевого
кода, с легкостью пробивающего новомодные защитные механизмы, и говорят, что
от очередной эпидемии нас удерживает лишь отсутствие злобных хакеров
,
сочетающих агрессивность с профессионализмом в нужных пропорциях.

То есть глобальные эпидемии более не вспыхивают отнюдь не потому, что в
«Багдаде все спокойно», а просто никто из хакеров не заинтересовался очередной
обнаруженной дырой настолько, чтобы бросить все текущие дела и засесть за
написание вируса, рискуя своей свободой, карьерой… Спецслужбы всех стран активно
борются с компьютерными вандалами, и прецеденты тюремных заключений (не говоря
уже об астрономических штрафах) уже имеются, что служит своеобразным
сдерживающим фактором, намного сильнее отпугивающих хакеров от вирусов, чем
широко разрекламированные, но в действительности легко вскрываемые защитные
механизмы. Или все-таки нет?!

Словом, тут есть о чем поговорить. Статья носит ярко выраженный
спорно-провокационный характер, но она и задумывалась такой!

 

XXI век — расцвет средневековья?

Прежде чем рассуждать, куда катится мир и что нас ждет, необходимо ответить
на один простой вопрос: действительно ли операционные системы небезопасны или
все мы стали жертвой массированной пропаганды? В средние века верили в ведьм и
не просто верили, но и писали на эту тему многочисленные трактаты
(подтвержденные, естественно, богатым фактическим материалом). В конце XX века
все верили в НЛО и барабашек. Правда, как только фотоаппараты с автоматической
фокусировкой получили массовое распространение и стало очень трудно получить
смазанный кадр, охотники на НЛО свернули свои «исследования» и постепенно
страсти улеглись.

Теперь мы можем с уверенностью сказать, что оборотней не бывает, а если бы
внеземные цивилизации существовали, то их космические корабли давно бы бороздили
наше космическое пространство (см. Google.com, «Парадокс молчания Шкловского»).
Поразительно, что даже теперь, после серии убийственных разоблачений, находятся
люди, верующие во всю эту чушь.

С (не)безопасностью наблюдается приблизительно та же самая картина. Что-то
вроде массового помрачения сознания на почве страха перед неизвестным. Мало кто
из пользователей (и даже администраторов) отчетливо представляет себе, как
реально функционируют черви и вирусы, и еще меньше количество народу
дизассемблировало их код, досконально разобравшись в алгоритмах вторжения и
многочисленных ограничениях, налагаемых «окружающей средой». Написать
жизнеспособный вирус очень трудно
, и потому большинство вирусов представляют
собой всего лишь запись в антивирусной базе.

Интернет – это не среда обитания малвари, это кладбище червей, вирусов и
прочей заразы, зачастую гибнущей еще на начальной фазе размножения. Это кладбище
идей и алгоритмов, не работающих в новом окружении (новые версии операционных
систем, новые схемы распространения программного обеспечения).

Наконец, мир не ограничивается одной лишь продукцией компании Microsoft. На
главной странице официального сервера разработчиков операционной системы OpenBSD
красуется надпись «две критические удаленные дыры более чем за десять лет
промышленной эксплуатации». Сравните это с сотнями критических дыр NT-подобных
систем и сделайте соответствующие оргвыводы. И хотя считается, что xBSD пригодна
только для серверного рынка, а на рабочих станциях без Microsoft не обойтись, –
это откровенная вражеская пропаганда.

Apple Mac OS X основана на BSD, поверх которой «натянут» красивый, удобный,
хорошо продуманный и интуитивно понятный пользовательский интерфейс, намного
более дружественный к пользователю, чем Windows. К тому же все крупные
программные пакеты (такие как Microsoft Office, Adobe Photoshop) портированы под
Mac, успешно работающий в бизнес-сфере, пускай и удерживающий существенно
меньший процент рынка, чем Microsoft, агрессивность маркетинговой политики
которой всем хорошо известна и которая прилагает массу усилий, чтобы показать,
что небезопасность компьютерных систем — явление повсеместное и что у
конкурентов дела обстоят ничуть не лучше, а даже хуже.

Очередная ложь! Как известно, подавляющее большинство червей распространяются
через вложения электронной почты, прилепляя к письму исполняемый файл. В 9x- и
NT-подобных системах право на чтение файла равносильно праву на его запуск и
потому даже пользователь с максимально ограниченными правами может запускать
вновь создаваемые файлы, что, очевидно, является гигантской дырой в подсистеме
безопасности.

В UNIX-подобных системах исповедуется другой подход. Тип файла определяется
не по расширению (которое может быть любым), а по атрибуту, причем рядовые
пользователи могут только запускать файлы, но присвоить вновь созданному файлу
атрибут исполняемого — таких прав у них просто нет! И хотя эта система содержит
ряд дефектов (например, можно передать файл ассоциированному с ним языку
программирования), атаки почтовых клиентов под UNIX носят чисто лабораторный
характер, не находящий широкого практического применения.

 

Свобода в обмен на безопасность

«Те, кто готов поступиться свободой во имя безопасности, не заслуживают ни
свободы, ни безопасности» — сказал Бенджамин Франклин (американский политический
деятель XVIII века, один из отцов-основателей США). Microsoft, похоже,
придерживается диаметрально противоположного мнения, явно и неявно давая нам
понять, что свобода и безопасность — вещи взаимоисключающие.

По какому пути идет развитие Windows? Пользователям предоставляется все
меньше и меньше свободы, и даже администратор здесь уже не бог, а так, мальчик
на побегушках. В x86–64-редакциях NT-подобных систем он даже не может загрузить
драйвер, без соответствующий цифровой подписи! Microsoft планомерно лишает его
рычагов управления системой, грубо говоря, превращая Windows в реактивный
истребитель с автопилотом
, с минимальными функциями ручного управления, что
вплотную приближает администратора к простым пользователям.

Возникает резонный вопрос: а зачем же тогда нужен администратор, если система
считает, что может позаботиться о себе сама? Ответ: а он и не нужен. Ну
разве что тонер в принтере поменять. Microsoft упорно пытается построить мир, в
котором человеческий разум заменен машинным и должность администратора сведена
до фиктивной. С точки зрения бизнес-пользователей – это действительно очень
завлекательная схема. Сколько бы ни стоила лицензия на Windows, зарплата
квалифицированного администратора — это намного более существенная статья
расходов, особенно если в организации больше сотни компьютеров и соответственно
один администратор с ними ни за что не справится.

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

Задумаемся, почему американцы смогли успешно слетать на Луну еще в
докомпьютерную эпоху и запустили кучу автоматических межпланетных станций, а в
последние годы космическую отрасль постигла череда сплошных неудач. Космические
роботы в лучшем случае выполняют 10–15% от поставленной задачи, а чаще
отказывают еще до передачи первых снимков.

Парадокс? Плохая карма или цепь досадных случайностей? Вовсе нет.
Разработчики забыли о главном принципе всех машин и механизмов: simplicity
,
в узких кругах известный как KISS-принцип (Keep It Simple Stupid/Silly).
Космические аппараты первых поколений были простыми до безобразия, они держались
буквально на честном слове, но… успешно летали! Что же касается покорения Луны,
то в ходе операции «Аполлон» постоянно возникало огромное количество проблем,
большинство из которых космонавты решали, не задумываясь и даже не считая это
проблемой. А вот если марсианский зонд не может съехать с посадочного модуля или
забыл развернуть солнечную батарею в нужном направлении для подзарядки батарей —
это конец.

Но оставим космос и вернемся к операционным системам. UNIX содержит совсем
немного (чуть больше сотни) системных вызовов (из которых активно используется
лишь пара десятков), и эти вызовы принимают считанное количество параметров. А
потому UNIX-программисты могут удержать все необходимые им знания в голове.
Windows – насчитывает десятки тысяч (!) API-функций, принимающих десятки
параметров, вынуждая программистов постоянно иметь справочник под рукой. Никто
не в состоянии удержать в голове все (или хотя бы основные) API-функции Windows,
не говоря уже об особенностях их поведения. Отсюда ошибки проектирования,
дефекты систем безопасности и прочие неприятные вещи.

К сожалению, Linux/BSD перенимает худшие черты Windows, двигаясь тем
же порочным путем. Программисты работают над созданием всевозможных «мастеров»,
систем автоматического распознавания и подключения новых устройств и т. д.,
короче говоря, пытаются научить систему тому, что с легкостью делает любой
администратор, превращая компьютер в подобие тостера с парой кнопок. Все
остальное хозяйство скрыто под капотом. Никаких рычагов управления. Никто, даже
администратор не может толком сказать, что сейчас происходит в системе, потому
что система заботится о себе сама.

Настоящий рай для вирусов и червей. Доверие это прекрасно, но только не
тогда, когда речь идет о доверии к автоматике. Машинный интеллект (ну или его
имитация) мыслит шаблонно, он не способен к подозрительности, лишен интуиции, а
потому обмануть его проще просто. Взять хотя бы эвристические механизмы, в
создание которых вкладываются огромные усилия и деньги. Проводятся серьезные
научные исследования… вот только вся эта эвристика элементарно обходится даже
начинающими хакерами, и реально она вылавливает лишь «пионерские» вирусы. Какое
огромное достижение!

Или вот персональные брандмауэры. Вещь вроде бы хорошая, но… в попытке
подружить их с пользователями разработчики превзошли все границы здравого
смысла. Сообщения в стиле: «угроза! уровень опасности — низкий. Событие:
изменение контрольной суммы исполняемого файла. Рекомендации: рекомендуется
разрешить данное действие». Вы что-нибудь поняли?! Лично я (квалифицированный
программист) — только ушами повел. А как должна поступать, например, моя пассия?
Неудивительно, что рядовые пользователи на все запросы антивируса/брандмауэра
автоматически отвечают «yes», даже не читая, что там написано — все равно это не
поможет разобраться в ситуации.

Интересно — какого ответа ожидает брандмауэр на такой вопрос? Быть может,
программа изменилась, потому что скачала из сети обновление или в нее внедрился
вирус? Для принятия решения, необходима дополнительная информация, а если ее
нет, остается отвечать наугад независимо от своей квалификации. Разработчики
защитных систем считают, что выхода нет, но они заблуждаются, не желая
посмотреть по сторонам.

Лучше бы они брали пример с производителей фотокамер, традиционно имеющих три
режима: полный автомат, при котором камера принимает все решения самостоятельно,
не обращаясь за помощью к фотографу, поскольку те, кто пользуются таким режимом,
навряд ли смогут ответить что-то вразумительное. Так зачем их отвлекать
раздражающими вопросами? Методом тыка автоматика может решить все проблемы и
сама. В результате мы получаем кошмарные снимки, на которые без содрогания
смотреть невозможно, но… каков фотограф, таков и снимок.

Полуавтоматический режим предполагает, что владелец камеры уже прочитал
несколько книжек и способен помочь автоматике избежать грубых просчетов и
ошибок, а потому ему предоставляется определенная творческая свобода и рычаги
для управления. Камера работает так же, как и в полностью автоматическом режиме,
но теперь конечное решение остается не за автоматикой, а за фотографом.

Ручной режим предназначен для тех, кто в совершенстве овладел аппаратом и
четко знает, чего он хочет. Все решения принимает фотограф. Автоматика может
лишь неназойливо указывать ему, что экспозиция (например) нереально завышена, но
откуда же автоматике знать, почему она завышена? Может, это творческий замысел
такой, чтобы получить портрет в стиле голливудского high key, а вовсе не пьяный
фотограф? В автоматическом режиме такого эффекта добиться практически нереально,
в полуавтоматическом приходится не по-детски извращаться, а вот в ручном —
пожалуйста, делай, что хочешь.

Вот было бы здорово, если бы защитные механизмы имели аналогичные уровни
автоматизма
. «Зеленый квадрат» (на жаргоне фотографов — полный автомат)
возлагает ответственность за принятие всех решений на брандмауэр/антивирус, что
дает весьма посредственный эффект, но если за штурвалом сидит пользователь типа
«секретарша», то по-другому все равно не получится. Полуавтомат — предоставляет
пользователю максимум информации о ситуации, предлагает оптимальное (с точки
зрения автомата) решение, но при этом позволяет вмешиваться в процесс,
корректируя решения автомата. Большинство современных защитных систем как раз и
работают в режиме полуавтомата, смысла в котором нет. Если пользователь
недостаточно квалифицирован, чтобы вмешиваться в работу автомата, пускай
включает «зеленый квадрат», а если же он гуру — то советы автоматики его будут
ужасно раздражать.

Ручной режим (на данный момент нереализованный ни в одном защитном комплексе)
предполагает, что ситуацией рулит пользователь, а защита просто предоставляет
ему необходимые рычаги управления. Фактически отладчики уровня ядра (Soft-Ice,
Syser; которыми, видимо, смог пользоваться только автор статьи и несколько его
друзей. – Прим. ред.) и есть защитные комплексы ручного типа, но, к сожалению,
они не предназначены для непосредственного распознавания атак и потому их
приходится использовать в паре с полуавтоматическими защитами.

Самое главное, что необходимо понять — автоматика это всего лишь красивая
игрушка
. Компьютер — это не тостер. И даже не фотоаппарат. А потому
пользователи должны обучаться работать с ним не только посредством мыши и не
впадать в ступор от слов типа «порт», «протокол» etc. Даже если превратить
компьютер в приставку вроде «Денди» с заранее предустановленными программами и
заблокировать возможность установки новых программ на уровне операционной
системы или даже (о боже!) процессора, то от дыр в сетевых приложениях
(браузерах, почтовых клиентах) все равно никуда не деться и атаки по-прежнему
останутся возможными.

 

Матрешка в матрешке

Мысленно перенесемся в средневековое царство MS-DOS и процессоров типа 8086.
Разделение команд на обычные и привилегированные отсутствует и машинный код,
получивший управление, может делать абсолютно все, что ему вздумается, например
удалять файлы с атрибутом «только на чтение», блокировать работу антивирусов (и
чтобы удалить такие вирусы приходилось загружаться со специальной стерильной
дискеты).

В 80286 появляются первые защитные механизмы, доведенные до логического конца
в 80386 и Windows 95 наконец-то разделяет адресные пространства процессов так,
чтобы одна программа не могла обращаться к памяти другой, если та этого не
хочет. А в Windows NT появляется и разделение привилегий на уровне
пользователей, что открывает ошеломляющие перспективы, позволяя создавать
безопасные многопользовательские системы, где непривилегированные пользователи
уже не могут навредить ни системе, ни другим пользователям. То же самое
относится и к программам, запущенным от их имени. Фантастика да и только!

Все мы прекрасно знаем, что как ни крути рычаги управления XP и как ни
ограничивай пользователя в правах, навредить он все равно сможет. Было бы
желание… а за его реализацией дело не станет. А вот куча программ с урезанными
правами просто не запускаются. И не потому что они спроектированы неправильно
(как укоряет их Microsoft), по-другому просто никак не получается. Допустим, у
нас есть программы прожига лазерных дисков. Запись на лазерный диск – вполне
рядовая операция, и требовать наличия прав администратора для ее осуществления —
глупо. Но… все штатные механизмы, встроенные в NT-подобные системы,
предназначенные для работы с оптическими накопителями, только под
администратором и работают. А драйверы сторонних производителей, во-первых,
требуют администраторских прав для своей установки (которая, впрочем, может
осуществляться всего один раз, что не есть проблема), но… чем больше у нас
«левых» драйверов, тем выше риск, что один из них пробьет тоннель сквозь барьер
системы безопасности. Конкретный пример: ASPI32-драйверы компании Adaptec
(используемые многим пишущими ПО) страдают хронической мигренью и при
определенных обстоятельствах предоставляют непривилегированным пользователям
низкоуровневый доступ к жесткому диску, позволяя делать с ним все, что угодно:
читать данные других пользователей, обнулять все сектора от A до Z и даже
заливать «мусорный» микрокод, приводящий к выходу жесткого диска из строя.

Теоретически (подчеркиваю, теоретически) в правильно спроектированной
операционной системе
, работающей под управлением x86-процессоров 80386 или
выше, можно безбоязненно запускать программы из-под ограниченного
пользователя
. И они ничего плохого не смогут сделать. А если программе не
хватает ограниченных прав, то это наводит на серьезные размышления — может быть,
ну ее, такую программу?! В UNIX-системах все обстоит именно так, ну или
практически так, а вот в Windows…

Пользователи Windows вынуждены постоянно держать под рукой виртуальную машину
(типа VMWare), проверяя программы на вшивость. Дело ведь не только в вирусах.
Честно, но некорректно написанная программа может уронить систему так, что
потребуется ее полная переустановка.

Поразительно, но именно такое решение и предлагается в качестве основной
защиты! Производители процессоров даже встроили поддержку аппаратной
виртуализации, чтобы сократить накладные расходы на эмуляцию, и это при том, что
практически все виртуальные машины содержат дыры, позволяющие вирусам вырваться
за их пределы, и с ростом популярности виртуальных машин вероятность появления
таких вирусов все возрастает. Это на данный момент их нет, но что будет завтра?
Еще один уровень виртуализации? Еще одна матрешка внутри уже имеющейся?

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

 

Если бы Microsoft строила автомобили…

Говорят (врут, конечно), что на выставке компьютерной техники COMEX Билл
Гейтс сравнил компьютерную индустрию с автомобильной и заявил: «Если бы General
Motors развивала технологии так, как компьютерная индустрия, мы бы ездили на
автомобилях за $25, расходуя галлон бензина на 1000 миль».

«Да, но вас устроило бы, чтобы ваш автомобиль портился дважды в день?» —
ответил представитель GM. Помимо этого при любом изменении дорожной разметки вам
пришлось бы покупать новый автомобиль; при выполнении обычного маневра ваш
автомобиль мог бы заглохнуть, и вам пришлось бы перезапустить двигатель; чтобы
перевезти несколько человек одновременно, вам потребовался бы «Автомобиль 95»
или «Автомобиль NT»; Macintosh выпускал бы автомобили на солнечных батареях,
которые были бы проще в управлении, но могли бы ездить лишь по 5% дорог;
владельцам Macintosh пришлось бы покупать дорогостоящий Microsoft Upgrade, после
чего их машины ездили бы медленнее; сигнальные датчики топлива, масла и
охлаждения были бы заменены единым датчиком «general car fault»;. Новые сиденья
вынудили бы всех подогнать свои задницы под один размер; воздушная
предохранительная подушка перед срабатыванием спрашивала бы: «Are you sure?».

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

Фундаментальным отличием автомобилей от операционных систем является
reuse-концепция, заключающая в повторном использовании уже готовых и
апробированных решений. Новый автомобиль всегда строится на базе старого, но не
в буквальном, а переносном смысле. Все узлы и агрегаты проектируются и
отливаются заново, даже такая мелочь, как болты М12.

А вот операционные системы представляют собой сплошное нагромождение кода.
Некоторые файлы исходных текстов, входящих в состав Server 2008 датированы… 1988
г
. Операционная система представляет собой довольно шаткое сооружение,
состоящее из многочисленных наслоений, очень похожее на автомобиль, построенный
на базе парового дилижанса и сохранивший значительную часть узлов последнего.

Программисты только в исключительных случаях переписывают код с нуля. Обычная
практика — добавление новых слоев абстракции поверх старых. Сложность сооружения
при этом неуклонно увеличивается, количество связей между узлами экспоненциально
возрастает, а самое неприятное в том, что узлы, спроектированные десятилетия
назад, теперь оказываются совершенно в иных условиях, к которым они чисто
физически не готовы.

Если кто-то верит, что Linux (в противовес Windows) была написана с нуля, то
он жестоко ошибается. Linux основана на учебной операционной системе Minix, и в
процессе своего развития не брезговала передирать куски кода из BSD-систем,
которые сами по себе представляют нехилое скопление осадочных слоев… По
исходным текстам Linux’а можно проследить не только историю развития языка Си
(на котором написано его ядро), но и всей компьютерной индустрии в целом
.

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

 

Заключение

Никто не знает, какое будущее нас ждет и как изменится мир даже через
несколько лет. Windows взрывообразно увеличивается в размерах (достаточно
сравнить размер дистрибутивов), код теряет управляемость и начинает жить своей
собственной жизнью. Microsoft, похоже, осознает проблему, но все предпринятые ею
шаги (например, .NET) только усугубляют ситуацию.

Если сравнить Windows с горной рекой, то BSD течет по равнине. Медленно,
спокойно и величаво. Никаких революционных инноваций в ней не появится, вместо
того, чтобы искусственно создавать у пользователей новые потребности,
разработчики BSD-систем предпочитают оттачивать уже написанный код, исправлять
обнаруженные ошибки проектирования, устанавливать новые распорки.

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

В общем, Linux либо вернется к истокам, либо превратится в монстра еще
похуже, чем Windows. А быть может, и нет…

 

Мнение эксперта

Samuel Jebamani
core team leader фирмы K7 Computing

Представитесь, пожалуйста.

Меня зовут Samuel Jebamani, я руковожу сплоченной командой программистов,
работающих над интегрированным защитным комплексом, включающим в себя антивирус,
брандмауэр, спам-фильтр и некоторые другие компоненты. Главным образом наша
продукция ориентирована на японский рынок, однако имеется и англоязычная версия
нашего продукта, демонстрационную версию которого можно скачать с
http://k7computing.com/k7_av.asp.

Считаете ли вы, что антивирусный рынок – это большой мыльный пузырь,
держащийся на страхе пользователя и готовый лопнуть в любой момент?

Наша многолетняя история, берущая свои истоки с 1992 г., позволяет оценить
ситуацию, что называется в ретроспективе. В эпоху MS-DOS вирусные эпидемии
бушевали по трем основным причинам: а) децентрализованной модели распространения
программного обеспечения (попросту говоря, пользователи копировали программы
друг у друга); б) беззащитностью операционной системы и невозможностью создать
защиту на базе процессоров тех времен; в) невозможности оперативной рассылки
обновленных антивирусных баз, в результате чего, выражаясь образным языком,
брошенный окурок, вызывал пожар планетарных масштабов — вирусы пересекали
континенты и океаны…

А сейчас?!

А вот сейчас ситуация радикальным образом изменилась и прежние каналы
распространения вирусов перестали работать. Да, люди по прежнему качают варез из
файлообменных сетей, но наличие антивирусов позволяет пресечь болезнь еще до
заражения (этим, главным образом, занимаются проактивные технологии). С другой
стороны, вирусы получили новые каналы распространения — интернет. И если раньше
было можно жить и без антивируса, не устанавливая никакого программного
обеспечения, кроме того, что куплено легальным путем, то теперь любой узел,
подключенный к Сети, является потенциальной жертвой.

Согласен, операционные системы и программное обеспечение содержат
многочисленные дыры и потому заразиться можно даже не выполняя никаких действий
вообще. Но разработчики операционных систем активно борются с дырами, многие
почтовые службы отказываются пересылать исполняемые файлы (даже если они и не
являются вирусами). Что будете делать вы, когда все дыры в осях будут заткнуты и
вирусы потеряют свой основной канал распространения?

При всем моем нежелании выступать в роли пророка, раз уж мне задан такой
прямой (и, кстати говоря, несколько бестактный вопрос), все-таки скажу, что дыры
в операционных системах — это навсегда. Я не люблю аналогий, но давайте возьмем
механические сейфы, совершенствующиеся в течение многих тысячелетий (!). Что нам
мешает создать сейф, который нельзя взломать? Банк, который нельзя ограбить?

Неизбежные дефекты проектирования, пресловутый человеческий фактор…

Именно!!! Технологии нападения совершенствуются параллельно с технологиями
защиты, иногда на какое-то время одна сторона обгоняет другую, и тогда наступает
либо смутное время, либо хрупкое состояние, именуемое миром.

Многие считают, что антивирус должен стать неотъемлемой частью
операционной системы, вы не боитесь, что Microsoft реализует нечто подобное и
тогда всем остальным компаниям придет конец?

Bill always win, да? Но Microsoft уже имеет свой антивирус и имеет она его
еще со времен MS-DOS. Ну и что? Это кого-то беспокоит? Слухи о могуществе
Microsoft и о том, что она может с легкостью расправиться с любым из конкурентов
чудовищно преувеличены, все ссылаются на пример IE vs Netscape, почему-то
забывая, что Netscape, возродившийся в виде FireFox, не только не был раздавлен
и растоптан, но еще и наступает IE на пятки. Другие примеры расправы с
конкурентами у вас есть?

Гм, примеров у меня, пожалуй, нет (хотя это не значит, что их нет вообще —
ключевое слово «у меня»). Словом, вы не видите никакой угрозы со стороны
Microsoft?

Нет, не вижу. Во-первых, мы ориентированы на тот рынок, на котором позиция
Microsoft никогда не была сильна, а во-вторых, почитав блоги их сотрудников, вы
обнаружите, что они считают за достижение ручную распаковку файла, упакованного
каким-нибудь простеньким протектором. Конечно, это не самые сильные
разработчики, в Microsoft очень много умных людей, но… все они уже задействованы
на других участках фронта. Видите ли, разработка антивирусов – не самый доходный
бизнес, и даже если Microsoft захочет прибрать его к рукам, при ее организации
труда он станет вообще убыточным.

Но все-таки антивирус (под называнием Microsoft Bit Defender) появился,
так?

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

Последний вопрос. Ваш прогноз относительно (не)безопасности «Висты» и
Server 2008?

Судя по всему, нас ждут очень интересные времена. Наша исследовательская
лаборатория обнаружила огромное количество дыр в обеих, причем исправить эти
дыры одним движением руки у Microsoft не получится, поскольку они зарыты очень
глубоко. Тут требуется серьезный редизайн ядра. Так что несколько последующих
версий Windows обещают быть весьма плодотворным компостом для хакеров и
вирусописателей, и количество дыр по моим прогнозам никак не снизится, а только
возрастет. Этот рост мы можем наблюдать уже сегодня, но лучше не пытаться
заглянуть в будущее (которое всегда переменчиво), а решать текущие проблемы. У
Microsoft слишком много операционных систем, особенно в 64-битной линейке, и все
они требуют индивидуального подхода, поскольку не обеспечивают даже номинального
уровня совместимости, особенно на ядерном уровне, без доступа к которому
разработка качественных защитных механизмов немыслима и где, кстати говоря,
гнездиться очень много критических дыр.

Оставить мнение

Check Also

В гостях у чертёнка. FreeBSD глазами линуксоида

Порог вхождения новичка в мир Linux за последние десять-пятнадцать лет ощутимо снизился. О…