Лекция 3. Защита в windows и unix — КиберПедия 

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

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

Лекция 3. Защита в windows и unix

2021-05-27 15
Лекция 3. Защита в windows и unix 0.00 из 5.00 0 оценок
Заказать работу

Лекция 3. Защита в windows и unix

Функционирование ос unix

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

pwd - определение текущего каталога

ls - получение файлов текущего каталога.

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

Усложненное управление доступом

В составе утилит ОС UNIX находит­ся утилита cron, которая предоставляет возможность запускать пользовательс­кие программы в определенные моменты (промежутки) времени и, соответ­ственно, ввести временные параметры для ограничения доступа пользователей.

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

Совершенствование механизмов защиты

Широкое распространение, многочисленные достоинства и хорошие перспективы ОС UNIX с 1984года были поддержаны попытками стандартизации ее пользовательских интер­фейсов и языка Си. Стандартизация языка Си завершилась принятием стандарта Американского национального института стандартов (ANSI). Про­ект стандарта интерфейсов мобильной ОС, названный POSIX, подготовлен рабочими группами института IEEE (США). В рамках этого проекта разработан интерфейс защиты (управляемого доступа), который отличается от традицион­ного подхода к управлению доступом к данным в ОС UNIX.

В соответствии с разработанным интерфейсом защиты объекты, на которые распространяется управляемый доступ, включают файлы всех типов (в том чис­ле программные каналы) и процессы. Файлы выступают в роли объектов, про­цессы - в роли субъектов. Различается доступ к объектам, основанный на диск­ретном выборе, и доступ, основанный на полномочиях.

Дискретный выбор

Использует соответствие списков (для каждого объек­та составляются списки субъектов, доступ которых к объекту разрешен). Этот механизм доступа реализован в имеющихся версиях ОС UNIX.

Доступ, основанный на полномочиях

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

Операционная система Linux

Linux - это современная UNIX -подобная операционная система для персональ­ных компьютеров и рабочих станций, удовлетворяющая стандарту POSIX. Как известно, Linux — это свободно распространяемая версия UNIX -систем. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.

Изначально система Linux создавалась как «самодельная» UNIX -подобная реали­зация для машин типа IBM PC с процессором i80386. Однако вскоре Linux стала настолько популярна и ее поддержало такое большое число компаний, что в насто­ящее время имеются реализации этой операционной системы практически для всех типов процессоров и компьютеров на их основе. На базе Linux создаются и встро­енные системы, и суперкомпьютеры. Система поддерживает кластеризацию и боль­шинство современных интерфейсов и технологий.

Большинство свойств Linux присущи другим реализациям UNIX, кроме того, име­ются некоторые уникальные свойства. Этот раздел представляет собой лишь краткий обзор этих свойств.

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

Mandrake Linux release 9.0 (dolphin) for i586

Kernel 2.4.16-16mdk on an i686 /ttyl

vienna login: :

Здесь во второй строке слово ttyl означает, что пользователь сейчас взаимодействует с системой через первый виртуальный терминал. Собственно работа на нем возможна только после аутентификации — ввода своих учетного имени и пароля. При желании открыть второй или последующий сеанс работы на соответствующем терминале, пользователь должен нажать комбинацию клавиш Alt+Fi, где i обозначает номер функциональной клавиши и одновременно номер соответствующего виртуального терминала. Всего Linux поддерживает до семи терминалов причем седьмой терминал связан с графическим режимом работы и использованием одного из оконных менеджеров. Однако если пользователь работает в графическом режиме, то для перехода в один из алфавитно-цифровых терминалов следует воспользоваться комбинацией клавиш CtrL+Alt+Fi. В каждом сеансе пользователь может запускать свои задачи.

Система Linux достаточно хорошо совместима с рядом стандартов для UNIX (на сколько можно говорить о стандартизации UNIX) на уровне исходных текстов, включая IEEE POSIX.I, System V и BSD. Кроме того, все исходные тексты для Linux, включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства распространяются свободно. Другие специфические внутренние черты Linux включают контроль работ по стандарту POSIX (используемый оболочками, такими как csh и bash), псевдотерминалы (pty), поддержку национальных и стандартных раскладок клавиатур динамически загружаемыми драйверами клавиатур. Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как EXT2FS, были созданы специально для Linux. Поддерживаются также другие типы файловых систем, например Minix-1 и Xenix. Кроме того, реализована система управления файлами на основе FAT, позволяющая непосредственно обращаться к файлам, находящимся в разделах с 31 файловой системой. Поддерживается также файловая система ISO 9660 CD-RC для работы с дисками CD-ROM. Имеются системы управления файлами и на томах с HPFS и NTFS, правда, они работают только на чтение файлов. Созданы варианты системы управления файлами и для доступа к FAT 32; эта файловая система в операционной системе Linux называется VFAT.

Linux, как и все UNIX -системы, поддерживает полный набор протоколов стека TCP/IP для сетевой работы. Программное обеспечение для работы в Интернет/интранет включает драйверы устройств для многих популярных сетевых адапте­ров технологии Ethernet, протоколы SLIP (Serial Line Internet Protocol), PLIP (Parallel Line Internet Protocol), PPP (Point-to-Point Protocol), NFS (Network File System) и пр. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet. NNTP и SMTP

