Реализация алгоритма проверки безопасности состояния системы
Классификация угроз по оказываемому воздействию на операционную систему, по цели осуществляемой атаки. Способы их устранения. Реализация алгоритма банкира для безопасного распределения ресурсов ОС. Примеры надёжного и ненадёжного состояния системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.03.2014 |
Размер файла | 144,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Благовещенский финансово-экономический колледж - филиал федерального государственного образовательного бюджетного учреждения высшего профессионального образования «Финансовый университет при Правительстве Российской Федерации»
ПЦК «Прикладная информатика»
Специальность: "Прикладная информатика" (по отраслям)
КУРСОВАЯ РАБОТА
На тему: «Реализация алгоритма проверки безопасности состояния системы»
Работу выполнил:
студент 323 группы
Обухов А.О.
Благовещенск, 2013
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
- ГЛАВА 1. БЕЗОПАСНОСТЬ В СИСТЕМЕ
- 1.1 Информационная безопасность
- 1.2 Безопасное состояние системы
- ГЛАВА 2. УГРОЗЫ БЕЗОПАСНОСТИ ОС И СРЕДСТВА ИХ УСТРАНЕНИЯ
- 2.1 Классификация угроз
- 2.2 Типы угроз
- 2.3 Способы устранения угроз
- ГЛАВА3. РЕАЛИЗАЦИЯ АЛГОРИТМА БАНКИРА
- 3.1 Алгоритм банкира
- 3.2 Примеры надёжного и ненадёжного состояния
- 3.2.1 Пример надежного состояния
- 3.2.2 Пример ненадежного состояния
- 3.2.3 Пример перехода из надежного состояния в ненадежное
- 3.3 Структуры данных для алгоритма банкира
- 3.4 Алгоритм проверки состояния системы на безопасность
- 3.5 Алгоритм запроса ресурсов для процесса Pi - основная часть алгоритма банкира
- 3.6 Пример использования алгоритма банкира
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ВВЕДЕНИЕ
Вопрос безопасности информационных систем очень сильно вырос в последнее время. Это связано с возрастанием роли информационных ресурсов в конкурентной борьбе, расширением большого количества сетей, а также возможности несанкционированного доступа к передаваемой и хранимой информации. Развитие методов, средств и форм автоматизации процессов обработки и хранения информации и групповое применение персональных компьютеров делают информацию более уязвимой к атакам вследствие чего информация может быть незаконно похищена, изменена или уничтожена. Вопросы о разработке способов и методов защиты данных в информационной системе являются лишь основной частью проблемы защиты системы и в настоящее время получила огромную актуальность. Этим вопросам посвящено много работ.
Цель работы - раскрыть понятие безопасности информационных систем и реализации алгоритма безопасности системы. В соответствии с поставленной целью основными задачами является:
1.проанализировать литературу
2.рассмотреть принципы безопасности операционной системы.
3.разработать алгоритм для проверки безопасности состояния системы
угроза атака алгоритм банкир
ГЛАВА 1. БЕЗОПАСНОСТЬ В СИСТЕМЕ
1.1 Информационная безопасность
Под безопасностью в информации мы будем понимать защищенность информации и инфраструктуры от случайных или преднамеренных воздействий естественного или искусственного характера, которые смогут нанести непоправимый ущерб информационной системе, в частности владельцам и пользователям информации и поддерживающей инфраструктуры. Защита информации - это комплекс мероприятий, направленных на обеспечение информационной безопасности. Отсюда следует что, правильным методом для подхода к проблемам информационной безопасности начинается нахождения субъектов информационных отношений и интересов субъектов, связанных с использованием информационных систем (ИС).
· Угрозы информационной безопасности - совокупность условий и факторов, создающих опасность нарушения информационной безопасности. Из этого положения можно вывести два важных следствия:
· Проблема, связанная с информационной безопасностью, для разных типов субъектов может различаться по-разному. Для иллюстрации достаточно сравнить режимные государственные организации и учебные институты. В первом случае «пускай лучше все сломается, чем враг узнает хотя - бы один секретный бит», во втором - «да нет у нас секретов, лишь бы все работало».
· Информационная безопасность не относится исключительно к защите от несанкционированного доступа к информации, это более широкое понятие. Ведь субъект информационных отношений может пострадать (понести убытки и/или получить моральный ущерб) не только от несанкционированного доступа, но и от неисправности системы, вызванной перерывом в работе. Также для многих открытых организаций (например, учебных) сама защита от несанкционированного доступа к информации по важности стоит не на первом месте. Термин «компьютерная безопасность» представляется слишком узким.
Компьютеры - это только одна из состоящих информационных систем, в первую очередь внимание будет уделено информации, которая хранится, обрабатывается и передается при помощи компьютеров, ее безопасность определяется всеми совокупными составляющими и, в первую очередь, самым слабым звеном, которым в большинстве случаев является человек (например, записавший свой пароль на листочке, прилепленном к монитору). По определению информационной безопасности, она зависит не только от компьютеров, но и от поддерживаемой инфраструктуры, к которой возможно отнести средства коммуникаций, а также обслуживающий персонал. Эта инфраструктура имеет самостоятельность. Поэтому для целей защиты информации надо уменьшать размеры ущерба до минимальных значений.
1.2 Безопасное состояние системы
Безопасным состоянием системы называется такое состояние, которое не приводит к возникновению в системе тупиков. Для того чтобы избежать появление тупиков надо сделать следующее. Когда процесс запрашивает ресурс, система должна уточнить, не приведет ли выделение конкретного ресурса к безопасному состоянию системы. Система будет находится в безопасном состоянии, если в ней присутствует безопасная последовательность, которая состоит из всех процессов находящихся в системе. Безопасной последовательностью процессов называется последовательность процессов <N1, … Nn>, такая, что для каждого нового процесса Ni ресурсы, которые возможны для запроса, могут быть выделены из ресурсов, которые доступны в текущее время и из ресурсов, удерживаемых процессами Nj , где j < i.
Если все последовательные процессы безопасны, то система может и дальше придерживаться следующей безопасной стратегии, с точки зрения распределения ресурсов и исполнения процессов:
· Если потребность процесса Ni в ресурсах не возможны незамедлительноудовлетворены, то процесс будет ждать пока не завершатся процессы Nj (где j < i),которые удерживает нужные ресурсы;
· Когда все процессы Nj будет завершены, процесс Ni может получит нужные ресурсы, и вернуть удержанные ресурсы и завершиться;
· После завершения процесса Ni , процесс Ni+1 может получить необходимые ему ресурсы.
Отсюда следует, справедливы следующие утверждения:
· Если система находится в безопасном состоянии, то тупиков нет;
· Если системы находится в небезопасном состоянии, то тупики скорее всего возможны;
· Для того, чтобы в дальнейшем избежать тупиков, надо перед выделением ресурсов обязательно проверять, что система никогда не приведет в небезопасное состояние.
ГЛАВА 2. УГРОЗЫ БЕЗОПАСНОСТИ ОС И СРЕДСТВА ИХ УСТРАНЕНИЯ
2.1 Классификация угроз
Классификация по оказываемому воздействию на операционную систему:
· Использование легальных каналов доступа к информации - доступ к файлу от лица пользователя, который не имеет права на его чтение. Данная ситуация возникает при неверной установке прав доступа пользователей. То есть, в том случае, если пользователь получает права, которые, он вообще не должен иметь.
· Использование скрытых каналов доступа к информации - эта ситуация возникает, когда злоумышленник пытается использовать недокументированные возможности операционной системы.
· Создание новых каналов получения информации - использование специального программного обеспечения, которое заранее было установлено в систему (например, вирус).
Классификация по характеру воздействия на операционную систему:
· Пассивное воздействие - наблюдение текущими процессами, происходящими в системе в реальном времени.
· Активное воздействие - непосредственное влияние злоумышленника на процессы, происходящие в операционной системе (удаление файлов, изменение файлов, изменение прав доступа,)
Классификация по цели, осуществляемой атаки:
· Деструктивные действия в отношении к операционной системе - полное разрушение, либо уничтожение отдельных частей.
· Несанкционированный доступ к чтению данных.
· Несанкционированное изменение данных.
· Несанкционированное уничтожение данных.
2.2 Типы угроз
На основании классификаций угроз безопасности операционной системы выделяют несколько типов атаки на нее:
· Подбор пароля одной из учетных записей, которые имеют
административный доступ к операционной системе. Существуют несколько способов подбора пароля пользователя: подбор пароля с использованием данных о пользователе (например, дата рождения, год рождения, номер телефона, адрес проживания , номер квартиры, имя, фамилия и т.д.) или же перебором фраз с учетом всех возможных комбинаций. Превышение полномочий - тип атаки, когда, используя разные средства, взломщик получает права доступа выше уровнем, чем тот, который определен для него политикой безопасности. Это могут быть ошибки, которые политика безопасности сама не учла, а также программные ошибки или ошибки проектирования операционной системы, либо ошибки иного программного обеспечения, установленного в системе.
· Есть так называемые "жадные" программы. Это программы, которые, будучи запущенными в ОС, захватывают как можно больше ресурсов (оперативная память, процессор и т.д.), мешая тем самым другим приложениям получить к ним доступ. Если система имеет недостаточно сильные аппаратные характеристики, либо использование ресурсов в операционной системе не оптимально настроено то запуск в ней "жадной" программы может привести к атаке типа DDOS или к полному краху системы.
· Полное сканирование файловой системы. Взломщик пытается полностью просмотреть все файлы операционной системы и прочесть все файлы без исключений. Этот тип атаки рассчитан на то, что когда-нибудь будет обнаружена как минимум одна ошибка администратора системы и хакер получит доступ к файлу, чтение которого запрещено.
Кража ключевой информации об учетной записи пользователя. Это пожалуй, одна из самых опасных атак - от нее администратор системы защититься не в состоянии, скорее всего, никогда. Операционная система может обладать многоуровневой системой безопасности, имея очень сложные криптографические средства шифрования, которые взломщик пытается украсть и все это сразу становится бессмысленным.
Существует так называемая "сборка мусора". Работа большинства операционных систем устроена так, что при удалении файлов пользователем, они, на самом деле физически не удаляются, а лишь помечаются отметкой "удалено" и система скрывает их визуально. Поэтому они продолжают существовать на жёстком диске и при помощи специализированного программного обеспечения их можно восстановить и прочесть.
2.3 Способы устранения угроз
Для борьбы с различными типами и видами внутренних угроз информационной безопасности используются различные технические средства. Но только комплексное решение может помочь по-настоящему разрешить данную проблему защиты компьютерной инфраструктуры предприятия. Основными средствами, которые используются в современное время для обеспечения информационной безопасности являются:
· антивирусы (98,6%),
· межсетевые экраны (73,9%),
· средства контроля доступа (50,8%).
В качестве наиболее эффективных путей защиты от утечек и решениях, которые представляются организациям наиболее удобными и приемлемыми для решения проблемы внутренней информационной безопасности, но по определённым обстоятельствам не используемых респондентами на практике. Респондентами указан ряд мер, популярность которых изображена на рис. 1.
рис. 1 - Наиболее эффективные средства обеспечения ИБ
ГЛАВА 3. РЕАЛИЗАЦИЯ АЛГОРИТМА БАНКИРА
3.1 Алгоритм банкира
Алгоритм банкира для безопасного распределения ресурсов операционной системы (без тупиков) был представлен Э. Дейкстрой и впервые был реализован в операционной системе THE в конце 1960-х годов. Это название возникло из-за того, что поведение алгоритма похоже на стратегию банкира при проведении банковских операций. Алгоритма банкира имеет следующие принципы:
· Каждый процесс должен точно выделить свои потребности в ресурсах по максимуму.
· Когда процесс запрашивает ресурс, ему, скорее всего придется подождать (часто выделение ресурсов по запросу происходит очень долго).
· процесс, получаемый требуемые ресурсы, должен вернуть их системе за определённый период времени.
Когда при описании алгоритма банкира мы будем говорить о ресурсах, мы подразумеваем ресурсы одного и того же типа, и всё же мы будем распространять этот алгоритм на пулы ресурсов нескольких различных типов. Рассмотрим, например, проблему распределения определённого количества t одинаковых лентопротяжных устройств. Операционная система должна обеспечить распределение нескольких фиксированных чисел t одинаковых лентопротяжных устройств между определённым числом пользователей. Все пользователи заранее указывает на максимальное число устройств, которые ему понадобятся во время выполнения своей программы на машине. Операционная система принимает запрос пользователя только лишь в том случае, если максимальная потребность этого пользователя в лентопротяжных устройствах не выше t. Пользователь может освобождать или занимать устройства по одному, а может и все сразу. Возможно, что порой надо будет ждать, чтобы выделили дополнительное устройство. Текущее число устройств, которое было выделено пользователю, никогда не может превышать указанную максимальную потребность этого пользователя. Если операционная система может удовлетворить его максимальную потребность пользователя в устройствах, то пользователь гарантирует, что вернёт эти устройства в течении определённого времени(т.е. когда закончить его использовать). Текущее состояние вычислительной машины можно назвать только тогда надежным, когда операционная система может обеспечить всем текущим пользователям завершение их заданий в течение конечного времени. Если этого не случилось то тогда такое состояние системы называется ненадежным.
Представим теперь, что работают К пользователей. Пусть l(i) предполагает текущее количество лентопротяжных устройств, отведённых i пользователю. Если, например, пользователю 5 выделены четыре устройства, то l(5)=4. Пусть т(i) - максимальная потребность пользователя i, так что если пользователь 3 имеет максимальную потребность в двух устройствах, то m(3)=2. Пусть c(t) - текущая потребность пользователя, которая равна его максимальной потребности минус текущее число отведённых ему ресурсов. Если, например, пользователь 7 имеет максимальную потребность в шести лентопротяжных устройствах, а текущее количество отведённых ему устройств составляет четыре, то мы получим:
с (7)=m (7) - 1(7)=6 - 4=2.
В составе операционной системы имеются t лентопротяжных устройств. Число устройств, остающихся для распределения, обозначим через v . Тогда v равно t минус суммарное число устройств, отведённых различным пользователям.
Алгоритм банкира, который был предложен Дейкстрой, говорит о том, что выделять лентопротяжные устройства пользователям можно лишь только в том случае, если после очередного выделения устройств состояние системы остается надежным. Надежное состояние - это состояние, при котором все пользователи со временем могут завершить свою работу Ненадежное состояние - это состояние, которое может со временем может привести к тупику.
3.2 Примеры надёжного и ненадёжного состояния
3.2.1 Пример надежного состояния
Представим, что система имеет двенадцать одинаковых лентопротяжных устройств, причем эти накопители распределяются между тремя пользователями, как показано в таблице 1.
Таблица 1 - надёжное состояние
|
Текущее количество выделенных устройств |
|
Максимальная потребность |
|
Пользователь (1) |
1 |
|
4 |
|
Пользователь (2) |
4 |
|
6 |
|
Пользователь (3) |
5 |
|
8 |
|
Резерв |
|
2 |
|
Это состояние является «надежным», поскольку при этом состоянии все три пользователя закончат работу. Отметим, что в текущий момент пользователь (2) имеет четыре выделенных ему устройства и со временем потребуется ещё больше, максимум шесть, т. е. два дополнительных устройства. В наличии у системы находится двенадцать устройств, из которых десять в реальном времени в работе, а два остальных -- в резерве. Если два остальных резервных устройства, которые имеются в наличии, выделить пользователю (2), удовлетворяя тем самым максимальную потребность этого пользователя, то он может продолжать свою работу пока не завершится. После того как он завершился пользователь (2) освободит все шесть своих устройств так, что система сможет отдать их пользователю (1), а также пользователю (3). Пользователь (1) имеет одно устройство и со временем ему понадобится еще три. У пользователя (3) -- пять устройств и со временем ему понадобится еще три. Если пользователь (2) возвращает шесть накопителей, то три из них можно отдать пользователю (1), который получает таким образом возможность для завершения работы и затем отдать четыре накопителя системе. После всего система может отдать три накопителя пользователю (3), который тем самым также получает возможность закончить работу. Таким образом, основной показатель надежного состояния - это присутствие последовательности действий, позволяющей всем пользователям вовремя закончить работу.
3.2.2 Пример ненадежного состояния
Представим, что двенадцать лентопротяжных устройств, распределены в системе, согласно состоянию таблицы 2
Таблица 2 - ненадёжное состояние
|
Текущее количество выделенных устройств |
|
Максимальная потребность |
|
Пользователь (1) |
8 |
|
10 |
|
Пользователь (2) |
2 |
|
5 |
|
Пользователь (3) |
1 |
|
3 |
|
Резерв |
|
1 |
|
Здесь из двенадцати устройств системы одиннадцать в реальный момент находятся в работе и только одно остается в резерве. В такой ситуации несмотря от того, какой из пользователей запросит данное резервное устройство, мы не сможем дать гарантию, что все три пользователя смогут закончить работу. И на самом деле, представим, что пользователь (1) запрашивает и получает последнее из оставшихся устройств. При этом случае возникновения тупиковой ситуации может возникнуть в трех случаях, когда каждому из трех процессов нужно запросить хотя бы одно дополнительное устройство, не возвратив определённое количество устройств в общий пул ресурсов. Здесь надо отметить, что определение «ненадежное состояние» не предполагает, что в настоящий момент существует или в какое-то время может обязательно возникнуть тупиковая ситуация.
3.2.3 Пример перехода из надежного состояния в ненадежное
Если известно, что данное состояние надежно, это не значит, что все остальные состояния также будут надежными. Механизм распределения ресурсов должен точно анализировать все запросы на выделение ресурсов, прежде чем он их удовлетворит. представим, например, случай, когда система находится в текущем состоянии, показанном как таблица 3. Предположим теперь, что пользователь (3) запрашивает дополнительный ресурс. Если система удовлетворит этот запрос, то она перейдёт в новое состояние, показанное в таблице 4. Состояние в таблице 4 не должно привести к тупиковой ситуации. Если, конечно, состояние в таблице 3 было надежным, то состояние в таблице 4 сразу же станет ненадежным.
Таблица 3 - переход из надежного в ненадёжное состояние(1 часть)
|
Текущее количество выделенных устройств |
|
Максимальная потребность |
|
Пользователь (1) |
1 |
|
4 |
|
Пользователь (2) |
4 |
|
6 |
|
Пользователь (3) |
5 |
|
8 |
|
Резерв |
|
2 |
|
Таблица 3 - переход из надежного в ненадёжное состояние(2 часть)
Текущее количество выделенных устройств |
Максимальная потребность |
|||
Пользователь (1) |
1 |
4 |
||
Пользователь (2) |
4 |
6 |
||
Пользователь (3) |
6 |
8 |
||
Резерв |
1 |
Состояние показанное в таблице 4 характеризует систему, в которой нет гарантии успешного завершения всех процессов пользователей. Здесь в резерве останется только один ресурс, а на самом деле в наличии должно быть как минимум два ресурса, чтобы либо пользователь (2), либо пользователь (3) могли завершить свою работу нормально, возвратить занимаемые ими ресурсы в систему и позволить оставшимся пользователям закончить работу.
3.3 Структуры данных для алгоритма банкира
Пусть в системе имеется n процессов и m типов ресурсов. Вектор Available длины m содержит информацию о доступных ресурсах. Если Avaliable[j] = k, то в системе в настоящем времени присутствует k единиц ресурса j. Матрица Max (n *m) показывает максимальные потребности процессов в ресурсах. Если Max [i, j] = k, то процесс i может запросить, самое большее, k единиц ресурса j. Матрица Allocation (n * m) показывает фактическую отдачу системой ресурсов. Если Allocation [i, j] = k, то процессу i в настоящем времени выделено системой k единиц ресурса j. Матрица Need (n * m) показывает оставшиеся потребности процессов в ресурсах. Если Need [i, j] = k, то процессу i могут понадобиться еще k единиц ресурса j для завершения работы. Имеет место следующее соотношение между элементами матриц: Need [i, j] = Max [i, j] - Allocation [i, j].
3.4 Алгоритм проверки состояния системы на безопасность
В разделе структуры данных для алгоритма банкира, представлен алгоритм проверки состояния системы на то, является ли алгоритм безопасным. Введем целочисленный вектор Work (длины m ) и булевский вектор Finish (длины n ). Вектор Work показывает пробные выделения ресурсов. Вектор Finish показывает данные о завершённости процессов при текущем состоянии системы.
Алгоритм безопасности.
Шаг 1. Инициализация.
Work = Available
Finish [i] = false для i = 1, …, n.
Здесь и в дальнейшем все присваивания и сравнения, в которых принимают участие векторы или матрицы, производится поэлементно.
Шаг 2. Найдём i, при значениях:
Finish [i] = false
Need [i] <= Work
Если такого i не существует, то тогда переходим к шагу 4.
Шаг 3.
Work = Work + Allocation [i]
Finish [i] = true
Переходим к шагу 2.
Шаг 4. Если Finish[i] = true для всех i = 1, …, n, то система в безопасном состоянии.
Необходимые пояснения к алгоритму:
· Алгоритм выполняет безопасную последовательность номеров процессов i, если она есть. На каждом шаге, после нахождения очередного элемента последовательности, алгоритм моделирует освобождение i - м процессом ресурсов после того как его завершил.
· На шаге 1 присваивание векторов происходит поэлементно.
· На шаге 2, Need - матрица потребностей ( n * m ); Need[i] - строка матрицы, представляющая вектор потребностей (длины m ) процесса i. Сравнение происходит поэлементно, и в результате считается верным, если соотношение сделано для всех элементов векторов. Проверяемое условие означает, что потребности процесса i с найденным номером могут быть выполнены немедленно, и процесс их получает и завершиться.
· На шаге 3, Allocation [i] - строка матрицы Allocation ,которая обозначает текущие ресурсы, выделенные процессу i. С помощью вектора Work моделируется освобождение ресурсов i - м процессом, после этого процессу присваивается признак завершенности.
3.5 Алгоритм запроса ресурсов для процесса Pi - основная часть алгоритма банкира
Для основного алгоритма введем вектор Requesti (длины m) - вектор запросов для процесса Pi . Если Requesti [j] = k, то процесс Pi запрашивает k экземпляров ресурса Rj.
Шаг 1. Если Requesti <= Need[i], переходим к шагу 2. Иначе надо сгенерировать исключительную ситуацию.
Шаг 2. Если Requesti <= Available, переходим к шагу 3. Иначе процесс будет ждать, так как данный ресурс недоступен.
Шаг 3. Спланировать выделение ресурса процессу Pi , усовершенствовав состояние системы следующим образом:
Available = Available - Requesti
Allocation = Allocation + Requesti
Need [i] = Need [i] - Requesti
Вызываем алгоритм проверки безопасности полученного состояния.
Если состояние безопасно, выделить ресурс процессу Pi . Выход. Если состояние небезопасно, нужно восстанавливать предыдущее состояние; процесс надо подождать.
3.6 Пример использования алгоритма банкира
Пусть у нас существует 5 процессов - P0 , …, P4 , и 3 типа ресурсов - ресурс A (10 экземпляров), ресурс B (5 экземпляров) и ресурс C (7 экземпляров).
Состояние системы в момент T0 показано на рис. 2.
Allocation |
Max |
Available |
||||||||
A |
B |
C |
A |
B |
C |
A |
B |
C |
||
P0 |
0 |
1 |
0 |
7 |
5 |
3 |
3 |
3 |
2 |
|
P1 |
2 |
0 |
0 |
3 |
2 |
2 |
||||
P2 |
3 |
0 |
2 |
9 |
0 |
2 |
||||
P3 |
2 |
1 |
1 |
2 |
2 |
2 |
||||
P4 |
0 |
0 |
2 |
4 |
3 |
3 |
рис. 2
Вычисляем матрицу потребностей Need = Max - Allocation(рис. 3)
Need |
||||
A |
B |
C |
||
P0 |
7 |
4 |
3 |
|
P1 |
1 |
2 |
2 |
|
P2 |
6 |
0 |
0 |
|
P3 |
0 |
1 |
1 |
|
P4 |
4 |
3 |
1 |
рис. 3
Отсюда можно нетрудно видеть, что система в безопасном состоянии.
Последовательность процессов <P1, P3, P4, P2, P0> удовлетворяет показателям безопасности. В продолжение примера, представим, что процесс P1 сделал запрос (1 0 2).
Проверяем, что Request <= Available: <(1 0 2) <= (3 3 2) = true.
Выполняем запрос.
Состояние системы принимает вид (рис. 4):
Allocation |
Max |
Available |
||||||||
A |
B |
C |
A |
B |
C |
A |
B |
C |
||
P0 |
0 |
1 |
0 |
7 |
4 |
3 |
2 |
3 |
0 |
|
P1 |
3 |
0 |
2 |
0 |
2 |
0 |
||||
P2 |
3 |
0 |
1 |
6 |
0 |
0 |
||||
P3 |
2 |
1 |
1 |
0 |
1 |
1 |
||||
P4 |
0 |
0 |
2 |
4 |
3 |
1 |
рис. 4
Реализация алгоритма безопасности показывает, что последовательность процессов <P1, P3, P4, P0, P2> удовлетворяет критерию безопасности.
ЗАКЛЮЧЕНИЕ
В данной курсовой работе были рассмотрены такие актуальные на сегодняшний день вопросы как реализация алгоритма безопасности системы, а также основные угрозы по отношению к информации и средства их устранения. Можно сделать вывод что не существует одного абсолютно надежного средства защиты от атак. Наиболее полную безопасность можно обеспечить только при взаимодействии средств защиты. Необходимо всё время следить за новыми средствами для устранения атак для того чтобы улучшить безопасность системы.
Также в информационной безопасности применяется алгоритм банкира предложенный Э. Дейкстрой для избегания тупиков при распределении ресурсов операционной системой. В котором при рациональном способе использования ресурсов, придерживаясь определённых правил можно препятствовать возникновению тупиковых ситуаций в системе. В алгоритме существует три состояния: надёжное, ненадёжное и переход из надёжного состояния в ненадёжное. У этого метода есть не только плюсы, но и серьёзные недостатки, из-за которых разработчик может выбрать другой подход для решения проблемы тупиков:
· Алгоритм банкира исходит из фиксированного количества ресурсов
· Алгоритм требует, чтобы было постоянное число работающих пользователей.
· Данный алгоритм требует, чтобы распределитель гарантированно удовлетворял запросы за конечный период времени, а для реальных систем нужны более конкретные гарантии.
· Алгоритм требует, гарантированное возвращение ресурсов от клиента.
Опять же в реальных системах требуются более конкретные гарантии.
· Требуется, чтобы пользователи заранее указали свои максимальные потребности в ресурсах. При динамическом распределении ресурсов сложно оценить максимальные потребности пользователей.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Макаренко С.И. Информационная безопасность: учебное пособие для
студентов вузов/С.И. Макаренко. - СФ МГГУ им. М.А. Шолохова, 2009. -372 с.
2. Технические средства и методы защиты информации: Учебник для
вузов / Зайцев А.П., Шелупанов А.А., Мещеряков Р.В. и др.; под ред. А.П. Зайцева и А.А. Шелупанова. - М.: ООО «Издательство Машиностроение», 2009 -
508 с.
3.Проскурин, В.Г. Защита в операционных системах / В.Г. Проскурин, С.В. Крутов И.В. Мацкевич. - М. : Радио и связь, 2005.
4. Безбогов, А.А. Безопасность операционных систем : учебное пособие / А.А. Безбогов, А.В. Яковлев, Ю.Ф. Мартемьянов. - М. : "Издательство Машиностроение-1", 2007. - 220 с. - 400 экз.
5. Красиков И.В. Алгоритмы. Просто как дважды два / И.В. Красиков, И.Е. Красикова. - М.: Эксмо , 2007. - 256 с.
6. Голицина О.Л., Попов И.И. Основы алгоритмизации и программирования: учеб. Пособие. / Голицина О.Л., Попов И.И - 3-е изд., испр. и доп. - М: ФОРУМ, 2008 - 432 с.
7. Информатика и информационные технологии: учебное пособие / под ред. Ю.Д. Романова, И.Г. Лесничой, В.И. Шестакова, И.В. Миссинга, П.А. Музычкина. - М.: Эксмо, 2008. - 592 с.
8. Мостовой Д.Ю. Современные технологии борьбы с вирусами / Д.Ю. Мостовой - Мир ПК, №8. - 2009. - 148 с.
9. Щербаков, А.Ю. Современная компьютерная безопасность. Теоретические основы. Практические аспекты. / А.Ю. Щербаков - М.: Книжный мир, 2009. - 352 с.
10. Дейтел, Х.М. Операционные системы. Ч. 2: Распределенные системы, сети, безопасность / Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. - М. : Бином, 2006.
11. Шаньгин, В.Ф. Защита компьютерной информации. Эффективные методы и средства. / В.Ф. Шаньгин - М.: ДМК Пресс, 2008. - 544 с.
12. Аверченков В.И. Разработка системы технической защиты информации / В.И. Аверченков - Брянск.: БГТУ, 2008. - 187 с.
13. Гмурман А.И. Информационная безопасность/ А.И. Гмурман - М.: «БИТ-М», 2007. - 387с.
14. Галатенко, В.А. Стандарты информационной безопасности. / В.А. Галатенко - М.: Интернет - университет информационных технологий, 2010. - 264 с.
15. Ярочкин, В.И. Информационная безопасность. Учебник для вузов / В.И. Ярочкин - М.: Академический проект, Мир, 2008. - 544 с.
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма и реализация интеллектуальной информационной системы, позволяющей оценить время в неделю, необходимое для осуществления функций технической поддержки администратора с необходимым уровнем надежности работы локальной сети.
курсовая работа [37,4 K], добавлен 01.12.2009Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Описание алгоритма RSA: шифрование и дешифрование. Возможные атаки, способы взлома, обоснование и практическая реализация RSA.
курсовая работа [45,9 K], добавлен 24.12.2011Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.
курсовая работа [1010,4 K], добавлен 10.08.2014Безопасное состояние информационной системы. Основные утверждения (факты). Алгоритм построения графа распределения ресурсов для стратегии избежания тупиков. Структуры данных для алгоритма банкира, пример его использования. Алгоритм обнаружения тупиков.
презентация [1,3 M], добавлен 24.01.2014Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.
дипломная работа [5,4 M], добавлен 08.02.2016Алгоритмы получения реалистических изображений. Применение алгоритма обратной трассировки лучей, ее математическая основа. Составление матрицы и программная реализация. Формирование отраженного и преломленного луча. Модульная структура программы.
курсовая работа [219,3 K], добавлен 24.06.2009Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011Постановка задачи для машинного моделирования, определение параметров и переменных. Алгоритмизация модели и её машинная реализация. Реализация алгоритма моделирования на общесистемном языке программирования. Описание диалога с пользователем, интерфейс.
курсовая работа [703,1 K], добавлен 14.01.2013История возникновения алгоритма симметричного шифрования, условия и особенности его применения на современном этапе. Принципы и функции исследуемой технологии. Анализ главных преимуществ и недостатков использования алгоритма, оценка его уязвимости.
курсовая работа [301,9 K], добавлен 29.10.2017