Пару слов о безопасности

"Безопасность - состояние защищенности жизненно-важных интересов личности, общества, организации от потенциально и реально существующих угроз, или отсутствие таких угроз".

Википедия

Сегодня неизвестный злоумышленник проник в компьютерную сеть корпорации "Рога и Копыта". По сообщениям представителей компании, ущерб, нанесенный хакером, равняется двум миллионам космокредитов. Правоохранительные органы начали расследование происшествия. По предварительным данным, виной всему беспечность администратора и операционная система "Hinged Window-Pane for Ventilation" от компании Microdumb.

Примерно такими заголовками пестрит компьютерная и околокомпьютерная пресса последние года два. Хакеры, всемогущие повелители Интернета, не оставляют бедного пользователя в покое ни на минуту, и единственный способ не пасть жертвой очередной атаки - это отключить Интернет. И никто даже не задумывается, что под очередной "сенсационной" статьей находится реклама какой-либо антивирусной лаборатории. Старожилы должны помнить "проблему 2000 года". Где только не муссировались слухи о скором закате компьютерной индустрии: в прессе, по телевидению, в Интернете. Предсказанный конец так и не наступил, зато акулы пера тут же выдумали новую проблему, дескать, конец Мировой Паутины уже как никогда близок, а специалисты даже и не думают предупредить об этом бедных пользователей.

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

Я не стану спорить, что компьютерные вирусы за последние пять лет стали распространяться с ужасающей скоростью и уже не поддаются никакому учету. Новые штаммы очередной малвари появляются чуть ли не ежеминутно, причем изменения, вносимые в тело вируса, минимальны, однако крупные компании все чаще стали рапортовать о миллионных убытках. И виной тому даже не реверсеры - любой человек просто физически не сможет дизассемблировать и исследовать зловредный код за считанные секунды. Оттого и появляются ложные срабатывания антивируса, когда, казалось бы, безобидный Notepad++, к примеру, является ужаснейшим вирусом Win32 Neshtaa, и было бы неплохо его удалить, дабы не допустить потери конфиденциальной информации. Конечно, глобальные эпидемии иногда случаются (все помнят Conficker?), но.... Любой бизнес основан на риске, а идеально защищенных систем не бывает в природе, и все, что написал человек, может быть взломано им же.

 

Если обратить внимание на статистику, любезно предоставляемую нам антивирусными компаниями, то в глубине души возникают совершенно противоречивые чувства. Кто-то заверяет, что мы в полной безопасности, и массовых эпидемий уже не случится (что лично меня немного удивляет), а другие, напротив, рапортуют о разработанном в недрах компании proof-of-concept exploit'е, способного пройти любые защитные механизмы в считанные секунды. Хакеров останавливают лишь вездесущие спецслужбы, активно борющиеся с киберпреступлениями. Зная уровень подготовки сегодняшних стражей порядка (кроме меня, никто не удивился истории о тринадцатилетнем оршанском хакере?), можно сделать вывод, что злоумышленников останавливает не страх перед наказанием, а отсутствие смекалки для изобретения новых способов обхода защитных механизмов.

За все время существования человеческой цивилизации было рождено немало мифов. Это сейчас, в двадцать первом веке, мы с уверенностью можем сказать, что чернокнижники и ведьмы - сказки святой инквизиции, зато в пятнадцатом веке люди так не считали. На мой взгляд, то же самое творится и сейчас, а именно - массовое помрачение общественного сознания в страхе перед неизвестным. Мало кто из пользователей сможет объяснить, как работают компьютерные вирусы, еще меньшее количество народу их дизассемблировало. Бывалый реверсер скажет вам, что написание долгоживущего вируса - задача, справиться с которой может далеко не каждый вирусописатель. Зачастую все ограничивается тем, что вирус попадает в базу какой-либо компании, и специально обученные люди изучают алгоритмы вторжения, которыми пользовался вирус.

