Что безопаснее windows или linux
Перейти к содержимому

Что безопаснее windows или linux

  • автор:

Почему Linux безопаснее Windows?

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

Некоторые спрашивали о том, почему под линуксом нет вирусов.

img

А другие спрашивают можно ли раскомментить «%wheel ALL=(ALL) NOPASSWORD: ALL» если на ноутбуке только один пользователь.

img

Кто-то просил рассказать о том почему Linux безопаснее Windows.

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

Ага, ага. Практически все суперкомьютеры работают под линуксом.

https://ru.wikipedia.org/wiki/Top500 ну вот, например, список из десяти. И все 10 работают под линуксом.

А еще у нас есть сервера, большая часть которых работает на линуксе.

Или андроид, который тоже на нем основан.

Так что этот аргумент так себе.

И да, давайте сразу оговоримся. Все что я говорю, естественно касается Unix. Но я, возможно, буду говорить Linux.

И первая, и, наверное, основная причина почему в Linux нет вирусов это механизм разграничения доступа.

Причина #1. Пользователи и группы.

Вообще изначально Linux проектировалась как многопользовательская система. И поэтому в ней очень хорошо продумано все что связано с правами, пользователями группами. В отличие, например, от той же Windows. Эта система разграничения доступа была реализована еще в 70 годах. Но она до сих пор крайне актуальна. Потому что сделана она очень просто и изящно. И эта система до сих пор успешна справляется со всеми задачами для которых она была создана.

И вот как раз из-за этого люди и любят Linux. Потому что тут многие вещи просто прекрасны с инженерной точки зрения. Тут очень высокий уровень семантики, логичности и простоты.

В принципе в Unix все сделано очень логично. В отличии от Windows. Во-первых само дерево файлов. Что у тебя есть один корень, и от него уже идут директории, а не вот этот идиотизм в Windows с буквами дисков. В Unix так же каждое устройство это файл. Даже ваш диск, который вы подключили или звуковая карта это файл. И это очень логично. Все конфиги в линуксе хранятся в файлах. И ты знаешь где они. Они у тебя в домашней директории. Ты всегда можешь просто скачать на диск свою домашнюю директорию, установить линукс на другом компе, закачать туда свою домашнюю директорию и у тебя все будет работать точно так же. В Windows у тебя вообще не понятно где хранятся настройки. Что-то вообще в реестре. Сам реестр в винде это тот еще идиотизм. Я не понимаю кто вообще его придумал. Это настолько нелогично насколько можно себе представить. Ты если что-то настраиваешь в винде, а потом переустанавливаешь систему то тебе все приходится настраивать заново. Не говоря уже о том, что сама винда она крайне перегружена. Ты в два клика можешь увидеть окошко с настройками которое выглядит так будто оно из виндовс98.

Короче говоря, механизм разграничения доступа в линуксе — это как раз одна из причин из-за которых в линуксе нет вирусов. И если вы как пользователь скачали вирус и как-то сумели его правильно скомпилировать и запустить то он ничего не сможет сделать с системой. Так как ему нужны будут права рута. Все что сможет вирус, так это сделать что-либо с данными того пользователя из под которого его вызвали.

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

Людям может показаться, что это сложно. Человек, допустим смотрит на права какого-нибудь файла и вообще не понимает что тут к чему.

img

Но на самом деле все очень просто.

Изначально каждый файл имел три параметра доступа. Вот они:

Чтение — когда можно посмотреть файл, но нельзя изменить. А если это директория, то посмотреть список файлов в ней.

Запись — когда можно и читать и изменять. А если это директория то создавать и изменять файлы в ней.

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

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

Владелец — тот кто создал файл или тот кого мы переназначили.

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

Остальные — это просто те, кто не владелец и те, кто не входит в группу.

r — право на чтение;

w — право на запись;

x — право на исполнение.

Можем, например, посмотреть на файл .zshrc

Мы видим у него следующие права

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

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

drwxrwxrwx 

Если рассмотреть вот этот пример, то вы видим, что первая строчка тут d что означает, что это директория. А потом идут три группы rwx это значит, что и владелец и группа и остальные имеют право читать, выполнять и запускать.

Так же мы можем использовать не только буквенное представление прав, но и числовое.

img

Ну а чтобы менять права есть программа chmod

Если мы хотим чтобы наш пользователь мог читать, записывать и запускать файл. Группа могла только читать. А остальные ничего не могли, то мы можем сделать следующее.

