Безопасность программной системы
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Апрель 2018 г. ) |
В разработке программного обеспечения безопасность программных систем оптимизирует системную безопасность при проектировании, разработке, использовании и обслуживании программных систем и их интеграции с критически важными с точки зрения безопасности аппаратными системами в операционной среде.
Обзор [ править ]
Безопасность программной системы является подмножеством системной безопасности и системной разработки и является синонимом аспектов разработки программного обеспечения функциональной безопасности. В рамках программы общей безопасности и разработки программного обеспечения нельзя допускать, чтобы программное обеспечение функционировало независимо от всех усилий. Как простые, так и высокоинтегрированные множественные системы переживают необычайный рост использования компьютеров и программного обеспечения для мониторинга и/или управления критически важными с точки зрения безопасности подсистемами или функциями. Ошибка спецификации программного обеспечения , недостаток конструкции или отсутствие общих требований, критически важных для безопасности, могут способствовать или вызвать сбой системы или ошибочное решение человека. Чтобы достичь приемлемого уровня безопасности программного обеспечения, используемого в критически важных приложениях, проектированию безопасности программных систем необходимо уделять первоочередное внимание на ранних этапах определения требований и процесса концептуального проектирования системы. Критически важное для безопасности программное обеспечение должно получать постоянное внимание со стороны руководства и инженерный анализ на протяжении всего жизненного цикла разработки и эксплуатации. системы. Программное обеспечение с критически важными для безопасности функциями должно быть тщательно проверено объективный анализ.
Функциональный анализ опасностей (FHA) часто проводится на ранних стадиях - параллельно с функциональным анализом системного проектирования или в его рамках - для определения критически важных для безопасности функций (SCF) систем для дальнейшего анализа и проверки. Безопасность программной системы напрямую связана с более важными аспектами проектирования и атрибутами безопасности программного обеспечения и функциональности системы, тогда как атрибуты качества программного обеспечения по своей сути различны и требуют стандартного изучения и строгости разработки. Уровни гарантии разработки (DAL) и связанный с ними уровень строгости (LOR) — это дифференцированный подход к обеспечению качества программного обеспечения и проектирования программного обеспечения в качестве предварительного условия для обеспечения уверенности в том, что соответствующий процесс разработки программного обеспечения соблюдается. Концепции и стандарты LOR, такие как DO-178C, НЕ заменяют безопасность программного обеспечения. Безопасность программного обеспечения согласно IEEE STD-1228 и MIL-STD-882E направлена на обеспечение соблюдения и проверки явных требований безопасности с использованием функциональных подходов с точки зрения анализа требований безопасности и тестирования. Анализ угроз безопасности программного обеспечения, необходимый для более сложных систем, в которых программное обеспечение контролирует критические функции, обычно относится к следующим последовательным категориям и проводится поэтапно как часть процесса проектирования безопасности или безопасности системы: анализ требований безопасности программного обеспечения; анализ проектирования безопасности программного обеспечения (верхний уровень, детальное проектирование и уровень кода); анализ испытаний безопасности программного обеспечения и анализ изменений безопасности программного обеспечения. Как только этот «функциональный» анализ безопасности программного обеспечения будет завершен, команда разработчиков программного обеспечения будет знать, где сделать упор на безопасность и на каких функциональных потоках, функциональных путях, областях и границах следует сосредоточиться при проектировании атрибутов безопасности программного обеспечения, чтобы обеспечить правильную функциональность и обнаружить неисправности. сбои, неисправности и реализовать множество стратегий смягчения последствий для контроля опасностей. Безопасность программного обеспечения и различные технологии защиты программного обеспечения аналогичны атрибутам безопасности программного обеспечения, предназначенным для снижения различных типов угроз, уязвимостей и рисков. Детерминированное программное обеспечение ищется при проектировании путем проверки правильного и предсказуемого поведения на уровне системы.
Цели [ править ]
- Функциональная безопасность достигается за счет инженерных разработок, обеспечивающих правильное выполнение и поведение функций программного обеспечения по назначению.
- Безопасность, соответствующая требованиям миссии, своевременно и экономически эффективно заложена в программное обеспечение.
- В сложных системах, включающих множество взаимодействий, критически важные для безопасности функции должны быть идентифицированы и тщательно проанализированы, прежде чем выявлять опасности и разрабатывать меры по их снижению.
- Перечни критически важных для безопасности функций и предварительные списки опасностей должны определяться заранее и влиять на требования, которые будут реализованы в программном обеспечении.
- Факторы, способствующие возникновению сбоев и вытекающих из них опасностей, связанных с системой и ее программным обеспечением, выявляются, оцениваются и устраняются, а риск снижается до приемлемого уровня на протяжении всего жизненного цикла.
- Зависимость от административных процедур по контролю опасности сведена к минимуму.
- Количество и сложность критически важных для безопасности интерфейсов сведены к минимуму.
- Количество и сложность критически важных для безопасности компонентов компьютерного программного обеспечения сведены к минимуму.
- При разработке пользовательского интерфейса программного обеспечения применяются разумные принципы человеко-инжиниринга, чтобы свести к минимуму вероятность человеческой ошибки.
- Виды отказов, включая оборудование, программное обеспечение, человека и систему, учитываются при разработке программного обеспечения.
- При разработке программного обеспечения используются надежные методы разработки программного обеспечения и документация.
- Проблемы безопасности и атрибуты безопасности рассматриваются в рамках тестирования программного обеспечения на всех уровнях.
- Программное обеспечение разработано с учетом человеко-машинного интерфейса, простоты обслуживания, модификации или улучшения.
- Программное обеспечение с критически важными с точки зрения безопасности функциями должно быть тщательно проверено с помощью объективного анализа и, желательно, испытаний, свидетельствующих о том, что все требования безопасности соблюдены в соответствии с установленными критериями.
См. также [ править ]
- Обеспечение программного обеспечения
- МЭК 61508 — Функциональная безопасность электрических/электронных/программируемых электронных систем, связанных с безопасностью
- ISO 26262 — Транспорт дорожный. Функциональная безопасность.
- Функциональная безопасность
- Качество программного обеспечения
- Системная авария
Ссылки [ править ]
В этой статье использованы общедоступные материалы из Справочник по программному обеспечению . Армия Соединенных Штатов .