Так что же мешает крупным компаниям ввести в эксплуатацию свободное программное обеспечение, к примеру, операционные системы на основе xBSD или Linux? Ответ прост и лаконичен: "Эти системы не предназначены для настольных решений". Вранье! Причем наглое. Многие западные компании успешно используют компьютеры Mac, которая является той же xBSD, только с красивым "лицом". Тем более, что все популярные офисные решения давно портированы под Mac: будь то Microsoft Office или Adobe Photoshop. Но даже на Западе многие руководители опасаются заменять Windows на что-то более безопасное, так как поддержка компьютеров с *nix на борту существенно отличается от тех же самых компьютеров под управлением Windows. В защиту хочется сказать лишь одно: все дело в привычке. Человек, десять лет проработавший в операционных системах от всем известной корпорации, просто физически не сможет привыкнуть к "новым" интерфейсам вроде GNOME или KDE. С этим уже ничего не поделаешь.

Основное достоинство UNIX в том, что системных вызовов там - около сотни, реально используются около сорока из них. Для сравнения, Windows содержит что-то около 100 тыс. API-функций, вызываемых ядром из тысяч мест, причем с сотней разношерстных параметров. Программист, пусть даже очень опытный, вынужден таскать с собой кучу учебников, чтобы хоть как-то ориентироваться в хаосе операционной системы. А если бы парни из корпорации Microsoft внимательно слушали лекции в своих университетах, то проблем в их ОС было бы гораздо меньше. Именно в университете на пальцах разъясняют принцип Keep It Simple Stupid (оставь это простым, болван), если следовать которому, большинство ошибок проектирования как рукой снимает. Если вы все еще не уверены, то ознакомьтесь с операционной системой OpenBSD.

Linux за несколько последних лет уже не вызывает ужаса в глазах обывателей. Нацепив приятный интерфейс (привет, KDE!), обзавелся графическими мастерами, в общем, вплотную приблизился к Windows. И именно это меня и пугает: попытки научить систему тому, что должен делать администратор, уже были, и наиболее удачная из них - Windows 7, где ОС лучше знает, что и как должно работать. Корпорация Microsoft упорно настаивает на том, что свобода и безопасность - взаимно исключающие понятия. Автоматика, конечно, вещь хорошая, но только не тогда, когда речь заходит о безопасности. Искусственный интеллект еще далек от совершенства, и все его "выдумки", сверхсовременные эвристические механизмы обходятся буквально за пару часов работы, и остановить малварь, написанную гуру вирусописательства, они не в состоянии. То же можно сказать и о современных межсетевых экранах и антивирусах. Моя подруга, к примеру, вряд ли задумается над сообщением брандмауэра, которое рассказывает ей об изменении контрольной суммы исполняемого файла. Любой неискушенный пользователь, не задумываясь, нажмет кнопку "Yes" и продолжит работу. Так, может, создателям защитного программного обеспечения стоит задуматься о внедрении некой автоматики в свои продукты? Опытный пользователь будет получать полный отчет о событиях, фиксируемых межсетевым экраном, а новичок получит режим "автопилот", в котором программа сама решит, стоит ли расценивать то или иное действие как угрозу безопасности. Но это - идеал, которого не достичь, и среднестатистический пользователь не должен впадать в ступор, слыша слова "протокол" или "порт". Но, как я могу судить, квалификация преподавателей информатики, что в школах, что в высших учебных заведениях, оставляет желать лучшего, и единственное, на что способны такие "учителя", - рассказать, как же правильно строить таблицы в Excel.

Мудрость, проверенная годами: "как не ограничивай права пользователя в Windows, все равно он, гад, может навредить". Было бы желание, как говорится. Тем более, даже в бизнес-секторе существуют тысячи (если не миллионы) программ, элементарно не работающие в том случае, если не дать им администраторских прав. И вина в этом отнюдь не разработчика, а самой корпорации Microsoft, которая запрещает "левым" программам устанавливать свои драйверы в систему из-под непривилегированного пользователя. Как итог - администратор устанавливает десять/сто/тысячу (нужное подчеркнуть) сторонних модулей, один из которых, по закону подлости, непременно окажется уязвим.

