Смекни!
smekni.com

Краткие сведения по информатике (стр. 4 из 5)

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

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

Одной из наиболее простых систем, не требующих дополнительных затрат на оборудование, но в то же время обеспечивающих хороший уровень защиты, является S/Key. В процессе аутентификации с использованием S/Key участвуют две стороны – клиент и сервер. При регистрации в системе сервер присылает на клиентскую машину приглашение, содержащее зерно, передаваемое по сети в открытом виде, текущее значение счетчика итераций и запрос на ввод одноразового пароля, который должен соответствовать текущему значению счетчика итерации. Получив ответ, сервер проверяет его и передает управление серверу требуемого пользователем сервиса.

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

Брандмауэр пропускает через себя весь трафик и для каждого проходящего пакета принимает решение – пропускать его или отбросить. Для того, что бы он мог принимать эти решения, для него определяется набор правил.

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

Все брандмауэры можно разделить на два типа:

1. пакетные фильтры, которые осуществляют фильтрацию IP-пакетов средствами фильтрующих маршрутизаторов;

2. серверы прикладного уровня, которые блокируют доступ к определенным сервисам в сети.

Таким образом, брандмауэр можно определить как набор компонентов или систему, которая располагается между двумя сетями и обладает следующими свойствами:

· весь трафик из внутренней сети во внешнюю и из внешней сети во внутреннюю должен пройти через эту систему;

· только трафик, определенный локальной стратегией защиты, может пройти через эту систему;

· система надежно защищена от проникновения.

Термины

196. Программирование нисходящее (top-down programming) – способ разработки программ, при котором программирование ведется методом "сверху вниз", от общего к деталям. Алгоритм решения задачи разбивается на несколько более простых частей или подзадач. Их выделяют таким образом, чтобы, программирование подзадач было независимым. При этом составляют план решения всей задачи, пунктами которого и являются выделенные части. План записывают графически в виде блок-схемы, где определяют головную и подчиненные подзадачи и связи между ними, т. е. интерфейс. Здесь же устанавливают, какие начальные данные (или аргументы) получает каждая подзадача для правильного функционирования и какие результаты она выдает. По блок-схеме составляется программа, в которой содержатся вызовы подпрограмм (процедур или функций), соответствующих выделенным подзадачам. Эту программу можно сразу отлаживать, временно заменив "заглушками" подпрограммы для подзадач. Затем аналогично производят детализацию и программирование каждой подзадачи. Процесс последовательной детализации идет до тех пор, пока не будет написана программа для каждого фрагмента алгоритма. При этом на каждом этапе нисходящего программирования имеется действующий вариант программы, отладка которой ведется по ходу всей разработки программы.

197. Объектно-ориентированное программирование – это метод программирования, при использовании которого главными элементами программ являются объекты.

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

В технологии объектно-ориентированного программирования объекты сохраняют свою целостность, все свойства объекта и его поведение описываются внутри самого объекта.

В основе объектно-ориентированного подхода лежат три понятия:

· инкапсуляция: объединение данных с процедурами и функциями в рамках единого целого — объекта; Кнопка обладает определенным поведением: она может быть нажата, после нажатия на кнопку будут происходить определенные события и т. д. Соединение таких свойств и поведения в одном объекте, и называется инкапсуляцией.

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

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

198. Cобытийно-ориентированное программирование – получает все большее распространение. Основная его специфика - инициатива принадлежит не самой программе, а внешнему миру, на события которого программа реагирует.

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

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

Для получения и распределения событий требуется менеджер событий, который уже есть в некоторых языках программирования (например, JAVA) или системах разработки (Delphi), в иных напротив, его требуется написать самостоятельно. Работа с событиями близка идеям объектно-ориентированного программирования, и сейчас практически везде, где требуется обработка событий, используются объекты.

В настоящий момент подавляющее большинство пользовательских программ пишется именно с применением событийного объектно-ориентированного программирования. В качестве примера достаточно рассмотреть систему программирования Delphi, где всё несобытийное программирование скрыто от программиста. Тем не менее, сейчас событийное программирование изучается неоправданно поздно. Обычно сложность состоит не в принятии нового стиля программирования, а в переучивании и ломке устоявшихся стереотипов.

199. Программирование структурное – методология и технология разработки программных комплексов, основанная на принципах:

- программирования "сверху-вниз";

- модульного программирования.

При этом логика алгоритма и программы должны использовать три основные структуры: последовательное выполнение, ветвление и повторение.

200. Программное обеспечение (software) – совокупность программ и программных комплексов для обеспечения работы компьютера и вычислительных сетей. По видам выполняемых функций программное обеспечение подразделяется на:

1. Системное программное обеспечение (System software): - создание операционной среды функционирования других программ; - обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;

- диагностика и профилактика аппаратуры компьютера и вычислительных сетей; - выполнение вспомогательных технологических процессов: копирование, архивация, восстановление файлов и т.д.

2. Прикладное программное обеспечение (Application software) - программное обеспечение, состоящее из:

- отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей; - автоматизированных систем, созданных на основе этих (пакетов) прикладных программ.

3. Инструментальное программное обеспечение (Software tools) - программное обеспечение, используемое в ходе разработки, корректировки или развития других программ: редакторы, компиляторы, отладчики, вспомогательные системные программы, графические пакеты и др.

Задача

Задача № 40: Дан массив чисел P=(p1,p2,...,pm). Вычислить среднее арифметическое отрицательных элементов массива.

Решение задачи

1) Обозначения:

Count – количество элементов в массиве,

i – текущий номер элемента массива,

arr[i] – элемент массива с номером i,

otrCount – количество отрицательных элементов,

otrSumm – сумма отрицательных элементов.

Массив – это упорядоченная совокупность однотипных элементов.

В Паскале массивы вводятся и обрабатываются поэлементно. Поэтому в алгоритме решения задачи предусмотрен цикл для ввода элементов массива, а также цикл для нахождения суммы отрицательных элементов массива. Значение счетчика цикла i является порядковым номером элемента массива.