Ядро Linux сразу было создано с учетом возможностей защищенного режима 32-разрядных процессоров 80386 и 80486 фирмы Intel. В частности, в Linux использу­ется парадигма описания памяти в защищенном режиме и другие новые свойства процессоров с архитектурой ia 32. Для защиты пользовательских программ друг от друга и операционной системы от них Linux работает исключительно в защищен­ном режиме, реализованном в процессорах фирмы Intel. В защищенном режиме только программный код, исполняющийся в нулевом кольце защиты, имеет не­посредственный доступ к аппаратным ресурсам компьютера - памяти и устрой­ствам ввода-вывода. Пользовательские и системные обрабатывающие программы работают в третьем кольце защиты. Они обращаются к аппаратным ресурсам ком­пьютера исключительно через системные подпрограммы, функционирующие в нулевом кольце защиты. Таким образом, пользовательским программам предо­ставляются только те услуги, которые реализованы разработчиками операцион­ной системы. При этом системные подпрограммы обеспечивают выполнение только тех функций, которые безопасны с точки зрения операционной системы. Как и в классических UNIX -системах, Linux имеет макроядро, которое содержит уже известные нам три подсистемы. Ядро обеспечивает выделение каждому про­цессу отдельного адресного пространства, так что процесс не имеет возможности непосредственного доступа к данным других процессов и ядра операционной, сис­темы. Тем более что сегмент кода, сегмент данных и стек ядра располагаются в нулевом кольце защиты. Для обращения к физическим устройствам компьютера ядро вызывает соответствующие драйверы, управляющие аппаратурой компьюте­ра. Поскольку драйверы функционируют в составе ядра, их код будет выполнять­ся в нулевом (привилегированном) кольце защиты, и они могут получить прямой доступ к аппаратным ресурсам компьютера.

В отличие от старых версий UNIX, в которых задачи выгружались во внешнюю память на магнитных дисках целиком, ядро Linux использует аппаратную поддерж­ку процессорами страничного механизма организации виртуальной памяти. Поэто­му в Linux замещаются отдельные страницы. То есть с диска в память загружаются те виртуальные страницы образа, которые сейчас реально требуются, а неиспользу­емые страницы выгружаются на диск в файл подкачки. Возможно разделение стра­ниц кода, то есть использование одной страницы, физически уже один раз загру­женной в память, несколькими процессами. Другими словами, реентерабельность кода, присущая всем UNIX -системам, осталась. В настоящее время имеются ядра для этой системы, оптимизированные для работы с процессорами Intel и AMD последнего поколения, хотя основные архитектурные особенности защищенного режима работы изменились мало. Уже разработаны ядра для работы с 64-разряд­ными процессорами от Intel и AMD.

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

Особенности интерфейсов

В отличие от интерфейса GUI в Windows, где ярлыки (shortcuts) объектов никак не связаны между собой, в WPS объекты, имеющие аналогичные ярлыки (shadow Shadow (по-английски «тень») — значок на рабочем столе OS/2, который является частью объекта, то есть имеется постоянная двухсторонняя связь между этим значком и собственно объектом в терминологии WPS), просто имеют дополнительное свойство - возможность многократно отображаться почти как самостоятельные объекты. Можно сделать несколько таких ярлыков из уже существующего ярлыка или из объекта. При этом любые ярлыки могут перемещаться в любое место и при этом их связи с основным объектом не теряются. Вроде бы то же самое происходит в GUI, но в WPS можно переместить основной объект, и его ярлыки тут же изменят свои параметры, тогда как в GUI произойдет разрушение связей, поскольку связи являются односторон­ними.

Про SOM можно сказать, что это не связанная ни с одним конкретным языком объектно-ориентированная технология для создания, хранения и использования двоичных библиотек классов. Ключевые слова здесь «двоичные» и «несвязан­ная ни с одним конкретным языком. Объек­тно-ориентированное программирование (ООП) заслужило безоговорочное при­знание в качестве основной парадигмы, однако его применению в коммерческом программном обеспечении препятствуют отсутствие в языках ООП средств об­ращения к библиотекам классов, подготовленным на других языках, и необходи­мость поставлять с библиотеками классов исходные тексты. Многим независимым разработчикам библиотек классов приходится продавать заказчикам исходные тексты, поскольку разные компиляторы по-разному отображают объекты. На­стоящий потенциал модели SOM заключается в ее совместимости практически с любой платформой и любым языком программирования. Технология SOM соот­ветствует спецификации CORBA (Common Object Request Broker Architecture - общая архитектура посредника объектных запросов), которая определяет стан­дарт условий взаимодействия между прикладными программами в неоднород­ной сети.

