укр  |  рус 
Додати статтю | Реєстрація
Безпека бізнесу
Безпека банків
Безпека особистості
Безпека помешкання
Безпека та персонал
Безпека туризму та відпочинку
Документи для роботи
Захист інформації
IT-безпека
Інформаційна безпека
Безпека та інтернет
Криптологія
Техничний захист інформації
Захист автомобіля
Зброя та спецзасоби
Пожежна безпека
Системи безпеки
Фактори, які потрібно враховувати при покупці сейфа. 
Наркотики й діти. Підозрілі ознаки 
Служба безпеки агентство нерухомості 
Билеты для зачета по правилам пожарной безопасности 
Реферат На тему: «Защита персональных данных в ИС» По дисциплине Информационная безопасность  
Активні та пасивні засоби захисту 
Положення про службу охорони праці  
ДОЛЖНОСТНАЯ ИНСТРУКЦИЯ РАБОТНИКА ПЛЯЖА (СТЮАРТ) 
Наркотики й діти. Підозрілі ознаки 
Словарь терминов по информационной безопасности. Часть 2 
Як вибрати пожежний датчик 
Захист автомобіля: Імобілайзер. Питання й відповіді. 
Безпека на лижних маршрутах 
Захист й комбінована техніка з використанням гумового ціпка 
Переваги систем захисту від крадіжок різних технологій 
Каталог
Цифровые системы
Видеокамеры
Объективы
Устройства обработки
Оповещатели и указатели
Домофоны
Контроль доступа, замки, защелки
Корпуса, кожухи, аксессуары
Мониторы
лекций   эксплуатацией   Вступ   крадіж   должностная   инструкция   работника   пляжа   пожаров   надзора   действий   напа?   інвентаризац   агрес¦?   нформационная   безопасность   уровни   обеспечения   Какое   электрохозяйства,   пожарной  
Зберегти сторінку Зробити стартовою Відправити другу
 укр
 рус
Інформаційна безпека
Принципы разработки и отладки защищенного программного обеспечения управляющих систем
КУРСОВОЙ ПРОЕКТ
   по дисциплине «Теория информационной безопасности и
   методология защиты информации»
   



   
   Содержание
   I. Введение
   II. Основная часть
    1. Структура микропроцессорных управляющих систем
    2. Принципы разработки программного обеспечения управляющих систем
    3. Принципы тестирования программного обеспечения
   4. Средства разработки и отладки программного обеспечения
   5. Методы отладки программного обеспечения
   6. Назначение и виды прерываний
   7. Надежность и качество программного обеспечения управляющих систем
   8. Методы защиты программного обеспечения управляющих систем
   III. Заключение
   Список литературы
   
   I. Введение
   Методика разработки и отладки микропроцессорных систем имеет определенную специфику. Микропроцессорные системы можно условно разделить на два основных класса: универсальные, которые используются для решения широкого круга задач обра-ботки информации, и управляющие, которые специализируются на решении задач управ-ления процессами и объектами.
   Типичными примерами универсальных микропроцессорных систем являются пер-сональные компьютеры и рабочие станции, которые применяются в самых различных сферах деятельности. Высокая производительность, надежность и способность быть адап-тированными для выполнения практически любых задач делает микропроцессорные сис-темы перспективным направлением в современном техническом развитии.
   Управляющая система представляет собой интегрированный комплекс, состоящий из одного или более процессов, аппаратных устройств, программ, средств и людей, пре-доставляющий возможность удовлетворить определенную потребность или условие [8]. Современная система управления построена на основе микропроцессорных средств и представляет собой преимущественно программную систему, т.е. систему, в которой про-граммное обеспечение оказывает значительное влияние на проект, конструкцию, развер-тывание и развитие всей системы.
   Надежность и защищенность является одним из главных показателей эффективно-сти для любых систем управления. Системы управления сложными комплексами должны обладать гарантированным уровнем надежности. Согласно ГОСТ 27.002-83 [3], надеж-ность определяется как свойство, обеспечивающее возможность выполнения устройством заданных функций с установленными характеристиками в определенных условиях экс-плуатации и в течение требуемого интервала времени.
   Надежность микропроцессорных управляющих систем зависит от надежности и качества всех компонентов, с том числе, программного обеспечения.
   Программное обеспечение современных управляющих систем представляет собой сложный программный комплекс. Причем, в большей мере надежность программного обеспечения и успех в его создании зависят от начальных этапов его проектирования. Этап разработки и отладки программного обеспечения микропроцессорных систем явля-ется ответственным, трудоемким и требует высокой квалификации разработчиков, так как ошибки, допущенные на этом этапе, обычно обнаруживаются лишь на стадии испытания законченного образца и требуют длительной и дорогостоящей переработки всей системы.
   II.1. Структура микропроцессорных управляющих систем
   Системы управления объектами строятся на базе управляющего устройства, со-единенного с объектом управления несколькими каналами связи. В качестве управляюще-го устройства системы может использоваться микропроцессорный контроллер, построен-ный на базе микропроцессора определенного типа.
   Система управления может решать различные задачи:
   • поддержание на определенном уровне или изменение по определенному закону выходных параметров объекта управления;
   • программное изменение выходных параметров объекта и отслеживание их изме-нений в соответствии с некоторыми внешними сигналами;
   • включение или выключение потока энергии в объекты управления по времени или по заданному амплитудному значению контролируемого параметра;
   • сбор информации о состоянии объекта управления и ее обработка с сохранением результатов обработки в устройствах памяти.
   II.2. Принципы разработки программного обеспечения управляющих систем
   Проектирование программного обеспечения микропроцессорных управляющих систем включает в себя следующие этапы:
   - анализ требований к программному обеспечению;
   - формализация задач и выполняемых функций, куда входит определение входов и выходов алгоритмических и программных блоков, конкретных процессов обработки, формулирование и учет системных ограничений (эксплуатационных, временных, объем-ных, точностных и др.);
   - проектирование программы или составление алгоритма ее выполнения, удовле-творяющего требованиям постановки задачи и спецификаций;
   - кодирование или собственно программирование, заключается в формировании программы на выбранном языке - программирование (исходный текст). Затем осуществ-ляется компиляция и трансляция для программы, написанной на языке высокого уровня, или только трансляция для программы, написанной на языке ассемблера. После компо-новки с помощью редактора связей получается загрузочный модуль в машинных кодах целевого (используемого) микропроцессора или микроконтроллера;
   - тестирование и автономная отладка, когда на программной модели проверяется корректность программы. Тестирование позволяет убедиться в том, что программа пра-вильно выполняет возложенные на нее функции. При этом очень важным является пра-вильный выбор тестовых данных, разработка методов тестирования и тестовых примеров.
   II.3. Принципы тестирования программного обеспечения
   Для проверки корректности программ, т.е. их соответствия внешним спецификаци-ям, выполняется тестирование: программы запускаются с различными исходными дан-ными, а результаты прогонов сравниваются с эталонными значениями.
   Рассмотрим два основных способа начального тестирования программ: пошаговый режим и трассировку программ. Эти способы применяются, как правило, к отдельным участкам программ.
   Метод пошагового тестирования предполагает, что модули тестируются не изоли-рованно друг от друга, а подключаются поочередно для выполнения теста к набору уже ранее оттестированных модулей.
   Трудоемкость пошагового режима уменьшается, если имеются средства отладки, автоматически показывающие содержимое регистров процессора и ячеек памяти, исполь-зуемых в последней команде, и несколько следующих команд. Пошаговый режим являет-ся весьма эффективным средством предварительного тестирования, поскольку позволяет обнаруживать неисправности, прежде чем они существенно исказят программу и данные.
   Пошаговый режим позволяет изменять содержимое регистров и ячеек памяти и, следовательно, проверять работу программы в разных условиях. Тем самым позволяет программисту обнаруживать ошибку.
   Трассировка программы осуществляется по шагам в соответствии с заданиями, со-держащимися в операторах. При этом регистрируется последовательность операторов, реализуемых на каждом шаге процесса и, следовательно, получается трасса или маршрут исполнения программы, который для конкретной программы зависит только от значений исходных данных. Программа-отладчик выполняет автоматически команду за командой и выводит содержимое регистров процессора на терминал после каждого шага. Отслежива-ние программы продолжается до тех пор, пока не будет остановлено извне.
   Результаты трассировки выводятся на экран терминала или на принтер. Програм-мист, анализируя эти данные, может обнаружить ошибки.
   Недостаток трассировки заключается в том, что она, во-первых, не дает возможно-сти изменять содержимое памяти и регистров, а во-вторых, может послужить причиной того, что программа разрушит себя или свои данные прежде, чем отслеживание будет ос-тановлено.
   Метод контрольных точек используют после проверки отдельных участков про-граммы в пошаговом режиме или с помощью трассировки. В контрольных точках, уста-новленных программистом, прерывается исполнение программы, и управление передается программе-отладчику. Это позволяет по желанию выполнить избранные участки про-граммы и проанализировать результаты.
   Программист устанавливает контрольные точки, как правило, для конкретной ко-манды, но в некоторых системах имеется возможность прерывания программы при чтении определенных ячеек памяти или при записи в них.
   Отладка позволяет выявить и устранить основную часть неисправностей програм-мы, однако гарантировать отсутствие дефектов после отладки сложных программ нельзя.
   II.4. Средства разработки и отладки программного обеспечения
   Отладка − процесс обнаружения ошибок и определение источников их появления по результатам тестирования при проектировании МПС. Отладка МПС заключается в том, что на каждой стадии и фазе жизненного цикла МПС выполняются процедуры тестового контроля и диагностики, направленные на обнаружение и локализацию неисправностей.
   Отладка программ состоит из этапов:
   • планирование отладки;
   • составление тестов и задания на отладку;
   • прогон тестов и выдача результатов;
   • анализ результатов, обнаружение ошибок и локализация неисправностей.
   В процессе разработки и отладки программного обеспечения микропроцессорных систем используются следующие программные средства:
   • ассемблеры, компиляторы;
   • симуляторы (программно-логические модели);
   • отладчики, редакторы связей (компоновщики, загрузчики).
   В современных комплексах проектирования/отладки систем эти средства обычно работают совместно, в составе интегрированной среды (оболочки) программирования.
   При программировании управляющих систем чаще всего используются машинно-ориентированный язык Ассемблера или языки С / C++. Язык Ассемблера применяется в случаях, когда имеются жесткие ограничения на объем требуемой памяти или на время выполнения программных модулей. Такие случаи являются достаточно типичными при решении задач управления, поэтому Ассемблеры являются одним из основных средств создания программного обеспечения для микропроцессорных систем. В тех случаях, когда указанные ограничения не очень жесткие, для создания программного обеспечения ис-пользуются языки высокого уровня (обычно С / C++).
   Особенно сложные задачи приходится решать при программировании управляю-щих систем, работающих в реальном масштабе времени. В этом случае разработчик дол-жен использовать какую-либо из имеющихся операционных систем реального времени (ОСРВ) или создавать собственные программы-мониторы реального времени с помощью указанных выше средств программирования. В составе многих ОСРВ имеются средства поддержки программирования, которые могут использоваться при проектирова-нии/отладке системы.
   Этап отладки программного обеспечения является очень трудоемким и требует использования инструментальных средств отладки. К числу основных инструменталь-ных средств отладки относятся:
   Программные средства: Программные симуляторы
    Мониторы отладки
    Интегрированная среда разработки
   Аппаратно-программные средства: Внутрисхемные эмуляторы
    Платы развития (оценочные платы)
    Эмуляторы ПЗУ
    Логические анализаторы
    Сигнатурные анализаторы
    Комплексы диагностирования
   
   Симулятор - программное средство, способное имитировать работу микроконтрол-лера и его памяти. Симулятор должен уметь загружать файлы программ во всех популяр-ных форматах, максимально полно отображать информацию о состоянии ресурсов симу-лируемого микроконтроллера, а также предоставлять возможности по симуляции выпол-нения загруженной программы в различных режимах. В процессе отладки модель “вы-полняет” программу, и на экране компьютера отображается текущее состояние модели.
   Отладочный монитор - специальная программа, загружаемая в память отлаживае-мой системы. Она вынуждает процессор пользователя производить, кроме прикладной задачи, еще и отладочные функции:
   • загрузку прикладных кодов пользователя в свободную от монитора память;
   • установку точек останова;
   • запуск и останов загруженной программы в реальном времени;
   • проход программы пользователя по шагам;
   • просмотр, редактирование содержимого памяти и управляющих регистров.
   Программа монитора обязательно должна работать в связке с внешним компьюте-ром или пассивным терминалом, на которых и происходит визуализация и управление процессом отладки.
   Интегрированная среда разработки - совокупность программных средств, под-держивающая все этапы разработки программного обеспечения от написания исходного текста программы до ее компиляции и отладки, и обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами (внутрисхемным эмулятором, программным симулятором и программатором).
   Дополнительно работа в интегрированной среде дает программисту:
   • Возможность использования встроенного многофайлового текстового редактора, специально ориентированного на работу с исходными текстами программ;
   • Диагностика выявленных при компиляции ошибок, и исходный текст програм-мы, доступный редактированию, выводятся одновременно в многооконном режиме;
   • Возможность организации и ведения параллельной работы над несколькими про-ектами.
   • Возможность загрузки отлаживаемой программы в имеющиеся средства отладки, и работы с ними без выхода из оболочки;
   • Возможность подключения к оболочке практически любых программных средств.
   Внутрисхемный эмулятор – программно-аппаратное средство, способное замещать собой эмулируемый процессор в реальной схеме. Внутрисхемный эмулятор – это наибо-лее мощное и универсальное отладочное средство.
   Как минимум, эмулятор содержит следующие функциональные блоки:
   • отладчик;
   • узел эмуляции микроконтроллера;
   • эмуляционная память;
   • подсистема точек останова.
   Платы развития, или как принято их называть в зарубежной литературе - оценоч-ные платы, являются своеобразными конструкторами для макетирования прикладных сис-тем. В последнее время, при выпуске новой модели кристалла микроконтроллера, фирма-производитель обязательно выпускает и соответствующую плату развития.
   Эмулятор ПЗУ (постоянное запоминающее устройство) - программно-аппаратное средство, позволяющее замещать ПЗУ на отлаживаемой плате, и подставляющее вместо него ОЗУ (оперативное запоминающее устройство), в которое может быть загружена про-грамма с компьютера через один из стандартных каналов связи. Это устройство позволяет пользователю избежать многократных циклов перепрограммирования ПЗУ.
   Логические анализаторы — кон¬трольно-измерительные приборы, предназначенные для сбора данных о поведении дискретных систем, для об¬работки этих данных и пред-ставления их человеку на различных уровнях аб¬стракции. Они работают независимо и не-заметно для испытуемых дискретных систем и применяются для их отладки и диагности-рования МПС на всех этапах жизненного цикла.
   Сигнатурный анализ основан на преобразовании длин¬ных последовательностей двоичных сигналов в двоичное число, называемое сигнатурой. Измеряемые двоичные по¬следовательности возбуждаются в контрольных точках МПС под действием специальной тестовой программы.
   Комплексы диагностирования объединяют возможности логиче¬ских анализаторов и генераторов слов (приборы, предназначенные для формирования и подачи входных воз-действий): способны подавать входные воздействия на диагностируемую систему, соби-рать и анализировать ответные реакции систе¬мы.
   II.5. Методы отладки программного обеспечения
   Для получения дополнительной информации об ошибке можно выполнить доба-вочные тесты или использовать специальные методы и средства:
    отладочный вывод;
    интегрированные средства отладки;
    независимые отладчики.
   Отладочный вывод. Метод требует включения в программу дополнительного отла-дочного вывода в узловых точках. Узловыми считают точки алгоритма, в которых основ-ные переменные программы меняют свои значения. При этом предполагается, что, вы-полнив анализ выведенных значений, программист уточнит момент, когда были получены неправильные значения, и сможет сделать вывод о причине ошибки. Данный метод не очень эффективен и в настоящее время практически не используется, так как в сложных случаях в процессе отладки может потребоваться вывод большого количества - «трассы» значений многих переменных, которые выводятся при каждом изменении.
   Интегрированные средства отладки. Они позволяют:
    выполнять программу по шагам, причем как с заходом в подпрограммы, так и выполняя их целиком;
    предусматривать точки останова;
    выполнять программу до оператора, указанного курсором;
    отображать содержимое переменных при пошаговом выполнении;
    отслеживать поток сообщений и т. п.
   Применять интегрированные средства в рамках среды достаточно просто. Исполь-зуют разные приемы в зависимости от проявлений ошибки. Если получено сообщение об ошибке, то сначала уточняют, при выполнении какого оператора программы оно получе-но. Для этого устанавливают точку останова в начало фрагмента, в котором проявляется ошибка, и выполняют операторы в пошаговом режиме до проявления ошибки.
   Аналогично поступают при «зависании» компьютера.
   Если получены неправильные результаты, то локализовать ошибку обычно сущест-венно сложнее. В этом случае сначала определяют фрагмент, при выполнении которого получаются неправильные результаты. Для этого последовательно проверяют интере-сующие значения в узловых точках. Обнаружив значения, отличающиеся от ожидаемых, по шагам трассируют соответствующий фрагмент до выявления оператора, выполнение которого дает неверный результат.
   Для уточнения природы ошибки возможен анализ машинных кодов, флагов и пред-ставления программы и значений памяти в 16-ричном виде.
   Отладка с использованием независимых отладчиков. При отладке программ иногда используют специальные программы - отладчики, которые позволяют выполнить любой фрагмент программы в пошаговом режиме и проверить содержимое интересующих про-граммиста переменных. Как правило такие отладчики позволяют отлаживать программу только в машинных командах, представленных в 16-ричном коде.
   II.6. Назначение и виды прерываний
   Прерываниями называются имеющие аппаратное или программное происхожде-ние сигналы, которые заставляют процессор прервать последовательное выполнение ин-струкций пользовательской программы и перейти к выполнению специальной подпро-граммы, называемой подпрограммой обработки прерывания.
   В зависимости от источника, прерывания делятся на:
   • аппаратные - возникают как реакция микропроцессора на физический сигнал от некоторого устройства (клавиатура, системные часы, клавиатура, жесткий диск и т.д.), по времени возникновения эти прерывания асинхронны, т.е. происходят в случайные мо-менты времени;
   • программные - вызываются искусственно с помощью соответствующей коман-ды из программы, предназначены для выполнения некоторых действий операционной системы, являются синхронными;
   • исключения - являются реакцией микропроцессора на нестандартную ситуа-цию, возникшую внутри микропроцессора во время выполнения некоторой команды про-граммы (деление на ноль, прерывание по флагу TF (трассировка)).
   Общая классификация прерываний:
   • внешние - вызываются внешними по отношению к микропроцессору событиями (по существу - это группа аппаратных прерываний);
   • внутренние - возникают внутри микропроцессора во время вычислительного процесса (по существу - это исключительные ситуации и программные прерывания).
   Внешние прерывания возникают по сигналу какого-нибудь внешнего устройства. Внешние прерывания подразделяются на не¬маскируемые и маскируемые.
   Маскируемые прерывания генерируются контроллером прерываний по заявке оп-ределенных периферийных устройств. Именно маскируемые прерывания часто называют аппаратными прерываниями. Маскируемые прерывания - это прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний
   Немаскируемые прерывания инициируют источники, требующие безотлагательно-го вмешательства со стороны микропроцессора. Немаскируемые прерывания обрабатыва-ются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.
   Исключения подразделяются на отказы, ловушки и аварийные завершения.
   Отказ - это исключение, которое обнаруживается и обслуживается до выполнения инструкции, вызывающей ошибку. После обслуживания этого исключения управление возвращается снова на ту же инструкцию, которая вызвала отказ.
   Ловушка - это исключение, которое обнаруживается и обслуживается после вы-полнения инструкции, его вызывающей. После обслуживания этого исключения управле-ние возвращается на инструкцию, следующую за вызвавшей ловушку. К классу ловушек относятся и программные прерывания.
   Аварийное завершение - это исключение, которое не позволяет точно установить инструкцию, его вызвавшую. Оно используется для сообщения о серьезной ошибке, такой как аппаратная ошибка или повреждение системных таблиц.
   В реальном и защищенном режиме работы микропроцессора обработка прерыва-ний осуществляется принципиально разными методами.
   Обработчик прерываний – программа обработки прерывания, являющаяся частью ОС, предназначенная для выполнения ответных действий на условие, вызвавшее преры-вание.
   Адрес подпрограммы обработки прерывания называется вектором прерывания. Векторы прерываний изучаемого процессора хранятся в программной памяти, начиная с нулевого адреса, и образуют таблицу прерываний.
   Система прерываний - это совокупность программных и аппаратных средств, реа-лизующих механизм прерываний.
   К аппаратным средствам системы прерываний относятся:
   • выводы микропроцессора - на них формируются сигналы, извещающие микро-процессор либо о том, что некоторое внешнее устройство «просит уделить ему внима-ние», либо о том, что требуется безотлагательная обработка некоторого события или ката-строфическая ошибка;
   • программируемый контроллер прерываний;
   • внешние устройства (таймер, клавиатура, магнитные диски и т.п.).
   Механизм обработки прерываний реализуется аппаратно-программными средст-вами и включает в себя следующие этапы.
   • Установление факта прерывания и его идентификация.
   • Запоминание состояния прерванного процесса.
   • Аппаратную передачу управления программе обработки прерывания.
   • Обработка прерывания.
   • Восстановление прерванного процесса.
   • Возврат в прерванную программу.
   При формировании сигнала прерывания сначала проводится идентификация уст-ройства, которое сгенерировало запрос на данное прерывание. Текущее состояние регист-ров микропроцессора, значение счётчика команд запоминается, чтобы после обработки прерывания вернуться к выполнению прерванной программы. Далее происходит обработ-ка прерывания, например, из памяти загружается и исполняется соответствующая про-грамма обработки поступившего запроса на прерывание. Далее восстанавливается исход-ное, состояние микропроцессора и продолжает исполняться прерванная программа.
   В результате обработки запроса на прерывание вырабатывается сигнал, передавае-мый по специальным линиям прерывания. Линии прерывания служат для того, чтобы сиг-нализировать процессору через контроллер общей системной шины, который транслирует прерывания шины во внутренние прерывания процессора, что шине произошло некоторое событие. Если приоритет вновь поступившего прерывания больше, чем приоритет теку-щей задачи, микропроцессор переключается с выполнения текущей задачи на обработку события, вызвавшего прерывание и запускает на исполнение соответствующую задачу (процесс).
   
   
   Существуют два основных способа идентификации внешних устройств, запро-сивших обслуживания по прерыванию:
   • программный опрос регистров состояния;
   • использование векторов прерывания.
   При программном опросе в конце машинного цикла выполнения очередной коман-ды процессор проверяет наличие требования прерывания от ВУ. Если сигнал прерывания есть, в процессоре прерывание разрешено, то процессор переключается на выполнение подпрограммы обработки прерываний. Начинается опрос регистров состояния контролле-ров всех ВУ, работающих в режиме прерывания. Как только подпрограмма обнаружит го-товое к обмену ВУ, сразу выполняются действия по его обслуживанию. Программный оп-рос используется только в тех случаях, когда отсутствуют жесткие требования на время обработки сигналов прерывания внешних устройств. Приоритет ВУ определяется поряд-ком их опроса.
   При использовании векторов прерывания в некоторой области памяти ОЗУ суще-ствует таблица, где хранятся адреса процедур обработки прерывания. Эта таблица называ-ется таблицей векторов прерываний. Как только сигнал прерывания получен, микропро-цессор выполняет команду перехода (безусловного или условного) на строку таблицы, со-ответствующей данному прерыванию. Затем по адресу, полученному из таблицы, произ-водится переход в ту область памяти, где хранится подпрограмма обработки прерывания.
   При использовании векторов прерывания для обработки прерываний может ис-пользоваться специальное устройство – программируемый контроллер прерываний.
   Это устройство назначает приоритеты поступающим запросам на прерывание, вы-являет запросы с наивысшим приоритетом. В случае поступления запроса на прерывание от внешнего устройства, программируемый контроллер прерываний формирует сигнал запроса прерывания в сторону микропроцессора. Если запрос обозначает прерывание, до-пустимое для данного типа микропроцессора, то процессор генерирует в сторону про-граммируемого контроллера прерываний сигнал подтверждения прерывания. Программи-руемый контроллер прерываний передаёт на шину данных микропроцессора вектор (код) прерывания, который считывается микропроцессором.
   II.7. Надежность и качество программного обеспечения управляющих систем
   Надежность микропроцессорных управляющих систем зависит от надежности и качества всех компонентов, в том числе и программного обеспечения (ПО). На всех эта-пах создания микропроцессорных систем должны выполняться оценки надежности и ка-чества ПО. Практика показывает, что 100-процентная полнота тестирования для сложного ПО недостижима и, следовательно, какая-то доля дефектов остается в процессе всего жиз-ненного цикла ПО. Нарушения в работе ПО могут вызываться не только дефектами в про-граммах, но и возможными сбоями и отказами аппаратуры.
   Для оценки качества ПО используются показатели защищенности от ошибок (уро-вень самоконтроля и защиты ПО от аппаратных и программных дефектов и ошибок).
   Обеспечение надежности и качества ПО является доминирующей, ключевой зада-чей технологии программирования.
   Свойства защищенности от ошибок закладываются в ПО на ранних стадиях проек-тирования, а в дальнейшем контролируются и обеспечиваются на всех последующих эта-пах создания микропроцессорных систем.
   Надежность и качество ПО в значительной мере определяют безопасность системы управления на основе микропроцессорных систем, которая трактуется как свойство МПС выдавать достоверную информацию и обеспечивать защиту от недостоверной информа-ции. При наличии средств аппаратной защиты система будет безопасной, если за счет реа-лизации в ПО защитных функций будет обеспечено:
   • безопасное поведение ПО, т.е. исключение его опасных отказов;
   • качество ПО, отвечающее норме качества.
   При этом собственно количество ошибок в ПО не всегда может рассматриваться как единственная оценка надёжности ПО. Во-первых, пользователь сталкивается не соб-ственно с ошибкой, а с результатом её проявления; во-вторых – воздействие одной ошиб-ки может компенсировать другую ошибку; в-третьих – ошибки могут иметь разный «вес», одна ошибка сразу вызывает критический отказ, другая приводит к малозаметным послед-ствиям. Следует иметь в виду, что устранение ошибок ПО, как правило, предусматривает модификацию программного кода, что, в свою очередь, приводит к изменению показате-лей надёжности ПО в целом. Поэтому любые изменения ПО должны проходить организо-ванно, осуществляться только подготовленным персоналом, сделанные изменения долж-ны обязательно проверяться и тестироваться в периоды снижения абонентской нагрузки на систему коммутации.
   Надежность ПО повышается прежде всего за счёт применения передовых методов проектирования, разработки и тестирования ПО, строгим соблюдением технологии экс-плуатации и резервного копирования станционных и абонентских баз данных. Существу-ют и другие методы повышения надёжности.
   Согласно требованиям стандартов, в том числе международных, характеристика надежности ПО должна быть комплексной и должна включать основные показатели каче-ства такие, как устойчивость, стабильность в работе и восстанавливаемость. Практикой установлено, что создание "лишь работающей" программы (в лабораторных условиях) не-достаточно, необходима разработка надежных программ, отвечающих условиям их при-менения на объектах. Стиль надежного программирования предполагает дополнение ПО функциями самодиагностики, самозащиты и адаптации к программным и аппаратным ошибкам, обеспечение восстановления ПО при нарушениях в его работе.
   Создание надежного программного обеспечения базируется на методах надежно-го программирования, получивших широкое применение в мировой практике.
   Повышение надежности ПО обеспечивается по двум направлениям:
   • повышением полноты и надежности алгоритмов;
   • за счет приемов и методов собственно программирования.
   Без достаточно полного и безошибочного алгоритма не может быть надежной про-граммы.
   Алгоритмы должны отвечать требованиям:
   • должны быть корректными, функционально полными;
   • не должны приводить к тупиковым состояниям, зацикливаниям, переполнениям памяти и другим неразрешимым ситуациям;
   • должны иметь избыточность, под которой понимается обеспечение ими защиты и адаптации к ошибкам вычислений, в частности к ошибкам по параметрам.
   Защитные свойства, реализуемые способом обхода ошибок, должны быть отрабо-таны алгоритмически. Так, при защите выходов от ошибки типа "несрабатывание", равно-значные избыточные (корректирующие) параметры или их группы должны объединяться по дизъюнкции. Наоборот, при предпочтительности защиты от "ложного" они должны объединяться по конъюнкции. Выполнение одновременно двух стратегий требует намного большей избыточности и может оказаться нецелесообразным из-за чрезмерного усложне-ния алгоритмов.
   Надежность программы регулирования будет высокой, если косвенно будет про-контролирована хотя бы приемлемость выходов, например по корреляции вхо-дов/выходов. Соответственно в алгоритме должен быть описан способ такого контроля.
    Должны быть отработаны в алгоритмах и другие решения по надежности, такие как защита от неопределенностей, проверки на непротиворечивость входов и выходов, контроль входов/выходов по корреляции, контроль исполнения команд по обратной связи и т.п. Для обеспечения полноты и корректности сложных логических алгоритмов следует стремиться к более широкому использованию формализованных методов, в частности ме-тодов автоматного управления.
   Данный подход позволяет:
   • использовать для анализа и синтеза алгоритмов типовые модели (например, гра-фы переходов и выходов);
   • произвести декомпозицию сложных моделей управления (процессов, режимов) на простейшие с любой степенью разбиения (способом последовательной и параллельной декомпозиции);
   • осуществить композиционный синтез алгоритмов, т. е. из частных описаний син-тезировать алгоритмы всей системы;
   • самодиагностировать процесс с выдачей ряда диагностических сообщений.
   Возможность самодиагностики и коррекции управления – вот те достоинства и от-личия, притом только в алгоритмической части, характерные для систем с микропроцес-сорами, не считая многих других возможностей, относящихся к реализации вышеуказан-ных способов повышения надежности и качества ПО, следовательно, и надежности сис-тем.
   II.8. Методы защиты программного обеспечения управляющих систем
   Для защиты программного обеспечения используются различные методы:
   • Алгоритмы запутывания – используются хаотические переходы в разные части кода, внедрение ложных процедур – «пустышек», холостые циклы, искажение количества реальных параметров процедур ПО, разброс участков кода по разным областям ОЗУ и т.п.
   • Алгоритмы мутации – создаются таблицы соответствия операндов - синонимов и замена их друг на друга при каждом запуске программы по определенной схеме или случайным образом, случайные изменения структуры программы.
   • Алгоритмы компрессии данных – программа упаковывается, а затем распаковы-вается по мере выполнения.
   • Алгоритмы шифрования данных – программа шифруется, а затем расшифровы-вается по мере выполнения.
   • Вычисление сложных математических выражений в процессе отработки меха-низма защиты – элементы логики защиты зависят от результата вычисления значения ка-кой-либо формулы или группы формул.
   • Методы затруднения дизассемблирования – используются различные приемы, направленные на предотвращение дизассемблирования в пакетном режиме.
   • Методы затруднения отладки – используются различные приемы, направлен-ные на усложнение отладки программы.
   • Эмуляция процессоров и операционных систем – создается виртуальный процес-сор и/или операционная система (не обязательно существующие) и программа-переводчик из системы команд IBM в систему команд созданного процессора или ОС, после такого перевода ПО может выполняться только при помощи эмулятора, что резко затрудняет ис-следование алгоритма ПО.
   • Нестандартные методы работы с аппаратным обеспечением – модули систе-мы защиты обращаются к аппаратуре ЭВМ, минуя процедуры ОС, и используют малоиз-вестные или недокументированные её возможности
   III. Заключение
   Прогресс в области электронных и информационных технологий существенным образом изменяет подходы к проектированию систем управления производственными ме-ханизмами и установками. В последнее десятилетие наблюдается появление новых облас-тей использования информационных технологий таких, как виртуальные производства и электронная коммерция. Особенно быстро развиваются сетевые интеллектуальные техно-логии. Появилась возможность использования микропроцессорных систем на всех уров-нях производства, включая встроенные системы мониторинга и управления технологиче-ским оборудованием и процессами на основе средств микропроцессорной техники. Рас-ширяется производство высокотехнологичных изделий, насыщенных электроникой, точ-ной механикой и оптикой (мехатроника).
   Значительная вычислительная мощность управляющих систем на основе микро-процессоров создает хорошие предпосылки для использования микропроцессоров в быст-родействующих системах реального времени.
   Применение микропроцессоров в системах автоматического управления позволяет поднять на качественно новый уровень такие важные их характеристики, как отказо-устойчивость и живучесть.
   По прогнозам специалистов преимущества отказоустойчивых систем, связанные с большими удобствами в эксплуатации, резким снижением эксплуатационных расходов, исключением материального и морального ущерба из-за отказов в работе, сделают такие системы автоматического управления основными системами ближайшего будущего.
   Будущее микропроцессорной техники связано также с двумя новыми направления-ми – нанотехнологиями и квантовыми вычислительными системами. Для этого ведутся теоретические исследования по использованию в вычислительной технике свойств моле-кул и субатомных частиц: основой для хранения и переработки данных должны стать не электрические цепи, как сейчас, а положение отдельных атомов или направление враще-ния (спины) электронов. Если "квантовые" компьютеры будут созданы, то они превзойдут современные машины по многим параметрам.
   По прогнозам специалистов преимущества отказоустойчивых систем, связанные с большими удобствами в эксплуатации, резким снижением эксплуатационных расходов, исключением материального и морального ущерба из-за отказов в работе, сделают такие системы автоматического управления основными системами ближайшего будущего.
   
   
   Список литературы
   1. Анкудинов И.Г. Микропроцессорные системы. Архитектура и проектирование: Учеб. пособие.– СПб.: СЗТУ, 2003
   2. Бесекерский В. А. Микропроцессорные системы автоматического управления, Л.: Изд. Машиностроение, 1988
   3. ГОСТ 27.002-83. Надежность в технике. Термины и определения. - М., 1984
   4. Круг П.Г. Процессоры цифровой обработки сигналов: Учебное пособие. М.: Изда-тельство МЭИ. 2001
   5. Казарин О.В. Безопасность программного обеспечения компьютерных сис-тем. М.: МГУЛ, 2003. - 212 с.
   Интернет - источники
   6. http://dfe.karelia.ru/koi/posob/microcpu/proekt5.html Ершова Н.Ю., Ивашенков О.Н., Курсков С.Ю. Микропроцессоры.
   7. http://ru.wikipedia.org/ Википедия - Свободная энциклопедия
   8. http://window.edu.ru/window Интернет сайт “Единое окно доступа к образова-тельным ресурсам”
   9. http://www.chipnews.ru/ Интернет сайт “Новости микроэлектроники”
   10. http://www.excode.ru/ Интернет сайт eXcode.ru
   11. http://www.intuit.ru/ Интернет университет информационных технологий
   12. http://www.toroid.ru/ Интернет сайт “Тороид”
   


Автор: donlegion.com | Відгуки: 0 | Перегляди: 4126 | 12/02/2012 Захист інформації - Інформаційна безпека

Ссылка на статью:


Оставить комментарий
Ваше имя:
Комментарий:
Введите текст, изображенный на картинке:
 
Інші статті цього автора
Словарь терминов по информационной безопасности. Часть 5
Национальный Центр Компьютерной Безопасности (NCSC) США [National Computer Security Center] - организация, поддерживающая и стимулирующая распространение защищенных систем в учреждениях Федерального правительства. Является координирующим органом в области анализа и разработки систем с гарантированной защитой. Первичное название - Центр Компьютерной Безопасности министерства обороны США (DoD Computer Security Center).

Автор: donlegion.com |Відгуки:0 | Перегляди:3421 | 12/02/2012 Захист інформації - Інформаційна безпека
Словарь терминов по информационной безопасности. Часть 8
Системный аналитик [System analyst] - специалист, описывающий прикладные проблемы, определяющий спецификации системы, дающий рекомендации по изменениям оборудования, проектирующий процедуры обработки данных и методы верификации предполагаемых структур данных.
   

Автор: donlegion.com |Відгуки:0 | Перегляди:3807 | 12/02/2012 Захист інформації - Інформаційна безпека
Реферат На тему: «Защита персональных данных в ИС» По дисциплине Информационная безопасность
В январе 1986 года Россия подписала Конвенцию Совета Европы о защите личности в связи с автоматической обработкой персональных данных, принятую в Страсбурге за 25 лет до этого. В 1997 году началось обсуждение Федерального закона Российской Федерации «О персональных данных», он был принят 27 июля 2006 года (№ 152-ФЗ «О персональных данных») и вступает в силу 1 января 2010 года.

Автор: donlegion.com |Відгуки:0 | Перегляди:4695 | 11/02/2012 Захист інформації - Інформаційна безпека
Информационная безопасность. Курс лекций.
Среди защитных механизмов в сетевых конфигурациях на первое место выдвигается криптография, помогающая поддерживать как конфиденциальность, так и целостность. Следствием использования криптографических методов является необходимость реализации механизмов управления ключами.
   В интерпретациях "Оранжевой книги" впервые систематически рассматривается вопрос обеспечения доступности информации.
   

Автор: donlegion.com |Відгуки:0 | Перегляди:3529 | 11/02/2012 Захист інформації - Інформаційна безпека
Словарь терминов по информационной безопасности. Часть 3
Злоумышленное использование вычислительной машины [Computer fraud] - любая деятельность, направленная на манипулирование информацией внутри вычислительной системы с целью личной выгоды, обычно финансовой.

Автор: donlegion.com |Відгуки:0 | Перегляди:3429 | 12/02/2012 Захист інформації - Інформаційна безпека
NVC-HC520ZL башня Орион плата Купо ir плат? NVR видеовво DPV sts sdvr-1601 CNB-G1310 датчики SATEL коммуникатор CCM-054 видеовво? DVR-16 замк Монито? замки «Кристалл-3» Купол ? аудиопанель башн черепаха домофо? ccm dvr
Copyright © «donlegion.com», 2004-2011