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

Цели безопасности

Целями безопасности информации являются конфиденциальность, целостность и доступность. Эти три функции известны как триада CIA: C — конфиденциальность, I — целостность и A — доступность.

 

Конфиденциальность

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

 

Честность

Информация или данные имеют жизненный цикл. Другими словами, информация или данные имеют время начала и время окончания. В некоторых случаях после завершения жизненного цикла информацию (или данные) необходимо стереть (юридически). Целостность состоит из двух функций, а именно: 1) поддержание и обеспечение точности информации (или данных) на протяжении всего жизненного цикла и 2) полнота информации (или данных) на протяжении всего жизненного цикла. Таким образом, информация (или данные) не должна быть уменьшена или изменена несанкционированным или необнаруженным образом.

 

Доступность

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

 

Безотказание

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

В конце контракта сторона, предлагающая услугу, должна была предложить услугу; платящая сторона должна была произвести оплату.

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

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

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

 

Ответы на угрозы

На угрозы можно ответить одним или несколькими из следующих трех способов:

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

 

Контроль доступа

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

 

Текущее решение информационной безопасности

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

Если вы ожидаете ввода даты в приложение, но пользователь вводит число, такой ввод должен быть отклонен. Это проверка ввода.

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

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

Transport Layer Security (TLS) — это протокол безопасности, разработанный для обеспечения конфиденциальности и защиты данных при передаче через Интернет. Это включает в себя шифрование связи между хостом-отправителем и хостом-получателем.

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

 

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

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

Буфер похож на массив, но без наложенной длины. Когда программист выполняет запись в буфер, возможно неосознанное перезапись сверх его длины. Эта уязвимость — переполнение буфера.

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

Возможно, вы слышали о читах на компьютерном языке, таких как читы PHP, читы Perl и читы C ++. Это уязвимости.

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

Угроза, атака типа «отказ в обслуживании», не может быть остановлена ​​контролем доступа, потому что для того, чтобы злоумышленник мог это сделать, он уже должен иметь доступ к хосту (серверу). Его можно остановить, включив некоторое внутреннее программное обеспечение, которое отслеживает, что пользователи делают на хосте.

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

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

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

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

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

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

 

Заключение

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

 

Начало: Что такое безопасность программного обеспечения? Часть 1



2021-01-19T20:25:51
Безопасность