Билет №5

1. Идентификаторы - имена программных объектов. Области действия.

Имя (идентификатор) является последовательностью букв или цифр. Первый символ должен быть буквой. Буквой считается и символ подчеркивания _. Язык С++ не ограничивает число символов в имени. Но в реализацию входят программные компоненты, которыми создатель транслятора управлять не может (например, загрузчик), а они могут устанавливать ограничения. Кроме того, некоторые системные программы, необходимые для выполнения программы на С++, могут расширять или сужать множество символов, допустимых в идентификаторе. Расширения (например, использование $ в имени) могут нарушить переносимость программы. Нельзя использовать в качестве имен

служебные слова С++.

Заглавные и строчные буквы считаются различными, поэтому Count и count - разные имена. Но выбирать имена, почти не отличающиеся друг от друга, неразумно. Все имена, начинающиеся с символа подчеркивания, резервируются для использования в самой реализации или в тех программах, которые выполняются совместно с рабочей, поэтому крайне легкомысленно вставлять такие имена в свою программу.

При разборе программы транслятор всегда стремится выбрать самую длинную последовательность символов, образующих имя, поэтому var10 - это имя, а не идущие подряд имя var и число 10. По той же причине elseif - одно имя (служебное), а не два служебных имени else и if.

Областью видимости (действия) идентификатора называется часть программы, где он может быть использован.

Область видимости идентификаторов определяется местом их объявления. Если идентификаторы допускается использовать только в рамках одной процедуры или функции, то такие идентификаторы называются локальными. Если действие идентификаторов распространяется на несколько вложенных (не менее одной) процедур и/или функций, то такие идентификаторы называются глобальными.

2. Проектирование баз данных на основе модели "Сущность-связь". Основные элементы модели. Основные нотации, используемые для построения ER диаграмм.

Модель "сущность-связь" (entity relationship model) - одно из распространенных средств абстрактного представления структуры баз данных.

Основные элементы модели

1) множество сущностей - отображаются в виде прямоугольников;

2) атрибуты - отображаются в виде овалов;

3) связи - отображаются в виде ромбов.

ER- модель близка к информационной модели, используемой при объектно-ориентированном моделировании (ООМ) при этом понятие "объект" в ООМ соответствует понятию "множество сущностей" в ER-диаграмме.

При отображении связей необходимо учитывать их множественность со стороны связываемых множеств сущностей. Множественность связи - это сколько экземпляров она соединяет с одной и другой стороны.

Обычно связи между более чем двумя множествами сущностей заменяются на бинарные, при этом вводятся дополнительные множества сущностей, кортежами которых являются элементы множеств, участвующие в отношениях.

В ER моделях обычно рассматривается бинарные связи, то есть связи, соединяющие два множества сущностей. Однако возможны случаи, когда связь соединяет несколько множеств сущностей, т.е. более двух.

Нотация Чена.

Элемент диаграммы - Обозначает: независимая сущность; зависимая сущность; родительская сущность в иерархической связи; Связь; идентифицирующая связь; Атрибут; первичный ключ; внешний ключ (понятие внешнего ключа вводится в реляционной модели данных); многозначный атрибут; получаемый (наследуемый) атрибут в иерархических связях.

Связь соединяется с ассоциируемыми сущностями линиями. Возле каждой сущности на линии, соединяющей ее со связью, цифрами указывается класс принадлежности.

Нотация Мартина

Элемент диаграммы - Обозначает: независимая сущность; зависимая сущность.

Список атрибутов приводится внутри прямоугольника, обозначающего сущность. Ключевые атрибуты подчеркиваются. Связи изображаются линиями, соединяющими сущности, вид линии в месте соединения с сущностью определяет кардинальность связи:

Обозначение - Кардинальность: нет; 1,1; 0,1; M,N; 0,N; 1,N.

Имя связи указывается на линии ее обозначающей.

Нотация IDEF1X.

Обозначения сущностей:

Элемент диаграммы - Обозначает: независимая сущность; зависимая сущность.

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

Обозначения связей:

Элемент диаграммы - Обозначает: идентифицирующая связь (- - - - -).

Обозначение кардинальности связей:

Элемент диаграммы - Обозначает: 1,1; 0,M;0,1;1,M; точно N (N - произвольное число).

Нотация Баркера.

Сущности обозначаются прямоугольниками, внутри которых приводится список атрибутов. Ключевые атрибуты отмечаются символом # (решетка). Связи обозначаются линиями с именами, место соединения связи и сущности определяет кардинальность связи:

Обозначение - Кардинальность: - - - - 0,1; 1,1; 0,N; 1,N.

3. Межсетевые экраны и антивирусы. Назначение и виды.

