В современном обществе успех любого вида деятельности сильно зависит от обладания определенными сведениями (информацией) и от отсутствия их (ее) у конкурентов. Чем сильней проявляется указанный эффект, тем больше потенциальные убытки от злоупотреблений в информационной сфере и тем больше потребность в защите информации. Одним словом, возникновение индустрии обработки информации привело к возникновению индустрии средств ее защиты и к актуализации самой проблемы защиты информации, проблемы информационной безопасности.
Одна из наиболее важных задач (всего общества) – задача кодирования сообщений и шифрования информации.
Вопросами защиты и скрытия информации занимается наука кpиптология (криптос – тайный, логос – наука). Кpиптология имеет два основных напpавления – кpиптогpафию и кpиптоанализ. Цели этих направлений пpотивоположны. Кpиптогpафия занимается построением и исследованием математических методов пpеобpазования инфоpмации, а кpиптоанализ – исследованием возможности pасшифpовки инфоpмации без ключа. Термин "криптография" происходит от двух греческих слов: криптоc - тайна и грофейн – писать. Таким образом, это тайнопись, система перекодировки сообщения с целью сделать его непонятным для непосвященных лиц и дисциплина, изучающая общие свойства и принципы систем тайнописи.
Введем некоторые основные понятия кодирования и шифрования.
Код – правило соответствия набора знаков одного множества Х знакам другого множества Y. Если каждому символу Х при кодировании соответствует отдельный знак Y, то это кодирование. Если для каждого символа из Y однозначно отыщется по некоторому правилу его прообраз в X, то это правило называется декодированием.
|
Кодирование – процесс преобразования букв (слов) алфавита Х в буквы (слова) алфавита Y.
При представлении сообщений в ЭВМ все символы кодируются байтами.
Пример. Если каждый цвет кодировать двумя битами, то можно закодировать не более 22 = 4 цветов, тремя – 23 = 8 цветов, восемью битами (байтом) – 256 цветов. Для кодирования всех символов на клавиатуре компьютера достаточно байтов.
Сообщение, которое мы хотим передать адресату, назовем открытым сообщением. Оно, естественно, определено над некоторым алфавитом.
Зашифрованное сообщение может быть построено над другим алфавитом. Назовем его закрытым сообщением. Процесс преобразования открытого сообщения в закрытое сообщение и есть шифрование.
Если А – открытое сообщение, В – закрытое сообщение (шифр), f – правило шифрования, то f(A) = B.
Правила шифрования должны быть выбраны так, чтобы зашифрованное сообщение можно было расшифровать. Однотипные правила (например, все шифры типа шифра Цезаря, по которому каждый символ алфавита кодируется отстоящим от него на k позиций символом) объединяются в классы, и внутри класса определяется некоторый параметр (числовой, символьный табличный и т.д.), позволяющий перебирать (варьировать) все правила. Такой параметр называется шифровальным ключом. Он, как правило, секретный и сообщается лишь тому, кто должен прочесть зашифрованное сообщение (обладателю ключа).
При кодировании нет такого секретного ключа, так как кодирование ставит целью лишь более сжатое, компактное представление сообщения.
Если k – ключ, то можно записать f(k(A)) = B. Для каждого ключа k, преобразование f(k) должно быть обратимым, то есть f(k(B)) = A. Совокупность преобразования f(k) и соответствия множества k называется шифром.
|
Имеются две большие группы шифров: шифры перестановки и шифры замены.
Шифр перестановки изменяет только порядок следования символов исходного сообщения. Это такие шифры, преобразования которых приводят к изменению только следования символов открытого исходного сообщения.
Шифр замены заменяет каждый символ кодируемого сообщения на другой(ие) символ(ы), не изменяя порядок их следования. Это такие шифры, преобразования которых приводят к замене каждого символа открытого сообщения на другие символы, причем порядок следования символов закрытого сообщения совпадает с порядком следования соответствующих символов открытого сообщения.
Под надежностью понимается способность противостоять взлому шифра. При дешифровке сообщения может быть известно все, кроме ключа, то есть надежность шифра определяется секретностью ключа, а также числом его ключей. Применяется даже открытая криптография, которая использует различные ключи для шифрования, а сам ключ может быть общедоступным, опубликованным. Число ключей при этом может достигать сотни триллионов.
Пример. Один из лучших примеров алгоритма шифрования – принятый в 1977 году Национальным бюро стандартов США алгоритм стандарта шифрования данных DES (Data Encrypted Standard). Исследования алгоритма специалистами показали, что пока нет уязвимых мест, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. В июле 1991 года введен в действие аналогичный отечественный криптоалгоритм (стандарта ГОСТ 28147-89), который превосходит DES по надежности
|
Информационная безопасность информационной системы – защищенность информации, обрабатываемой компьютерной системой, от внутренних (внутрисистемных) или внешних угроз, то есть состояние защищенности информационных ресурсов системы, обеспечивающее устойчивое функционирование, целостность и эволюцию системы. К защищаемой информации (информационным ресурсам системы) относятся электронные документы и спецификации, программное обеспечение, структуры и базы данных и др.
Оценка безопасности компьютерных систем базируется на различных классах защиты систем:
- класс систем минимальной защищенности (класс D);
- класс систем с защитой по усмотрению пользователя (класс C);
- класс систем с обязательной защитой (класс B);
- класс систем с гарантированной защитой (класс A).
Эти классы имеют и подклассы, но мы их не будем здесь детализировать.
Основными типами средств воздействия на компьютерные сети и системы являются компьютерные вирусы, логические бомбы и мины (закладки, жучки), внедрение в информационный обмен.
Пример. Многократно разославшая свой код в 2000 году вирусная программа в Интернете могла при открытии приложения к тексту письма с интригующим заголовком (ILoveYou – ЯТебяЛюблю) рассылать свой код по всем адресам, зафиксированным в адресной книге данного получателя вируса, что приводило к веерному размножению вируса по Интернету, ибо адресная книга каждого пользователя может содержать десятки и сотни адресов.
Компьютерный вирус – специальная программа, которая составлена кем-то со злым умыслом или для демонстрации честолюбивых, в плохом смысле, интересов, способная к воспроизводству своего кода и к переходу от программы к программе (инфицирование). Вирус подобен инфекции, проникающей в кровяные тельца и путешествующей по всему организму человека. Перехватывая управление (прерывания), вирус подключается к работающей программе или к другим программам и затем дает команду компьютеру для записи зараженной версии программы, а затем возвращает управление программе как ни в чем не бывало. Далее или сразу же этот вирус может заработать (перехватив управление от программы).
По мере появления новых компьютерных вирусов разработчики антивирусных программ пишут вакцину против нее – так называемую антивирусную программу, которая, анализируя файлы, может распознать в них скрытый код вируса и либо удалить этот код (вылечить), либо удалить зараженный файл. Базы антивирусных программ обновляются часто.
Пример. Одну из самых популярных антивирусных программ AIDSTEST автор (Д. Лозинский) обновляет иногда дважды в неделю. Известная антивирусная программа AVP лаборатории Касперского содержит в своей базе данные о нескольких десятках тысяч вирусах, вылечиваемых программой.
Вирусы бывают следующих основных видов:
- загрузочные – заражающие стартовые секторы дисков, где находится самая важная информация о структуре и файлах диска (служебные области диска, так называемые boot–сектора);
- аппаратно-вредные – приводящие к нарушению работы, а то и вовсе к разрушению аппаратуры, например, к резонансному воздействию на винчестер, к "пробою" точки на экране дисплея;
- программные – заражающие исполняемые файлы (например, exe-файлы с непосредственно запускаемыми программами);
- полиморфные – которые претерпевают изменения (мутации) от заражения к заражению, от носителя к носителю;
- стелс-вирусы – маскирующиеся, незаметные (не определяющие себя ни размером, ни прямым действием);
- макровирусы – заражающие документы и шаблоны текстовых редакторов, используемые при их создании;
- многоцелевые вирусы.
Особенно опасны вирусы в компьютерных сетях, так как они могут парализовать работу всей сети.
Вирусы могут проникать в сеть, например:
- с внешних носителей информации (из копируемых файлов, с дискет);
- через электронную почту (из присоединенных к письму файлов);
- через Интернет (из загружаемых файлов).
Существуют различные методы и пакеты программ для борьбы с вирусами (антивирусные пакеты).
При выборе антивирусных средств необходимо придерживаться следующих простых принципов (аналогичных противогриппозной профилактике):
- если используются в системе различные платформы, операционные среды, то антивирусный пакет должен поддерживать все эти платформы;
- антивирусный пакет должен быть простым и понятным, дружественным в использовании, позволяющим выбирать опции однозначно и определенно на каждом шаге работы, иметь развитую систему понятных и информативных подсказок;
- антивирусный пакет должен обнаруживать – скажем, с помощью различных эвристических процедур – новые неизвестные вирусы и иметь пополняемую и обновляемую регулярно базу данных о вирусах;
- антивирусный пакет должен быть лицензионным, от надежного известного поставщика и производителя, который регулярно обновляет базу данных, а сам поставщик должен иметь свой антивирусный центр – сервер, откуда можно получить необходимую срочную помощь, информацию.
Пример. Исследования свидетельствуют, что, если половина компьютеров в мире будет иметь постоянную, эффективную антивирусную защиту, то компьютерные вирусы лишатся возможности размножаться.
Алгоритм " является базовым основополагающим понятием информатики, а алгоритмизация (программирование) – основным разделом курса информатики (ядром курса). Понятие алгоритма, как и понятие информации, точно определить невозможно. Поэтому встречаются самые разнообразные определения – от "наивно-интуитивных" (" алгоритм – это план решения задачи") до "строго формализованных" (нормальные алгоритмы Маркова).
В качестве рабочего определения алгоритма возьмем следующее определение.
Алгоритм – это упорядоченная совокупность точных (формализованных) и полных команд исполнителю алгоритма (человек, ЭВМ), задающих порядок и содержание действий, которые он должен выполнить для нахождения решения любой задачи из рассматриваемого класса задач.
Алгоритм удовлетворяет следующим основным свойствам:
- Конечность (дискретность) команд и выполняемых по ним действий алгоритма.
- Выполнимость в определенной операционной среде (в определенном классе исполнителей).
- Результативность отдельных команд и всего алгоритма.
- Применимость алгоритма ко всем возможным входным данным конкретного класса задач.
- Определенность (детерминированность) команд и всего алгоритма для всех входных данных.
- Формализованное, конструктивное описание (представление) команд алгоритма.
- Минимальная полнота системы команд алгоритм.
- Непротиворечивость любых команд алгоритма на любом наборе входных данных.
Любая актуализация информации опирается на какие-то данные, любые данные могут быть каким-то образом актуализированы.
Данные – это некоторые сообщения, слова в некотором заданном алфавите.
Пример. Число 123 – данное, представляющее собой слово в алфавите из десяти натуральных цифр; число 12,34 – данное, представляющее собой слово в алфавите из десяти натуральных цифр и десятичной запятой; текст "математика и информатика – нужные дисциплины", – данное в алфавите из символов русского языка и знаков препинания, включая пробел.