Билет №1

1. Поколения языков программирования. Трансляторы.

Машинные коды были языком программирования первого поколения.

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

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

Второе поколение ознаменовалось появлением в начале 50х годов языка программирования Ассемблера (assembly language). Вместо одних только нулей и единиц использовались операторы, которые были похожи на слова английского языка. Компилятор преобразовывал эти выражения в машинные коды.

Третье поколение. Период с середины 50-х до 70-х годов отмечен появлением первых языков программирования высокого уровня (high-level languages). Эти языки впервые позволили ученым (прежде всего, математикам) работать с компьютерами. Язык программирования FORTRAN позволял довольно легко определять переменные и использовать для вычислений математические выражения. Для языков высокого уровня, таких как FORTRAN и COBOL, понадобились более быстрые, высокоэффективные компиляторы, поскольку при преобразовании исходного кода, выходные программы получались большими.

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

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

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

Транслятором языка программирования называется программа, осуществляющая перевод текста программы с языка программирования в (как правило) машинный код. Комплекс средств, включающих в себя входной язык программирования, транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое, называется системой программирования. В зависимости от способа перевода с входного языка (языка программирования) трансляторы подразделяются на компиляторы и интерпретаторы. В компиляции процессы трансляции и выполнения программы разделены во времени. Сначала компилируемая программа преобразуется в набор объектных модулей на машинном языке, которые затем собираются (компонуются) в единую машинную программу, готовую к выполнению и сохраняемую в виде файла на магнитном диске. Эта программа может быть выполнена многократно без повторной трансляции. Интерпретатор осуществляет пошаговую трансляцию и немедленное выполнение операторов исходной программы: каждый оператор входного языка программирования транслируется в одну или несколько команд машинного языка, которые тут же выполняются без сохранения на диске.

2. Принципы построения реляционной БД. Состав реляционной СУБД.

Реляционная база данных - набор отношений, имена которой совпадают с именами схем отношений, определенных в базе данных.

При проектировании базы данных необходимо решить 3 основные задачи:

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

2. Установить необходимый состав запросов, выполняемых в базе и разрабатывать эффективный метод их реализации. При этом необходимо учитывать особенности конкретной СУБД, наличие дополнительных данных хранимых процедур, и т.д.

3. Разработать интерфейс. Удобный для пользователя: выполнения запросов, отчеты. Эта задача не является непосредственной задачей проектирования базы данных, однако её решение обеспечит эффективное использование ресурсов данных.

Согласно Дейту [1], реляционная модель баз данных состоит из трех частей:

1. В структурной части

2. В манипуляционной части

3. В целостной части

В структурной части модели фиксируется, что единственный структурой данных является реализованное n-арное отношение.

Манипуляционная часть включает механизмы манипулирования реляционными базами данных: реляционная алгебра и реляционное исчисление.

Реляционная алгебра основана на теории множеств и включает операции теории множеств.

Реляционное исчисление основано на аппарате алгебры логики и его раздела предикатного исчисления.

Целостная часть фиксирует 2 требования целостности, которые должны поддерживается в любой реляционной СУБД:

Требования целостности сущности. Данное требование соответствует первому свойству отношения - отсутствия кортежа дубликатов.

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

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

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

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

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

3. При удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения удаляются все ссылающиеся на удаляемый кортеж кортежи.

3. Угрозы информационной безопасности. Виды угроз.

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

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

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

• несанкционированное копирование носителей информации;

• неосторожные действия, приводящие к разглашению конфиденциальной информации, или делающие ее общедоступной;

• игнорирование организационных ограничений (установленных правил) при определении ранга системы.

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

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

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

1. По природе возникновения.

1.1. Естественные угрозы, независящих от человека.

1.2. Искусственные угрозы, вызванные деятельностью человека.

2. По степени преднамеренности проявления.

2.1. Угрозы случайного действия

2.2. Угрозы преднамеренного действия

3. По непосредственному источнику угроз.

3.1. Угрозы, непосредственным источником которых является природная среда.

3.2. Угрозы, непосредственным источником которых является человек.

3.3. Угрозы, непосредственным источником которых являются санкционированные программно-аппаратные средства.

3.4. Угрозы, непосредственным источником которых являются несанкционированные программно-аппаратные средства.

4. По положению источника угроз.

4.1. Угрозы, источник которых расположен вне контролируемой зоны территории (помещения), на которой находится АС.

4.2. Угрозы, источник которых расположен в пределах контролируемой зоны территории (помещения), на которой находится АС.

4.3. Угрозы, источник которых имеет доступ к периферийным устройствам АС

4.4. Угрозы, источник которых расположен в АС.

5. По степени зависимости от активности АС.

5.1. Угрозы, которые могут проявляться независимо от активности АС.

5.2. Угрозы, которые могут проявляться только в процессе автоматизированной обработки данных

6. По степени воздействия на АС.

6.1. Пассивные угрозы, которые при реализации ничего не меняют в структуре и содержании АС

6.2. Активные угрозы, которые при воздействии вносят изменения в структуру и содержание АС.

7. По этапам доступа пользователей или программ к ресурсам АС.

7.1. Угрозы, которые могут проявляться на этапе доступа к ресурсам АС

7.2. Угрозы, которые могут проявляться после разрешения доступа к ресурсам АС

8. По способу доступа к ресурсам АС.

8.1. Угрозы, направленные на использование прямого стандартного пути доступа к ресурсам АС.

8.2. Угрозы, направленные на использование скрытого нестандартного пути доступа к ресурсам АС.

9. По текущему месту расположения информации, хранимой и обрабатываемой в АС.

9.1. Угрозы доступа к информации на внешних запоминающих устройствах

9.2. Угрозы доступа к информации в оперативной памяти.

9.3. Угрозы доступа к информации, циркулирующей в линиях связи.

9.4. Угрозы доступа к информации, отображаемой на терминале или печатаемой на принтере.

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

Угроза нарушения конфиденциальности

• Угроза нарушения

• Угроза отказа.

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

 

Hosted by uCoz