Jump to content

Обеспечение безопасности программного обеспечения

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

Что такое обеспечение безопасности программного обеспечения?

[ редактировать ]

Обеспечение безопасности программного обеспечения (SSA) — это процесс обеспечения того, чтобы программное обеспечение было разработано для работы на уровне безопасности, соответствующем потенциальному ущербу, который может возникнуть в результате потери, неточности, изменения, недоступности или неправильного использования данных и ресурсов, которые он использует, контролирует и защищает. [ 1 ]

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

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

Что вызывает проблемы с безопасностью программного обеспечения?

[ редактировать ]

Все уязвимости безопасности в программном обеспечении являются результатом ошибок или дефектов безопасности в программном обеспечении. В большинстве случаев эти дефекты возникают по двум основным причинам: (1) несоответствие или неспособность удовлетворить требования; и (2) ошибка или упущение в требованиях к программному обеспечению.

Несоответствие или невыполнение требований

[ редактировать ]

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

Ошибки или упущения в требованиях к программному обеспечению

[ редактировать ]

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

Деятельность по обеспечению безопасности программного обеспечения

[ редактировать ]

Существует два основных типа деятельности по обеспечению безопасности программного обеспечения.

  1. Некоторые фокусируются на обеспечении того, чтобы информации, обрабатываемой информационной системой, была присвоена надлежащая категория конфиденциальности, а также на том, что соответствующие требования защиты были разработаны и соблюдены в системе.
  2. Другие сосредоточены на обеспечении контроля и защиты программного обеспечения, а также инструментов и данных поддержки программного обеспечения.

Как минимум, программа обеспечения безопасности программного обеспечения должна гарантировать, что:

  1. Для программного обеспечения была проведена оценка безопасности.
  2. К программному обеспечению установлены требования безопасности.
  3. Требования безопасности установлены для процессов разработки и/или эксплуатации и обслуживания (O&M).
  4. Каждая проверка или аудит программного обеспечения включает оценку требований безопасности.
  5. создавали нарушений безопасности или Существует процесс управления конфигурацией и корректирующих действий для обеспечения безопасности существующего программного обеспечения и обеспечения того, чтобы любые предлагаемые изменения непреднамеренно не уязвимостей .
  6. Физическая безопасность программного обеспечения достаточна.

Построение безопасности

[ редактировать ]

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

Инструменты и методы

[ редактировать ]

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

Перечень распространенных недостатков

[ редактировать ]

Один из способов улучшить безопасность программного обеспечения — лучше понять наиболее распространенные недостатки , которые могут повлиять на безопасность программного обеспечения. Учитывая это, в настоящее время существует общественная программа под названием «Проект по подсчету общих слабых мест». [ 2 ] который спонсируется корпорацией Mitre для выявления и описания таких недостатков. Список, который в настоящее время находится в весьма предварительной форме, содержит описания распространенных недостатков, неисправностей и дефектов программного обеспечения.

Анализ архитектуры/проектирования безопасности

[ редактировать ]

Анализ архитектуры /проектирования безопасности подтверждает, что проект программного обеспечения правильно реализует требования безопасности. Вообще говоря, существует четыре основных метода, которые используются для анализа архитектуры/проектирования безопасности. [ 3 ] [ 4 ]

Логический анализ

[ редактировать ]

Логический анализ оценивает уравнения , алгоритмы и логику управления проектом программного обеспечения.

Анализ данных

[ редактировать ]

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

Анализ интерфейса

[ редактировать ]

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

Анализ ограничений

[ редактировать ]

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

Безопасные проверки кода, проверки и пошаговые руководства

[ редактировать ]

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

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

Неофициальные обзоры

[ редактировать ]

Неофициальные проверки безопасного кода могут проводиться по мере необходимости. Для проведения неофициальной рецензии разработчик просто выбирает одного или нескольких рецензентов и предоставляет и/или представляет материал для рецензирования. Материал может быть столь же неформальным, как псевдокод или рукописная документация.

Официальные обзоры

[ редактировать ]

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

Проверки и обходы

[ редактировать ]

Проверка или пошаговое руководство по безопасному коду — это детальное изучение продукта, поэтапное или построчное (исходного кода ). Целью проведения безопасных проверок или обходов кода является обнаружение ошибок. Обычно группа, выполняющая проверку или обход, состоит из коллег из отделов разработки, проектирования безопасности и обеспечения качества .

Тестирование безопасности

[ редактировать ]

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

См. также

[ редактировать ]
  1. ^ Герцель, Карен М.; Виноград, Теодор; МакКинли, Холли Л.; О, Линдон Дж.; Колон, Майкл; МакГиббон, Томас; Федчак, Элейн; Вьенно, Робер (31 июля 2007 г.). «Обеспечение безопасности программного обеспечения: отчет о современном состоянии (SAR)» . Форт Бельвуар, Вирджиния. дои : 10.21236/ada472363 . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  2. ^ «Проект перечисления общих слабых сторон» . Проверено 26 августа 2010 г.
  3. ^ Тестирование безопасности веб-приложений
  4. ^ «Каталог слабых мест архитектуры безопасности». Международная конференция IEEE по архитектуре программного обеспечения (ICSA), 2017 г. doi:10.1109/ICSAW.2017.25.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 477ce17a7f407e85f6fdf240cffface8__1698841680
URL1:https://arc.ask3.ru/arc/aa/47/e8/477ce17a7f407e85f6fdf240cffface8.html
Заголовок, (Title) документа по адресу, URL1:
Software security assurance - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)