Безопасность

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

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

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

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

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

Привилегии

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

Угрозы

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

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

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

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

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

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

Отказ

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

Данные нарушения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Честность

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

Доступность

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

Безотказность

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...
Битва за Веснот 1.13.6 Выпущена разработка
Битва за Веснот 1.13.6, выпущенная в прошлом месяце, является шестой разработкой в ​​1.13.x и содержит ряд улучшений, в первую очередь пользовательско...
Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...