double arrow

Сертификация комплексов программ

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

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

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

Методология принятия решений о допустимости выдачи сертификата на ПС определяется оценкой степени его соответствия действующим и/или специально разработанным документам. В исходных нормативных документах должны быть сосредоточены все функциональные и эксплуатационные характеристики ПС, обеспечивающие заказчику и пользователям возможность корректного применения сертифицированного объекта во всем многообразии его функций и показателей качества. Выбор и ранжирование показателей должны проводиться с учетом классов ПС, их функционального назначения, режимов эксплуатации, степени критичности и жесткости требований к результатам функционирования и проявлениям возможных дефектов и ошибок. При этом могут привлекаться документы предшествующих этапов испытаний и документы, подтверждающие соблюдение аттестованных технологий при разработке программ на всех этапах. Испытания ПС в конкретных проблемно–ориентированных системах проводятся по правилам и методикам, принятым для соответствующих классов критических информационных систем, например, авиационных или космических комплексов.

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

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

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

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

Представленные выше объекты уязвимости, дестабилизирующие факторы и угрозы надежности присущи любым программам и данным независимо от фирм–разработчиков. Однако методы предотвращения и снижения влияния угроз надежности для зарубежных ПС значительно отличаются. Разрыв в пространстве и времени при проектирований конкретного ПС между первичными зарубежными создателями программных компонентов и потребителями, интеграторами, непосредственными создателями отечественных ИС затрудняет взаимодействие по предотвращению ошибок за счет применения CASE–технологий. Отечественный покупатель импортных ПС обычно не знает, какая технология была применена при их разработке и какие классы ошибок могли быть оставлены. В составе пользовательской документации, как правило, отсутствуют исходные тексты программ и номенклатура тестов, использованных при их отладке. Поэтому методы предотвращения ошибок в импортных программах и данных почти всегда остаются недоступными и неизвестными отечественным специалистам. Это отражается на хроническом недоверии к качеству и надежности применения зарубежных программных компонентов или на слепой вере в их абсолютную безупречность.

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

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

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

Обязательная сертификация зарубежных ПС для сложных, критических ИС предполагает сопровождение закупаемых, лицензионно чистых изделий сертификатом соответствия, выданным специализированной испытательной фирмой. Такое юридическое утверждение качества и надежности применения импортного изделия может быть недостаточным для особо важных, критических ИС, так как сертификат соответствия не всегда сопровождается протоколами испытаний и использованными при этом тестами, что не позволяет оценить полноту испытаний. В этих случаях следует ориентироваться на дополнительную сертификацию импортных ПС отечественными проблемно–ориентированными, аттестованными сертификационными лабораториями.

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

Оперативные методы повышения надежности функционирования ПС предусматриваются в некоторых зарубежных изделиях и, в частности, в механизмах обеспечения целостности информации баз данных в реляционных СУБД. Однако разнообразие условий функционирования импортных ПС в сложных отечественных ИС не позволяет удовлетвориться только штатными методами оперативного обнаружения аномалий и восстановления вычислительного процесса, программ и данных. Методы и средства для этого могут быть в ряде случаев достаточно автономными и ориентированными на оперативное повышение надежности конкретной ИС в целом, а не только отдельных используемых ПС. Эти специализированные методы и средства могут разрабатываться отечественными специалистами для обеспечения комплексной надежности с использованием всех импортных компонентов. Такой подход позволяет обеспечить комплексирование разнородных ПС различных зарубежных поставщиков и специализированной отечественной системы оперативной защиты в едином комплексе программ. При этом важно использовать концепцию и стандарты открытых систем при взаимодействии между как закупаемыми, так и вновь разрабатываемыми компонентами ПС, а также при их взаимодействии с внешней средой. Применение стандартизированных интерфейсов открытых систем между прикладными программами и CASE–технологией является эффективным современным методом повышения надежности информационных систем при наличии разнородных поставщиков компонентов.

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

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

– при наличии в составе поставляемой документации исходных текстов программ на языке программирования и описаний алгоритмов обработки информации;

– при наличии только эксплуатационной документации, недостаточной для анализа содержания и текстов программ.

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

Во втором случае, который является наиболее массовым, задача значительно усложняется, так как исходные документы о структуре и содержании программ и алгоритмов не поставляются. Для получения текста программы и алгоритма необходимо провести дизассемблирование объектного кода программы и выразить каждую функциональную команду кода ассемблера в виде логической процедуры для представления как оператора блок–схемы алгоритма. Построенная блок–схема подлежит анализу на наличие сомнительных конструкций, тупиков и висячих вершин, которые могут оказаться «закладными элементами». Каждая сомнительная группа процедур подлежит дальнейшему анализу на возможность ее принадлежности «закладному элементу», вирусу или случайной ошибке. Выявленные участки программы, содержащие случайные и предумышленные дефекты, должны корректироваться. После их исключения программа подлежит полному тестированию на соответствие эксплуатационной документации.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: