Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Уязвимости автоматизированных системСтр 1 из 13Следующая ⇒ Под уязвимостью будем понимать недостаток или слабое место в системном (программно-аппартаном) обеспечении автоматизированной информационной системы, которые могут быть использованы для реализации угрозы безопасности персональных данным. Каждая автоматизированная система проходит за время своего создания различные стадии, соответственно уязвимость может быть внесена на каждой из них. На технологической стадии проектирования можно выделить следующие этапы и виды уязвимостей: · при разработке проектных решений могут быть выбраны технологии обработки, передачи, хранения информации, в которых отсутствуют механизмы защиты. · при проектировании локальной сети не предусмотрено средство межсетевого экранирования · на стадии разработки ПО могут быть программистами допущены ошибки, приводящие к атакам типа buffer overflow (отсутствует контроль объема переменных, SQL-инъекции, отсутствие контроля за спец символами ввода, format string, не предусмотрено средств форматирования данных printf) · во время установки и развертывания системы могут быть использованы настройки и выбраны те параметры работы автоматизированной системы, которые могут быть потенциально уязвимы (не установлена проверка сложности пароля, гостевой вход пользователя) Эксплуатационные уязвимости - возникают во время работы АС, их устранение требует меньших усилий, поскольку их устранение связано с конфигурированием системы. · нестойкие к угадыванию пароли · наличие незаблокированных учеток · некорректные установленные права доступа · неправильная конфигурация средств защиты Рассмотрим примеры: · buffer overflow - в основе лежит возможность переполнения стека атакуемой программы. Результатом чего нарушитель получает возможность выполнять любые команды на стороне узла, где запущена программа. Стек представляет собой спец область памяти, принцип работы "первый пришел - последний ушел"
ss::bb
ss::fff Уязвимость вызвана отсутствием проверки размерности данных, которые записываются в стек.
Int main() { char a[] printf("input a:"); gets(a); return 0; }
Злоумышленник путем подбора выясняет с какой позиции произошло переполнение, и вместо данных вводит ASCII коды соответствующие адресу необходимой программы. Как правило это cmd или shell. Shell будет открыт с правами той программы, из под которой идет атака.
· SQL injection. Атака этого типа позволяет нарушителю выполнять несанкционированные операции над содержимым БД, путем вставки доп. команд в SQL-запрос. Уязвимость характерна для тех приложений, которые в качестве хранимых данных (входных) получают параметры доступа к базе и на их основе формирует запрос к БД без доп. проверок. Отсутствие таких проверок позволяет злоумышленнику вместо корректных данных ввести такие которые приведут к искажению искомого SQL-запроса. Предположим у нас есть форма, на которой запрашивается логин и пароль, на кнопку ОК формируется зарос
SQLQuery = "SELECT Username FROM Users WHERE Username = ' " & strUsername " ' AND Password = ' " & strPassword " ' " strAuthCheck = GetQueryResult(SQLQuery) if strAuthCheck = "" Then boolAuthentification = False Else boolAuthentification = True End If
Дописать: SELECT Username FROM User WHERE Username = " OR "=" AND Password = " OR "="
Поскольку в SQL были добавлены новые параметры, которые сделали условие запроса истинным, то указатель таблицы пользователей вернется на первую запись в этой таблице. Во избежание этого strUsername и strPassword необходимо проверять на наличие спец. символов.
· Уязвимость "fromat string" Возможна в тех приложениях, которые используют printf, с непроверяемым параметром форматирующей строки. Так параметр %х используется для вывода 16ричного значения. Если формат строки определен, но его аргумент отсутствует, то будет выведено участок памяти стека, где должен находится параметр. Параметр %n позволяется записывает в произвольный адрес значение, которое используется до параметра. Т.о. потенциальная уязвимость заключается, когда содержимое форматирующей строки определяется не разработчиком, а на основе непроверяемых входных данных. · Directory traversal. Эта уязвимость позволяет получить доступ к файловым ресурсам сервера в обход установленным правилам разграничения.
http://192.168.0.1/getnews.asp?item=1.html http://192.168.0.1/getnews.asp?item=../../../../WINNT/win.ini Как видно приложение getnews.asp получает в качестве параметра Item имя файла, который должен быть открыт. Отсутствие проверки на наличие корректности и спец. символов может привести к тому, что в качестве значения будет введено имя другого системного файла.
· Уязвимость программных реализаций стека TCP/IP.
1 - рабочая станция рассылает широковещательный ARP-запрос 2 - злоумышленник отправляет ложный APR-ответ от имени сервера 3 - злоумышленник перехватывает трафик, передаваемый между рабочей станцией и серверм Самостоятельно подготовится в индюконе: "Cross site Scripting", "Сканирование сети", "Подмена доверенного объекта в сети", "Навязывание ложного маршрута DNS (Внедрение ложного объекта), "Отказ в обслуживании"
|