Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Уязвимости автоматизированных систем





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

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

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

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

· при проектировании локальной сети не предусмотрено средство межсетевого экранирования

· на стадии разработки ПО могут быть программистами допущены ошибки, приводящие к атакам типа buffer overflow (отсутствует контроль объема переменных, SQL-инъекции, отсутствие контроля за спец символами ввода, format string, не предусмотрено средств форматирования данных printf)

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

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

· нестойкие к угадыванию пароли

· наличие незаблокированных учеток

· некорректные установленные права доступа

· неправильная конфигурация средств защиты

Рассмотрим примеры:

· buffer overflow - в основе лежит возможность переполнения стека атакуемой программы. Результатом чего нарушитель получает возможность выполнять любые команды на стороне узла, где запущена программа. Стек представляет собой спец область памяти, принцип работы "первый пришел - последний ушел"

 
Сегмент Кода
Сегмент Данных
Сегмент Стека
Вершина стека
 
Дно Стека
 

 

ss::bb

 

ss::fff
При вызове функции в стек сначала записывается значение параметров этой функции, адрес возврата, т.е. инструкция, которая должна быть выполнена процессором, которая должна быть выполнена после завершения функции.

Уязвимость вызвана отсутствием проверки размерности данных, которые записываются в стек.

 

 

Int main()

{

char a[]

printf("input a:");

gets(a);

return 0;

}


Например, если ввести не 10 символов, а больше, то система выдаст ошибку. Суть ошибки: обращение к некорректному адресу. Адрес, выведенные системой, это ASCII код избыточных символов.

Злоумышленник путем подбора выясняет с какой позиции произошло переполнение, и вместо данных вводит 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.

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

 

1 - рабочая станция рассылает широковещательный ARP-запрос

2 - злоумышленник отправляет ложный APR-ответ от имени сервера

3 - злоумышленник перехватывает трафик, передаваемый между рабочей станцией и серверм

Самостоятельно подготовится в индюконе: "Cross site Scripting", "Сканирование сети", "Подмена доверенного объекта в сети", "Навязывание ложного маршрута DNS (Внедрение ложного объекта), "Отказ в обслуживании"

 

Date: 2016-02-19; view: 1889; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию