БЕЗОПАСНОСТЬ
Когда машина подключена к сети, она доступна многим потенциальным пользователям. В связи с этим возникают про- блемы, которые можно отнести к двум категориям: несанкционированный доступ к информации и вандализм. Одним из ре- шений проблемы несанкционированного доступа является использование паролей, контролирующих или доступ к самой машине, или доступ к отдельным элементам данных. К сожалению, пароли можно узнать многими способами. Некоторые просто сообщают свои пароли друзьям, что является достаточно сомнительным в этическом отношении. В других случаях пароли похищаются. Один из способов состоит в использовании слабых мест в операционной системе для получения ин- формации о паролях. Другой способ заключается в написании программы, имитирующей процесс регистрации в локальной системе; пользователи, полагающие, что они общаются с операционной системой, вводят свои пароли, которые затем запи-
сываются этой программой. Еще один способ получения паролей – поочередно вводить более очевидные пароли и наблю- дать, что из этого получится. Например, пользователи, которые боятся забыть свой пароль, могут в качестве последнего ис- пользовать собственное имя. Кроме того, некоторые даты, например рождения, также весьма популярны в качестве паролей.
Чтобы помешать тем, кто пытается сыграть в игру с угадыванием пароля, в операционные системы можно включить средства, сообщающие о лавине неправильных паролей. Многие операционные системы также предусматривают возмож- ность предоставления отчета о времени, когда учетная запись использовалась в последний раз, и о времени начала нового сеанса работы с ней. Это позволяет обнаружить любое несанкционированное использование их учетных записей. Более сложный способ борьбы с хакерами состоит в создании иллюзии успеха при введении неправильного пароля (так называе- мый "вход-ловушка"); при этом нарушителю предоставляется ложная информация и одновременно осуществляется попытка установить его местонахождение.
Другой подход к защите данных от несанкционированного доступа заключается в шифровании данных. Даже если по- хититель получит данные, заключенная в них информация будет ему недоступна. Для этого разработано множество методов шифрования. Одним из наиболее популярных методов шифрования сообщений, посылаемых через Internet, является шифро- вание с открытым ключом. Он позволяет посылать сообщения, не доступные посторонним. При шифровании с открытым ключом используются два значения, называемые ключами. Так называемый открытый ключ используется для кодирования сообщений и известен всем, кому разрешено создавать сообщения. Закрытый ключ требуется для декодирования сообщения и известен только тому, кто должен получать сообщения. Знание открытого ключа не позволяет декодировать сообщения. Так что большого вреда не будет, даже если он попадет в чужие руки; пользователь, получивший несанкционированный доступ, сможет посылать шифрованные сообщения, но не будет иметь возможности декодировать перехваченные сообще- ния. Знание закрытого ключа, безусловно, более существенно, но узнать его сложней, чем открытый, так как им владеет только один человек. Мы познакомимся с некоторыми системами кодирования с открытым ключом в главе 11.
Существует также множество правовых вопросов, касающихся несанкционированного доступа к информации. Некото- рые из них имеют отношение к тому, что именно считать санкционированным и несанкционированным доступом. Например, может ли работодатель контролировать обмен информацией, осуществляемый его работником? В каких пределах провайде- ру услуг Internet разрешается доступ к информации, которой обмениваются его клиенты? Какую ответственность он несет за содержание информации, которой обмениваются его клиенты? Эти и другие подобные вопросы беспокоят сегодня юридиче- ское сообщество.
В Соединенных Штатах Америки многие из этих вопросов регулируются законом о тайне обмена электронной инфор- мацией (Electronic Communication Privacy Act, ECPA), принятым в 1986 году. В качестве его основы использовалось законо- дательство о перехвате информации. Хотя этот документ достаточно объемный, его содержание можно передать нескольки- ми короткими выдержками.
За исключением особо оговоренных случаев, любое лицо, которое намеренно перехватывает, пытается перехватить или склоняет другое лицо к перехвату или попытке перехвата любой информации по проводам, в устной форме или в виде элек- тронного сообщения... будет наказано в соответствии с подразделом 4 или подвергнуто судебному преследованию в соответ- ствии с подразделом 5.
Вот еще одна выдержка:
...любому лицу или организации, предоставляющим услуги электронного сообщения для общественного пользования, запрещается намеренное раскрытие содержания любого обмена информацией... любому иному лицу или организации, кроме получателя, которому эта информация предназначена, или его официального представителя.
В целом закон ЕСРА подтверждает право индивидуума на тайну общения; службы, не уполномоченные на то специаль- но, не имеют права прослушивать информацию, которой обмениваются третьи лица. Также незаконными считаются дейст- вия провайдера сетевых услуг, связанные с распространением сведений о содержании информации, которой обмениваются его клиенты. Однако законом также устанавливается следующее.
Не будет незаконным... если должностное лицо, наемный работник или агент Федеральной комиссии по связи по долгу службы и при исполнении своих обязанностей по наблюдению, осуществляемому федеральной комиссией согласно положе- ниям главы 5 статьи 47 Кодекса Соединенных Штатов Америки, перехватывает информацию, распространяемую по прово- дам или электронным коммуникациям, устные переговоры по радио, а также раскрывает или использует информацию, полу- ченную таким путем.
Таким образом, закон ЕСРА в явном виде предоставляет Федеральной комиссии по связи (FCC) США право контроли- ровать электронные средства связи с некоторыми ограничениями. Это приводит к определенным и довольно сложным про- блемам. Чтобы комиссия FCC могла воспользоваться предоставленными ей законом ЕСРА правами, системы связи должны быть разработаны и запрограммированы так, чтобы наблюдение за ними было возможно. Для обеспечения этой возможности был принят акт о содействии средств связи выполнению закона (Communications Assistance for Law Enforcement Act, CALEA). Он требует от владельцев средств телекоммуникации модифицировать их оборудование таким образом, чтобы оно допускало перехваты, требуемые по закону. Однако практическая реализация этого закона оказалась делом настолько слож- ным и дорогостоящим, что это привело к определенному смягчению требований. Еще более спорная проблема заключается в конфликте между правом комиссии FCC осуществлять контроль за информацией и правом пользователей использовать шифрование. Ведь если контролируемые сообщения хорошо зашифрованы, то простой их перехват в линиях связи практиче- ски бесполезен для служителей закона. Поэтому правительство США пошло по пути создания системы регистрации, тре- бующей обязательной регистрации ключей шифрования (или, возможно, ключей к ключам). Но мы живем в мире, где про- мышленный шпионаж получил столь же широкое распространение, как и военный. Отсюда понятно, что требование регист- рации ключей шифрования ставит многих законопослушных граждан в затруднительное положение. Насколько надежной будет сама регистрирующая система? Этот вопрос важен не только для США. Возможность создания аналогичных систем регистрации рассматривалась также в Канаде и странах Европы.
Проблема вандализма иллюстрируется появлением таких неприятных явлений, как компьютерные вирусы и сетевые
черви. В общем случае вирус представляет собой сегмент программы, который сам прикрепляет себя к другим программам компьютерной системы. Например, вирус может внедриться в начало некоторой присутствующей в системе программы, так что каждый раз при выполнении программы-хозяина сначала будет выполняться программа-вирус. Она может осуществлять злонамеренные действия, которые будут заметны пользователю, или просто искать другие программы, к которым сможет прикрепить свою копию. Если пораженная вирусом программа переносится на новую машину (неважно, с помощью сети или гибкого диска), вирус начнет поражать программы на новой машине, как только перенесенная программа будет запуще- на на выполнение. Именно таким способом вирусы перемещаются с машины на машину. В некоторых случаях вирусы раз- рабатываются так, чтобы просто заражать другие программы до тех пор, пока не будет выполнено определенное условие, например до определенной даты, и лишь затем программа-вирус начнет свои разрушительные действия. В этом случае су- щественно повышается вероятность того, что, прежде чем его обнаружат, вирус сможет распространиться на множество ма- шин.
Такое понятие, как червь, обычно применяют к автономной программе, которая сама распространяется по сети, рези- дентно загружаясь в машины и рассылая свои копии. Как и в случае с вирусами, такие программы создаются и для того, что- бы просто рассылать свои копии, и для нанесения определенного ущерба.
С ростом популярности сетей увеличивается и вероятность нанесения ущерба от несанкционированного доступа к ин- формации и вандализма. В связи с этим возникает множество вопросов, касающихся благоразумного размещения важной информации на сетевой машине, ответственности за распространение неадекватно защищенной информации, а также ответ- ственности за вандализм. В свою очередь, в ближайшем будущем можно ожидать проведения обширных дебатов по этиче- ским и юридическим вопросам, связанным с этими проблемами.
1. С технической точки зрения термин "данные" означает некоторое представление информации, а "информация" – со- держимое данных. Что защищает пароль – данные или информацию? Что из них защищает шифрование?
2. Каковы основные положения закона ЕСРА?
3. На примере закона CALEA покажите, что принятие требующего определенных действий закона может и не привес- ти к выполнению этих требований на практике.
(Упражнения, отмеченные звездочкой, относятся к разделам для дополнительного чтения.)
1. Перечислите четыре вида действий, выполняемых типичной операционной системой.
2. Кратко охарактеризуйте различия между пакетной и интерактивной обработкой.
3. В чем состоит различие между интерактивной обработкой и обработкой в реальном масштабе времени?
4. Что такое многозадачная операционная система?
5. Какая информация содержится в таблице процессов, поддерживаемой операционной системой?
6. В чем различие между процессом, готовым к выполнению, и ожидающим процессом?
7. В чем заключается различие между виртуальной и основной памятью?
8. Какие сложности могут возникнуть в системе с разделением времени, если два процесса одновременно запрашивают доступ к одному и тому же файлу? Существуют ли ситуации, при которых программа управления файлами предоставит та- кой доступ? В каких случаях программа управления файлами ответит отказом?
9. Дайте определение понятиям балансировки загрузки и масштабирования в контексте многопроцессорной архитекту-
ры.
10. Кратко опишите процесс первоначальной загрузки.
11. Предположим, что операционная система с разделением времени использует кванты времени длительностью 50
миллисекунд. Если обычно процедура позиционирования головки чтения/записи диска над нужной дорожкой занимает 8 миллисекунд и еще 17 миллисекунд будет затрачено, пока требуемые данные пройдут под головкой чтения/записи, то какую часть кванта времени программа проведет в ожидании выполнения операции чтения с диска? Если машина способна выпол- нять по одной команде за каждую миллисекунду, сколько команд она смогла бы выполнить за время этого ожидания? (Именно по этой причине системы с разделением времени обычно позволяют выполняться другим процессам, в то время как первый процесс будет ожидать окончания обслуживания периферийным устройством.)
12. Назовите пять ресурсов, доступ к которым должна координировать многозадачная операционная система.
13. Говорят, что процесс зависит от ввода/вывода, если ему требуется выполнить много операций ввода/вывода. Про- цесс, преимущественно выполняющий вычисления в пределах системы "ЦП-память", называют вычислительно зависимым. Если вычислительно зависимый процесс и процесс, зависимый от ввода/вывода, ожидают предоставления кванта времени, кому должен быть предоставлен приоритет и почему?
14. Какая система достигнет большей производительности – система, выполняющая два процесса, зависимых от вво- да/вывода (см. вопрос 13), или система с одним процессом, зависимым от ввода/вывода, и вычислительно зависимым про- цессом? Почему?
15. Разработайте набор инструкций, который будет определять действия программы-диспетчера операционной системы по истечении кванта времени, выделенного выполняющемуся процессу.
16. Назовите компоненты информации о состоянии процесса.
17. Приведите пример ситуации в системе с разделением времени, при которой процесс не использует весь предостав- ленный ему квант времени.
18. Перечислите в хронологическом порядке основные события, которые происходят при прерывании процесса.
19. Опишите модель "клиент/сервер".
20. Что такое CORBA?
21. Опишите два способа классификации компьютерных сетей.
22. Укажите и опишите назначение составных частей следующего адреса электронной почты:
kermit@fгод.animals.com
23. Дайте определение следующим понятиям:
а) Сервер имен. б) Домен.
в) Маршрутизатор. г) Узел.
24. Предположим, что адрес узла в Internet задан как 134.48.4.123. Каков будет его 32-битовый адрес в шестнадцатеричном представлении?
25. В чем состоит различие между открытой и закрытой сетью?
26. Дайте определение для каждого из следующих понятий:
а) Гипертекст. б) HTML.
в) Броузер.
27. Что такое World Wide Web?
28. Укажите компоненты следующего URL-адреса и объясните их значение: http://frogs.animals.com/animals/moviestars/kermit.html.
29. В чем состоит разница между червем и вирусом в контексте компьютерных сетей?
30. Что вызывает беспокойство в отношении безопасности и секретности работы в Internet?
31. Что такое ЕСРА и CALEA?
32*. Объясните назначение команды "проверить и установить", присутствующей во многих машинных языках. Почему важно, чтобы весь процесс "проверки и установки" был реализован в виде одной команды?
33*. Банкир, который имеет всего $ 100 000, дает взаймы по $ 50 000 двум клиентам. Позже оба клиента снова обраща- ются к нему с уверениями о том, что, прежде чем они смогут вернуть долг, им нужно еще по $ 10 000 для завершения тех сделок, в которых задействованы кредиты. Банкир решает проблему путем заимствования дополнительных сумм у внешнего источника и дает своим клиентам дополнительный кредит (под более высокий процент). Какое из трех условий тупиковой ситуации (ситуации взаимной блокировки) устранил банкир в данном случае?
34*. Студенты, желающие записаться на курс "Моделирование железных дорог" в местном университете, должны по- лучить разрешение от преподавателя и внести плату за работу в лаборатории. Эти два требования могут выполняться неза- висимо и в любом порядке, причем в различных точках студенческого городка. Количество слушателей ограничено 20 сту- дентами. Это ограничение отслеживает как преподаватель, который выдаст разрешение только 20 студентам, так и финансо- вый отдел, который разрешит внести плату также только 20 студентам. Предположим, что 19 студентов уже зачислены на этот курс, а на последнее место претендуют два студента – один уже получил разрешение от преподавателя, а второй – уже внес плату. Какое условие возникновения тупиковой ситуации устраняется каждым из следующих возможных решений про- блемы?
а) Обоим студентам разрешено посещать курс.
б) Группа уменьшена до 19 человек, так что ни одному из студентов не разрешено записаться на курс.
в) Ни одному из двух претендентов не разрешено участвовать в занятиях, а разрешение выдано третьему студенту.
г) Принято решение о том, что единственным требованием для зачисления на курс является внесение платы. Таким об- разом, студент, уже внесший плату, записывается на курс, а второй получает отказ.
35*. Объясните, как может возникнуть ситуация взаимной блокировки при игре в шахматы, когда пешки вплотную подходят друг к другу. Что выступает здесь в роли неделимого ресурса? Каким образом эта ситуация обычно преодолевает- ся?
36*. Предположим, что неразделяемые ресурсы в компьютерной системе классифицированы как ресурсы первого, вто- рого и третьего уровней. Также предположим, что каждому процессу в системе предписано запрашивать нужные ему ресур- сы согласно этой классификации. Сначала он должен запросить все необходимые ему ресурсы первого уровня, прежде чем он сможет запрашивать какой-либо ресурс второго уровня. После того как все требуемые ресурсы первого уровня будут по- лучены, процесс может запросить все необходимые ему ресурсы второго уровня и т.д. Может ли в этой схеме возникнуть ситуация взаимной блокировки и почему?
37*. Каждая из двух рук робота запрограммирована поднимать детали с конвейерной ленты, проверять их на допуски и класть в один из двух контейнеров в зависимости от результатов проверки. Детали поступают по одной с нерегулярным ин- тервалом. Чтобы избежать ситуации, когда обе руки робота попытаются взять одну и ту же деталь, компьютеры, управляю- щие руками, используют общую ячейку памяти. Если в момент приближения детали рука свободна, управляющий ею ком- пьютер считывает значение общей ячейки. Если оно отлично от нуля, рука пропускает деталь. В противном случае компью- тер помещает ненулевое значение в ячейку памяти и направляет руку, чтобы поднять деталь. После того как это действие будет завершено, компьютер вновь помещает в ячейку памяти значение 0. Какая последовательность действий может при- вести к конфликту между двумя руками?
38*. Предположим, что каждый компьютер в сети с кольцевой конфигурацией запрограммирован так, чтобы передавать сразу в обоих направлениях те сообщения, которые создаются на нем и предназначены всем остальным компьютерам в сети. Также предположим, что сначала устанавливается соединение с машиной слева, которое удерживается до тех пор, пока не будет установлено соединение с машиной справа, после чего осуществляется собственно передача сообщения. Поясните, как в этой сети может возникнуть ситуация взаимной блокировки, если всем ее машинам одновременно потребуется отправить подобные сообщения.
39*. Опишите, как можно использовать механизм очереди в процессе спулинга выводимой на принтер информации. 40*. Участок дороги в центре перекрестка можно рассматривать как неделимый ресурс, на который претендуют все
приближающиеся к перекрестку автомобили. Для распределения права доступа к этому ресурсу используется не операцион-
ная система, а светофор. Если светофор способен учитывать интенсивность дорожного движения в каждом из направлений и запрограммирован так, чтобы давать зеленый свет наибольшему из потоков, то автомобили из меньшего потока могут по- долгу простаивать под этим светофором (поток зависает). Что в данном случае означает это зависание? Что будет происхо- дить в многопользовательской компьютерной системе, в которой всем выполняющимся процедурам присвоены приоритеты и ресурсы распределяются согласно этим приоритетам?
41*. По какой причине может зависнуть процесс, если диспетчер всегда выделяет кванты времени согласно системе приоритетов, в которой приоритет каждого процесса остается постоянным? (Подсказка. Какой приоритет у процесса, кото- рый только что завершил использование своего кванта времени по сравнению с ожидающими процессами, и, как следствие, какому процессу будет предоставлен следующий квант времени?)
42*. В чем сходство между ситуацией взаимной блокировки и зависанием (см. вопрос 41)? В чем отличие между ними? 43*. Какая проблема возникнет, если в системе с разделением времени размер кванта времени делать все меньше и
меньше? Что будет происходить, если делать эти кванты все больше и больше?
44*. Что представляет собой модель OSI, рекомендованная международным комитетом стандартов (OSI)?
45*. В сети с шинной конфигурацией сама шина является неделимым ресурсом, за доступ к которому машины должны соревноваться при необходимости передать сообщение. Как решается проблема тупиковых ситуаций в этом контексте?
46*. Протоколы, основанные на использовании маркеров, можно применять для управления правом передачи и в сетях, не имеющих кольцевой конфигурации. Разработайте протокол, построенный на использовании маркера и предназначенный для управления правом передачи в локальной сети с шинной конфигурацией.
47*. Опишите действия, выполняемые машиной при необходимости отправить сообщение по сети, работа которой ре- гулируется протоколом CSMA/CD.
48*. Перечислите четыре уровня иерархии программного обеспечения Internet и опишите задачи, выполняемые каждым уровнем.
49*. С какой точки зрения протокол TCP представляется более удачным протоколом транспортного уровня, чем прото- кол UDP? В чем преимущества протокола UDP?
50*. Что означает утверждение о том, что UDP является протоколом, не устанавливающим соединения?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.