Стандарты безопасности программного обеспечения

В каких отраслевых известных стандартах безопасности программного обеспечения кто-то имел опыт в том, чтобы придерживаться при разработке программного обеспечения, которое занимается управлением устройством/системой, способной нанести вред людям, использующим его?

Ответ 2

Ссылка Aonix, приведенная выше, является хорошей для основных рассуждений. Если вам нужны примеры того, как работают определенные стандарты, вы можете использовать Google для:

  • IEC61508: "Функциональная безопасность электрических/электронных/программируемых электронных систем, связанных с безопасностью (E/E/PES)". Базовый стандарт, на который ссылаются в различных отраслевых стандартах. Эта страница IEC является хорошей отправной точкой. Часть 61508-3 касается программного обеспечения.
  • DO-178B: стандарт Avionics с аналогичным объемом, как IEC61508, который немного отличается от программного обеспечения.
  • IEC60601-1-4: Предложения с "Программируемыми электрическими медицинскими системами" (часть стандартов серии 60601).
  • EN5012x: Специфичные для железных дорог стандарты - 50128 - это программное обеспечение.

Ответ 3

MISRA является стандартом, применяемым в автомобильной промышленности, но является стандартом кодирования для обеспечения правильности работы и переносимости.

Чтобы понять сложность этой проблемы, вам нужно прочитать Therac accident.

Кроме того, НАСА и военные документы широко доступны и обсуждают стандарты кодирования, которые позволяют определять безопасность системы.

-Adam

Ответ 4

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

Раньше я работал на самолетах. На автопилотах самолетов часто два или даже три отдельных компьютера выполняют вычисления и сравнивают результаты.

Цель состоит в том, чтобы не допустить, чтобы какой-либо один отказ приводил к нестабильной работе системы.

Вам необходимо ознакомиться с правилами и положениями, которые регулируют область, в которой вы работаете, чтобы узнать, что такое юридические требования, но вы должны сделать всю систему безопасной.

Ответ 5

Подходы варьируются в зависимости от поля. (извините, я ставлю только 1 ссылку...)

Avionics: DO-178B: (см. wikipedia)

Информационная безопасность Общие критерии (см. сайт портала Common Criteria)

FDA управляет программным обеспечением для медицинских устройств (подумайте о рентгеновских аппаратах) http://www.fda.gov/medicaldevices/deviceregulationandguidance/guidancedocuments/default.htm

Критически важный список рассылки (Великобритания) в У-Йорке в Великобритании - отличный ресурс В последнее время обсуждается вопрос о том, как применять стандарты SIL (см. wikipedia о стандартах SIL) к программным системам.

Ответ 6

Не стандарт saftey, но чтение comp.risks на некоторое время покажет проблемы, которые вам нужно будет усердно работать, чтобы предотвратить.

(Книга "Компьютерные риски" тоже очень хороша.)

Ответ 7

Программное обеспечение должно никогда запускать систему, которая может нанести вред кому-либо. Единственное возможное (и все еще сомнительное) время, которое может быть ложным, заключается в использовании безопасного безопасного ПЛК, который специально разработан для обеспечения безопасности.

Вы должны изучить: