Мой сайт
Главная
Вход
Регистрация
Четверг, 21.11.2024, 15:56Приветствую Вас Гость | RSS
Меню сайта

Категории раздела
Охрана окружающей среды [4]
Охрана окружающей среды
Гражданская оборона [11]
Гражданская оборона
Безопасность воздушного движения [10]
Безопасность воздушного движения

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 2

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » 2017 » Июль » 1 » Безопасный дизайн
16:00
Безопасный дизайн
Безопасность по дизайну , в разработке программного обеспечения , означает , что программное обеспечение было разработано с нуля , чтобы быть безопасными . Вредоносные практики воспринимаются как должное и приняты меры , чтобы свести к минимуму воздействие при обнаруженную уязвимость системы безопасности или на неверном пользователя ввода.

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

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

 
Безопасность в соответствии с проектом на практике


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

Два примера незащищенного дизайна позволяет переполнение буфера и форматная строке уязвимость . Следующая программа C демонстрирует эти недостатки:

#include <stdio.h> INT Основной () { обугливается a_chBuffer [ 100 ]; Printf ( "Как вас зовут? \ п " ); получает ( a_chBuffer ); Printf ( "Hello," ); Printf ( a_chBuffer ); Printf ( "! \ п " ); вернуться 0 ; }

Поскольку получает функцию в стандартной библиотеке C не перестанет писать байты в bufferпока он не читает символ новой строки или EOF , набрав более 99 символов в строке является переполнение буфера. Выделяя 100 символов для bufferс предположением , что почти любое имя от пользователя больше не более 99 символов не мешает пользователю фактически набрав более 99 символов. Это может привести к произвольному машинный код исполнения.

Второй недостаток заключается в том , что программа пытается напечатать свой вклад, передавая ее непосредственно в printfфункцию. Эта функция выводит свой первый аргумент, заменив спецификацию преобразования (например, « % S », « % D », и так далее) последовательно с другими аргументами из своего стека вызовов по мере необходимости. Таким образом, если злоумышленник вошел « % D » вместо его имени, программа будет пытаться распечатать несуществующее целое значение, и неопределенное поведение будет иметь место.

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

http://www.example.net/cgi-bin/article.sh?name=dogfood.html

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

http://www.example.net/cgi-bin/article.sh?name=../../../../../etc/passwd

В зависимости от сценария, это может привести к / и т.д. / пароль файл, который на Unix-подобных системах содержит (среди других) идентификаторов пользователей , их логины , домашний каталог путей и оболочек . (См инъекции SQL для подобной атаки.)

 
Сервер / клиент архитектуры

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

Другой ключевой особенностью дизайна безопасности клиент-сервер хорошая практика кодирования . Например, следуя известную структуру проектирования программного обеспечения , такие как клиент и брокер может помочь в разработке стройных структур с прочной основой. Кроме того, если программное обеспечение должно быть изменено в будущем, это еще более важно , что это следует логическое обоснование разделения между клиентом и сервером. Это происходит потому , что если программист приходит и не может четко понять динамику программы они могут в конечном итоге добавлять или изменять что - то , что может добавить брешь в безопасности. Даже лучший дизайн это всегда возможность, но лучше стандартизировать дизайн - тем меньше шансов на это происходит.
Просмотров: 510 | Добавил: medergrup | Теги: Безопасный дизайн | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Вход на сайт


Поиск

Календарь
«  Июль 2017  »
ПнВтСрЧтПтСбВс
     12
3456789
10111213141516
17181920212223
24252627282930
31

Архив записей

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • База знаний uCoz