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

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

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

Защита памяти

Для запуска программы должны получать ресурсы для своей работы, к таким ресурсам относится ОЗУ (оперативное запоминающее устройство) или RAM (Random Access Memory). ОЗУ — это тип временного хранилища, все что происходит в нем уничтожается при завершении работы, что позволяет записывать и считывать данные очень быстро. Когда приложение запускается, операционная система даёт ему доступ к части этого ресурса для запуска.

На компьютере недостаточно памяти, что необходимо знать?

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

Что такое буфер обмена?

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

Привилегии пользователя

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

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

Учетная запись — что это такое и как ее создать?

Но подобная система иерархии может также привести к негативным последствиям, в случае если вредоносная программа будет запущена с использованием высокого уровня привилегий. Например, «обычные» пользователи в системе могут не иметь возможности запускать определённые программы, однако пользователь с повышенными привилегиями (super user) может запустить что угодно и нанести тем самым большой вред системе.

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

Windows есть UAC (User Account Control). Он действует как средство предоставления приложениям требующими особых привилегий. По умолчанию программы выполняются только с небольшим набором привилегий, а UAC сообщает пользователю, когда им нужны особые права для выполнения каких-либо действий.

Аналогично и в Linux производится контроль привилегий, например с помощью утилит Sudo Su или с помощью Polkit. С помощью применения подобных методов контроля, выполнение одного и того же действия может происходить с различным уровнем привилегий. Кроме того, для выполнения команд с их помощью, от пользователя требуется ввод пароля.

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

Электронные подписи

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

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

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

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

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

Например, операционные системы для мобильных телефонов размещают свои программы в одном месте (Google Play Store, App Store и др.). Все они должны быть надёжными и хорошо проверенными, но как показывает практика это далеко не всегда так.

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