Характеристики защиты и безопасности функционирования программных средств
Непрерывно возрастающая сложность и вследствие этого уязвимость систем и программных продуктов от случайных и предумышленных негативных воздействий, выдвинули ряд проблем, связанных с безопасностью систем и программных средств, в разряд важнейших - стратегических, определяющих принципиальную возможность и эффективность применения программных продуктов в административных системах, в промышленности и в военной технике. При этом выделились области анализа и обеспечения: информационной безопасности, связанные, в основном, с защитой от предумышленных, негативных воздействий на информационные ресурсы систем, и функциональной безопасности, обусловленной отказовыми ситуациями и потерей работоспособности систем и ПС вследствие проявления непредумышленных, случайных дефектов и отказов программ, данных, аппаратуры и внешней среды. С позиции доминирующей категории обеспечения безопасности, автоматизированные системы, их программные продукты и базы данных можно условно разделить на два крупных класса:
- системы, в которых накапливаются, обрабатываются и хранятся большие объемы информации из внешней среды с активным участием пользователей, для которой должна обеспечиваться конфиденциальность, целостность и доступность данных потребителям, что отражается требованиями преимущественно к характеристикам информационной безопасности;
- системы и объекты автоматизации, в аппаратуру которых встроены комплексы программ управления и обработки информации в реальном времени, основные задачи которых состоят в обеспечении достоверной реализации эффективного и устойчивого управления объектами внешней среды при относительно малом (негативном) участии пользователей в их решении и высоких требованиях к характеристикам функциональной безопасности.
В ряде случаев эти два понятия и их характеристики близки и связаны с нарушением выполнения требований спецификаций к функциональной пригодности объекта или системы, однако они имеют существенные особенности, которые целесообразно уточнить.
Обеспечение информационной безопасности функционирования систем в процессе разработки и эксплуатации, развивается вследствие возрастания сложности и ответственности задач использования информационных ресурсов и увеличения их уязвимости от предумышленных, внешних воздействий с целью незаконного использования или искажения информации и программ, которые по своему содержанию предназначены для применения ограниченным кругом лиц. Основное внимание в современной теории и практике обеспечения безопасности информационных систем сосредоточено на защите от злоумышленных разрушений, искажений, хищений и нерегламентированного использования программных средств и информационных ресурсов баз данных. Для решения этой проблемы созданы и активно развиваются методы, средства и стандарты обеспечения информационной безопасности - защиты программ и данных от предумышленных негативных внешних воздействий. При этом понятия обеспечения безопасности и защиты системы и информации зачастую не разделяются. Факторы безопасности, характерные для сложных информационных систем – целостность, доступность и конфиденциальность информационных ресурсов, а также ряд типовых процедур систем защиты – криптографическая поддержка, идентификация и аутентификация, защита и сохранность данных пользователей при предумышленных негативных воздействиях из внешней среды, далее не рассматриваются и не учитываются.
Обеспечение функциональной безопасности при случайных, дестабилизирующих воздействиях и отсутствии злоумышленного влияния на системы, ПС или информацию баз данных существенно отличается от задач информационной безопасности (рис. 11.1). Функциональная безопасность объектов и систем зависит от отказовых ситуаций, негативно отражающихся на работоспособности и реализации их основных функций, причинами которых могут быть дефекты и аномалии в аппаратуре, программах, данных или вычислительных процессах. При этом катастрофически, критически или существенно искажается процесс функционирования систем, что наносит значительный ущерб при их применении. Основными источниками отказовых ситуаций могут быть некорректные исходные требования заказчика, сбои и отказы в аппаратуре, дефекты или ошибки в программах и данных функциональных задач, проявляющиеся при их исполнении в соответствии с назначением. При таких воздействиях, внешняя, функциональная работоспособность систем может разрушаться не полностью, однако невозможно полноценное выполнение заданных функций и требований к качеству информации для потребителей. Безопасность их функционирования определяется проявлениями дестабилизирующих факторов, приносящих большой ущерб:
- техническими отказами внешней аппаратуры и искажениями исходной информации от объектов внешней среды и от пользователей систем и обработанной информации;
- случайными сбоями и физическими разрушениями элементов и компонентов аппаратных средств вычислительных комплексов и средств телекоммуникации;
- дефектами и ошибками в комплексах программ обработки информации и в данных;
- пробелами и недостатками в средствах обнаружения опасных отказов и оперативного восстановления работоспособного состояния систем, программ и данных.
При анализехарактеристик функциональной безопасности целесообразно выделять два класса систем и их ПС. Первый класс составляют системы, имеющие встроенные комплексы программ жесткого регламента реального времени, автоматизировано управляющие динамическими внеш-ними объектами или процессами. Время необходимой реакции на отказовые ситуации таких систем обычно исчисляется секундами или долями секунды, и процессы восстановления работоспособности должны проводиться за это время, в достаточной степени автоматизировано (бортовые системы в авиации, на транспорте, в некоторых средствах вооружения, системы управления атомными электростанциями). Эти системы используют относительно небольшие информационные ресурсы, сложные логические комплексы программ управления и практически недоступны для предумышленных негативных внешних воздействий.
Системы второго класса, применяются для управления процессами и обработки деловой информации из внешней среды, в которых активно участвуют специалисты-операторы (банковские, административные, штабные военные системы). Допустимое время реакции на опасные отказы в этих системах может составлять десятки секунд и минуты, и операции по восстановлению работоспособности частично могут быть доверены специалистам-администраторам по обеспечению функциональной безопасности. В этих системах возможны предумышленные негативные внешние воздействия, однако они ниже не рассматриваются.
Понятия и характеристики функциональной безопасности систем близки к понятиям надежности (см. выше п. 11.3). Основное различие состоит в том, что в показателях надежности учитываются все реализации опасных отказов, а в характеристиках функциональной безопасности следует регистрировать и учитывать только те отказы, которые привели к столь большому, катастрофическому ущербу, что отразились на безопасности системы и информации для потребителей. Статистически таких отказов может быть в несколько раз меньше, чем учитываемых в значениях надежности. Однако методы, влияющие факторы и реальные значения характеристик надежности ПС могут служить ориентирами при оценке функциональной безопасности критических систем. Поэтому способы оценки характеристик и испытаний функциональной безопасности могут базироваться на методах определения надежности функционирования комплексов программ и баз данных.
Ущерб от дефектов и ошибок программ и данных может проявляться, в более или менее, систематических отказах, каждый из которых отражается на надежности, но не является катастрофой с большим ущербом, влияющим на безопасность системы. Накопление таких отказов со временем может приводить к последствиям, нарушающим функциональную безопасность систем и их применение. Таким образом, дополнительно сближаются понятия и характеристики надежности и функциональной безопасности сложных систем и ПС.
Эффективная система защиты информации и программных средств подразумевает наличие совокупности организационных и технических мероприятий, направленных на предупреждение различных угроз безопасности, их выявление, локализацию и ликвидацию. Создание такой системы предусматривает планирование и реализацию целенаправленной политики комплексного обеспечения безопасности систем и программных продуктов (см. рис. 11.1). Требования к характеристикам программных средств, обеспечивающим безопасность, обычно представляются в составе общей спецификации требований к характеристикам системы.
Наиболее полно степень защиты системы характеризуется величиной предотвращенного ущерба – риска (см. лекцию 10), возможного при проявлении дестабилизирующих факторов и реализации конкретных угроз безопасности применению программного продукта пользователями, а также средним временем между возможными проявлениями угроз, нарушающих безопасность. С этой позиции затраты ресурсов разработчиками и заказчиками на обеспечение безопасности функционирования системы должны быть соизмеримыми с возможным средним ущербом у пользователей от нарушения безопасности. Проектирование защиты систем с использованием программных средств включает подготовку комплекса взаимосвязанных мер, направленных на достижение требуемых характеристик и уровня безопасности. Для обеспечения эффективности систем, комплекс программ обеспечения безопасности целесообразно базировать на следующих общих принципах:
- стоимость создания и эксплуатации системы программной защиты и обеспечения безопасности должна быть меньше, чем размеры наиболее вероятного или возможного (в среднем), неприемлемого потребителями системы риска-ущерба, от любых потенциальных угроз;
- программная защита функциональных программ и данных должна быть комплексной и многоуровневой, ориентированной на все виды угроз с учетом их опасности для потребителя;
- комплекс программ защиты должен иметь целевые, индивидуальные компоненты, предназначенные для обеспечения безопасности функционирования каждого отдельно взятого объекта и функциональной задачи ПС с учетом их уязвимости и степени влияния на безопасность системы в целом;
- система программ защиты не должна приводить к ощутимым трудностям, помехам и снижению эффективности применения и решения основных, функциональных задач пользователями в целом.
Процессы проектирования программ обеспечения безопасности ПС, как самостоятельной системы, принципиально не отличаются от технологии проектирования любых других сложных программных комплексов. Для этого, прежде всего, необходимо проанализировать и конкретизировать в спецификации требований проекта ПС задачи, а также исходные данные и факторы, определяющие характеристики безопасности функционирования программ:
- критерии качества и значения характеристик, отражающих необходимый и достаточный уровень безопасности применения системы пользователями в целом, и каждого из ее основных, функциональных компонентов в соответствии с условиями среды применения и требованиями спецификаций заказчика;
- перечень и характеристики возможных внутренних и внешних дестабилизирующих факторов и угроз, способных влиять на характеристики безопасности функционирования программных средств и баз данных;
- требования к методам и средствам предотвращения и снижения влияния угроз безопасности, обусловленные предумышленными негативными внешними воздействиями, а также возможными дефектами программ и данных;
- перечень подлежащих решению задач защиты, перекрывающих все потенциально возможные угрозы, и оценки характеристик решения отдельных задач, необходимых для обеспечения равнопрочной безопасности системы с заданной эффективностью;
- оперативные методы и средства повышения характеристик безопасности функционирования программ в течение всего жизненного цикла системы путем введения в комплекс программ временной, программной и информационной избыточности для реализации системы защиты от актуальных видов угроз;
- ресурсы, необходимые и доступные для разработки и размещения программной системы обеспечения безопасности (финансово-экономические, ограниченная квалификация специалистов и вычислительные ресурсы ЭВМ);
- стандарты, нормативные документы и методики воспроизводимых измерений характеристик безопасности, а также состав и значения исходных и результирующих данных, обязательных для проведения испытаний;
- оценки комплексной эффективности защиты системы и программного продукта и их сравнение с требуемой заказчиком, с учетом реальных ограничений совокупных затрат ресурсов на обеспечение защиты.
В основу формирования требований по безопасности должно быть положено определение перечня и характеристик потенциальных угроз безопасности и установление возможных источников их возникновения (см. рис. 11.1).
Внешними дестабилизирующими факторами, создающими угрозы безопасности функционирования программных продуктов и системы, являются:
- предумышленные, негативные воздействия лиц с целью искажения, уничтожения или хищения программ, данных и документов информационной системы;
- ошибки и несанкционированные воздействия оперативного, административного и обслуживающего персонала в процессе эксплуатации системы;
- искажения в каналах телекоммуникации информации, поступающей от внешних источников и передаваемой потребителям, а также недопустимые значения и изменения характеристик потоков информации от объектов внешней среды;
- сбои и отказы в аппаратуре вычислительных средств;
- вирусы, распространяемые по каналам телекоммуникации;
- изменения состава и конфигурации комплекса взаимодействующей аппаратуры системы за пределы, проверенные при испытаниях или сертификации.
Внутренними источниками угроз безопасности функционирования сложных систем и ПС являются (см. лекцию 10):
- системные ошибки при постановке целей и задач проектирования системы, формулировке требований к функциям и характеристикам средств защиты решения задач, определении условий и параметров внешней среды, в которой предстоит применять программный продукт;
- алгоритмические ошибки проектирования при непосредственной алгоритмизации функций защиты программных средств и баз данных, при определении структуры и взаимодействия компонентов комплексов программ, а также при использовании информации баз данных;
- ошибки программирования в текстах программ и описаниях данных, а также в исходной и результирующей документации на компоненты ПС;
- недостаточная эффективность используемых методов и средств оперативной защиты программ и данных и обеспечения безопасности функционирования системы в условиях случайных и предумышленных негативных воздействий от внешней среды.
Полное устранение перечисленных угроз характеристикам безопасности функционирования критических ПС принципиально невозможно. При проектировании проблема состоит в выявлении факторов, от которых они зависят, в создании методов и средств уменьшения их влияния на безопасность ПС, а также в эффективном распределении ресурсов на средства защиты. Необходимо оценивать уязвимость функциональных компонентов системы для различных предумышленных, негативных воздействий и степень их влияния на основные характеристики безопасности. В зависимости от этого следует распределять ресурсы средств защиты для создания проекта системы, равнопрочной по безопасности функционирования при любых внешних воздействиях.
Величина и рациональное распределение ресурсов ЭВМ на отдельные виды защиты оказывает значительное влияние на достигаемую комплексную безопасность системы. Наиболее общим видом ресурсов, который приходится учитывать при проектировании, являются допустимые финансово-экономические затраты или сметная стоимость разработки и функционирования системы обеспечения безопасности и средств программной защиты. Для размещения средств защиты в объектной ЭВМ, при проектировании должна быть предусмотрена программная и информационная избыточности в виде ресурсов внешней и внутренней памяти ЭВМ. Кроме того, для функционирования средств защиты необходима временная избыточность - дополнительная производительность ЭВМ.
При проектировании целесообразно разделять вычислительные ресурсы, необходимые для непосредственного решения основных, функциональных задач системы, и ресурсы, требующиеся для защиты и обеспечения корректного, безопасного функционирования программного продукта. Соотношение между этими видами ресурсов в реальных крупномасштабных системах зависит от сложности и состава решаемых функциональных задач, степени их критичности и требований к характеристикам безопасности всей системы. В различных классах систем ресурсы на обеспечение безопасности могут составлять от 5-20% до 100-300% от ресурсов, используемых на решение основных, функциональных задач, т.е. в особых случаях (критические военные системы) могут превышать последние в 2-4 раза. В административных и организационных системах средства обеспечения безопасности обычно используют 10-20% всех видов трудовых, аппаратных и вычислительных ресурсов.
Одна из трудностей планирования процессов для достижения высокого качества защиты состоит обычно в отсутствии полной совокупности достоверных требований заказчика к характеристикам безопасности на начальных этапах проектирования и разработки, а также итерационный процесс их конкретизации в течение всего жизненного цикла ПС. В результате первично сформулированные требования к характеристикам качества системы защиты и обеспечения безопасности крупных ПС последовательно уточняются и корректируются в процессе взаимодействия заказчика и разработчика с учетом объективно изменяющихся характеристик развивающегося проекта.
Проектирование системы защиты тесно связано с определением понятия и функций администратора безопасности системы. Администратор безопасности - субъект доступа, ответственный за защиту охраняемых ресурсов и эффективное использование имеющихся функций защиты системы пользователями. Без постоянного присутствия администратора при применении крупных систем, меры защиты могут быть не эффективными, так как злоумышленник получает возможность в течение неограниченного времени осуществлять попытки несанкционированного доступа. Поэтому в системы обеспечения безопасности вводятся:
- административные функции и интерфейсы, доступные администратору по безопасности;
- принципы и средства для последовательного, эффективного использования и адаптации функций компонентов системы безопасности;
- средства конфигурирования функций системы и комплекса обеспечения безопасности;
- контроль допустимого поведения пользователей и предотвращение нештатного применения процедур, влияющих на безопасность.
В системах с большим количеством объектов, требующих разных уровней защиты, может быть несколько администраторов, объединенных в службу администрации безопасности. Важным свойством системы управления доступом должна являться способность создавать так называемый след контроля, т.е. совокупность сведений о состоянии и функционировании средств защиты, накапливаемых во времени и предназначенных для анализа и управления средствами защиты. Для хранения этих сведений у администраторов обычно организуются контрольные журналы учета и регистрации событий защиты. Основными сведениями, накапливаемыми в этих журналах, являются данные о работе пользователей и попытках несанкционированных действий, выходящих за рамки представленных им полномочий, или от объектов внешней среды.
Чтобы гарантии безопасности достигались при минимальных затратах, необходимы целенаправленное, координируемое планирование и управление для предотвращения дефектов и ошибок проектирования, а также для их выявления и устранения на самых ранних этапах разработки. Поэтому план и мероприятия, обеспечивающие качество программ защиты, должны охватывать не только завершающие испытания, а весь жизненный цикл программ обеспечения безопасности. Для этого в процессе формирования технического задания следует сформулировать основные положения методологии и план последовательного повышения характеристик безопасности путем наращивания комплекса средств защиты, поэтапных испытаний компонентов и определения характеристик безопасности, допустимых для продолжения работ на следующих этапах.
Проекты комплексов защиты зависят от конкретных характеристик и назначения объектов, подлежащих защите, а также от применяемых нормативных документов и их требований. Проектирование средств обеспечения безопасности функционирования ПС - творческий процесс, зависящий от множества факторов, что определяет ограниченную стандартизацию совокупности ряда методов и задач. Наиболее широко и детально методологические и системные задачи проектирования комплексной защиты систем изложены в трех частях стандарта ISO 15408:1-3:1999 - Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий. В первой, относительно небольшой части, представлены цели и концепция обеспечения безопасности, а также общая модель построения защиты, которая отличается гибкостью и динамичностью формирования требований и оценивания функций и компонентов системы безопасности. В ней выделены: окружающая среда; объекты защиты; требования и спецификации функций защиты; задачи инструментальных средств обеспечения системы защиты. Изложены общие требования к критериям и характеристикам оценки результатов защиты, к Профилю по безопасности, к целям оценки требований и к использованию их результатов. Предложен проект комплекса общих целей, задач и критериев обеспечения безопасности конкретных систем.
В наибольшей, второй части стандарта представлена парадигма построения и реализации, структурированных и детализированных функциональных требований к компонентам защиты систем. Выделены и классифицированы одиннадцать базовых классов требований обеспечения безопасности систем. Каждый класс детализирован функциональным семейством требований, которые реализуют соответствующую часть целей обеспечения безопасности и в свою очередь структурированы наборами требований к более мелким компонентам частных задач.
Профили семейств и компонентов служат базой для дальнейшей конкретизации функциональных требований в Задании по безопасности для определенного проекта системы и помогают избегать грубых ошибок и пробелов при формировании набора таких требований. Обобщения оценок спецификации требований Задания по безопасности должны обеспечивать возможность делать общий вывод заказчиками, разработчиками и испытателями проекта об уровне соответствия безопасности функциональным требованиям и требованиям гарантированности защиты. Профиль и Задание по безопасности являются основными исходными документами при сертификации на соответствие требованиям заказчика к характеристикам безопасности применения конкретной системы.
Третья часть стандарта посвящена целям, методам и уровням обеспечения гарантий качества систем защиты, при разработке и реализации требований к функциям обеспечения безопасности в системе. Определены методы и средства, которые целесообразно использовать для обеспечения корректной реализации Задания по безопасности, жизненного цикла средств защиты и эффективного их применения. Изложены детальные требования по обеспечению гарантии качества создания и применения систем безопасности.
Таким образом, методологически решение задач обеспечения характеристик безопасности должно осуществляться как проектирование сложной, достаточно автономной программно – аппаратной системы в окружении и взаимодействии с основными, функциональными задачами и компонентами системы (см. рис. 11.1). Защита должна быть ориентирована на комплексное обеспечение эффективного решения основных, функциональных задач безопасности всей системы. При этом следует определять приоритеты и ранжировать по степени необходимой защиты функциональные компоненты, оценивать опасность различных внешних и внутренних угроз безопасности, выделять методы, средства и нормативные документы, адекватные видам угроз и требуемой защите, оценивать необходимые и доступные для этого ресурсы различных видов.