Графический интерфейс в системах OS/2 не единственный. Интересно отметить тот факт, что существует довольно много альтернативных оболочек для операци­онных систем OS/2, начиная с программы FileBar, которая хотя и кажется прими­тивной, но зато отлично работает на компьютерах с оперативной памятью объемом 4 Мбайт, и кончая мощной системой Object Desktop, которая значительно улуч­шает внешний вид экрана OS/2 и делает работу более удобной.

Помимо оболочек, улучшающих интерфейс операционной системы OS/2, имеет­ся также ряд программ, расширяющих ее функциональность. В первую очередь, это Xfree86 for OS/2 - полноценная система X-Window, которая может использо­ваться как графический терминал при работе в сети с UNIX -машинами, а также для запуска программ, перенесенных из UNIX в OS/2. К сожалению, таких про­грамм немного, однако большое количество UNIX -программ поставляется вместе с исходными кодами, которые, как правило, практически не нужно изменять для перекомпиляции под Xfree86/OS2.

Организация многозадачности

Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы Windows 9x, состоит в организации по возможности простого, но эффективного способа предоставления процессор­ного времени различным параллельно выполняющимся программам. Другими сло­вами, речь идет о диспетчеризации задач. Многозадачность,в общем случае, означает способность операционной системы обеспечивать совместное использование процессора несколькими программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает. В большинстве операционных систем, в том числе и в Windows NT, и в UNIX, выполнение приложения называется про­цессом. Однако в уже упомянутых операционных системах Windows 3.x почти все­гда использовался термин «задача», и лишь изредка - «процесс». Имейте в виду, что в операционных системах Windows 9x используется исключительно термин «процесс», а понятие задачи было официально исключено из терминологии Win­dows. Вкладывая совершенно такой же смысл в слово «процесс», разработчики Microsoft тем самым попытались поставить операционные системы семейства Windows 9x как бы на один уровень с другими операционными системами, таки­ми, например, как Windows NT. В большей части документации по Windows 3.1 мы можем обнаружить оба упомянутых слова. Основная причина изменения тер­минологии - реализация мультизадачности при сохранении мультипрограммно­го режима работы. Другими словами, речь идет о поддержке в этих операционных системах возможности многопоточноговыполнения приложений. Поэтому поми­мо отхода от термина задача и использования термина процесс, мы должны отметить, что во всех этих операционных системах стал использоваться термин поток выполнения,или тред(thread).

Поддержкой многозадачности занимается планировщик (scheduler). Он имеет дело главным образом с временем и событиями. Процессу в Windows 95/98 выделяется квант времени, который определяет, как долго данный процесс может использовать процессор. По окончании кванта Бремени планировщик определяет следует ли передать процессор в распоряжение другого процесса. В отличие от Window NT, Windows 95/98 не поддерживает мультипроцессорные системы, в которых планировщик может выделять процессам больше одного процессора. Решения, принимаемые планировщиком, определяются событиями.

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

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

· Динамическое изменение приоритета. Диспетчер на время может повысить или понизить приоритет того или иного потока. Так, например, нажатие клавиши или щелчок мыши говорит ему о том, что приоритет потока, к которому отно­сится действие пользователя, должен быть повышен.

· Постсинхронизированное снижение приоритета. Ранее повышенное значение приоритета постепенно возвращается к исходному значению.

· Наследование приоритета. Служит для быстрого повышения приоритета. Обыч­но это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восста­навливает исходное значение унаследованного приоритета сразу же после удов­летворения конфликтного условия.

Модель безопасности

Операционные системы Windows XP обеспечивают защиту на локаль­ном уровне. Это означает, что механизмы защиты работают на каждом компьюте­ре с такой операционной системой. Однако это имеет и обратную сторону. Дело в том, что учетные записи пользователей и групп локальны: они действуют только на том компьютере, где их создали. Если же есть необходимость обратиться к об­щим ресурсам компьютера через сеть, нужно, чтобы для пользователя, который выполняет такое обращение к удаленным объектам, была создана такая же учет­ная запись. Поскольку становится затруднительным обеспечить наличие учетных записей для каждого пользователя на всех тех компьютерах, с ресурсами которых ему необходимо работать, пользуясь вычислительной сетью, в свое время была предложена технология доменных сетей. В домене, который представляет собой множество компьютеров, должен быть выделен сервер со всеми учетными запися­ми этого домена. Такой сервер называют контроллером домена. Учетные записи домена в отличие от локальных учетных записей, имеющихся на каждом компыотере с операционной системой типа Windows NT, являются перемещаемыми: они могут перемещаться с контроллера домена на любой другой компьютер этого до­мена. В результате, имея множество компьютеров, объединенных в домен, и кон­троллер домена, на котором созданы все необходимые учетные записи, мы можем использовать эти учетные записи для управления доступом к различным ресур­сам. Более того, мы можем контролировать использование этих ресурсов и регис­трировать попытки несанкционированного доступа к тем или иным объектам. Кон­троль за использованием прав и разрешений, а также их регистрация называется аудитом.

Лекция 3. Защита в windows и unix

Функционирование ос unix

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

pwd - определение текущего каталога

ls - получение файлов текущего каталога.

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


Поделиться с друзьями:

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.028 с.