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

Безопасность программного обеспечения — это создание безопасного программного обеспечения с присущей ему защитой, чтобы оно продолжало функционировать при злонамеренных атаках, к удовлетворению пользователей и владельцев программного обеспечения. В этой статье объясняются угрозы и решения с общей точки зрения. Также объясняется стандартный словарь по информационной безопасности. Чтобы понять эту статью, вы должны быть хорошо знакомы с компьютером и Интернетом; вы также должны изучить компьютерный язык, например Perl, C, C ++, PHP и т. д.

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

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

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

Привилегии

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

Угрозы

Основы программных угроз

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

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

Классы программных угроз

Атака спуфингом

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

Отказ

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

Нарушение данных

Нарушение данных — это когда защищенная или личная информация преднамеренно или непреднамеренно передается в среду. которому не доверяют.

Атака отказа в обслуживании

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

Повышение привилегий

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

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

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

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

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

Идентификация и аутентификация

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

Глядя на вас и ассоциируя с вами свой возраст, пол и профессию, является идентификацией. Проверка подлинности вашего настоящего лица и фотографии и оценка соответствия вашей презентации вашему возрасту — это проверка подлинности. Идентификация — это ассоциирование человека или чего-либо с определенными атрибутами. Указание личности — это тоже идентификация. Аутентификация — это акт доказательства того, что личность (идентификация) верна. Другими словами, аутентификация — это акт доказательства утверждения.

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

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

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

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

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

Целостность

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

Доступность

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

Non-Repudiation

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

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

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

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

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

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

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

— Снижение/смягчение: это реализация мер безопасности и контрмер для устранения уязвимостей или блокирования угроз.

— Назначение/передача: это перекладывает бремя угрозы на другую организацию, такую ​​как страховая компания или аутсорсинговая компания.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Оцените статью
nanomode.ru
Добавить комментарий