chmod u=rwx,g=r,o= file.txt chmod 760 file.txt 

Ну а если нам нужно изменить все файлы в директории, то мы можем использовать опцию -R

chmod -R 777 folder 

Вот так просто меняются права на файл.

А если мы хотим изменить владельца файла, то мы это сможем сделать с помощью следующей программы:

chown name_of_new_owner file_name 

А если нужно изменить группу то

chgrp name_of_group_to_change file_name 

Группы

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

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

vim /etc/group 

Вот как я уже сказал, есть у нас группа sudo , wheel , users . И эти группы нужны как раз для управления пользователями.

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

  • sys — группа для доступа к ядру
  • daemon — группа для демонов
  • proxy — используется для прокси
  • www-data — из под этой группы запускается веб-сервер
  • wheel — Позволяет запускать sudo. И выполнять команды без пароля. Соответственно, если отвечать вопрос в начале ролика, то нет. Крайне не рекомендуется убирать тот комментарий.

Ну вот как-то так. Продуманность системы разграничения доступа это основной фактор безопасности Linux.

Причина #2.

Принцип изолирования пользователей от приложений, файлов.

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

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

Так же, в отличие от Windows, в Linux намного меньше различных модулей, которые интегрированы прям в ядро самой операционной системы. Ну, например, в Win ядро управляет графической системой. И если что-то случится с графической системой, то все, ты уже ничего не поделаешь. У тебя компьютер ребутнется. А в Linux ты можешь перезапустить графическую систему не перезагружая Linux. Ты вообще можешь сходу сменить Gnome на KDE. Без перезагрузки.

Причина #3. Репы.

Ну, конечно же, архитектура системы не единственный аргумент в пользу того, что тут нет вирусов. Еще один крайне важный фактор это то, что софт под Linux люди ставят из репозитариев, а для Windows ты качаешь *.exe из интернета. И это, как вы понимате, довольно опасно.

Windows и Linux: что безопаснее?

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

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

элементы показателя общей серьезности

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

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

Возможная доступность показывает, какой уровень доступа необходим для использования данной уязвимости. Если любой начинающий хакер (тот, кого обычно называют «script kiddie») из Интернета может использовать брешь на сервере, защищенном межсетевым экраном, то эта брешь имеет очень высокую возможную доступность. Если же использовать брешь сможет только сотрудник компании, имеющий действующие регистрационное имя и пароль, причем исключительно с компьютера, находящегося в здании компании, то возможная доступность этой бреши значительно меньше.

показатель общей серьезности и взаимосвязь между тремя факторами риска

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

Возможный ущерб: последствия от этой бреши катастрофичны.

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

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

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

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

исключение из правила

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

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

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

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

применение показателя общей серьезности

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

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

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

возможная доступность

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

1. Необходим физический доступ к компьютеру, но не требуется наличия действующей учетной записи пользователя.

2. Необходим физический доступ к компьютеру и требуется действующая учетная запись пользователя. /* Я бы, вообще-то поменяла пункты 1 и 2 местами, поскольку формальная логика подсказывает, что наличие двух обязательных условий в любом случае боллее труднодостижимая задача. Однако автор – барин, оставляем все как есть 🙂 – прим. ред. */

3. Необходима действующая учетная запись пользователя, но не нужен физический доступ к атакуемому компьютеру. Достаточно доступа по локальной сети (из корпоративной сети компании).

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

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

6. Можно использовать брешь удаленно, через Интернет, не имея действующей учетной записи пользователя на атакуемом компьютере, но невозможно достичь бреши напрямую. Существует еще один, более трудный для преодоления барьер. Этим барьером может быть другая программа (например, брешь существует в Microsoft SQL Server, но для ее использования необходимо внедрить элемент управления ActiveX или Javascript в веб-страницу, доступную через Microsoft Internet Information Server). В некоторых случаях для получения непрямого доступа необходимо вовлечь в этот процесс пользователя. Например, придется разослать по электронной почте сообщения, которые направят пользователей на web-страницу, содержащую вредоносный элемент управления или код. Широко используется способ, когда пользователю предлагается открыть файл, вложенный в электронное письмо. Серьезность этой категории меняется в зависимости от того, насколько искусно это вовлечение замаскировано под невинное действие.

