Широкое внедрение информационных технологий в жизнь современного общества привело к появлению ряда общих проблем информационной безопасности [1] - [7] :
Потенциальная уязвимость ИС по отношению к случайным и предумышленным отрицательным воздействиям выдвинула проблемы информационной безопасности в разряд важнейших, стратегических, определяющих принципиальную возможность и эффективность применения ряда ИС в гражданских и военных отраслях.
Требования по обеспечению безопасности в различных ИС могут существенно отличаться, однако они всегда направлены на достижение трех основных свойств:
Для решения проблем информационной безопасности необходимо сочетание законодательных, организационных, технологических и стандартизационных мероприятий.
Так сложилось, что основное внимание в теории и практике обеспечения безопасности применения информационных технологий и систем сосредоточено на защите от злоумышленных разрушений, искажений и хищений программных средств и информации баз данных. Для этого разработаны и развиваются проблемно-ориентированные методы и средства защиты:
и т.д. [1] , [2] , [3] . При этом подразумевается наличие лиц, заинтересованных в доступе к программам и данным с целью их несанкционированного использования, хищения, искажения или уничтожения.
В то же время, на реальные сложные системы воздействуют и случайные (непредумышленные) дестабилизирующие факторы, способные вызвать аномалии функционирования и даже катастрофические последствия, порой более тяжелые, чем последствия злоумышленных действий. Катастрофы типа Чернобыльской, гибели гражданского самолета под Междуреченском, подводной лодки "Комсомолец" и многие другие могут быть квалифицированы как последствия принципиальных системных и алгоритмических ошибок проектирования в сочетании с не предусмотренными разработчиками случайными дестабилизирующими факторами при отсутствии злоумышленного воздействия заинтересованных лиц. Эти факторы имеют свою природу, особенности, характеристики; следовательно, они требуют самостоятельного анализа и адекватных методов и средств защиты. В результате в теории и практике складывается особое направление обеспечения безопасности информационных систем при случайных дестабилизирующих воздействиях и отсутствии злоумышленного влияния на ИС.
Настоящая работа посвящена современным методам выявления и предотвращения непредумышленных угроз безопасности функционирования программных средств (ПС) и баз данных (БД), снижения соответствующих рисков до допустимого уровня и определения реального достигнутой степени безопасности использования ИС. В связи с этим мы будем говорить об алгоритмической и программно-технологической безопасности, используя для краткости термины "технологическая безопасность" или просто "безопасность". В качестве основной непредумышленной угрозы будет рассматриваться наличие внутренних дефектов ПС и БД, вызванных ошибками проектирования и реализации.
За рамками данной работы остаются непосредственные угрозы безопасности со стороны аппаратуры, а также методы и средства обеспечения аппаратной отказоустойчивости вычислительных комплексов и распределенных информационных систем. Отметим также, что на практике необходимо сочетать методы и средства обеспечения безопасности ИС при учете как случайных, так и злоумышленных воздействий с целью создания равнопрочных по защищенности систем.
Цель работы — раскрыть суть проблемы технологической безопасности, конкретизировать дестабилизирующие факторы и представить основные методы, способные значительно повысить защищенность ИС. Эта проблема в значительной степени решается посредством методов, средств и стандартов, поддерживающих системный анализ, технологию разработки и сопровождения ПС и БД.
Для достижения поставленной цели в последующих разделах рассматриваются исходные данные и факторы, определяющие технологическую безопасность сложных информационных систем:
В сложных ПС и БД невозможно обеспечить полное отсутствие дефектов проектирования и реализации. В связи с этим актуальна задача установления метрики и определения ее значений, объективно отражающих степень безопасности информационных систем при реальной или вероятной совокупности возможных дефектов.
Наиболее полно безопасность ИС характеризует величина ущерба, возможного при проявлении дестабилизирующих факторов и реализации конкретных угроз безопасности, а также среднее время между проявлениями угроз, нарушающих безопасность. Однако описать и измерить в достаточно общем виде возможный ущерб при нарушении безопасности для критических ИС разных классов практически невозможно, поэтому реализации угроз целесообразно характеризовать интервалами времени между их проявлениями, или наработкой на отказы, отражающиеся на безопасности. Это сближает понятия и характеристики степени безопасности с показателями надежности ИС. Различие состоит в том, что в показателях надежности учитываются все реализации отказов, а в характеристиках безопасности следует регистрировать только те отказы, которые отразились на безопасности. Статистически таких отказов может быть в несколько раз меньше, чем учитываемых в значениях надежности, однако методы, влияющие факторы и реальные значения показателей надежности ПС и БД могут служить ориентирами при оценке безопасности критических ИС. Поэтому ниже методы и оценки технологической безопасности ИС базируются на концепции надежности программ и баз данных [8] , [9] , [10] , [11] .
Первопричиной нарушения работоспособности программ при предположении о безотказности аппаратуры всегда является конфликт между реальными исходными данными, подлежащими обработке, и программой, осуществляющей эту обработку. Работоспособность ИС можно гарантировать при исходных данных, которые использовались при отладке и испытаниях. Реальные исходные данные могут иметь значения, отличающиеся от заданных техническим заданием и от использованных при тестировании программ и баз данных, в результате чего функционирование последних трудно предсказать заранее и вероятны различные аномалии, завершающиеся отказами.
Основным принципом классификации сбоев и отказов в программах при отсутствии физического разрушения аппаратуры является разделение по временному показателю длительности восстановления после любого искажения программ, данных или вычислительного процесса, регистрируемого как нарушение работоспособности [9] . При длительности восстановления, меньшей заданного порога, аномалии при функционировании программ следует относить к сбоям, а при восстановлении, превышающем по длительности пороговое значение, происходящее искажение соответствует отказу.
Некоторая часть отказов может не отражаться на безопасности применения ИС и устраняться достаточно быстрым восстановлением работоспособности. Характеристики проявления и возможная длительность восстановления после других видов отказов могут быть катастрофическими, квалифицируемыми как нарушение безопасности функционирования ИС. Достаточно универсальным измеряемым параметром при этом остается время восстановления нормальной работоспособности. Таким образом, приближенно такие катастрофические отказы в восстанавливаемых ИС можно выделять по превышению некоторого допустимого времени восстановления работоспособности, которое может отличаться от порогового времени, разделяющего сбои и отказы.
Классификация программных сбоев, отказов и нарушений безопасности по длительности восстановления приводит к необходимости анализа динамических характеристик пользователей исследуемой ИС, а также динамических характеристик функционирования программ и баз данных. Временная зона перерыва нормальной выдачи информации и потери работоспособности, которую следует рассматривать как зону сбоя, тем шире, чем более инертный объект находится под воздействием сообщений, подготовленных данной ИС. Пороговое время восстановления работоспособного состояния системы, при превышении которого следует фиксировать отказ, близко к периоду решения задач для подготовки информации соответствующему пользователю.
В теории надежности работоспособным называется такое состояние объекта, при котором он способен выполнять заданные функции с параметрами, установленными требованиями технической документации [8] - [11] , [37] . Надежность является внутренним свойством систем, проявляющимся только во времени. Критерии качества становятся динамическими и преимущественно стохастическими, характеризующими функционирование ИС в целом или крупных групп программ. Измеряемые интегральные показатели качества программ в этом случае более определенные и могут достаточно точно оцениваться экспериментально.
Устойчивость (живучесть) наиболее широко характеризует способность ИС к безотказному функционированию при наличии сбоев и отказов. Она зависит от уровня неустраненных ошибок и способности ИС реагировать на проявления ошибок так, чтобы это не отражалось на показателях надежности и безопасности. Последнее определяется эффективностью контроля за доступом к данным, степенью обеспечения их конфиденциальности и целостности, а также селекцией достоверных данных, поступающих из внешней среды, средствами обнаружения аномалий и эффективностью процессов восстановления функционирования ИС.
Восстанавливаемость характеризуется полнотой восстановления функционирования программ после перезапуска — рестарта после сбоя или отказа. Перезапуск должен обеспечивать возобновление нормального функционирования ИС, на что требуются ресурсы ЭВМ и время. Поэтому полнота и длительность восстановления функционирования после сбоев и отказов отражают качество и безопасность ИС.
Обобщение характеристик отказов и восстановлений производится в критерии коэффициент готовности. Этот показатель отражает вероятность иметь восстанавливаемую систему в работоспособном состоянии в произвольный момент времени. Значение коэффициента готовности соответствует доле времени полезной работы системы на достаточно большом интервале, содержащем отказы и восстановления.
Применение основных понятий теории надежности для оценки надежности и безопасности сложных ИС позволяет получить ряд четких, хорошо измеряемых интегральных показателей качества программ. Приведенные критерии используются в основном при испытании ИС и на завершающих фазах комплексной отладки. Их практически невозможно использовать для оценки качества программных компонент, решающих частные функциональные задачи.
При создании сложных, распределенных информационных систем, формировании их архитектуры, выборе компонент и связей между ними, следует учитывать, помимо общих (таких как открытость, масштабируемость, защита инвестиций и т.п.), ряд специфических концептуальных требований, направленных на обеспечение безопасности функционирования:
Высокие темпы роста основных ресурсов аппаратных средств (приблизительно на порядок каждые пять лет) и сохраняющаяся потребность в их увеличении со стороны пользователей приводят к необходимости адекватного совершенствования технологий создания программ и баз данных. Одним из важнейших и эффективных путей решения этой проблемы являются концепция и совокупности стандартов открытых систем [12] , [13] , [14] .
Идеология открытых систем существенно отразилась на методологических аспектах и ряде направлений развития сложных, критических ИС. Она базируется на строгом соблюдении совокупности протоколов и стандартов де-факто и де-юре. Программные и аппаратные компоненты по этой идеологии должны отвечать двум важнейшим требованиям: переносимости и возможности согласованной, совместной работы с другими удаленными компонентами. Это позволяет обеспечить совместимость компонент различных информационных систем, а также средств передачи данных. Задача сводится к максимально возможному повторному использованию разработанных и апробированных программных и информационных компонент при изменении вычислительных аппаратных платформ, операционных систем и процессов взаимодействия.
Продуманная и упорядоченная структура ПС и БД непосредственно отражается на достигаемом качестве и безопасности ИС, а также на трудоемкости их разработки [11] , [15] , [16] . При строгом соблюдении правил структурного построения значительно облегчается достижение высоких показателей качества и безопасности, так как, с одной стороны, сокращается число возможных ошибок, а с другой — упрощается их диагностика и локализация.
Такие ИС могут иметь длительный жизненный цикл с множеством базовых и пользовательских версий программ и баз данных. Далее в понятие "базовые версии ИС" включаются завершенные комплексы программ и базы данных, которые успешно прошли испытания у заказчика или сертификацию, снабжены комплектной документацией и могут поставляться как готовые к применению изделия. Пользовательские версии формируются из базовых по инструкциям, изложенным в документации, путем адаптации к конкретным характеристикам среды применения. При проектировании каждый комплекс программ или база данных некоторого функционального назначения может иметь несколько рабочих версий, различающихся уровнем технологической безопасности, составом и характеристиками компонент [36] .
Гибкость модификации ИС и технологическая безопасность при развитии обеспечиваются рядом принципов и правил структурного построения ИС и ее компонент, а также взаимодействия между ними. Эти правила направлены на стандартизацию и унификацию структуры и взаимодействия компонент разного ранга и назначения в пределах проблемной области. Некоторая часть принципов и правил имеет достаточно общий характер и может применяться практически всегда. Другая часть отражает проблемную и машинную ориентированность класса ИС и подлежит отработке для эффективного применения в соответствующей области. Основные принципы и правила можно объединить в группы, которые отражают:
Таким образом, для обеспечения эффективной разработки необходимо формулировать и соблюдать ряд принципов и правил структурного построения ИС. Эти принципы и правила могут иметь особенности для ИС в различных проблемно-ориентированных областях, однако их формализация и выполнение обеспечивает значительный эффект в снижении трудоемкости и длительности разработки ПС, БД и их версий, повышение технико-экономических показателей процесса разработки и технологической безопасности ИС.
В зависимости от характеристик объекта разработки на ее выполнение выделяются ресурсы различных видов. Их величины значительно влияют на технико-экономические показатели, качество и технологическую безопасность всего проекта ИС. В результате сложность программ и баз данных, а также доступные ресурсы становятся косвенными критериями или факторами, влияющими на выбор методов разработки, на достигаемое качество и безопасность ИС. При этом следует учитывать, что каждый вид ресурсов в реальных условиях в той или иной степени ограничен.
Целесообразно разделять ресурсы, необходимые для непосредственного решения основных функциональных задач ИС, и ресурсы, требующиеся для обеспечения безопасности функционирования ПС и БД. Соотношение между этими видами ресурсов в реальных ИС зависит от сложности и состава решаемых функциональных задач, степени их критичности и требований к безопасности всей информационной системы. В различных ИС ресурсы на обеспечение надежности и безопасности могут составлять от 5-20% до 100-300% от ресурсов, используемых на решение функциональных задач, то есть в особых случаях (критические военные системы) могут превышать последние в 2-4 раза. В большинстве гражданских систем средства обеспечения безопасности обычно требуют 5-20% всех видов ресурсов. Ниже внимание акцентируется на ресурсах для обеспечения технологической безопасности без учета ресурсов на функциональные задачи ИС.
Наиболее общим видом ресурсов, используемых при создании ИС, являются допустимые финансово-экономические затраты или сметная стоимость разработки. При анализе безопасности этот показатель может применяться или как вид ресурсных ограничений, или как оптимизируемый критерий.
Кадры специалистов можно оценивать численностью, а также тематической и технологической квалификацией. В разработке сложных ИС участвуют системные аналитики и руководители различных рангов, программисты и вспомогательный обслуживающий персонал в некотором рациональном сочетании. Определяющим является совокупная численность и структура коллектива, а также его подготовленность к коллективной разработке конкретного типа ИС и ее средств обеспечения безопасности функционирования. При разработке критических ИС большого объема особое значение приобретает организация коллектива специалистов и его взаимосвязь со структурой программ и баз данных и их средств защиты. Рациональное распределение специалистов на решение достаточно локализуемых функциональных задач и выделение группы, осуществляющей комплексирование и отладку функциональных программ, а также средств обеспечения безопасности, может значительно повысить эффективность технологического процесса [11] , [16] .
Тематическую квалификацию специалистов в области технологической безопасности ИС приближенно можно характеризовать средней длительностью работы в данной проблемной области основной части коллектива. Важнейшую роль играет квалификация руководителей разработки и системных аналитиков, и в меньшей степени — непосредственных разработчиков программ и данных в конкретной прикладной области. Особенно важна не индивидуальная характеристика каждого специалиста, а прежде всего интегральный показатель бригады, реализующей некоторую, достаточно крупную функциональную задачу. При низкой тематической квалификации допускаются наиболее грубые системные ошибки, требующие больших затрат при доработке программ или делающие проект практически бессмысленным.
Технологическая квалификация коллектива характеризуется опытом и длительностью работы с регламентированными технологиями, комплексами автоматизации разработки и языками проектирования ПС и БД. Особое значение имеет коллективный опыт организации и выполнения сложных безопасных проектов на базе современных автоматизированных технологий и средств защиты.
Аппаратурная оснащенность разработки конкретной ИС определяется прежде всего ресурсами и другими характеристиками реализующей и технологической ЭВМ.
Тип реализующей ЭВМ, ее ресурсы, определяют возможность размещения на ней создаваемых ПС и БД и средств обеспечения безопасности.
Тип технологической ЭВМ ограничивает номенклатуру и характеристики средств автоматизации разработки, доступных при создании ИС. Кроме того, должна быть обеспечена возможность размещения на технологической ЭВМ баз данных проектируемой ИС. В результате необходимые ресурсы технологической ЭВМ, как правило, значительно превышают ресурсы реализующей ЭВМ и объем создаваемых ПС и БД.
Для размещения средств обеспечения технологической безопасности ИС в реализующей ЭВМ, необходимы программная и информационная избыточности в виде ресурсов внешней и внутренней памяти ЭВМ. Кроме того, для функционирования средств защиты необходима временная избыточность — дополнительная производительность ЭВМ. Эти виды избыточности вычислительных ресурсов при обеспечении технологической безопасности используются для:
Основные методы повышения технологической безопасности за счет введения избыточности изложены в последующих разделах. В данном пункте остановимся на некоторых особенностях решения этих задач.
Средства генерации тестов и имитации внешней среды предназначены для подготовки исходных данных при проверке различных режимов функционирования ИС. Минимальный состав средств имитации может передаваться пользователям для контроля рабочих версий ИС в реальном времени и входить в комплект поставки каждой пользовательской версии. Для более глубоких испытаний версий и локализации ошибок целесообразно создавать комплекс средств имитации внешней среды высшего уровня, которые используются специалистами по испытаниям и сертификации. Часть этих средств имитации может использоваться как средства нижнего уровня (пользовательские) для обеспечения полного повторения ситуаций, при которых обнаружены аномалии функционирования.
Средства генерации, упорядочения и каталогизации тестовых наборов должны обеспечивать возможность многократного использования тестов в течение жизненного цикла ИС. Для эффективного использования тестов необходима система управления базой данных для их накопления и хранения с тщательно продуманной идентификацией и каталогизацией. Система каталогизации должна обеспечивать достаточно простой и надежный поиск тестов среди имеющихся, а также достоверное выявление тестов, которые понадобились, но отсутствуют среди сохраняемых. Быстрый рост числа и суммарной сложности тестовых наборов в ряде случаев приводит к необходимости их селекции по степени важности и удобства повторной генерации.
Средства встроенного контроля процесса исполнения программ должны непрерывно контролировать промежуточные и результирующие данные или включаться только по запросу при обнаружении сомнительных результатов. Эти средства должны позволять получать информацию о состоянии переменных в процессе решения конкретных задач, о маршрутах исполнения программ, в которых нарушаются некоторые заданные условия. Для эксплуатации создаются методики и инструкции, которые позволяют пользователям достаточно квалифицировано осуществлять диагностику состояния ИС и результатов их функционирования. Унификация средств у пользователей и коллективов сопровождения облегчает селекцию и локализацию ошибок, а также идентификацию исходных данных, при которых они обнаружены.
![]() |
||
Методы обеспечения технологической безопасности информационных систем |
Copyright ╘ 1993-2000, Jet Infosystems |