Файл: Курсовая работа Название дисциплины Сопровождение и продвижение программного обеспечения отраслевой направленности Тема.odt

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.10.2023

Просмотров: 470

Скачиваний: 27

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Главное все-таки в том, чтобы понимать цели того или иного тестирования и постараться их достигнуть.

Этапы проведения нагрузочного тестирования

Рассматривая этапы проведения нагрузочного тестирования имеются обязательные:

Анализ требований и сбор информации о тестируемой системе

Конфигурация тестового стенда для нагрузочного тестирования

Разработка модели нагрузки

Выбор инструмента для нагрузочного тестирования

Создание и отладка тестовых скриптов

Проведение тестирования

Анализ результатов

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


Целостность. Существует два основных критерия при определении понятия целостности:

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

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

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

Виды уязвимостей

В настоящее время наиболее распространенными видами уязвимости в безопасности программного обеспечения являются:

XSS (Cross-Site Scripting) - это вид уязвимости программного обеспечения (Web приложений), при которой, на генерированной сервером странице, выполняются вредоносные скрипты, с целью атаки клиента.

XSRF / CSRF (Request Forgery) - это вид уязвимости, позволяющий использовать недостатки HTTP протокола, при этом злоумышленники работают по следующей схеме: ссылка на вредоносный сайт установливается на странице, пользующейся доверием у пользователя, при переходе по вредоносной ссылке выполняется скрипт, сохраняющий личные данные пользователя (пароли, платежные данные и т.д.), либо отправляющий СПАМ сообщения от лица пользователя
, либо изменяет доступ к учетной записи пользователя, для получения полного контроля над ней.

Code injections (SQL, PHP, ASP и т.д.) - это вид уязвимости, при котором становится возможно осуществить запуск исполняемого кода с целью получения доступа к системным ресурсам, несанкционированного доступа к данным либо выведения системы из строя.

Server-Side Includes (SSI) Injection - это вид уязвимости, использующий вставку серверных команд в HTML код или запуск их напрямую с сервера.

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

Как тестировать ПО на безопасность?

Приведем примеры тестирования ПО на предмет уязвимости в системе безопасности. Для этого Вам необходимо проверить Ваше программное обеспечение на наличия известных видов уязвимостей:

XSS (Cross-Site Scripting)

Сами по себе XSS атаки могут быть очень разнообразными. Злоумышленники могут попытаться украсть ваши куки, перенаправить вас на сайт, где произойдет более серьезная атака, загрузить в память какой-либо вредоносный объект и т.д., всего навсего разместив вредоносный скрипт у вас на сайте. Как пример, можно рассмотреть следующий скрипт, выводящий на экран ваши куки:



либо скрипт делающий редирект на зараженную страницу:



либо создающий вредоносный объект с вирусом и т.п.:



Для просмотра большего количества примеров рекомендуем посетить страничку: XSS (Cross Site Scripting)...

XSRF / CSRF (Request Forgery)

Наиболее частыми CSRF атаками являются атаки использующие HTML тэг или Javascript объект image. Чаще всего атакующий добавляет необходимый код в электронное письмо или выкладывает на веб-сайт, таким образом, что при загрузке страницы осуществляется запрос, выполняющий вредоносный код. Примеры:

IMG SRC



SCRIPT SRC



Code injections (SQL, PHP, ASP и т.д.)

Вставки исполняемого кода рассмотрим на примере кода SQL.

Форма входа в систему имеет 2 поля - имя и пароль. Обработка происходит в базе данных через выполнение SQL запроса:

SELECT Username

FROM Users

WHERE Name = 'tester'

AND Password = 'testpass';

Вводим корректное имя ’tester’, а в поле пароль вводим строку:

testpass' OR '1'='1

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

SELECT Username

FROM Users



WHERE Name = 'tester'

AND Password = 'testpass' OR '1'='1';

Условие '1'='1' всегда будет истинным и поэтому SQL запрос всегда будет возвращать много значений.

Server-Side Includes (SSI) Injection