7. Использовать брешь можно удаленно, через Интернет, не имея действующей учетной записи пользователя на атакуемом компьютере, но невозможно достичь бреши напрямую. Тем не менее, брешь используется косвенно, но автоматически. Например, брешь в операционной системе Windows используется немедленно и автоматически, как только пользователь открывает электронное письмо с помощью программы Outlook.
8. Использовать брешь можно удаленно, через Интернет, просто отправив через сеть информацию на атакуемый компьютер. Например, уязвимость типа «отказ в обслуживании» (DoS) можно использовать просто отправив специальные сетевые пакеты на атакуемый web-сайт, что сделает этот веб-сайт недоступным для других пользователей Интернета.

возможность использования

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

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

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

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

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

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

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

8. Кто угодно может использовать брешь, введя простой текст в командной строке или указав URL в веб-браузере.

возможный ущерб

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

1. Брешь влияет только на производительность другого компьютера, но не настолько, чтобы он перестал отвечать на запросы.

2. Брешь влияет только на собственные программы или файлы нарушителя, но не затрагивает файлы или программы других пользователей.

3. Брешь делает незащищенной информацию в файлах других пользователей, но не учетную запись администратора или системные файлы.

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

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

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

7. Брешь позволяет нарушителю вызвать отказ системы или каким-то иным путем заставить ее не отвечать на обычные запросы. Это — типичная атака «отказ в обслуживании». Однако нарушитель фактически не может получить контроль над компьютером, за исключением того, что компьютер перестанет отвечать на запросы.

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

уровень общей серьезности

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

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

2. Атака на собственную учетную запись является бессмысленной, но такая саморазрушительная деятельность может создать для ИТ-подразделения лишнюю работу по восстановлению.

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

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

дисбаланс приложений

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

С одной стороны, большинство популярных приложений для Microsoft Windows составляют приложения Microsoft, и они запускаются только под Windows. Когда обнаруживается брешь в Microsoft Exchange, можно обоснованно полагать, что эта проблема затронет только клиентов Windows. Microsoft Exchange не функционирует ни в Linux, ни в Solaris, ни где-либо еще, кроме Windows.

С другой стороны, веб-сервер Apache чаще всего ассоциируется с Linux или другими *NIX-системами, но Apache функционирует и под управлением Windows. Поэтому, сравнивая общую безопасность Windows и Linux, можно ли считать, что брешь в Apache — это дефект только Linux? Или она негативно сказывается и на Linux, и на Windows?

Еще больше усложняет проблему то, что известно несколько случаев, когда брешь в Apache почти (или даже совсем) не опасна для Linux, но является серьезной уязвимостью в Windows. Обратная ситуация встречается крайне редко, если вообще встречается. /* Применительно к Apache точно не скажу, хотя мне кажется, такая ситуация может иметь место. Но с другими кросс-платформенными продуктами сплошь и рядом бывает, что уязвимость может проявиться только под *NIX-системами. – прим. ред. */ Следует ли понижать оценку общей безопасности Windows потому, что эта система более подвержена неблагоприятному воздействию, чем Linux, при использовании программного обеспечения, которое обычно ассоциируется с Linux? Вопрос о том, учтен ли какой-либо из этих факторов при сравнении общей безопасности Windows и Linux, ни в коем случае нельзя оставлять без внимания.

настройка и администрирование

Наконец, различие в подходе к настройке и администрированию серверов в Linux и в Windows, как уже отмечалось, возможно, является самым важным различием между этими двумя операционными системами.

Windows предлагает использовать знакомый интерфейс, что означает администрирование ОС Windows Server 2003 на самом сервере. Linux не полагается на локальное использование графического интерфейса и не поощряет этого отчасти потому, что функционирование графической среды на сервере — это необоснованная трата ресурсов, а отчасти потому, что от этого возрастают угрозы безопасности сервера. Так, любой сервер, предлагающий использовать графический интерфейс на компьютере сервера, предлагает также выполнять на сервере похожие операции, например, использовать веб- навигатор. В результате сервер подвергается угрозам, порожденным уязвимостями в защите браузера. Любой сервер, побуждающий пользователя к удаленному администрированию, защищен от подобных угроз. Если администрирование сервера Linux осуществляется удаленно, через учетную запись пользователя на рабочей станции, то брешь в браузере создает угрозу только этой удаленной рабочей станции, а не серверу. Именно поэтому брешь в защите браузера потенциально опаснее для Windows Server 2003, чем для Red Hat Enterprise Server AS.

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

продолжение следует.

Николас Петрели (Nicholas Petreley), аналитик по Linux в исследовательской компании Evans Data Corporation, обозреватель «ComputerWorld», «LinuxWorld».