У читателя, должно быть, сложилось впечатление, что я всячески пытаюсь отговорить его от использования продуктов корпорации Microsoft и перейти на открытое программное обеспечение. Уверяю вас, это не так. По моему скромному мнению, проприетарное ПО ничуть не хуже открытого, и все проблемы с безопасностью лежат аккурат между пользователем и клавиатурой. Любая операционная система состоит из миллионов строк кода, некоторые из них не изменяются десятилетиями (в Windows Server 2008 R2 есть ряд компонентов, написанных еще в 88-90 годах прошлого века), и переписывание кода "с нуля" применяется лишь в редких случаях. Зачастую на код накладываются все новые и новые слои абстракции, в итоге образующие весьма шаткое сооружение. Исключив всего один компонент, программист рискует "поломать" целую программу, что весьма негативно отразится и на его, программиста, зарплате. Вот и получается, что некоторые фрагменты кода, спроектированные еще в восьмидесятых, сейчас сталкиваются с условиями, работать в которых им весьма проблематично.

А если в мире остались евангелисты, свято верующие в то, что горячо любимый ими Linux был написан с нуля, то... счастливые они люди! Линус Торвальдс написал свою операционную систему, основываясь на учебной ОС Minix, и, впоследствии, не раз "слизывал" куски кода у xBSD. В этом и состоит фундаментальная проблема программирования: постоянное совершенствование старого кода уменьшает количество наслоений и, соответственно, количество ошибок. Взять, к примеру, две системы из семейства xBSD: OpenBSD и FreeBSD. Первая десятилетием отшлифовывала свой код и добилась потрясающих результатов: всего две критические уязвимости за все время существования, а вторая же... В общем, дела там обстоят многим хуже. А про операционные системы семейства Windows даже и говорить не хочется - достаточно взглянуть, насколько потяжелел дистрибутив Windows 7, по сравнению с Windows XP. Ну а что касается Linux - в своем стремлении переманить пользователя некоторые создатели дистрибутивов постепенно лишают нас всякой возможности по самостоятельной настройке системы, заменяя командную строку графическим интерфейсом. Для профессионалов такие "телодвижения" слишком уж, простите, противны, а для новичков Linux все еще не достиг того уровня, который позволит пользователю "безболезненно" мигрировать с Windows. И ведь говорят, что 2010 год - год Линукса на десктопах. А я улыбаюсь, понимая, что где-то я это уже слышал. В конечном итоге, на мой взгляд, Linux в своем стремлении объять необъятное разрастется в чудовище похуже, чем то, что сейчас предлагает нам Microsoft. Либо возвратится к истокам, смирившись с ролью операционной системы для энтузиастов и ударников пролетариата.

Кристиан КАРМАК

Версия для печатиВерсия для печати

Номер: 

12 за 2010 год

Рубрика: 

Размышлизмы
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Страницы

Аватар пользователя Alex
>. В итоге для Линя надо писать выря, обладающего чуть ли не ИИ

Достаточно получить полномочия root и можно делать всё,что угодно.Способов предостаточно,например,классический способ ,через системные файлы с паролями при PPP соединении или исполняемые файлы имеющие права доступа SUID ну и т. п.

Главное попасть на компьютер жертвы.А вот тут взломщика ожидают большие сюрпризы,поскольку защита от проникновения(если только не подмонтировать диск напрямую, например с Live CD)на порядок выше чем в винде.Проверьте хотя бы на сайтах по тестированию открытых портов.

Аватар пользователя Частокол
> Но, простите, современная OpenSource программа, расчитанная на использование среднестатистическими домохозяевами вроде меня, не предоставляет мне все те возможности, которые я получаю в программе, за которую я отдал свои кровные.

Извините, сэр, это бред. Простейший пример. У меня на одной машине MS Office, на второй - OpenOffice. За последние три года их параллельного использования не было ни единого случая, когда бы в ОО не нашлось аналога MS-инструмента. Плюс совместимость по форматам - у OpenOffice есть, конечно, свои форматы документов, но он отлично работает с майкрософтовскими (их я взял за основу) - достаточно было где нужно галочку поставить. И так не только с текстовым редактором, но и с таблицами и т.д.

Аватар пользователя Инкогнито
>Извините, сэр, это бред.

Вы меня тоже извините, однако OOO поддерживает Sun. Точнее уже Oracle.

Программа, спроектированная разработчиками "задаром", да так, чтоб я ее на работе ввел в оборот взамен MS Sales или Консультант+ у Вас есть?

Open Source, как явление, очень хороший задел на будущее. Для простых пользователей вроде нас с Вами. В корпоративном же сегменте все немножечко по-другому. Да, безусловно, там важна безопасность, и я до сих пор не пойму, отчего мы никак не перейдем на продукцию Apple? Или почему сервера предпочитают вертется под Solaris или RHEL, вместо Ubuntu...

