ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ
Целью лабораторной работы является использование уязвимости неблагоприятного информационного потока по памяти путем нахождения минимум 35 из 50 флагов, доступных и появляющихся периодически в файлах на веб-хранилище при помощи алгоритма реализованного на любом доступном языке программирования.
Формулировка определений и их свойств
Информационные потоки (далее – ИП) – потоки по памяти или по времени, возникающие как при непосредственном копировании данных, так и при кооперации процессов нарушителя при передаче данных с применением инициируемых ими событий или последовательностей событий в КС.
Рассматриваемый в данной лабораторной информационный поток – поток по памяти – это ИП, основанный на наличии памяти (соответствующей сущности), в которую реализующие его субъекты записывают или откуда считывают данные, при этом фактор времени не является существенным.
Рисунок 1. Иллюстрация схемы ИП по памяти На данной иллюстрации (рисунок 1) 1 – нарушитель; 2 – пользователь
с ценной информацией, 1 – объект доступный нарушителю на запись; 2 – общедоступный объект; 3 – ценный объект.
4
Описание программы
Вкачестве языка программирования был выбран язык «Python» ввиду своей простоты и широкого выбора пользовательских библиотек.
Вданной программе (приложение А) каждый рассматриваемый файл – объект класса fileInfo.
Данный класс состоит из следующих полей и методов:
•fileLink – поле, которое содержит ссылку на файл
•fileName – поле, которое содержит полное имя файла
•timeStamp – поле, которое содержит временную метку о том, когда была получена информация о файле программой
•flag – поле, которое содержит флаг(и) файла, если таковые
имеются
•contains – поле, которое имеет в себе полное содержимое файла
•__init__() – конструктор класса
•save() – метод, отвечающих за сохранение содержимого файла, если в нем найден уникальный флаг
•writeToLog() – метод, отвечающий за запись в журнал метаданных файла, в котором был обнаружен флаг
•send() – метод, отвечающий за отправку флага(-ов) через форму обратной связи веб-сервера
•printInfo() – метод, отвечающий за вывод в поток вывода полной информации, имеющейся в объекте класса, за исключением содержимого. Является «Debug»-методом.
5
Методы программы:
•getToken() – метод, отвечающий за получение токена доступа к веб-хранилищу
•getFlag() – метод, отвечающий за нахождение флага внутри содержимого файла
•getContains() – метод, возвращающий полное содержимое
файла
•getInfo() – метод, отвечающий за инстанцирование класса
fileInfo
•analyzeInfo() – метод, отвечающий за анализ информации в объекте класса fileInfo. Отвечает за заполнение журнала логов, отправки флага(-ов)
6
