
Безопасность.
Выделяют 3 основных аспекта:
Конфиденциальность – мои личные данные никто не должен уметь прочитать
Целостность – никто не может испортить, изменить или разрушить мою информацию
Обеспечение работы – систему сложно уронить
Основные угрозы (приёмы нарушения безопасности) можно поделить на внешние и внутренние. Внешние – вирусы, черви и DoS-атаки.
DoS-атака – попытка уронить машину, чтобы она перестала реагировать на внешние воздействия. Является сильным средством общественного влияния.
Троян – обычная с виду программа, которая ничего не портит, но незаметно сливает информацию и посылает её кому-нибудь. Её цель – не быть замеченной.
Логические бомбы – программы, проверяющие наличие некоторого условия, и при наличии совершающие некоторые действия. Особый вид логических бомб – чёрные ходы (отладочная информация, случайно или специально не убранная из программы).
Фальшивые экраны логинов – при запуске системы заменяют экран логина своей программой, выглядящей так же, чтобы узнать логины-праоли всех пользователей.
Программная часть – 20% информационной безопасности, остальные 80% - человеческий фактор. Сегодня почти вся безопасность основана на идентификации пользователя с определением прав. Все пароли теперь хранятся в виде хешей. Черты хорошего пароля: минимум 8 символов, наличие цифр, больших и маленьких букв.
Есть масса аргументов, по которым авторизация типа логин-пароль плоха.
Подвид авторизации с паролем – авторизация по алгоритму (по числу некоторым способом, известным пользователю, требуется определить другое число).
Принципиально иной вид – физиологический (отпечатки пальцев, сетчатка глаза). На нынешний день считается самым надёжным. Еще есть способ ключей, магнитных карт и т.д.
Права пользователей в системе в виде таблицы пользователь-файл хранить нереально – она была бы слишком большой и при этом разреженной.
1 способ: ACL(access-control-list) – на список пользователей нанизаны списки объектов, на которые у них есть права.
2 способ: CL(capability-list) – хранится список объектов и для каждого - все пользователи, которые с ним могут что-то делать.
Недостатки CL – больше памяти, труднее обеспесить целостность. Недостаток ACL – дольше работает. Сегодня почти везде используется ACL.
Базовые прав (чтение, запись, исполнение) относятся к группе прав на доступ к объекту. Есть 2-я группа: права на доступ к правам.
Многоуровневая безопасность состоит в наличии разных уровней секретности, при этом на каждом уровне происходит сужение круга лиц. У каждого пользователя есть ранг, чем он выше, тем прав больше. Есть 2 модели:
N может читать все у рангов <= N, а писать рангам >= N.
Здесь нарушается целостность прав.
N может читать все у рангов >= N, а писать рангам <= N.
Здесь есть целостность, но нет безопасности.
Безопасность систем проранжирована в книге Orange Book. Безопасность ранжируется так: D, C1, C2, B1, B2, A1. Там же описано, что характеризует каждый уровень безопасности.
Система уровня A1 – безопасность системы можно доказать формально. Пока таких нет.
B1 и B2 – военные, правительственные системы. Большинство систем находятся в C1 и C2. Даже C2 достаточно сложно получить. Из сколь угодно надёжной системы можно воровать информацию, поскольку все тайные ходы не перекрыть. Так что система A1 должна обезопасить хотя бы от внешней угрозы.
Сливание информации может осуществляться методом стеганографии – передачи информации поверх другой, защищённой.