Так же мне не понятна политика мэйнтейнеров ядра - ну зачем запихивать туда все, что ни поподя. Зачем мне в ядре миллионы драйверов для различных видеокарт, когда можно скачать с kernel.org патч для нужной модели, и спокойненько проапдейтить ядрышко? Критики сразу скажут, что мол среднестатистические домохозяева не знают как накладывается патч, да и гемморойно это - искать мануалы в Интернете. Отвечаю: покажите мне домохозяина, перекомпилирующего ядро на своем домашнем компьютере? (подмывало: на своей домашней Ubuntu)

По-моему, будущее Linux - за "боевыми" серверами, но никак не за настольными решениями. Я с удовольствием использую Debian в качестве операционной системы по - умолчанию на моем домашнем компьютере, однако не понять мне, дураку и домохозяину, отчего Windows в моих глазах должен быть плохой ОС? Просто каждый выбирает то, что для него наиболее удобно. К примеру, подкасты записывать в Linux я просто не могу. Зато в MacOS делаю это с удовольствием. Windows 7 (единственная винда, после 98, которую я даже использовал какое-то время) намного проще для среднестатистических пользователей. Или Вы ожидаете, что каждый пользователь ПК - хардкорный программист?

Аватар пользователя mike
>Достаточно получить полномочия root...

Вы их сначала получИте. :)

Например, классический способ ,через системные файлы с паролями при PPP соединении

Гыгыгы. Вам прочесть лекцию про стек PPP? Там и близко рутпароля нет.

>или исполняемые файлы имеющие права доступа SUID...

Примерчики в студию :)

>ну и т. п.

Когда больше нечего добавить, то так и пишут: "ну и т.п."

>Главное попасть на компьютер жертвы.

А то. :)

>современная OpenSource программа, расчитанная на использование среднестатистическими домохозяевами вроде меня, не предоставляет мне все те возможности, которые я получаю в программе, за которую я отдал свои кровные.

Г-н среднестатистический домохозяин, юзайте, что вашей душе угодно, только не пишите в газету подобную ерунду. Можно назвать много открытых и бесплатных продуктов, популярности которых могут позавидовать очень многие известные платные софтины, достаточно назвать хотя бы веб-сервер Апач, БД mysql, браузер Firefox.

Аватар пользователя mike
>По-моему, будущее Linux - за "боевыми" серверами, но никак не за настольными решениями. Я с удовольствием использую Debian в качестве операционной системы по - умолчанию на моем домашнем компьютере

Пасиб, поржал. Пророки порой забывают, что пророчество уже дома поселилось, да ещё по умолчанию.

Аватар пользователя Alex
2 mike

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

Второе,например,библиотека zlib

что касается и т.п. то google тебе в руки

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

Кто-нибудь понял, что Alex сказал?

>Второе,например,библиотека zlib

А что первое-то? :) Кстати, уязвимость в zlib была сразу же ликвидирована. Так никто из пачкунов и не воспользовался ею. Называете меня умником? Пасиб. Ну, чтобы и вы пораскинули брейном, позволю себе одну аналогию. Вы, конечно, видели пачкотню в общественных туалетах и в закоулках многоэтажек. А на стенках коттеджей? Задумайтесь о природе разницы.

>что касается и т.п. то google тебе в руки

Йес, понял: аргументов нет?

Аватар пользователя mike
>мои файлы,которые я спокойно скопирую на чужую машину,а свой пароль я уж знаю.

Гыгы. А пароль чужой машины? + разберись, что надо, чтобы эти эти файлы породили процесс-потомок.

Аватар пользователя Alex
Что за бред ты несёшь?

Ну ладно "процесс-потомок" в двух словах:

монтируешь корневую файловую систему взламываемого компа, копируешь в /etc свои файлы

passwd,group и shadow. Загружаешь взломанный комп. Свой пароль ты знаешь.

PPP-соединение - пароли в файле /etc/ppp/pap-secrets хранятся в открытом виде. Дальше понятно что делать?

Аватар пользователя Alex
Да,за тобой лекция про стек PPP. Не забыл?

За базар надо отвечать гы гы гы

Страницы