Межсетевые экраны

Межсетевой экран располагается между защищаемой (внутренней) сетью и внешней средой (внешними сетями или другими сегментами корпоративной сети).

Межсетевой экран - идеальное место для встраивания средств активного аудита.

На межсетевой экран целесообразно возложить идентификацию/аутентификацию внешних пользователей, нуждающихся в доступе к корпоративным ресурсам (с поддержкой концепции единого входа в сеть).

Теоретически межсетевой экран (особенно внутренний) должен быть многопротокольным (доминирует TCP/IP), но поддержка других протоколов представляется излишеством, вредным для безопасности.

Классификация межсетевых экранов

При рассмотрении любого вопроса, касающегося сетевых технологий, основой служит семиуровневая эталонная модель ISO/OSI. Межсетевые экраны также целесообразно классифицировать по уровню фильтрации - канальному, сетевому, транспортному или прикладному. Соответственно, можно говорить об экранирующих концентраторах (мостах, коммутаторах) (уровень 2), маршрутизаторах (уровень 3), о транспортном экранировании (уровень 4) и о прикладных экранах (уровень 7). Существуют также комплексные экраны, анализирующие информацию на нескольких уровнях.

Фильтрация информационных потоков осуществляется межсетевыми экранами на основе набора правил, являющихся выражением сетевых аспектов политики безопасности организации. В этих правилах, помимо информации, содержащейся в фильтруемых потоках, могут фигурировать данные, полученные из окружения. Таким образом, в межсетевых экранах используется очень мощный логический подход к разграничению доступа.

Чем выше уровень в модели ISO/OSI, на котором функционирует МЭ, тем более содержательная информация ему доступна и, следовательно, тем тоньше и надежнее он может быть сконфигурирован.

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

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

Современные маршрутизаторы позволяют связывать с каждым портом несколько десятков правил и фильтровать пакеты как на входе, так и на выходе. В качестве пакетного фильтра может использоваться и универсальный компьютер, снабженный несколькими сетевыми картами.

Основные достоинства экранирующих маршрутизаторов - доступная цена и прозрачность для более высоких уровней модели OSI. Основной недостаток - ограниченность анализируемой информации и, как следствие, относительная слабость обеспечиваемой защиты.

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

По сравнению с пакетными фильтрами, транспортное экранирование обладает большей информацией, поэтому соответствующий МЭ может осуществлять более тонкий контроль за виртуальными соединениями. Аналогично, возможно накопление более содержательной регистрационной информации. Главный недостаток - сужение области применения, поскольку вне контроля остаются датаграммные протоколы. Обычно транспортное экранирование применяют в сочетании с другими подходами, как важный дополнительный элемент.

Межсетевой экран, функционирующий на прикладном уровне, способен обеспечить наиболее надежную защиту. Как правило, подобный МЭ представляет собой универсальный компьютер, на котором функционируют экранирующие агенты, интерпретирующие протоколы прикладного уровня (HTTP, FTP, SMTP, telnet и т.д.) в той степени, которая необходима для обеспечения безопасности.

При использовании прикладных МЭ, помимо фильтрации, реализуется еще один важнейший аспект экранирования. Субъекты из внешней сети видят только шлюзовой компьютер; соответственно, им доступна только та информация о внутренней сети, которую он считает нужным экспортировать. Прикладной МЭ на самом деле экранирует, то есть заслоняет, внутреннюю сеть от внешнего мира. В то же время, субъектам внутренней сети кажется, что они напрямую общаются с объектами внешнего мира. Недостаток прикладных МЭ - отсутствие полной прозрачности, требующее специальных действий для поддержки каждого прикладного протокола.

Антивирусы

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными. Различают следующие виды антивирусных программ: 1) программы-детекторы; 2) программы-доктора или фаги; 3) программы-ревизоры; 4) программы-фильтры; 5) программы-вакцины или иммунизаторы.

Программы-детекторы осуществляют поиск характерной для конкретного вируса сигнатуры в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Norton AntiVirus, Doctor Web. Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.

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

Программы-фильтры или «сторожа» представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться: попытки коррекции файлов с расширениями COM, EXE; изменение атрибутов файла; прямая запись на диск по абсолютному адресу; запись в загрузочные сектора диска; загрузка резидентной программы. При попытке какой-либо программы произвести указанные действия «сторож» посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако, они не «лечат» файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их «назойливость»(например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением.

Вакцины или иммунизаторы - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, «лечащие» этот вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение.

Своевременное обнаружение зараженных вирусами файлов и дисков, полное уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать распространения вирусной эпидемии на другие компьютеры.

Hosted by uCoz