Сетевые решения. Статья была опубликована в номере 12 за 2005 год в рубрике save ass…

Windows или Linux: Что выбрать для обеспечения безопасности предприятий?

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

Высокий уровень безопасности, возможность гибкой настройки, совместимость и экономичность, которые предлагает Linux, делают его популярным выбором среди предприятий и организаций, стремящихся защитить свои ценные данные. Linux уже был принят правительствами и технологическими гигантами по всему миру, а также на нем работают 97% из миллиона крупнейших доменов в мире. Все самые популярные языки программирования были впервые разработаны на Linux, а теперь работают на любой ОС. Можно сказать, мы все используем Linux – знаем мы об этом или нет! В этой статье мы расскажем, почему Linux – лучший выбор для предприятий, которые ищут гибкую, экономически эффективную и безопасную ОС. Чтобы помочь вам принять взвешенное решение, мы сравним Linux с Windows по уровню конфиденциальности, защиты от уязвимостей и атак.

Почему открытый исходный код – преимущество?

Открытый исходный код Linux позволяет сообществу разработчиков активно поддерживать ОС. Постоянные и тщательные проверки со стороны увлеченных пользователей помогают быстро выявлять и устранять уязвимости в безопасности Linux еще до того, как ими успеют воспользоваться злоумышленники. По состоянию на август 2020 года, Linux насчитывает более 20 000 участников и один миллион коммитов. Google и Linux Foundation недавно объявили о финансировании нескольких ведущих разработчиков ядра Linux, которые будут заниматься вопросами безопасности.

Что дает Linux строгая модель привилегий пользователей?

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

Безопасность через разнообразие

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

Безопасность ядра Linux

  • Механизм проверки прошивки UEFI Secure Boot;
  • Linux Kernel Lockdown – это опция конфигурации, которая не позволяет суперпользователю изменять код ядра. В случае взлома учетной записи суперпользователя Kernel Lockdown значительно затруднит злоумышленнику взлом остальной части ОС. Lockdown имеет два режима: режим целостности и режим конфиденциальности. Включение блокировки в режиме целостности блокирует функции ядра, не позволяя как-либо изменять работающее ядро. А включение блокировки в режиме конфиденциальности блокирует возможность извлечения конфиденциальной информации из работающего ядра.
  • SELinux и AppArmor – это два модуля безопасности ядра Linux, которые можно использовать для блокировки Linux-систем с помощью подсистемы Mandatory Access Control (MAC). Эти модули дают администраторам полный контроль над безопасностью своих систем, защищают от неправильной конфигурации сервера, уязвимостей в ПО и эксплойтов нулевого дня.
  • Smack (Simplified Mandatory Access Control Kernel) предоставляет еще один способ реализации MAC в Linux. Этот простой модуль безопасности ядра Linux защищает данные и работу процессов от злоумышленников с помощью набора пользовательских правил обязательного контроля доступа.

Безопасный и экономичный хостинг

Linux-хостинг завоевал огромную популярность среди реселлеров благодаря высокому уровню безопасности, экономичности, совместимости и гибкой настройке ОС. Linux бесплатен, и поставщики услуг веб-хостинга не должны платить за подписку или лицензию на каждого пользователя. Linux поддерживает большую часть основных языков программирования (Python, MySQL, PHP, Ruby и Perl), а хостинг на базе Linux идеально подходит для динамических веб-сайтов с интенсивным трафиком данных, таких как интернет-магазины, сайты по продаже билетов или медицинских учреждений. Linux также предоставляет cPanel – удобный инструмент, который помогает в управлении и обслуживании веб-сайта.

А что же у Windows?

Благодаря огромной пользовательской базе, закрытому исходному коду и однородной монокультуре ОС, Windows является гораздо более привлекательной целью для злоумышленников. Несмотря на то, что в последние годы участились атаки вредоносного ПО для Linux, подавляющее большинство вредоносных программ по-прежнему направлено на Windows, а в 2020 году системы Windows подверглись 83% от общего числа атак с использованием вредоносного ПО.

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

Подведем итоги

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

Также стоит помнить, что безопасность, которую обеспечивает Linux – это компромисс между защитой и удобством использования. Linux имеет немного более сложную кривую обучения по сравнению с Windows, но при этом дает намного больше в плане безопасности.

Если вы хотите повысить уровень цифровой безопасности своего предприятия, то выбор Linux в качестве ОС – отличное начало.