В зависимости от типа операционной системы команды могут быть разными, как пример рассмотрим команду, которая выводит на экран список файлов в OS Linux:

< !--#exec cmd="ls" -->

Authorization Bypass

Пользователь А может получить доступ к документам пользователя Б. Допустим, есть реализация, где при просмотре своего профиля, содержащего конфеденциальную информацию, в URL страницы передается userID, а данном случае есть смысл попробовать подставить вместо своего userID номер другого пользователя. И если вы увидите его данные, значит вы нашли дефект.

Вывод

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



3. Оптимизация производительности ОС и ПО.

Оптимизация, «тонкая» настройка, корректировка ОС и ПО.
Мониторинг – система сбора или регистрации, хранения и анализа небольшого количества ключевых (явных или косвенных) признаков или параметров описания данного объекта для вынесения суждения о поведении или состоянии данного объекта в целом.

Мониторинг – процесс наблюдения и регистрации данных о каком-либо объекте на неразрывно примыкающих друг к другу интервалах времени, в течение которых значения данных существенно не изменяются.

Различают Мониторинг параметров и Мониторинг состояния объекта.

Мониторинг параметров – наблюдение за какими-либо параметрами. Результат мониторинга параметров представляет собой совокупность измеренных значений параметров, получаемых на неразрывно примыкающих друг к другу интервалах времени, в течение которых значения параметров существенно не изменяются.Мониторинг состояния – наблюдение за состоянием объекта для определения и предсказания момента перехода в предельное состояние.

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

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

Мониторинг в смысле I реализует программный модуль Msinfo32 (в папке C:\Program Files\Common Files\Microsoft Shared\MSInfo).

После запуска программы открывается окно. В левой области окна «Сведения о системе» приведен список категорий, а в правой – подробные сведения о каждой из них. К этим категориям относятся:

Сведения о системе. Содержит общие сведения о компьютере и операционной системе, такие как имя компьютера и его изготовитель, тип используемой BIOS, а также объем установленной памяти.

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

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

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

Пункты Ресурсы аппаратуры, Компоненты, Программная среда раскрываются и показывают конкретные значения параметров.

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

Примечание. Чтобы сохранить сведения о системе, последовательно выберите пункты Файл и Сохранить, введите имя файла, после чего нажмите кнопку Сохранить. ОС

Windows сохраняет эту информацию в файловом формате NFO. При наличии проблем с открытием файла можно сохранить сведения о системе в формате TXT. Для этого последовательно выберите Файл, Экспорт, введите имя файла и нажмите кнопку Сохранить.

Мониторинг в смысле II реализует программный модуль Taskmgr.exe (в папке C:\Windows\System32) –»Диспетчер задач». Диспетчер задач отображает приложения, процессы и службы, которые в текущий момент запущены на компьютере. С его помощью можно контролировать производительность компьютера или завершать работу приложений, которые не отвечают.

После запуска программы открывается окно «Диспетчер задач Windows», содержащее вкладки: Приложения, Процессы, Быстродействие, Сеть, Пользователи.

Мониторинг состояния реализует программный модуль Dxdiag.exe (в папке C:\Windows\System32) – «Средство диагностики DirectX». Отображает сведения о компонентах и драйверах интерфейса прикладного программирования приложений (API) Microsoft DirectX в системе. Позволяет проверить работу звуковой и графической подсистем.

DirectX (от англ. direct – прямой, непосредственный)– это набор API (интерфейс программирования приложений), разработанных для решения задач, связанных с программированием под Microsoft Windows.

В целом, DirectX подразделяется на:

DirectX Graphics, набор интерфейсов, ранее (до версии 8.0) делившихся на:

DirectDraw : интерфейс вывода растровой графики. (Его разработка давно прекращена)

Direct3D (D3D): интерфейс вывода трехмерных примитивов.

DirectInput: интерфейс, используемый для обработки данных, поступающих с клавиатуры,

мыши, джойстика и пр. игровых контроллеров.

DirectPlay: интерфейс сетевой коммуникации игр.