
- •Основы алгоритмизации и программирования;
- •Теоретические вопросы
- •Вопрос 1 Программное обеспечение (по). Виды программного обеспечения
- •П Системы программирования рограммное обеспечение
- •Системное
- •Прикладное
- •Системное по включает программы, необходимые для согласования работы всего вычислительного комплекса, при решении задач, а так же при разработке новых программ.
- •Вопрос 2 Качественные характеристики программного изделия
- •О бщая полезность
- •Вопрос 3 Жизненный цикл программного изделия. Стадии разработки.
- •2. Стадия производства
- •3. Стадия эксплуатации
- •Вопрос 4 Модели жизненного цикла программного изделия.
- •С планирование анализ риска хема спиральной модели
- •Вопрос 5 Криптографические средства защиты информации.
- •Вопрос 6 Стили программирования.
- •Советы по использованию особенностей языка программирования
- •Вопрос 7 Классические методы анализа.
- •Вопрос 8 Фаза тестирования программного изделия и её особенности.
- •Вопрос 9 Системное тестирование
- •Основные типы системных тестов
- •Вопрос 10 Способы изменения программ.
- •Использование подпрограмм
- •Метод использования оператора выбора
- •Превращение в комментарии
- •Вопрос 1 Алгоритмы. Основные черты алгоритмов. Алгоритмические языки и языки программирования. Язык блок схем. Понятие программы.
- •Язык блок-схем
- •Язык паскаль
- •Вопрос 2 Основные элементы языка Паскаль (алфавит, идентификаторы, константы, комментарии).
- •Вопрос 3 Общая характеристика типов данных в Паскале, простые типы данных.
- •Простые
- •Вопрос 4 Условные операторы в языке программирования Паскаль.
- •Вопрос 5 Операторы цикла в языке программирования Паскаль.
- •Отличительные особенности
- •Семантика
- •Вопрос 6 Регулярный тип – массивы в языке Паскаль, примеры описания и использования.
- •Вопрос 7 Комбинированный тип – запись в языке Паскаль, примеры описания и использования
- •Вопрос 8 Строковый тип данных в языке Паскаль, основные операции.
- •Вопрос 9 Стандартные процедуры и функции обработки строк, примеры использования.
- •Вопрос 10 Стандартные модули Turbo Pascal. Модуль crt и модуль graph в языке программирования Паскаль.
- •Прцедуры работы с точками
- •Вывод линии
- •Setlinestyle( t, o, k) устанавливает тип линии, где t тип линии, o образец линии k толщина линии. Толщина линии
- •Стиль линии
- •Построение прямоугольников
- •Процедуры построения дуг и окружностей
- •Робота с цветом
- •Стандартные стили заполнения
- •Работа с текстом
- •Вопрос 1 Виды клиент-серверных архитектур. Основные их отличия Архитектура «клиент-сервер»
- •Архитектура «выделенный сервер базы данных»
- •Архитектура «активный сервер базы данных»
- •Архитектура «сервер приложений»
- •Вопрос 2 субд. 3 уровня субд
- •3 Уровня представления бд.
- •Вопрос 3 Целостность базы данных. Способы ее обеспечения в Delphi
- •Вопрос 4 Проектирование баз данных. (Нормализация отношений. Определения 1нф, 2нф, 3нф)
- •Вопрос 5 Модели данных. Реляционная модель базы данных
- •Вопрос 6 Ключи и индексы
- •Вопрос 7 Наборы данных в Delphi. Состояния наборов данных
- •Вопрос 9 Поиск записей в наборе данных средствами Delphi
- •Вопрос 10 Добавление, изменение и удаление записей набора данных с помощью sql
- •Вопрос 1 Информационное оружие
- •Вопрос 2 Дестабилизирующие факторы автоматизированных систем обработки данных.
- •Вопрос 3 Каналы несанкционированного получения информации в асод (кнпи)
- •Вопрос 4 Преднамеренные угрозы безопасности автоматизированных систем обработки данных.
- •Вопрос 5 Защита информации. Задачи защиты информации.
- •Вопрос 6 Опознавание (аутентификация) пользователей. Способы аутентификации пользователей.
- •Вопрос 7 Антивирусные программы. Классификация, принцип работы.
- •Вопрос 8 Защита информации в сетях эвм. Сервисы безопасности.
- •Вопрос 1 Состав программного обеспечения эвм.
- •Системные программы
- •Прикладные программы
- •Коммерческие разновидности программ
- •Вопрос 2 Состав dos. Ядро dos.
- •Структура и функции мs-dos
- •Вопрос 3 Драйвер. Типы драйверов в Windows.
- •Драйверы для Windows.
- •Стандартные
- •Виртуальные
- •Загружаемые
- •Вопрос 4 Файловая система ос (на примере ms-dos).
- •Файловая структура диска
- •Вопрос 5 Правила задания на диске имени файла и каталога. Задание файла по маске. Построение полного имени файла и каталога.
- •Вопрос 6 Понятие Windows. Версии Windows и их различие.
- •История развития.
- •Системные требования:
- •Новшества w' xp
- •2) Документы офиса.
- •3) Файлы всех типов.
- •Возможности w' xp.
- •1. Безопасность системы.
- •2. Программная совместимость.
- •3. Аппаратная совместимость:
- •4. Удаленный помощник.
- •5. Прием и отправка факсов.
- •Вопрос 7 Панель Управления Windows, её расположение и функции.
- •Вопрос 8 Классы вирусов.
- •1. По среде обитания:
- •2. По способу заражения среды обитания:
- •3. По деструктивным возможностям:
- •4. По особенностям алгоритма вируса:
- •Вопрос 9 Классы антивирусных программ
- •Вопрос 10 Диспетчер Программ Windows и его функции. Меню Диспетчера Программ.
- •Вопрос 11 Функции операционных систем.
- •Вопрос 12 Типы пользовательских интерфейсов.
- •Вопрос 12 Определение локальных сетей и их топология. Пакеты, протоколы и методы управления обменом в топологиях.
- •Вопрос 2 Структуризация как средство построения больших сетей. Физическая структуризация. Логическая структуризация.
- •Вопрос 3 Эталонная модель osi. Функции, выполняющиеся каждым уровнем. Примеры работы протоколов на уровнях.
- •Вопрос 4 Требования, предъявляемые к сетям. Производительность. Надежность и безопасность. Прозрачность. Управляемость. Совместимость.
- •Вопрос 5 Принципы адресации в сетях. Типы адресов. Структура ip-адресов. Маска подсети. Система доменных имен.
- •Вопрос 6 Определение маршрутизации. Протоколы маршрутизации. Функции маршрутизаторов.
- •Дисциплина: «Программное обеспечение компьютерных сетей»
- •Вопрос 1 Структура сети Интернет. Сервис www. Определение гипертекста, технология доменных имен в Интернета. Определение хостинга.
- •Вопрос 2.Языки гипертекстовой разметки Интернет-страниц, структура построения документов. Заголовок документа. Тело документа. Объекты.
- •Вопрос 3 Принципы создания клиентской части приложения, инструментальные средства JavaScript. Методы и объекты.
- •Операторы языка JavaScript Унарные операторы
- •Бинарные операторы
- •Операторы отношения
- •Оператор присваивания
- •Три типа объектов JavaScript
- •Метод alert
- •Метод confirm
- •Метод prompt
- •Вопрос 4 Принципы создания серверной части программного обеспечения, инструментальные средства создания приложений (cgi, Perl).
- •6. Логическое и и логическое или
Вопрос 7 Антивирусные программы. Классификация, принцип работы.
Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными. Различают следующие виды антивирусных программ:
программы-детекторы;
программы-доктора или фаги;
программы-ревизоры;
программы-фильтры;
программы-вакцины или иммунизаторы.
Программы-детекторы осуществляют поиск характерного для конкретного вируса кода (сигнатуры) в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.
Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Среди фагов выделяют полифаги, т. е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Norton Antivirus, Doctor Web.
Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают и требуется регулярное обновление версий.
Антивирусы-полифаги
Антивирусы-полифаги — наиболее распространенные средства по борьбе с вредоносными программами. Исторически они появились первыми и до сих пор удерживают несомненное лидерство в этой области.
В основе работы полифагов стоит простой принцип — поиск в программах и документах знакомых участков вирусного кода (так называемых сигнатур вирусов). В общем случае сигнатура — это такая запись о вирусе, которая позволяет однозначно идентифицировать присутствие вирусного кода в программе или документе. Чаше всего сигнатура — это непосредственно участок вирусного кода или его контрольная сумма (дайджест).
Первоначально антивирусы-полифаги работали по очень простому принципу — осуществляли последовательный просмотр файлов на предмет нахождения в них вирусных программ. Если сигнатура вируса была обнаружена, то производилась процедура удаления вирусного кода из тела программы или документа. Прежде чем начать проверку файлов, программа-фаг всегда проверяет оперативную память. Если в оперативной памяти оказывается вирус, то происходит его деактивация. Это вызвано тем, что зачастую вирусные программы производят заражение тех программ, которые запускаются или открываются в тот момент, когда вирус находится в активной стадии (это связано со стремлением экономить на усилиях по поиску объектов заражения).
Таким образом, если вирус останется активным в памяти, тотальная проверка всех исполняемых файлов приведет к тотальному заражению системы.
В настоящее время вирусные программы значительно усложнились. Например, появились так называемые «stealth-вирусы». В основе их работы лежит тот факт, что операционная система при обращении к периферийным устройствам (в том числе и к жестким дискам) использует механизм прерываний. Здесь необходимо сделать небольшое отступление на тему «Как работает механизм прерываний». При возникновении прерывания управление передается специальной программе — «Обработчику прерываний». Эта программа отвечает за ввод и вывод информации в/из периферийного устройства. Кроме того, прерывания делятся на уровни взаимодействия с периферией (в нашем случае — с жесткими и гибкими дисками). Есть уровень операционной системы (в среде MS DOS — прерывание 25h), есть уровень базовой системы ввода/вывода (уровень BIOS — прерывание 13h). Опытные системные программисты могут работать и напрямую, обращаясь к портам ввода/вывода устройств. Но это довольно серьезная и трудная задача. Столь многоуровневая система сделана, прежде всего, с целью сохранения переносимости приложений. Именно благодаря такой системе, скажем, оказалось возможным осуществлять запуск DOS-приложений в многозадачных средах типа MS Windows или IBM OS/2. Но в такой системе изначально скрыта и уязвимость: управляя обработчиком прерываний, можно управлять потоком информации от периферийного устройства к пользователю. Stealth-вирусы, в частности, используют механизм перехвата управления при возникновении прерывания. Заменяя оригинальный обработчик прерывания своим кодом, stealth-вирусы контролируют чтение данных с диска.
В случае, если с диска читается зараженная программа, вирус «выкусывает» собственный код (обычно код не буквально «выкусывается», а происходит подмена номера читаемого сектора диска). В итоге пользователь получает для чтения «чистый» код. Таким образом, до тех пор, пока вектор обработчика прерываний изменен I вирусным кодом, сам вирус активен в памяти компьютера, обнаружить его простым чтением диска средствами операционной системы невозможно. Схожий механизм маскировки используется и загрузочными вирусами, о которых будет сказано дальше. В целях борьбы со stealth-вирусами ранее рекомендовалось (и, в принципе, рекомендуется и сейчас) осуществлять альтернативную загрузку системы с гибкого диска и только после этого проводить поиск и удаление вирусных программ. В настоящее время загрузка с гибкого диска может оказаться проблематичной (для случая с Win32 — антивирусными приложениями запустить их не удастся). Ввиду всего вышесказанного, антивирусы-полифаги оказываются максимально эффективными только при борьбе с уже известными вирусами, то есть с такими, чьи сигнатуры и методы поведения знакомы разработчикам.
Только в этом случае вирус со 100%-ной точностью будет обнаружен и удален из памяти компьютера, а потом — и из всех проверяемых файлов. Если же вирус неизвестен, то он может достаточно успешно противостоять попыткам его обнаружения и лечения. Поэтому главное при пользовании любым полифагом — как можно чаще обновлять версии программы и вирусные базы. Особняком тут стоят так называемые эвристические анализаторы. Дело в том, что существует большое количество вирусов, алгоритм которых практически скопирован с алгоритма других вирусов.
Как правило, такие вариации создают непрофессиональные программисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими «копиями» и были придуманы эвристические анализаторы. С их помощью антивирус способен находить подобные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100 %, но все же его коэффициент полезного действия больше 50 %. Вирусы, которые не распознаются антивирусными детекторами, способны написать только наиболее опытные и квалифицированные программисты.
Эвристическим анализатором кода называется набор подпрограмм, анализирующих код исполняемых файлов, памяти или загрузочных секторов для обнаружения в нем разных типов компьютерных вирусов. Основной частью эвристического анализатора является эмулятор кода. Эмулятор кода работает в режиме просмотра, то есть его основная задача — не выполнять код, а выявлять в нем всевозможные события, т. е. совокупность кода или вызов определенной функции операционной системы, направленные на преобразование системных данных, работу с файлами, или обнаруживать часто используемые вирусные конструкции. Грубо говоря, эмулятор просматривает код программы и выявляет те действия, которые эта программа совершает. Если действия этой программы укладываются в какую-то определенную схему, то делается вывод о наличии в программе вирусного кода.
Конечно, вероятность как пропуска, так и ложного срабатывания весьма высока. Однако правильно используя механизм эвристики, пользователь может самостоятельно прийти к верным выводам. Например, если антивирус выдает сообщение о подозрении на вирус для единичного файла, то вероятность ложного срабатывания весьма высока. Если же такое повторяется на многих файлах (а до этого антивирус ничего подозрительного в этих файлах не обнаруживал), то можно говорить о заражении системы вирусом с вероятностью, близкой к 100 %. Наиболее мощным эвристическим анализатором в настоящее время обладает антивирус Dr.Web.
Использование эвристического анализатора, помимо всего вышеперечисленного, позволяет также бороться с вирус-генераторами и полиморфными вирусами.
Классический метод определения вирусов по сигнатуре в этом случае вообще оказывается неэффективен. Вирус-генераторы — это специализированный набор библиотек, который позволяет пользователю легко сконструировать свой собственный вирус, даже имея слабые познания в программировании. К написанной программе, подключаются библиотеки генератора, вставляются в нужных местах вызовы внешних процедур — и вот элементарный вирус превратился в достаточно сложный продукт. Самое печальное, что в этом случае сигнатура вируса будет каждый раз другая, поэтому отследить вирус оказывается возможным только по характерным вызовам внешних процедур — а это уже работа эвристического анализатора. Полиморфный вирус имеет еще более сложную структуру. Само тело вируса видоизменяется от заражения к заражению, при этом сохраняя свое функциональное наполнение.
В простейшем случае — если разбросать в теле вируса случайным образом ничего не исполняющие, пустые операторы (типа «mov ax, ах» или «пор»), то тело вирусного кода претерпит значительные изменения, а алгоритм останется прежним. В этом случае на помощь также приходит эвристический анализатор.
Программы-ревизоры
Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран монитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля (контрольная сумма файла), дата и время модификации, другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже очистить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа Adinf.
Программы-фильтры, пли «сторожа», представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться:
попытки коррекции файлов с расширениями СОМ, ЕХЕ;
изменение атрибутов файла;
прямая запись на диск по абсолютному адресу;
запись в загрузочные сектора диска;
загрузка резидентной программы.
При попытке какой-либо программы произвести указанные действия «сторож» посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако они не «лечат» файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их «назойливость» (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением. Примером программы-фильтра является программа Vsafe, входящая в состав пакета утилит MS DOS.
Вакцины, или иммунизаторы, — это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, «лечащие» от вируса. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение.