Угрозы информационно-программному обеспечению вычислительных систем и их классификация
Основы защиты программного обеспечения компьютерных систем. Классификация угроз информационно-программному обеспечению вычислительных систем и примеры их реализации в современном компьютерном мире. Разработка модели угроз технологической безопасности ПО.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.06.2012 |
Размер файла | 279,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
ВВЕДЕНИЕ
1. Обеспечение безопасности программного обеспечения
1.1 Основы защиты программного обеспечения компьютерных систем
1.2 Угрозы безопасности информационно-программного обеспечения и примеры их реализации в современном компьютерном мире
1.3 Основные предположения и ограничения
2. Жизненный цикл информационного-программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ
2.1 Подход к созданию модели угроз технологической безопасности ПО
2.2 Проектирование
2.3 Кодирование
2.4 Отладка и испытания
2.5 Контроль
3. Основные принципы обеспечения безопасности ПО
4. Классификация угроз информационно-программному обеспечению
Заключение
Список литературы
ВВЕДЕНИЕ
Современный компьютерный мир представляет собой разнообразную и весьма сложную совокупность вычислительных устройств, систем обработки информации, телекоммуникационных технологий, программного обеспечения и высокоэффективных средств его проектирования. Вся эта многогранная и взаимосвязанная метасистема решает огромный круг проблем в различных областях человеческой деятельности, от простого решения школьных задач на домашнем персональном компьютере до управления сложными технологическими процессами.
Чем сложнее задача автоматизации и чем ответственнее область, в которой используются компьютерные информационные технологии, тем все более и более критичными становятся такие свойства как надежность и безопасность информационных ресурсов, задействованных в процессе сбора, накопления, обработки, передачи и хранения компьютерных данных.
Вредоносные воздействия на информацию в процессе функционирования компьютерных систем (КС) различного назначения осуществляется с целью нарушения ее конфиденциальности, целостности и доступности. Решение задач, связанных с предотвращением воздействия непосредственно на информацию, осуществляется в рамках комплексной проблемы обеспечения безопасности информации и имеет достаточно развитую научно-методическую базу. При этом, рассматривая информацию как активный эксплуатируемый ресурс, можно говорить о том, что процесс обеспечения безопасности информации включает в себя и обеспечение безопасности программного обеспечения КС. Данный аспект обеспечения безопасности информации и средств ее обработки именуется эксплуатационной безопасностью, так как соответствует этапу применения КС. В то же время, в последнее время появились новые проблемы обеспечения безопасности, связанные с информационными технологиями, которые, по мнению ряда зарубежных и отечественных экспертов в области их создания и применения, в значительной степени определяют эффективность создаваемых компьютерных систем.
Мировые исследования последних лет показали, что функциональные и надежностные характеристики КС определяются качеством и надежностью программного обеспечения, входящего в их состав. Кроме проблем качества и надежности программного обеспечения при создании КС фундаментальная проблема его безопасности приобретает все большую актуальность. При этом в рамках данной проблемы на первый план выдвигается безопасность технологий создания программного обеспечения компьютерных систем. Данный аспект проблемы безопасности программных комплексов является сравнительно новым и связан с возможностью внедрения в тело программных средств на этапе их разработки (или модификации в ходе авторского сопровождения) так называемых «программных закладок». В связи с этим все более актуальным становится проблема обеспечения технологической безопасности программного обеспечения компьютерных систем различного уровня.
1. Обеспечение безопасности программного обеспечения
1.1 Основы защиты программного обеспечения компьютерных систем
Безопасность программного обеспечения (ПО) в широком смысле является свойством данного ПО функционировать без проявления различных негативных последствий для конкретной компьютерной системы. Под уровнем безопасности ПО понимается вероятность того, что при заданных условиях в процессе его эксплуатации будет получен функционально пригодный результат. Причины, приводящие к функционально непригодному результату могут быть разными: сбои компьютерных систем, ошибки программистов и операторов, дефекты в ПО. При этом дефекты принято рассматривать двух типов: преднамеренные и непреднамеренные. Первые являются, как правило, результатом злоумышленных действий, вторые - ошибочных действий человека. защита программный обеспечение угроза
При исследовании проблем защиты ПО от преднамеренных дефектов неизбежна постановка следующих вопросов:
кто потенциально может осуществить практическое внедрение программных дефектов деструктивного воздействия в исполняемый программный код;
каковы возможные мотивы действий субъекта, осуществляющего разработку таких дефектов;
как можно идентифицировать наличие программного дефекта;
как можно отличить преднамеренный программный дефект от программной ошибки;
каковы наиболее вероятные последствия активизации деструктивных программных средств при эксплуатации КС.
При ответе на первый вопрос следует отметить, что это: непосредственные разработчики алгоритмов и программ для компьютерных систем. Они хорошо знакомы с технологией разработки программных средств, имеют опыт разработки алгоритмов и программ для конкретных прикладных систем, знают тонкости существующей технологии отработки и испытаний программных компонентов и представляют особенности эксплуатации и целевого применения разрабатываемой КС. Кроме того, при эксплуатации программных комплексов возможен следующий примерный алгоритм внесения программного дефекта: дизассемблирование исполняемого программного кода, получение исходного текста, привнесение в него деструктивной программы, повторная компиляция, корректировка идентификационных признаков программы (в связи с необходимостью получения программы «схожей» с оригиналом). Таким образом, манипуляции подобного рода могут сделать и посторонние высококлассные программисты, имеющие опыт разработки и отладки программ на ассемблерном уровне.
В качестве предположений при ответе на второй вопрос следует отметить, что алгоритмические и программные закладки могут быть реализованы в составе программного компонента вследствие следующих факторов:
в результате инициативных злоумышленных действий непосредственных разработчиков алгоритмов и программ;
в результате штатной деятельности специальных служб и организаций, а также отдельных злоумышленников;
в результате применения инструментальных средств проектирования ПО, несущих вредоносное свойство автоматической генерации деструктивных программных средств.
Для описания мотивов злоумышленных действий при разработке программных компонентов необходим психологический «портрет» злоумышленника, что требует проведения специальных исследований психологов и криминологов в области психологии программирования. Однако некоторые мотивы очевидны уже сейчас и могут диктоваться следующим:
неустойчивым психологическим состоянием алгоритмистов и программистов, обусловленным сложностью взаимоотношений в коллективе, перспективой потерять работу, резким снижением уровня благосостояния, отсутствием уверенности в завтрашнем дне и т.п., в результате чего может возникнуть, а впоследствии быть реализована, мысль отмщения;
неудовлетворенностью личных амбиций непосредственного разработчика алгоритма или программы, считающего себя непризнанным талантом, в результате чего может появиться стремление доказать и показать кому-либо (в том числе и самому себе) таким способом свои высокие интеллектуальные возможности;
перспективой выезда за границу на постоянное место жительства (перспективной перехода в другую организацию, например, конкурирующую) с надеждой получить вознаграждение за сведения о программной закладке и механизме ее активизации, а также возможностью таким способом заблокировать применение определенного класса программных средств по избранному месту жительства;
потенциальной возможностью получить вознаграждение за устранение возникшего при испытаниях или эксплуатации системы «программного отказа» и т. п.
Кроме того, необходимо иметь в виду, что в конструировании вредоносной программы, так или иначе, присутствует притягательное творческое начало, которое само по себе может стать целью. При этом сам «творец» может слабо представлять все возможные результаты и последствия применения своей «конструкции», либо вообще не задумываться о них.
1.2 Угрозы безопасности информационно-программного обеспечения и примеры их реализации в современном компьютерном мире
Угрозы безопасности информации и программного обеспечения КС возникают как в процессе их эксплуатации, так и при создании этих систем, что особенно характерно для процесса разработки ПО, баз данных и других информационных компонентов КС.
Наиболее уязвимы с точки зрения защищенности информационных ресурсов являются так называемые критические компьютерные системы. Под критическими компьютерными системами будем понимать сложные компьютеризированные организационно-технические и технические системы, блокировка или нарушение функционирования которых потенциально приводит к потере устойчивости организационных систем государственного управления и контроля, утрате обороноспособности государства, разрушению системы финансового обращения, дезорганизации систем энергетического и коммуникационно-транспортного обеспечения государства, глобальным экологическим и техногенным катастрофам.
При решении проблемы повышения уровня защищенности информационных ресурсов КС необходимо исходить из того, что наиболее вероятным информационным объектом воздействия будет выступать программное обеспечение, составляющее основу комплекса средств получения, семантической переработки, распределения и хранения данных, используемых при эксплуатации критических систем.
В настоящее время одним из наиболее опасных средств информационного воздействия на компьютерные системы являются программы - вирусы или компьютерные вирусы.
Наибольшее распространение компьютерные вирусы получили с развитием персональных ЭВМ (ПЭВМ) и появлением микропроцессоров фирмы Intel. Это обусловлено тем, что для ПЭВМ наиболее распространенными операционными системами (ОС) были и используются по настоящее время (в новых версиях) ОС MS-DOS и ОС Windows, которые по многим параметрам открыты и беззащитны к вирусной угрозе. В известных классификациях вирусов более 90% от их общего числа составляют именно вирусы для среды этих операционных систем. Для наиболее распространенных современных сетевых и многозадачных операционных систем ряда Windows, OS/2 и клона Unix по сравнению с этим вирусов обнаружено не столь много.
В последние 10-15 лет компьютерные вирусы нанесли значительный ущерб, как отдельным средствам вычислительной техники, так и сложным телекоммуникационным системам различного назначения. Интенсивные проявления вирусных заражений начались примерно в середине 80-х годов. Так, с 1986 по 1989 год было зарегистрировано 450 случаев проникновения через сеть INTERNET компьютерных вирусов в сеть Министерства обороны США DDN, из которых 220 были классифицированы как успешные. Только стоимость операций по выявлению источников вирусных атак в DDN превысила 100 тысяч долларов. Факты попыток проникновения с использованием компьютерных вирусов в информационные банки критических систем в первой половине 80-х были зарегистрированы в различных сетях США, Франции, Великобритании, ФРГ, Израиля, Пакистана и Японии. По мнению исследователей, после заражения одной ЭВМ в сети среднее время заражения следующего узла сети составляет от 10 до 20 минут. При такой интенсивности размножения некоторые вирусы способны за несколько часов вывести из строя всю сеть.
Классическим примером широкомасштабной вирусной угрозы является известный вирус Морриса, выведший 21 ноября 1988 на 24 часа из строя сеть ARPARNET. Промышленная ассоциация компьютерных вирусов (Computer Virus Industry Association - CVIA) выполнила детальный анализ расходов, связанных с действием этого вируса, заразившего 7,3% или 6200 из 85200 компьютеров сети. Пользователи потеряли свыше 8 млн. часов рабочего времени, а операторы и администраторы сети потратили около 1,13 млн. человеко-часов на то, чтобы привести сеть в рабочее состояние. Расходы от потерянной возможности доступа в сеть и средства, затраченные на ее восстановление, составили 98 млн. долларов. К декабрю 1988 г. в Ливерморской лаборатории США (Lawrence Livermore National Laboratories), которая занимается, в том числе, разработкой ядерного оружия 3-го поколения, было зафиксировано не менее 10 попыток проникновения в сеть лаборатории через каналы связи со Стэндфордским университетом, университетом штата Вашингтон и через сеть INTERNET. В результате было поражено 800 компьютеров. В том же году было зафиксировано 200 попыток заражения (из них 150 - успешных) глобальной компьютерной сети NASA. Причем 16 мая в течение 7 часов было заражено 70 ЭВМ, а после заражения в них была создана специальная программа для облегчения проникновения в сеть в будущем.
В качестве основных средств вредоносного (деструктивного) воздействия на КС необходимо, наряду с другими средствами информационного воздействия, рассматривать алгоритмические и программные закладки.
Под алгоритмической закладкой будем понимать преднамеренное завуалированное искажение какой-либо части алгоритма решения задачи, либо построение его таким образом, что в результате конечной программной реализации этого алгоритма в составе программного компонента или комплекса программ, последние будут иметь ограничения на выполнение требуемых функций, заданных спецификацией, или вовсе их не выполнять при определенных условиях протекания вычислительного процесса, задаваемого семантикой перерабатываемых программой данных. Кроме того, возможно появление у программного компонента функций, не предусмотренных прямо или косвенно спецификацией, и которые могут быть выполнены при строго определенных условиях протекания вычислительного процесса.
Под программной закладкой будем понимать совокупность операторов и (или) операндов, преднамеренно в завуалированной форме включаемую в состав выполняемого кода программного компонента на любом этапе его разработки. Программная закладка реализует определенный несанкционированный алгоритм с целью ограничения или блокирования выполнения программным компонентом требуемых функций при определенных условиях протекания вычислительного процесса, задаваемого семантикой перерабатываемых программным компонентом данных, либо с целью снабжения программного компонента не предусмотренными спецификацией функциями, которые могут быть выполнены при строго определенных условиях протекания вычислительного процесса.
Действия алгоритмических и программных закладок условно можно разделить на три класса: изменение функционирования вычислительной системы (сети), несанкционированное считывание информации и несанкционированная модификация информации, вплоть до ее уничтожения. В последнем случае под информацией понимаются как данные, так и коды программ. Следует отметить, что указанные классы воздействий могут пересекаться.
В первом классе воздействий выделим следующие:
уменьшение скорости работы вычислительной системы (сети);
частичное или полное блокирование работы системы (сети);
имитация физических (аппаратурных) сбоев работы вычислительных средств и периферийных устройств;
переадресация сообщений;
обход программно-аппаратных средств криптографического преобразования информации;
обеспечение доступа в систему с непредусмотренных периферийных устройств.
Несанкционированное считывание информации, осуществляемое в автоматизированных системах, направлено на:
считывание паролей и их отождествление с конкретными пользователями;
получение секретной информации;
идентификацию информации, запрашиваемой пользователями;
подмену паролей с целью доступа к информации;
контроль активности абонентов сети для получения косвенной информации о взаимодействии пользователей и характере информации, которой обмениваются абоненты сети.
Несанкционированная модификация информации является наиболее опасной разновидностью воздействий программных закладок, поскольку приводит к наиболее опасным последствиям. В этом классе воздействий можно выделить следующие:
разрушение данных и кодов исполняемых программ внесение тонких, трудно обнаруживаемых изменений в информационные массивы;
внедрение программных закладок в другие программы и подпрограммы (вирусный механизм воздействий);
искажение или уничтожение собственной информации сервера и тем самым нарушение работы сети;
модификация пакетов сообщений.
Из изложенного следует вывод о том, что алгоритмические и программные закладки имеют широкий спектр воздействий на информацию, обрабатываемую вычислительными средствами в КС. Следовательно, при контроле технологической безопасности программного обеспечения необходимо учитывать его назначение и состав аппаратных средств и общесистемного программного обеспечения (программно-аппаратную среду) КС.
С точки зрения времени внесения программных закладок в программы их можно разделить на две категории: априорные и апостериорные, то есть закладки, внесенные при разработке ПО (или «врожденные») и закладки, внесенные при испытаниях, эксплуатации или модернизации ПО (или «приобретенные»). Хотя последняя разновидность закладок и относятся больше к проблеме обеспечения эксплуатационной, а не технологической безопасности ПО, однако методы тестирования программных комплексов, вероятностные методы расчета наличия программных дефектов и методы оценивания уровня безопасности ПО могут в значительной мере пересекаться и дополнять друг друга. Тем более что действие программной закладки после того как она была внесена в ПО либо на этапе разработки, либо на последующих этапах жизненного цикла ПО, практически не будет ничем не отличаться.
Таким образом, рассмотренные программные средства деструктивного воздействия по своей природе носят, как правило, разрушительный, вредоносный характер, а последствия их активизации и применения могут привести к значительному или даже непоправимому ущербу в тех областях человеческой деятельности, где применение компьютерных систем является жизненно необходимым. В связи с этим такие вредоносные программы будем называть разрушающими программными средствами (РПС), а их обобщенная классификация может выглядеть следующим образом:
компьютерные вирусы - программы, способные размножаться, прикрепляться к другим программам, передаваться по линиям связи и сетям передачи данных, проникать в электронные телефонные станции и системы управления и выводить их из строя;
программные закладки - программные компоненты, заранее внедряемые в компьютерные системы, которые по сигналу или в установленное время приводятся в действие, уничтожая или искажая информацию, или дезорганизуя работу программно-технических средств;
способы и средства, позволяющие внедрять компьютерные вирусы и программные закладки в компьютерные системы и управлять ими на расстоянии.
1.3 Основные предположения и ограничения
В качестве вычислительной среды рассматривается совокупность установленных для данной КС алгоритмов использования системных ресурсов, программного и информационного обеспечения, которая потенциально может быть представлена пользователю для решения прикладных задач. Операционной средой является совокупность функционирующих в данный момент времени элементов вычислительной среды, участвующих в процессе решения конкретной задачи пользователя.
Принципиально возможность программного воздействия определяется открытостью вычислительной системы, под которой понимается предоставление пользователю возможности формировать элементную базу вычислительной среды под свои задачи, а также возможность использовать в полном объеме системные ресурсы, что является неотъемлемым признаком автоматизированных рабочих мест на базе персональных ЭВМ.
В качестве средства борьбы с «пассивными» методами воздействия допускается создание служб безопасности, ограничивающих доступ пользователей к элементам вычислительной среды, в первую очередь к программам обработки чувствительной информации. Предполагается, что возможности «активных» методов воздействия значительно шире.
Необходимым условием для отнесения программы к классу разрушающих программных средств является наличие в ней процедуры нападения, которую можно определить как процедуру нарушения целостности вычислительной среды, поскольку объектом нападения РПС всегда выступает элемент этой среды.
При этом необходимо учитывать два фактора:
любая прикладная программа, не относящаяся к числу РПС, потенциально может содержать в себе алгоритмические ошибки, появление которых при ее функционировании приведет к непреднамеренному разрушению элементов вычислительной среды;
любая прикладная или сервисная программа, ориентированная на работу с конкретными входными данными может нанести непреднамеренный ущерб элементам операционной или вычислительной среды в случае, когда входные данные либо отсутствуют, либо не соответствуют заданным форматам их ввода в программу.
Для устранения указанной неопределенности по отношению к испытываемым программам следует исходить из предположения, что процедура нарушения целостности вычислительной среды введена в состав ПО умышленно. Кроме условия необходимости, целесообразно ввести условия достаточности, которые обеспечат возможность описания РПС различных классов:
достаточным условием для отнесения РПС к классу компьютерных вирусов является наличие в его составе процедуры саморепродукции;
достаточным условием для отнесения РПС к классу средств несанкционированного доступа являются наличие в его составе процедуры преодоления защиты и отсутствия процедуры саморепродукции;
достаточным условием для отнесения РПС к классу программных закладок является отсутствие в его составе процедур саморепродукции и преодоления защиты.
Предполагается наличие в РПС следующего набора возможных функциональных элементов:
процедуры захвата (получения) управления;
процедуры самомодификации («мутации»);
процедуры порождения (синтеза);
процедуры маскировки (шифрования).
Этих элементов достаточно для построения обобщенной концептуальной модели РПС, которая отражает возможную структуру (на семантическом уровне) основных классов РПС.
2. Жизненный цикл информационного-программного обеспечения компьютерных систем. Технологическая и эксплуатационная безопасность программ
Необходимость определения этапов жизненного цикла (ЖЦ) ПО обусловлена стремлением разработчиков к повышению качества ПО за счет оптимального управления разработкой и использования разнообразных механизмов контроля качества на каждом этапе, начиная от постановки задачи и заканчивая авторским сопровождением ПО. Наиболее общим представлением жизненного цикла ПО является модель в виде базовых этапов -процессов, к которым относятся:
системный анализ и обоснование требований к ПО;
предварительное (эскизное) и детальное (техническое) проектирование ПО;
разработка программных компонент, их комплексирование и отладка ПО в целом;
испытания, опытная эксплуатация и тиражирование ПО;
регулярная эксплуатация ПО, поддержка эксплуатации и анализ результатов;
сопровождение ПО, его модификация и совершенствование, создание новых версий.
Данная модель является общепринятой и соответствует как отечественным нормативным документам в области разработки программного обеспечения, так и зарубежным. С точки зрения обеспечения технологической безопасности целесообразно рассмотреть более подробно особенности представления этапов ЖЦ в зарубежных моделях, так как именно зарубежные программные средства являются наиболее вероятным носителем программных дефектов диверсионного типа.
Стандартизация ЖЦ ПО проводится по трем направлениям. Первое направление организуется и стимулируется Международной организацией по стандартизации (ISO - International Standard Organization) и Международной комиссией по электротехнике (IEC - International Electrotechnical Commission). На этом уровне осуществляется стандартизация наиболее общих технологических процессов, имеющих значение для международной кооперации. Второе направление активно развивается в США Институтом инженеров электротехники и радиоэлектроники (IEEE - Institute of Electrotechnical and Electronics Engineers) совместно с Американским национальным институтом стандартизации (American National Standards Institute-ANSI). Стандарты ISO/IEC и ANSI/IEEE в основном имеют рекомендательный характер. Третье направление стимулируется Министерством обороны США (Department of Defense-DOD). Стандарты DOD имеют обязательный характер для фирм, работающих по заказу Министерства обороны США.
Для проектирования ПО сложной системы, особенно системы реального времени, целесообразно использовать общесистемную модель ЖЦ, основанную на объединении всех известных работ в рамках рассмотренных базовых процессов. Эта модель предназначена для использования при планировании, составлении рабочих графиков, управлении различными программными проектами.
Совокупность этапов данной модели ЖЦ целесообразно делить на две части, существенно различающихся особенностями процессов, технико-экономическими характеристиками и влияющими на них факторами.
В первой части ЖЦ производится системный анализ, проектирование, разработка, тестирование и испытания ПО. Номенклатура работ, их трудоемкость, длительность и другие характеристики на этих этапах существенно зависят от объекта и среды разработки. Изучение подобных зависимостей для различных классов ПО позволяет прогнозировать состав и основные характеристики графиков работ для новых версий ПО.
Вторая часть ЖЦ, отражающая поддержку эксплуатации и сопровождения ПО, относительно слабо связана с характеристиками объекта и среды разработки. Номенклатура работ на этих этапах более стабильна, а их трудоемкость и длительность могут существенно изменяться, и зависят от массовости применения ПО. Для любой модели ЖЦ обеспечение высокого качества программных комплексов возможно лишь при использовании регламентированного технологического процесса на каждом из этих этапов. Такой процесс поддерживается CASE средствами автоматизации разработки, которые целесообразно выбирать из имеющихся или создавать с учетом объекта разработки и адекватного ему перечня работ.
2.1 Подход к созданию модели угроз технологической безопасности ПО
Один из возможных подходов к созданию модели технологической безопасности ПО АСУ может основываться на обобщенной концепции технологической безопасности компьютерной инфосферы, которая определяет методологический базис, направленный на решение, в том числе, следующих основных задач:
создания теоретических основ для практического решения проблемы технологической безопасности ПО;
создания безопасных информационных технологий;
развертывания системы контроля технологической безопасности компьютерной инфосферы.
Модель угроз технологической безопасности ПО должна представлять собой официально принятый нормативный документ, которым должен руководствоваться заказчики и разработчики программных комплексов.
Модель угроз должна включать:
полный реестр типов возможных программных закладок;
описание наиболее технологически уязвимых мест компьютерных систем (с точки зрения важности и наличия условий для скрытого внедрения программных закладок);
описание мест и технологические карты разработки программных средств, а также критических этапов, при которых наиболее вероятно скрытое внедрение программных закладок;
реконструкцию замысла структур, имеющих своей целью внедрение в ПО заданного типа (класса, вида) программных закладок диверсионного типа;
психологический портрет потенциального диверсанта в компьютерных системах.
В указанной Концепции также оговариваются необходимость содержания в качестве приложения банка данных о выявленных программных закладках и описания связанных с их обнаружением обстоятельств, а также необходимость периодического уточнения и совершенствования модели на основе анализа статистических данных и результатов теоретических исследований.
На базе утвержденной модели угроз технологической безопасности компьютерной инфосферы, как обобщенного, типового документа должна разрабатываться прикладная модель угроз безопасности для каждого конкретного компонента защищаемого комплекса средств автоматизации КС. В основе этой разработки должна лежать схема угроз, типовой вид которой применительно к ПО КС представлен на рис.1.
Наполнение модели технологической безопасности ПО должно включать в себя следующие элементы: матрицу чувствительности КС к «вариациям» ПО (то есть к появлению искажений), энтропийный портрет ПО (то есть описание «темных» запутанных участков ПО), реестр камуфлирующих условий для конкретного ПО, справочные данные о разработчиках и реальный (либо реконструированный) замысел злоумышленников по поражению этого ПО. На рис.1 приведен пример указанной типовой модели для сложных программных комплексов.
Рис.1. Схема угроз технологической безопасности ПО
2.2 Проектирование
Проектные решения
Злоумышленный выбор нерациональных алгоритмов работы Облегчение внесения закладок и затруднение их обнаружения.
Внедрение злоумышленников в коллективы, разрабатывающие наиболее ответственные части ПО.
Используемые информационные технологии
Внедрение злоумышленников, в совершенстве знающих «слабые» места и особенности используемых технологий.
Внедрение информационных технологий или их элементов, содержащих программные закладки.
Внедрение неоптимальных информационных технологий.
Используемые аппаратно-технические средства
Поставка вычислительных средств, содержащих программные, аппаратные или программно-аппаратные закладки.
Поставка вычислительных средств с низкими реальными характеристиками.
Поставка вычислительных средств, имеющих высокий уровень экологической опасности.
Задачи коллективов разработчиков и их персональный состав.
Внедрение злоумышленников в коллективы разработчиков программных и аппаратных средств.
Вербовка сотрудников путем подкупа, шантажа и т.п.
2.3 Кодирование
Архитектура программной системы, взаимодействие ее с внешней средой и взаимодействие подпрограмм программной системы
Доступ к «чужим» подпрограммам и данным.
Нерациональная организация вычислительного процесса.
Организация динамически формируемых команд или параллельных вычислительных процессов.
Организация переадресации команд, запись злоумышленной информации в используемые программной системой или другими программами ячейки памяти.
Функции и назначение кодируемой части программной системы, взаимодействие этой части с другими подпрограммами
Формирование программной закладки, воздействующей на другие части программной системы.
Организация замаскированного спускового механизма программной закладки.
Формирование программной закладки, изменяющей структуру программной системы.
Технология записи программного обеспечения и исходных данных
Поставка программного обеспечения и технических средств со встроенными дефектами.
2.4 Отладка и испытания
Назначение, функционирование, архитектура программной системы
Встраивание программной закладки как в отдельные подпрограммы, так и в управляющую программу программной системы.
Формирование программной закладки с динамически формируемыми командами.
Организация переадресации отдельных команд программной системы.
Сведения о процессе испытаний (набор тестовых данных, используемые вычислительные средства, подразделения и лица, проводящие испытания, используемые модели
Формирование набора тестовых данных, не позволяющих выявить программную закладку.
Поставка вычислительных средств, содержащих программные, аппаратные или программно-аппаратные закладки.
Формирование программной закладки, не обнаруживаемой с помощью используемой модели объекта в силу ее неадекватности описываемому объекту.
Вербовка сотрудников коллектива, проводящих испытания.
2.5 Контроль
Используемые процедуры и методы контроля
Формирование спускового механизма программной закладки, не включающего ее при контроле на безопасность.
Маскировка программной закладки путем внесения в программную систему ложных «непреднамеренных» дефектов.
Формирование программной закладки в ветвях программной системы, не проверяемых при контроле.
Формирование «вирусных» программ, не позволяющих выявить их внедрение в программную систему путем контрольного суммирования. Поставка программного обеспечения и вычислительной техники, содержащих программные, аппаратные и программно-аппаратные закладки
2.6 Эксплуатация
Сведения о персональном составе контролирующего подразделения и испытываемых программных системах
Внедрение злоумышленников в контролирующее подразделение.
Вербовка сотрудников контролирующего подразделения. Сбор информации о испытываемой программной системе. Сведения об обнаруженных при контроле программных закладках
Разработка новых программных закладок при доработке программной системы.
Сведения об обнаруженных незлоумышленных дефектах и программных закладках
Сведения о доработках программной системы и подразделениях, их осуществляющих
Сведения о среде функционирования программной системы и ее изменениях
Сведения о функционировании программной системы, доступе к ее загрузочному модулю и исходным данным, алгоритмах проверки сохранности программной системы и данных.
3. Основные принципы обеспечения безопасности ПО
В качестве объекта обеспечения технологической и эксплуатационной безопасности ПО рассматривается вся совокупность его компонентов в рамках конкретной КС. В качестве доминирующей должна использоваться стратегия сквозного тотального контроля технологического и эксплуатационного этапов жизненного цикла компонентов ПО. Совокупность мероприятий по обеспечению технологической и эксплуатационной безопасности компонентов ПО должна носить конфиденциальный характер. Необходимо обеспечить постоянный, комплексный и действенный контроль за деятельностью разработчиков и пользователей компонентов. Кроме общих принципов, обычно необходимо конкретизировать принципы обеспечения безопасности ПО на каждом этапе его жизненного цикла. Далее приводятся один из вариантов разработки таких принципов.
Принципы обеспечения технологической безопасности при обосновании, планировании работ и проектном анализе ПО
Принципы обеспечения безопасности ПО на данном этапе включают принципы:
Комплексности обеспечения безопасности ПО, предполагающей рассмотрение проблемы безопасности информационно - вычислительных процессов с учетом всех структур КС, возможных каналов утечки информации и несанкционированного доступа к ней, времени и условий их возникновения, комплексного применения организационных и технических мероприятий.
Планируемости применения средств безопасности программ, предполагающей перенос акцента на совместное системное проектирование ПО и средств его безопасности, планирование их использования в предполагаемых условиях эксплуатации.
Обоснованности средств обеспечения безопасности ПО, заключающейся в глубоком научно-обоснованном подходе к принятию проектных решений по оценке степени безопасности, прогнозированию угроз безопасности, всесторонней априорной оценке показателей средств защиты.
Достаточности безопасности программ, отражающей необходимость поиска наиболее эффективных и надежных мер безопасности при одновременной минимизации их стоимости.Гибкости управления защитой программ, требующей от системы контроля и управления обеспечением информационной безопасности ПО способности к диагностированию, опережающей нейтрализации, оперативному и эффективному устранению возникающих угроз в условиях резких изменений обстановки информационной борьбы.
Заблаговременности разработки средств обеспечения безопасности и контроля производства ПО, заключающейся в предупредительном характере мер обеспечения технологической безопасности работ в интересах недопущения снижения эффективности системы безопасности процесса создания ПО.
Документируемости технологии создания программ, подразумевающей разработку пакета нормативно-технических документов по контролю программных средств на наличие преднамеренных дефектов.
Принципы достижения технологической безопасности ПО в процессе его разработки
Принципы обеспечения безопасности ПО на данном этапе включают принципы:
Регламентации технологических этапов разработки ПО, включающей упорядоченные фазы промежуточного контроля, спецификацию программных модулей и стандартизацию функций и формата представления данных.
Автоматизации средств контроля управляющих и вычислительных программ на наличие дефектов, создания типовой общей информационной базы алгоритмов, исходных текстов и программных средств, позволяющих выявлять преднамеренные программные дефекты.
Последовательной многоуровневой фильтрации программных модулей в процессе их создания с применением функционального дублирования разработок и поэтапного контроля.
Типизации алгоритмов, программ и средств информационной безопасности, обеспечивающей информационную, технологическую и программную совместимость, на основе максимальной их унификации по всем компонентам и интерфейсам.
Централизованного управления базами данных проектов ПО и администрирование технологии их разработки с жестким разграничением функций, ограничением доступа в соответствии со средствами диагностики, контроля и защиты.
Блокирования несанкционированного доступа соисполнителей и абонентов государственных сетей связи, подключенных к стендам для разработки программ.
Статистического учета и ведения системных журналов о всех процессах разработки ПО с целью контроля технологической безопасности.
Использования только сертифицированных и выбранных в качестве единых инструментальных средств разработки программ для новых технологий обработки информации и перспективных архитектур вычислительных систем.
Принципы обеспечения технологической безопасности на этапах стендовых и приемо-сдаточных испытаний
Принципы обеспечения безопасности ПО на данном этапе включают принципы:
Тестирования ПО на основе разработки комплексов тестов, параметризуемых на конкретные классы программ с возможностью функционального и статистического контроля в широком диапазоне изменения входных и выходных данных.
Проведения натурных испытаний программ при экстремальных нагрузках с имитацией воздействия активных дефектов.
Осуществления «фильтрации» программных комплексов с целью выявления возможных преднамеренных дефектов определенного назначения на базе создания моделей угроз и соответствующих сканирующих программных средств.
Разработки и экспериментальной отработки средств верификации программных изделий.
Проведения стендовых испытаний ПО для определения непреднамеренных программных ошибок проектирования и ошибок разработчика, приводящих к невыполнению целевых функций программ, а также выявление потенциально "узких" мест в программных средствах для разрушительного воздействия.
Отработки средств защиты от несанкционированного воздействия нарушителей на ПО.
Сертификации программных изделий АСУ по требованиям безопасности с выпуском сертификата соответствия этого изделия требованиям технического задания.
Принципы обеспечения безопасности при эксплуатации программного обеспечения
Принципы обеспечения безопасности ПО на данном этапе включают принципы:
Сохранения и ограничения доступа к эталонам программных средств, недопущение внесения изменений в них.
Профилактического выборочного тестирования и полного сканирования программных средств на наличие преднамеренных дефектов.
Идентификации ПО на момент ввода его в эксплуатацию в соответствии с предполагаемыми угрозами безопасности ПО и его контроль.
Обеспечения модификации программных изделий во время их эксплуатации путем замены отдельных модулей без изменения общей структуры и связей с другими модулями.
Строгого учета и каталогизации всех сопровождаемых программных средств, а также собираемой, обрабатываемой и хранимой информации.
Статистического анализа информации обо всех процессах, рабочих операциях, отступлениях от режимов штатного функционирования ПО.
Гибкого применения дополнительных средств защиты ПО в случае выявления новых, непрогнозируемых угроз информационной безопасности.
4. Классификация угроз информационно-программному обеспечению.
Угрозы информационной безопасности классифицируются по нескольким признакам:
· по составляющим информационной безопасности (доступность, целостность, конфиденциальность), против которых, в первую очередь, направлены угрозы;
· по компонентам информационных систем, на которые угрозы нацелены (данные, программы, аппаратура, персонал);
· по характеру воздействия (случайные или преднамеренные, действия природного или техногенного характера);
· по расположению источника угроз (внутри или вне рассматриваемой информационной системы).
Отправной точкой при анализе угроз информационной безопасности является определение составляющей информационной безопасности, которая может быть нарушена той или иной угрозой: конфиденциальность, целостность или доступность.
Все виды угроз классифицируемые по другим признакам, могут воздействовать на все составляющие информационной безопасности.
Рассмотрим угрозы по характеру воздействия.
Опыт проектирования, изготовления и эксплуатации информационных систем показывает, что информация подвергается различным случайным воздействиям на всех этапах цикла жизни системы.
Причинами случайных воздействий при эксплуатации могут быть:
· аварийные ситуации из-за стихийных бедствий и отключений электропитания (природные и техногенные воздействия);
· отказы и сбои аппаратуры;
· ошибки в программном обеспечении;
· ошибки в работе персонала;
· помехи в линиях связи из-за воздействий внешней среды.
Преднамеренные воздействия - это целенаправленные действия злоумышленника. В качестве злоумышленника могут выступать служащий, посетитель, конкурент, наемник. Действия нарушителя могут быть обусловлены разными мотивами, например:
· любопытством;
· хакерская атака;
· уязвленным самолюбием работника и т. д.
Угрозы, классифицируемые по расположению источника угроз, бывают внутренние и внешние.
Внешние угрозы обусловлены применением вычислительных сетей и создание на их основе информационных систем.Основная особенность любой вычислительной сети состоит в том, что ее компоненты распределены в пространстве. Связь между узлами сети осуществляется физически с помощью сетевых линий и программно с помощью механизма сообщений. При этом управляющие сообщения и данные, пересылаемые между узлами сети, передаются в виде пакетов обмена. Особенность данного вида угроз заключается в том, что местоположение злоумышленника изначально неизвестно.
Каналы несанкционированного доступа к информации
Одним из наиболее распространенных и многообразных способов воздействия на информационную систему, позволяющим нанести ущерб любой из составляющих информационной безопасности является несанкционированный доступ. Несанкционированный доступ возможен из-за ошибок в системе защиты, нерационального выбора средств защиты, их некорректной установки и настройки.
Каналы несанкционированного доступа к информации классифицируются по компонентам автоматизированных информационных систем:
1. Через человека:
1.1.хищение носителей информации; 1.2.чтение информации с экрана или клавиатуры; 1.3. чтение информации из распечатки.
2. Через программу:
2.1.перехват паролей; 2.2.расшифровка зашифрованной информации; 2.3. копирование информации с носителя.
3. Через аппаратуру:
3.1.подключение специально разработанных аппаратных средств, обеспечивающих доступ к информации;
3.2. перехват побочных электромагнитных излучений от аппаратуры, линий связи, сетей электропитания и т. д.
Основные источники проникновения угроз
В настоящее время основными источниками угроз для информации на компьютере пользователя является интернет и электронная почта. Огромное количество вредоносных программ, в число которых входят вирусы, троянские программы, черви, могут "пробраться" на Ваш компьютер, пока Вы читаете статью в интернете, занимаетесь поиском информации, открывая множество веб-сайтов, скачиваете и устанавливаете программное обеспечение на компьютер, читаете почтовое сообщение. Вредоносные программы распространяются с молниеносной скоростью и за доли секунды могут нанести такой вред, восстановление после которого может дорого Вам обойтись. Речь здесь идет не только о повреждении данных, но и о несанкционированном доступе к системе, нарушении ее целостности, краже информации.
Не стоит забывать и о еще одном важном источнике "неприятностей" - спаме. Нежелательная почтовая корреспонденция может нанести гораздо больший вред, чем некоторые вредоносные программы. Не являясь источником прямой угрозы, спам приводит к потерям рабочего времени и наносит значительные финансовые потери, которые увеличиваются в сотни, тысячи раз, если это касается корпоративной компьютерной сети.
Каждый пользователь, широко использующий современные информационные ресурсы, должен знать, что ему угрожает и какие последствия может за собой повлечь то или иное вредоносное воздействие.
Среди источников проникновения вредоносных программ наиболее опасными являются:
Интернет: глобальная информационная сеть является основным источником распространения любого рода вредоносных программ. Как правило, вирусы и другие вредоносные программы размещаются на популярных веб-сайтах интернета, "маскируются" под полезное и бесплатное программное обеспечение. Множество скриптов, запускаемых автоматически при открытии веб-сайтов, могут также содержать в себе вредоносные программы.
Электронная почтовая корреспонденция: почтовые сообщения, поступающие в почтовый ящик пользователя и хранящиеся в почтовых базах, могут содержать в себе вирусы. Вредоносные программы могут находиться как во вложении письма, так и в его теле. Как правило, электронные письма содержат вирусы и почтовые черви. При открытии письма, при сохранении на диск вложенного в письмо файла Вы можете заразить данные на вашем компьютере. Также почтовая корреспонденция может стать источником еще двух угроз: спама и фишинга. Если спам влечет за собой в основном потерю времени, то целью фишинг-писем является Ваша конфиденциальная информация (например, номер кредитной карты).
Уязвимости в программном обеспечении: так называемые "дыры" в программном обеспечении являются основным источником хакерских атак. Уязвимости позволяют получить хакеру удаленный доступ к Вашему компьютеру, а, следовательно, к Вашим данным, к доступным вам ресурсам локальной сети, к другим источникам информации.
Съемные носители информации: для передачи информации по-прежнему широко используются съемные диски, дискеты, карты расширения памяти (флеш). Запуская какой-либо файл, расположенный на съемном носителе, Вы можете поразить данные на вашем компьютере вирусом и, незаметно для себя, распространить их на другие диски Вашего компьютера
Вредоносные программы
Чтобы знать, какого рода опасности могут угрожать Вашим данным, полезно узнать, какие бывают вредоносные программы и как они работают. В целом вредоносные программы можно разделить на следующие классы:
Вирусы (Viruses): программы, которые заражают другие программы - добавляют в них свой код, чтобы получить управление при запуске зараженных файлов. Это простое определение дает возможность выявить основное действие, выполняемое вирусом - заражение. Скорость распространения вирусов несколько ниже, чем у червей.
Черви (Worms): данная категория вредоносных программ для распространения использует сетевые ресурсы. Название этого класса было дано исходя из способности червей "переползать" с компьютера на компьютер, используя сети, электронную почту и другие информационные каналы. Также благодаря этому черви обладают исключительно высокой скоростью распространения.
Черви проникают на компьютер, вычисляют сетевые адреса других компьютеров и рассылают по этим адресам свои копии. Помимо сетевых адресов часто используются данные адресной книги почтовых клиентов. Представители этого класса вредоносных программ иногда создают рабочие файлы на дисках системы, но могут вообще не обращаться к ресурсам компьютера (за исключением оперативной памяти).
Троянские программы (Trojans): программы, которые выполняют на поражаемых компьютерах несанкционированные пользователем действия, т.е. в зависимости от каких-либо условий уничтожают информацию на дисках, приводят систему к "зависанию", воруют конфиденциальную информацию и т.д. Данный класс вредоносных программ не является вирусом в традиционном понимании этого термина (т.е. не заражает другие программы или данные); троянские программы не способны самостоятельно проникать на компьютеры и распространяются злоумышленниками под видом "полезного" программного обеспечения. При этом вред, наносимый ими, может во много раз превышать потери от традиционной вирусной атаки.
Программы-шпионы (Spyware): программное обеспечение, позволяющее собирать сведения об отдельно взятом пользователе или организации без их ведома. О наличии программ-шпионов на своем компьютере вы можете и не догадываться. Как правило, целью программ-шпионов является:
· отслеживание действий пользователя на компьютере;
· сбор информации о содержании жесткого диска; в этом случает чаще всего речь идет о сканировании некоторых каталогов и системного реестра с целью составления списка программного обеспечения, установленного на компьютере;
· сбор информации о качестве связи, способе подключения, скорости модема и т.д.
Однако данные программы не ограничиваются только сбором информации, они представляют реальную угрозу безопасности. Как минимум две из известных программ - Gator и eZula - позволяют злоумышленнику не просто собирать информацию, но и контролировать чужой компьютер. Другим примером программ-шпионов являются программы, встраивающиеся в установленный на компьютере браузер и перенаправляющие трафик. Наверняка вы встречались с подобными программами, если при запросе одного адреса веб-сайта открывался совсем другой. В том числе интернет-ресурсы с непристойным и абсолютно безнравственным содержанием (например, вместо запроса образовательного и поискового веб-сайта)
Одной из разновидностей программ-шпионов являются фишинг-рассылки. Фишинг (Phishing) - почтовая рассылка, целью которой является получение от пользователя конфиденциальной информации как правило финансового характера. Такие письма составляются таким образом, чтобы максимально походить на информационные письма от банковских структур, компаний известных брендов. Письма содержат ссылку на заведомо ложный сайт, где пользователю предлагается ввести, например, номер своей кредитной карты и другую конфиденциальную информацию.
Подобные документы
Модель обеспечения информационной безопасности в сфере обороны РФ. Оценка состояния систем защиты информации в правоохранительной и судебной сферах, рекомендации по их обеспечению. Анализ угроз информационной безопасности России и рисков от их реализации.
курсовая работа [57,4 K], добавлен 13.11.2009Классификация угроз информационной безопасности. Ошибки при разработке компьютерных систем, программного, аппаратного обеспечения. Основные способы получения несанкционированного доступа (НСД) к информации. Способы защиты от НСД. Виртуальные частные сети.
курсовая работа [955,3 K], добавлен 26.11.2013Характеристика, классификация и варианты применения ложных информационных систем, служащих для реализации механизмов введения в заблуждение злоумышленника с целью затруднения и препятствовании атакам. Алгоритм эмуляции файловых ресурсов и узлов ИВС.
дипломная работа [2,7 M], добавлен 21.12.2012Требования к программному продукту, к задачам и функциям, выполняемым программой, к техническому, программному и организационному обеспечению. Стадии и этапы разработки программного продукта. Простота навигации по программе, присутствие строки подсказки.
курсовая работа [236,7 K], добавлен 09.03.2009Анализ угроз и проблем информационной безопасности, технологий защиты информационных систем. Применение данных технологий для пресечения возможных нарушителей и угроз. Выработка требований к технологиям в системе Э-Правительства Кыргызской Республики.
магистерская работа [2,5 M], добавлен 16.05.2015Классификации архитектур вычислительных систем. Организация компьютерных систем. Устройство центрального процессора. Принципы разработки современных компьютеров. Эволюция микропроцессорных систем. Увеличение числа и состава функциональных устройств.
дипломная работа [1,4 M], добавлен 29.01.2009Классификация Флинна как наиболее ранняя и известная классификация архитектур вычислительных систем, ее структура и содержание, признаки. Общая характеристика используемых классов. Описание и значение других распространенных методов классификации.
лекция [173,1 K], добавлен 22.10.2014Структуры вычислительных машин и систем. Фон-неймановская архитектура, перспективные направления исследований. Аналоговые вычислительные машины: наличие и функциональные возможности программного обеспечения. Совокупность свойств систем для пользователя.
курсовая работа [797,5 K], добавлен 05.11.2011Определение требований к программному обеспечению. Ознакомление с процессом проектирования интерфейса пользователя. Рассмотрение результатов обзора существующих информационных систем. Обоснование необходимости разработки программного обеспечения.
дипломная работа [1,1 M], добавлен 05.07.2017Классификация вычислительных систем по способам взаимодействия потоков выполняемых команд и потоков обрабатываемых данных, их разновидности и функциональные особенности. Принципы расширения классификации Флинна. Виды топологии соединительной сети.
презентация [175,6 K], добавлен 11.10.2014