Что безопаснее: Linux или Windows?

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

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

Насколько безопасна Windows?

Согласно статистике сервиса StatCounter, 77% ПК работают под управлением Windows против менее 2% на Linux. Поэтому можно предположить, что Windows является относительно безопасной системой.

Действительно, в последние годы Microsoft внесла множество изменений в кодовую базу, предназначенных для повышения уровня безопасности. Компания разработала собственную антивирусную программу Microsoft Defender, улучшила брандмауэр и интегрировала изолированную среду Windows Sandbox для ограничения доступа приложений к ОЗУ и другим программам.

Windows Sandbox

Тем не менее, Windows находится в трудном положении.

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

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

Однако, есть и веские контраргументы. По умолчанию текущие версии Windows предупредят вас, если вы загружаете исполняемый файл из Интернета с помощью техники под названием «Mark of the Web».

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

К сожалению, по умолчанию защита не настроена на самый высокий уровень, поэтому неподписанные приложения можно запустить. С другой стороны, малоизвестные исполняемые файлы рассматриваются как опасные, и Windows 10 заставляет вас выполнять действия с диалоговыми окнами для подтверждения запуска.

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

Тем не менее, не все вредоносные программы, разработанные для Windows, будут работать на всех устройствах Windows, Например, вирус созданный для Windows XP, может не запуститься в Windows 10. Это осложняет задачу киберпреступникам, которым приходится адаптироваться под постоянно меняющиеся платформы.

Является ли Linux более безопасной системой?

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

Основная защита в Linux заключается в том, что запускать исполняемые бинарные файлы намного сложнее, чем в Windows. Linux не обрабатывает исполняемые файлы без явного разрешения. Вам нужно выполнить команду chmod + x перед запуском файла.

Ubuntu 20.04 LTS «Focal Fossa»

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

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

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

Если вредоносная программа запускается локально, она может использоваться для получения прав root и удаления всех защитных ограничений. Возможность скомпрометировать учетную запись пользователя может оказаться такой же опасной, как и возможность скомпрометировать учетную запись root.

У Linux есть еще несколько «козырей».

Открытый код системы рассматривается и анализируется большим сообществом разработчиков. Они проверяют исходный код на наличие бэкдоров и уязвимостей. Кто-то называет Linux самой защищенной ОС просто из-за большой «команды» пользователей-разработчиков Linux по всему миру.

Разнообразие дистрибутивов Linux (в отличие от относительной монокультуры Windows) является еще одним защитным аспектом этой системы.

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

Некоторые дистрибутивы Linux получали волну критики из-за низкого уровня безопасности. Если выбранный вами дистрибутив (Ubuntu, Red Hat, Qubes OS или др.) имеет хорошую репутацию в плане безопасности, вы можете безопасно его использовать, зная, что к нему применены все необходимые исправления.

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

Дополнительные факторы, влияющие на безопасность

Что же безопаснее: Linux или Windows? Мы так и не пришли к окончательному заключению.

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

Password Checkup для Google Chrome

Развертывание защищенной операционной системы является важным шагом, но недостаток знаний может подвергнуть вас гораздо большим рискам.

Перечислим несколько вещей, о которых стоит задуматься:

  • Сетевая защита. Используйте брандмауэр как в Windows, так и в Linux. Вы должны понимать, как данный компонент работает на вашей машине.
  • Фишинг. Данный тип угрозы предотвратить сложнее всего, поскольку любой человек может быть обманут с помощью методов социальной инженерии. В результате жертва добровольно передает имя пользователя, пароль и другие конфиденциальные данные. Мошенники отправляют электронные письма якобы от официального сервиса, например от PayPal или Netflix, чтобы заполучить ваши пароли и платежные данные.
  • Выбор браузера. ОС не защитит вас от фишинга в отличие от браузера. Многие браузеры обнаруживают вредоносные сайты или сайты, распространяющие вредоносное ПО.
  • Вредоносные программы. При поиске ПО для установки будьте предельно бдительны. Вас могут обмануть, выдав вредоносное ПО или браузерный плагин за легитимную программу. Прежде чем устанавливать что-либо на свой компьютер, просмотрите отзывы, проверьте, используется ли ПО достаточным количеством пользователей или установите его в песочницу. В Linux придерживайтесь доверенных репозиториев или загружайте файлы с официальных сайтов.

Как вы считаете, какая из систем более безопасная, Linux или Windows?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *