Четверг, 25.04.2024
Reklamchik.at.ua
Меню сайта
Категории раздела
Об Интернет Войсках [1]
Об Интернет войсках,деятельность и все что связанно с нами.
Информационная безопасность [54]
Информационная безопасность
О нас [0]
Всё об интернет портале Reklamchik.at.ua
Мини-чат
500
Наш опрос
Оцените мой сайт
Всего ответов: 2
Статистика

Онлайн усяго: 1
Гостей: 1
Пользователей: 0
Главная » 2017 » Февраль » 24 » Безопасное кодирование
00:24
Безопасное кодирование
Обеспечение кодирования является практика разработки компьютерных программ таким образом, что защищает от случайного внедрение уязвимостей. Дефекты, ошибки и логические недочеты последовательно основной причиной часто эксплуатируемых уязвимостей программного обеспечения. На основе анализа тысяч уязвимостей, специалисты по безопасности обнаружили, что большинство уязвимостей связано с относительно небольшим числом общих ошибок программирования.Путем выявления небезопасной практики кодирования, которые приводят к этим ошибкам и обучение разработчиков по безопасной альтернативы, организации могут принимать активные меры, чтобы значительно уменьшить или устранить уязвимости в программном обеспечении перед развертыванием.

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


Пример программы C склонны к переполнению буфера


интvulnerable_function(типа char*large_user_input){char сДСТ[небольшой];и strcpy(ДСТ,large_user_input);}

Если пользователь вводит больше, чем буфер назначения, произойдет переполнение буфера. Чтобы исправить эту небезопасную программу, использовать функції strncpy, чтобы предотвратить возможное переполнение буфера.

интsecure_function(типа char*user_input){char сДСТ[более buf_size];//скопировать максимум более buf_size байтфункції strncpy(ДСТ,user_input,более buf_size);}

Еще одним безопасным вариантом является динамически выделить память в куче с помощью malloc для.голец*secure_copy(типа char*в src){Тип 

intлен=функция strlen(срц);чара*ДСТ=(Тип char*)танос(лен+1);Если(ДСТ!=Значение NULL){функції strncpy(ДСТ,ГНЦ,лен);//

добавляем нуль-Терминатор ДСТ[лен]='\0';}вернутьДСТ;}В приведенном выше фрагменте кода, программа попытается Скопировать содержимое грц в летнее время, а также проверить 

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

А Формат строки атаки , когда злоумышленник поставляет специальные материалы, которые будут вводиться в качестве аргумента функцию, которая выполняет форматирование, такие как функции printf(). Нападение включает в себя искусителя чтении или записи в стек.

Функция C-функции printf пишет в stdout. Если параметр функции printf не правильно отформатирован, несколько ошибок в системе безопасности могут быть введены. Ниже находится программа, которая является уязвимой для атаки строку формата.


интvulnerable_print(типа char*malicious_input){функции printf(malicious_input);}

Злостный аргумент, передаваемый в программу может быть "%ы%ы%ы%ы%ы%ы%ы”, который может привести к сбою программы от неправильного чтения памяти.

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

boolфункция isvalid(беззнаковыйТип intх,беззнаковыйинтг){беззнаковыйинтсумма=х+Г;возвратасуммы<Макс;}

Если сумма X и Y меньше, чем определенный максимум, то программа будет возвращать True, иначе функция isvalid возвращает false. Проблема с этот код, он не проверяет переполнение целых чисел операции сложения. Если сумма X и Y превышает доступное пространство, чтобы хранить целое число, целое число переполнится и "пролонгировать” до значения меньше, чем Макс.
Ниже находится программа, которая проверяет переполнение подтверждая сумма больше или равны X и Y. Если сумма не переполнение, то сумма будет меньше, чем X и меньше Y.

боолметода isvalid(беззнаковыйТип intх,беззнаковыйТип intу){беззнаковыйинтсумма=х+Г;возвратасуммы>=х&&сумма>=у&&сумме<Макс;}
Категория: Информационная безопасность | Просмотров: 334 | Добавил: GERT | Теги: Безопасное кодирование
Всего комментариев: 0
avatar
Вход на сайт

Поиск
Календарь
«  Февраль 2017  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728
Архив записей
Блог
[26.02.2017]
Глава 5 (0)
[26.02.2017]
О Начальствах, Архангелах и Ангелах, и о последней их Иерархии (0)
[27.02.2017]
Глава 23 (0)
[27.02.2017]
Глава 21 (0)
[27.02.2017]
Глава 22 (0)
Новости
[23.02.2017]
Атаки на wi-fi сети (0)
[24.02.2017]
Приложения-на уровне шлюза (0)
[23.02.2017]
Национальная администрация по охране государственных тайн (0)
[24.02.2017]
Атаки IP-фрагментация (0)
[23.02.2017]
Атака по словарю на WPA/WPA2 PSK (0)
Форум
  • Batman: Arkham City Lockdown (0)
  • Рекомендации комментаторам. (0)
  • Нарушения и наказания: ответы на вопросы. (0)
  • Hotline Miami (2012) (0)
  • HITMAN (2015) (0)
  • Reklamchik.at.ua © 2024