11.11.2020

Безопасность приложений


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

Термины

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

Методы

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

  • Whitebox («белый ящик»), или проверка кода. Инженер по безопасности, глубоко разбирающийся в приложении, просматривает исходный код вручную и ищет недостатки безопасности. Благодаря пониманию принципа работы приложения могут быть найдены уникальные уязвимости для данного программного обеспечения.
  • Проверка безопасности Blackbox («черный ящик»). Проверка на наличие уязвимостей только посредством использования приложения, исходный код не требуется.
  • Пересмотр дизайна. Перед написанием кода, с помощью моделирования угроз.
  • Автоматизированная проверка. Существует множество автоматизированных инструментов, которые проверяют недостатки безопасности, часто с более высоким уровнем ложноположительных результатов, чем при участии человека.
  • Bug Bounty. Это программа, предлагаемая многими веб-сайтами и разработчиками программного обеспечения, с помощью которой люди могут получить признание и вознаграждение за нахождение уязвимостей.

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

Угрозы приложениям (атаки)

В соответствии с шаблонами и опытом, описываемыми в книге «Improving Web Application Security», ниже приведены классы распространенных угроз / атак безопасности приложений:


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

Защита мобильных приложений

Ожидается, что в будущем доля мобильных устройств, предоставляющих функциональные возможности открытой платформы, будет продолжать расти. Открытость этих платформ дает значительные возможности для всех частей мобильной экосистемы, благодаря возможности гибкого предоставления программ и услуг - опций, которые могут быть установлены, удалены или обновленные множество раз согласно потребностям и требованиям пользователя. Однако с открытостью появляется и неограниченный доступ к мобильным ресурсам и API-интерфейсам приложениями неизвестного или ненадежного происхождения, что может привести к причинению вреда пользователю, устройству, сети или всего вместе взятого, если не используются соответствующие архитектуры безопасности и сетевые меры предосторожности. Безопасность приложения обеспечивается в той или иной форме на большинстве мобильных устройств с открытой ОС (Symbian OS, Microsoft, BREW, и т.д.). В 2017 году Google расширил свою программу вознаграждений за найденные уязвимости, чтобы охватить уязвимости, обнаруженные в приложениях, разработанных третьими лицами и доступных через Google Play Store. Промышленные группы также разработали рекомендации, включая Ассоциацию GSM и Open Mobile Terminal Platform (OMTP).

Существует несколько стратегий повышения безопасности мобильных приложений:

  • Составление «белого списка» приложений
  • Обеспечение безопасности транспортного уровня
  • Строгая аутентификация и авторизация
  • Шифрование данных при записи в память
  • Песочница приложений
  • Предоставление доступа приложениям на уровне API
  • Привязка процессов к идентификатору пользователя
  • Предопределение взаимодействия между мобильным приложением и ОС
  • Требование подтверждения пользователя для предоставления привилегированного / повышенного доступа приложению
  • Правильная обработка сеанса

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

Методы тестирования безопасности выявляют уязвимости или дыры в безопасности приложений. Эти уязвимости оставляют приложения открытыми для эксплойта. В идеале тестирование безопасности должно осуществляться на протяжении всего жизненного цикла разработки программного обеспечения, чтобы уязвимости можно было своевременно и тщательно устранять. К сожалению, тестирование часто проводится в конце цикла разработки. С ростом популярности DevOps и Continuous delivery (непрерывная доставка) как моделей разработки и развертывания программного обеспечения, модели непрерывного обеспечения безопасности становятся все более популярными.

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

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

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

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

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

Обеспечение безопасности приложений

Развитие вредоносных программ, направленных на кибер-атаку клиентов компаний, ведущих свою коммерческую деятельность в сети Интернет, послужило стимулом к изменению требований к веб-приложениям, начиная с 2007 года. Предполагается, что значительное количество пользователей Интернета скомпрометированы вредоносным ПО и поэтому любые данные, отправленные с заражённых машин, могут быть вредоносными. В связи с этим, внедряется больше продвинутых систем защиты информации и блокировки атак именно на бекенде, чем на клиентской стороне, либо веб-сервере. По состоянию на 2016 год, широкое применение находили технологии самозащиты ПО. RASP внедряется совместно со средой выполнения, либо вживляется в неё, что позволяет обнаруживать и предотвращать хакерские атаки.

