Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
Российский государственный гидрометеорологический университет
Кафедра ИТ и СБ
Курсовая работа по дисциплине
Основы Информационной безопасности
“Данные и типы данных. Методы программной защиты”
Выполнил: ст.гр. ИБ-434
Чистякова О.С.
Проверил: профессор
Гагарин Ю. И.
Санкт-Петербург
2013
Содержание
1.1 Классическая архитектура фон Неймана…………………………………………………3
1.2 Структура ЭВМ на основе единого интерфейса…………………………………………4
2.1 Общие сведения по организации и доступу к данным в ЭВМ………………………….5
2.2 Логический тип данных……………………………………………………………………5
2.3 Арифметический тип данных………………………………………………………………7
2.4 Текстовый тип данных………………………………………………………………………9
2.5 Практическая часть………………………………………………………………………….9
3.2 Интегрированная среда разработки Borland Turbo C++ 3.0…………………………..…12
3.3 Практическая часть……………………………………………………………………..….15
4.1 Общие положения……………………………………………………………...…………..17
4.2 Парольная защита…………………………………………………………………………..17
4.3 Программно-аппаратная защита…………………………………………………………..20
1. Общая структура программно-аппаратных средств вычислительных
систем и сетей ЭВМ.
1.1 Классическая архитектура фон Неймана.
Архитектура фон Неймана широко известный принцип совместного хранения программ и данных в памяти компьютера. Вычислительные системы такого рода часто обозначают термином «машина фон Неймана», однако соответствие этих понятий не всегда однозначно. В общем случае, когда говорят об архитектуре фон Неймана, подразумевают физическое отделение процессорного модуля от устройств хранения программ и данных. Архитектура фон Неймана представлена на рисунке 1.
Рис.1 Архитектура фон Неймана.
Принципы фон Неймана:
Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Основная память структурно состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
Предполагает, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Неизменяемость в процессе работы топологии, архитектуры, списка команд.
1.2 Структура ЭВМ на основе единого интерфейса.
Типовая структура ЭВМ на основе единого интерфейса (общей шины) приведена на рисунке 2.
Все устройства компьютера подключаются к единому интерфейсу (общей шине). Переферийные устройства (дисплей, клавиатура, накопитель на жестких (НМД) и гибких (НГМД) магнитных дисках, принтер и т. д.) подключаются к интерфейсу через свои контроллеры ПУ (КПУ управление периферийным устройством). Контроллеры обеспечивают сопряжение ПУ с другими устройствами ЭВМ, а также синхронизируют обмен между ОП и ПУ.
Рис. 2 Архитектура ЭВМ на основе единого интерфейса.
2. Исследование двоичных форм представления данных в ЭВМ.
2.1 Общие сведения по организации и доступу к данным в ЭВМ.
В ЭВМ существует два направления организации двоичной информации:
Далее будут рассмотрены данные, а именно логические, арифметические и текстовые. Они могут быть организованы следующими способами:
2.2 Логический тип данных.
Логический (булев) тип данных тип данных, которые может принимать только два значения: правда (TRUE) или ложь (FALSE). В языках программирования за правду принимают 1, за ложь 0.
Булев тип данных может быть реализован с использованием только одного бита, но обычно используется минимальная адресуемая ячейка памяти (байт) или машинное слово, как эффективная единица работы с регистрами и оперативной памятью.
К этому типу данных применимы следующие операции:
Логическое умножение
AND (И) выполняет поразрядную конъюнкцию (логическое умножение операцию «И») битов двух чисел; устанавливает 1 в тех битах результата, в которых у обоих исходных операндов были 1.
Рис. 3 Условное обозначение и таблица истинности операции И
Логическое сложение
OR (ИЛИ) выполняет поразрядную дизъюнкцию (логическое сложение операцию «ИЛИ») битов двух чисел; устанавливает 1 в тех битах результата, в которых была 1 хотя бы у одного из исходных операндов.
Рис. 4 Условное обозначение и таблица истинности операции ИЛИ
Операция отрицания
NOT (HE) команда устанавливает обратное значение битов в числе (операция инверсии).
Рис. 5 Условное обозначение и таблица истинности операции НЕ
2.3 Арифметический тип данных.
К арифметическим типам данных относятся группы вещественных и целых типов. К ним применимы арифметические операции и операции отношений.
Целые числа
Как правило, целые числа хранятся в компьютере в двоичной форме. Разумеется при вводе мы записываем их в привычной для нас десятичной системе счисления, но компьютер сразу же переводит его в двоичную систему. При этом многие вычислительные системы соблюдают ещё три правила:
Пример. Операция сложения положительного числа и отрицательного числа, представленного в дополнительном коде.
Прямой код числа 5: 0 000 0101
Прямой код числа -7: 1 000 0111
Формирование дополнительного кода числа -7.
Прямой код : 1 000 0111
Инверсия : 1 111 1000
Добавление единицы: 1 111 1001
Операция сложения.
0 000 0101
+ 1 111 1001
--------------
1 111 1110
Проверка результата путем преобразования к прямому коду.
Дополнительный код: 1 111 1110
Вычитание единицы : 1 111 1101
Инверсия : 1 000 0010 (или -210)
Вещественные числа
Вещественные числа хранятся в оперативной памяти в форме с плавающей точкой. Эта форма записи 0.35 * 1012 по-другому называется «научной». Коэффициент при 10 называется мантиссой, степень числа 10 порядком числа. В компьютере мантисса записывается в двоичной форме и применяется степень числа 2, а не 10. При этом хранится только знак числа, мантисса и характеристика числа, число 2 не хранится и никакого умножения на степень двойки не выполняется. Поскольку запись с плавающей точкой неоднозначна, 0.35 * 1012 = 0.035 * 1013 = 3.5 * 1011, договорились выбрать нормализованную запись, при которой целая часть мантиссы равна нулю, а дробная часть начинается с 1.
У нормализованной мантиссы хранятся только двоичные цифры дробной части. Поскольку вследствие нормализации в такой записи старший бит всегда равен 1, то он не хранится. Это так называемый скрытый бит. Скрытый бит всегда автоматически добавляется к мантиссе при извлечении её из оперативной памяти.
Двоичный порядок числа, т. е. степень числа 2, преобразуется в характеристику числа. Характеристика получается прибавлением к порядку числа 127 или 1023 в зависимости от длинны типа. Зачем это нужно? Порядок числа может быть положительным или отрицательным, значит надо где-то хранить знак порядка. Вместо этого решили сдвинуть порядок вправо по числовой оси в неотрицательную область. Характеристика вещественного числа это всегда неотрицательное целое число.
Рис. 6 Представление вещественного числа в двоичных разрядах
Арифметические операции
К арифметическим в языках программирования относятся:
2.4 Текстовый тип данных.
Текстовый тип данных хранится и обрабатывается в ЭВМ в форме цифрового кода. Необходимый набор символов, предусмотренный конкретной ЭВМ, обычно включает в себя:
Кроме того, в состав набора входят управляющие символы, соответствующие определенным функциям.
Текстовый тип вводится с клавиатуры, для символов клавиатуры разработаны специальные коды двоичной информации ASCII (American Standart Code for Information Interchange) американский стандартный код обмена информацией.
Восьмибитовая кодировка символов состоит из двух таблиц кодирования: базовой и расширенной. Базовая таблица построена по стандарту ASCII и одинакова для всех компьютеров. Первые 32 кода (с 0 до 31) содержат управляющие коды, с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических операций и некоторых вспомогательных символов. Расширенная таблица относится к символам с номерами от 128 до 255 и может отличаться на компьютерах разного типа. В ней содержатся символы псевдографики, символы национального алфавита, специальные знаки.
2.5 Практическая часть.
Методика выполнения работы.
Создаем программу с помощью Turbo C+, исполняющую простые математические операции. Данные вводятся при помощи клавиатуры. Все арифметические операции выполняются в поле вещественных чисел. Было рассмотрено выполнение таких арифметических операций как +,-. Использован такой тип данных, как int целые.
Листинг программы:
#include<conio.h>
#include<stdio.h>
#include<math.h>
main(){
int a,b,c,d;
printf("Vibirite operaciy?\n");
printf("1-+\n2--\n3-||\n");
scanf("%d",&d);
printf("Vvedite chislo A\n");
scanf("%d",&a);
printf("\n Chislo v shesnacatirichnoi=%x\n",a);
printf("Vvedite chislo B\n");
scanf("%d",&b);
printf("\n Chislo v shesnacatirichnoi=%x\n",b);
switch(d)
{
case 1: c=a+b;break;
case 2: c=a-b;break;
case 3: c=a||b;break;
}
printf("Rezyltat v desjatichnoi=%d\n",c);
printf("\nRezyltat v shesnacatirichnoi=%x\n",c);
getch();
clrscr();
}
Вывод программы
Рис. 7 Работа программы
3. Исследование структуры и функциональных возможностей пакетов программ
Пакет прикладных программ набор взаимосвязанных модулей, предназначенных для решения задач определённого класса некоторой предметной области. По смыслу ППП было бы правильнее назвать пакетом модулей вместо устоявшегося термина пакет программ. Отличается от библиотеки тем, что создание библиотеки не ставит целью полностью покрыть нужды предметной области, так как приложение может использовать модули нескольких библиотек. Требования же к пакету программ жёстче: приложение для решения задачи должно использовать только модули пакета, а создание конкретного приложения может быть доступно не программистам.
Пакет прикладных программ отдельная программная разработка, состоящая из комплекса взаимосвязанных программ для решения задач определенного класса конкретной предметной области.
Математическая модель, применяемая для структуризации пакета:
∆ = <L, P, M, F>
L множество конструкций/элементов входного языка программирования; сочетания операторов и графических объектов ЯП.
P множество проблемных(предметных) программ; которые ориентированы на отладку программы.
М информационная/проблемная часть ППП - определяет решаемые с помощью данного ППП задачи.
F - управляющая/системная часть ППП множество директив, дополнительных/подключаемых библиотек функций.
P= { E, C, R}
E edit текстовый редактор предназначен для редактирования текста программы и его перевода в двоичный ASCII-код
С compile компилятор в качестве транслятора- служит для получения из ASCII-кода объектного файла, т.е. кодирование в двоичные коды команд (объектные коды), а так же подключать библиотеки. Компилятор транслирует программу сразу целиком, и лишь после этого возможно её выполнение. Интерпретатор же это более простой транслятор, он последователь транслирует операторы программы и так же по частям её выполняет.
R run - программа-загрузчик - создает загрузочный файл, в котором находятся двоичные команды. Загрузочный файл может быть загружен в ОЗУ непосредственно, т.е. без загрузки в ОЗУ ППП. В результате работы программы-загрузчика создается загрузочный файл (*.exe) .
3.2 Интегрированная среда разработки Borland Turbo C++ 3.0
Входной язык ППП Borland Turbo C++ это проблемные языки программирования высокого уровня (Си и С++). Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры).
В области проблемных программ данного пакета можно выделить:
1. Текстовый редактор исходного текста программы (Editor)
Текстовый редактор
Для создания и редактирования исходного кода программ может быть отдельным приложением, или встроен в интегрированную среду разработки (IDE). На выходе текстового редактора образуется двоично-кодированный текстовый файл исходных текстов. Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования исходного кода, если они не не имеют расширенных возможностей, автоматизирующих или упрощающих ввод и модификацию кода, то они не могут называться «редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
Рис. 8 Текстовый редактор С++ Builder
Компилятор
Транслятор - это программа, обеспечивающая перевод исходной программы пользователя на внутренний язык компьютера. Он работает под управлением ОС, которая и обеспечивает связь его с устройствами и блоками электронно-вычислительных машин.
Компиляция трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, обычно на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код). Процесс компиляции как правило состоит из нескольких этапов: лексического, синтаксического и семантического анализов, генерации промежуточного кода, оптимизации и генерации результирующего машинного кода. Помимо этого, программа как правило зависит от сервисов, предоставляемых операционной системой и сторонними библиотеками (например, файловый ввод-вывод или графический интерфейс), и машинный код программы необходимо связать с этими сервисами. Связывание со статическими библиотеками выполняется редактором связей или компоновщиком (который может представлять собой отдельную программу или быть частью компилятора), а с операционной системой и динамическими библиотеками связывание выполняется при начале исполнения программы загрузчиком.
Рис. 9 Cхема работы компилятора.
Отладчик
Отладчик программный модуль, предназначенный для поиска ошибок в программах и других видах кода. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т. д.
Загрузчик
Загрузчик - программа, которая подготавливает объектную программу к выполнению и инициирует ее выполнение. Многие загрузчики обеспечивают, кроме того, перемещение и связывание. В некоторых системах функция связывания отделена от функций перемещения и загрузки. Связывание выполняется специальной программой связывания (или редактором связей), перемещение и загрузка - загрузчиком.
Связывание - это связывание двух или более отдельных оттранслированных программ.
Перемещение - это модификация объектной программы так, чтобы она могла загружаться с адреса, отличного от первоначального.
Функции загрузчика:
Рис. 10 Технология отладки программ
3.3 Практическая часть.
Методика выполнения работы
В качестве предметной области будем использовать систему отладки программ пользователя написанных на языке высокого уровня С++. Язык С используется при разработке таких программных продуктов, как операционные системы, текстовые редакторы, графические приложения, программы делопроизводства и другие.
Рис.11 Окно текстового редактора С++
Компиляция
Компилятор программа или техническое средство, выполняющее компиляцию.
Компиляция трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера). Входной информацией для компилятора (исходный код) является описание алгоритма или программа на проблемно-ориентированном языке, а на выходе компилятора эквивалентное описание алгоритма на машинно-ориентированном языке (объектный код).
Компилировать проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.
Входной параметр для компилятора это исходный текс программы. Включение процесса компиляции происходит при нажатии ALT+F9.
Процесс отладки.
Отладчик компьютерная программа или часть программы, предназначенная для поиска ошибок в коде. Отладчик позволяет выполнять трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.
Выполнение программы с помощью загрузчика RUN
Программу можно запустить в различных режимах:
- Запуск
- Сброс
- Перейти на метку
- Следующий шаг
- До следующего шага
- Шаг вверх
Исходная программа созданная в 1 лабораторной работе была прокомпилирована.
Рис. 12 Откомпилированная программа
Затем запущена. Были выведены результаты обработки на экран и готова к завершению работы, и выходит в окно редактирования кода
4. Защита от несанкционированного доступа.
4.1 Общие положения.
Естественным ходом развития информационных технологий явился принципиальный переход от открытости к защищенности при построении информационных систем. На сегодняшний день большинство программных продуктов, применяющихся для построения информационных систем, обладают встроенными средствами защиты. Это касается не только ОС, но СУБД и других приложений. Например, взамен протокола IP v4.0, изначально созданного для реализации единого открытого сетевого пространства, предлагается версия протокола IPSec, содержащая развитые возможности обеспечения информационной безопасности. Таким образом, наблюдается общая тенденция усиления роли механизмов защиты от несанкционированного доступа в современных информационных и сетевых технологиях.
Данную тенденцию наглядно иллюстрирует развитие ОС MS Windows. Можно четко проследить развитие встроенных в ОС механизмов защиты от Windows 3.1 (где механизмы защиты практически отсутствовали), к Windows NT (где механизмы защиты интегрированы в ядро ОС) и к Windows 2000 (где интеграция захватывает и внешние по отношению к разработчикам технологии защиты, такие как Kerberos, IР-тунелирование и т.д.). То же самое можно сказать и о других семействах ОС. Например, в ОС FreeBSD в каждой из новых версий появляются новые механизмы защиты (firewall, nat). Такое же развитие средств защиты касается и прикладного программного обеспечения (ПО). В СУБД (Oracle) развитие защитных механизмов выражается в шифровании трафика, усложнении авторизации, добавлении разграничения доступа к элементам таблиц и т.п.
4.2 Парольная защита.
Функциональное назначение механизмов парольной защиты
Пароль представляет собой последовательность символов некоторого алфавита и специальных знаков Последовательность должна удовлетворять ограничению на наименьшую и наибольшую длину
По функциональному назначению парольный вход, как правило, используется для контроля загрузки системы, контроля функционирования, с целью блокировки и контроля доступа. Для ввода пароля используется клавиатура или более современные методы, такие как голосовой набор или интерактивный набор пароля.
С целью контроля загрузки может устанавливаться процедура идентификации и аутентификации пользователя перед началом загрузки системы, например, встроенными средствами BIOS. В этом случае выполнить загрузку системы сможет только санкционированный пользователь.
Идентификация призвана каждому пользователю (группе пользователей) сопоставить соответствующую ему разграничительную политику доступа на защищаемом объекте. Для этого пользователь должен себя идентифицировать указать своё имя (идентификатор). Таким образом проверяется, относится ли регистрирующийся пользователь к пользователям, идентифицируемым системой. И в соответствии с введённым идентификатором пользователю будут сопоставлены соответствующие права доступа.
Аутентификация предназначена для контроля процедуры идентификации. Для этого пользователь должен ввести пароль. Правильность вводимого пароля подтверждает однозначное соответствие между регистрирующимся пользователем и идентифицированным пользователем.
Для решения задачи контроля функционирования вычислительной системы при помощи пароля выделяются:
1. Контроль пользователя при доступе в систему. Реализуется в том числе штатными средствами ОС.
2. Контроль при запуске процесса. Благодаря этому при запуске некоторых приложений может быть установлена парольная защита. Прежде всего, здесь интерес представляет установка пароля ответственного лица.
3. Контроль при доступе к локальным ресурсам. Например, при доступе к локальному принтеру и т.д. также может использоваться аутентификация ответственного лица.
4. Контроль при доступе к сетевым ресурсам. Реализуется в том числе штатными средствами ос. Например, доступ к ресурсам можно разделить паролем.
В качестве реакции на несанкционированные действия пользователя системой защиты может устанавливаться блокировка некоторых функций: загрузки системы, доступа в систему, учетных записей пользователя (идентификаторов), запуска определенных приложений. Для снятия блокировки необходима авторизация администратора безопасности или ответственного лица.
Кроме того, пользователь может сам выставит блокировку на доступ к системе и к приложениям, и т.д., чтобы доступ в систему и к этим приложениям в его отсутствии был блокирован. Для разблокировки приложения в его отсутствии был блокирован. Для разблокировки приложения необходимо авторизоваться текущему пользователю. При этом администратор безопасности может блокировать учетные записи пользователей для входа в систему в нерабочее время.
С учётом введенной классификации может быть сделан вывод о функциональном назначении применения механизмов парольной защиты:
1. С целью контроля загрузки может устанавливаться возможность контроля пользователя перед началом загрузки системы. Кроме того, контроль пользователя может осуществляться при задании способа и при доступе к заданию режима загрузки.
2. С целью контроля доступа выделяется контроль пользователя при доступе в систему. Также могут иметь место контроль при запуске процесса (прежде всего, здесь интерес представляет установка пароля ответственного лица) и контроль при доступе к локальным и сетевым ресурсам.
3. С целью снятия блокировки используется контроль администратора безопасности. Кроме того, пользователь может выставить блокировку на некоторые приложения и т.д. Для их снятия существует контроль пользователя.
Способы ввода пароля.
В этом разделе мы рассмотрим основные известные на сегодняшний день способы ввода пароля. Все они представлены на рис. 13.
Рис. 13 Способы ввода пароля.
Наиболее очевидный способ ввода пароля, который реализован практически во всех ОС, состоит в вводе пароля с клавиатуры. Недостатком данного способа является возможность визуального съёма пароля злоумышленником. При этом в меньшей степени опасность представляет набор пароля пользователем на клавиатуре - этому можно противодействовать организационными мерами. В большей степени угроза состоит в том, что при задании сложного пароля пользователь стремится его куда-нибудь записать, чтобы не забыть.
В качестве противодействия угрозе визуального съема пароля могут использоваться внешние носители информации. При этом могут использоваться как стандартные средства ввода информации (например, дискета), так и средства, предполагающие подключение специальных средств ввода парольной информации - всевозможные электронные ключи, таблетки и т.д. На этих носителях записывается пароль, который считывается системой при аутентификации пользователя. Здесь может задаваться достаточно большая длина пароля без угрозы его визуального съема. Применение для ввода пароля стандартного или специального носителя с точки зрения обеспечиваемого уровня безопасности практически равноценно. Вопрос выбора носителя определяется его ценой, долговечностью, удобством хранения.
Недостатком применения внешних носителей информации для ввода пароля является потенциальная угроза его хищения злоумышленником. Для противодействия хищению злоумышленником носителя информации с паролем могут рассматриваться следующие альтернативные способы защиты:
1. Использование биометрических характеристик пользователя -подход, позволяющий отказаться от внешнего носителя с паролем как такового. При этом идентификатором пользователя становятся его биометрические параметры. Причем ввиду их однозначного соответствия пользователю эти параметры служат одновременно и паролем.
2. Комбинирование способа ввода пароля с клавиатуры и способа ввода пароля с внешнего носителя. Например, механизм ввода пароля с клавиатуры может рассматриваться как дополнение к механизму ввода пароля с внешнего носителя.
Способы усиления пароля
Рис. 14 Способы усиления пароля
4.3 Программно-аппаратная защита.
Подход к реализации программно-аппаратного контроля активности системы защиты проиллюстрирован рис. 15.
Контроль(мониторинг активности) осуществляется следующим образом.
Программная компонента содержит таймер и датчик активности системы защиты. Датчик активности с задаваемым таймером периодом выдает парольное слово на определенный порт (в плату). Получая данный сигнал, плата определяет активность ПО системы защиты. Если за заданный интервал времени плата не получит парольное слово (сигнал активности), то это будет означать перевод ПО системы защиты в пассивное состояние. В ответ на это плата выработает либо сигнал «Reset», который осуществит перезагрузку системы, либо другую заданную реакцию.
Рис. 15 Схема реализации программно-аппаратного контроля активности системы защиты
Внешние устройства в исходном состоянии отключены. Подключаются они платой только после получения ею первого сигнала (парольного слова) от программной компоненты.
С целью предотвращения эмуляции ПО системы защиты вводится парольное слово. При N-кратной неверной передаче пароля на плату, плата считает, что система защиты не выполняет своих функций и отправляет компьютер на перезагрузку.
Таким образом, преимуществом данного подхода является следующее:
Таким образом, метод защиты от несанкционированного доступа с помощью платы является более надёжным, чем метод защиты с помощью пароля.
PAGE 8