Скоординированное обнаружение уязвимостей

Координационный центр CERT описывает скоординированное раскрытие уязвимостей - CVD (англ. Coordinated Vulnerability Disclosure) как «процесс уменьшения преимущества противника при уменьшении уязвимости информационной безопасности».. CVD - это итеративный многоэтапный процесс, в котором участвуют несколько заинтересованных сторон (пользователи, поставщики программного обеспечения, специалисты по безопасности), которые должны работать вместе для устранения уязвимостей. Поскольку в процессах CVD участвуют несколько заинтересованных сторон, управление коммуникацией и устранение уязвимостей имеют решающее значение для успеха.

С эксплуатационной точки зрения многие инструменты и процессы могут помочь в CVD. К ним относятся системы отслеживания ошибок и программы Bug Bounty.

Стандарты и требования безопасности

  • Стандарт написания кода CERT
  • CWE
  • Техническое руководство по безопасности (STIG)
  • ISO/IEC 27034-1:2011 Information technology — Security techniques — Application security -- Part 1: Overview and concepts
  • ISO/IEC TR 24772:2013 Information technology — Programming languages — Guidance to avoiding vulnerabilities in programming languages through language selection and use
  • NIST Special Publication 800-53
  • OWASP
  • Стандарт безопасности данных индустрии платежных карт PCI DSS

Похожие новости:

Media-independent handover

Media-independent handover
Медиа-независимая передача (MIH) представляет собой стандарт, разработанный IEEE 802.21 для передачи IP — сессии от одной технологии доступа уровня 2 к другому, чтобы достичь мобильности устройств

PaX

PaX
В компьютерной безопасности PaX (произн. «Пакс») — это патч к ядру Linux, который предоставляет возможность настроить минимальные права доступа приложений к страницам памяти. Таким образом

Internet Information Services

Internet Information Services
IIS (Internet Information Services, до версии 5.1 — Internet Information Server) — проприетарный набор серверов для нескольких служб Интернета от компании Microsoft. IIS распространяется с Windows

Безопасность грид-систем

Безопасность грид-систем
Безопасность в грид-системах — это состояние защищённости информационной среды систем, использующихся для грид-вычислений, а также комплекс мероприятий, направленных на обеспечение этого состояния.
Комментариев пока еще нет. Вы можете стать первым!

Добавить комментарий!

Ваше Имя:
Ваш E-Mail:
Введите два слова, показанных на изображении: *
Популярные новости
Виды окон ПВХ и их преимущества
Виды окон ПВХ и их преимущества
В конце девяностых годов прошлого века в нашей стране появились пластиковые окна. Они сразу же...
Особенности проведения отделки балкона
Особенности проведения отделки балкона
Балкон — это особое пространство квартиры, которое отличается небольшими квадратными метрами и...
Что такое предпроектная документация и для чего она нужна
Что такое предпроектная документация и для чего она нужна
Прединвестиционная стадия характеризуется возможностью создания конечного результата. Это не...
Особенности мобильных офисных перегородок. Основы правильной организации рабочего пространства
Особенности мобильных офисных перегородок. Основы правильной организации рабочего пространства
Мобильные офисные перегородки — это современные решения, помогающие быстро и эффективно зонировать...
Обзор советов по уходу за обивкой мягкой мебели дома: краткое руководство
Обзор советов по уходу за обивкой мягкой мебели дома: краткое руководство
Неминуемо на новеньком диване или любимых креслах появится ненавистное пятно. Многие народные...
Как обустроиться в однокомнатной квартире?
Как обустроиться в однокомнатной квартире?
Далеко не каждый проживает в большом доме или многокомнатной квартире. Как же обустроить интерьер...
Что нужно знать о поверке счетчиков
Что нужно знать о поверке счетчиков
Поверка счетчиков воды, газа и света является обязательной процедурой, которую, в соответствии с...
Все новости