From adb5b1aeba102933b7193fb5362887b815362805 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 3 Jul 2020 15:11:53 +0400 Subject: =?UTF-8?q?WIP:=20=D0=92=D1=82=D0=BE=D1=80=D0=B0=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=D1=87=D0=B5=D1=82=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=BB=D0=B5=D1=82=D0=BD=D0=B5=D0=B9=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B0=D0=BA=D1=82=D0=B8=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pract/sem3/pract.tex | 241 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 pract/sem3/pract.tex (limited to 'pract/sem3/pract.tex') diff --git a/pract/sem3/pract.tex b/pract/sem3/pract.tex new file mode 100644 index 0000000..b1cafc6 --- /dev/null +++ b/pract/sem3/pract.tex @@ -0,0 +1,241 @@ +\documentclass[spec, och, pract]{Practice} +% параметр - тип обучения - одно из значений: +% spec - специальность +% bachelor - бакалавриат (по умолчанию) +% master - магистратура +% параметр - форма обучения - одно из значений: +% och - очное (по умолчанию) +% zaoch - заочное +% параметр - тип работы - одно из значений: +% referat - реферат +% coursework - курсовая работа (по умолчанию) +% diploma - дипломная работа +% pract - отчет по практике +% параметр - включение шрифта +% times - включение шрифта Times New Roman (если установлен) +% по умолчанию выключен + +\usepackage{subfigure} +\usepackage{tikz,pgfplots} +\pgfplotsset{compat=1.5} +\usepackage{float} + +%\usepackage{titlesec} +\setcounter{secnumdepth}{4} +%\titleformat{\paragraph} +%{\normalfont\normalsize}{\theparagraph}{1em}{} +%\titlespacing*{\paragraph} +%{35.5pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex} + +\titleformat{\paragraph}[block] +{\hspace{1.25cm}\normalfont} +{\theparagraph}{1ex}{} +\titlespacing{\paragraph} +{0cm}{2ex plus 1ex minus .2ex}{.4ex plus.2ex} + +% --------------------------------------------------------------------------% + + +\usepackage[T2A]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{graphicx} +\graphicspath{ {./images/} } +\usepackage{tempora} + +\usepackage[sort,compress]{cite} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsthm} +\usepackage{fancyvrb} +\usepackage{listings} +\usepackage{listingsutf8} +\usepackage{longtable} +\usepackage{array} +\usepackage[english,russian]{babel} + +% \usepackage[colorlinks=true]{hyperref} +\usepackage{url} + + +\newcommand{\eqdef}{\stackrel {\rm def}{=}} +\newcommand{\bsl}{\textbackslash{}} + +\renewcommand\theFancyVerbLine{\small\arabic{FancyVerbLine}} + +\newtheorem{lem}{Лемма} + +\begin{document} + +% Кафедра (в родительном падеже) +\chair{теоретических основ компьютерной безопасности и криптографии} + +% Тема работы +\title{отчет} + +% Курс +\course{второй} + +% Группа +\group{231} + +% Факультет (в родительном падеже) (по умолчанию "факультета КНиИТ") +\department{факультета компьютерных наук и информационных технологий} + +% Специальность/направление код - наименование +%\napravlenie{09.03.04 "--- Программная инженерия} +%\napravlenie{010500 "--- Математическое обеспечение и администрирование информационных систем} +%\napravlenie{230100 "--- Информатика и вычислительная техника} +%\napravlenie{231000 "--- Программная инженерия} +\napravlenie{090301 "--- Компьютерная безопасность} + +% Для студентки. Для работы студента следующая команда не нужна. +% \studenttitle{Студентки} + +% Фамилия, имя, отчество в родительном падеже +\author{Гущина Андрея Юрьевича} + +% Заведующий кафедрой +\chtitle{д.~ф.-м.~н.,~доцент} % степень, звание +\chname{М.~Б.~Абросимов} + +%Научный руководитель (для реферата преподаватель проверяющий работу) +\satitle{доцент} %должность, степень, звание +\saname{Н.~Н.~Бондарев} + +% Руководитель практики от организации (только для практики, +% для остальных типов работ не используется) +% \patitle{к.ф.-м.н.} +% \paname{С.~В.~Миронов} + +% Семестр (только для практики, для остальных +% типов работ не используется) +\term{третий} + +% Наименование практики (только для практики, для остальных +% типов работ не используется) +\practtype{Ознакомительная} + +% Продолжительность практики (количество недель) (только для практики, +% для остальных типов работ не используется) +\duration{2} + +% Даты начала и окончания практики (только для практики, для остальных +% типов работ не используется) +\practStart{22 июня 2019} +\practFinish{05 июля 2019} + +% Год выполнения отчета +\date{2020} + +\maketitle + +% Включение нумерации рисунков, формул и таблиц по разделам +% (по умолчанию - нумерация сквозная) +% (допускается оба вида нумерации) +% \secNumbering + +\tableofcontents + +\intro + +введение + +\section{Отслеживание следов в системе} + +Вариант 9. mspaint: запуск, чтение файла (ранее созданного без мониторинга), изменение представления <<Вид>> - убрать палитру, изменение рисунка, выход без изменения в файле. + +Для отслеживания следов, оставляемых программой mspaint после выполнения указанных действий я воспользовался программой procmon. + +При первом запуске procmon показывает множество <<событий>>, но большая часть из них лишняя для выполнения поставленной задачи (рис. \ref{fig:firstStart}). + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{procmon_start.png} + \caption{procmon при первом запуске} + \label{fig:firstStart} +\end{figure} + +Для того, чтобы убрать лишнюю информацию можно установить фильтры. Я установил фильтры, которые делают какие-либо видимые изменения в системе, то есть оставляют следы. Среди них: RegCreateKey, RegRenameKey, RegDeleteKey, RegSetValue, RegDeleteValue, CreateFile, WriteFile (рис. \ref{fig:filters}). + +\begin{figure}[H] + \centering + \includegraphics[width=0.7\textwidth]{filters.png} + \caption{Установленные фильтры} + \label{fig:filters} +\end{figure} + +Первыми среди событий появились CreateFile и их необходимо рассмотреть подробнее. Можно заметить, что все запросы на создание файлов произошли по пути C:{\bsl}WINDOWS. При детальном рассмотрении этих файлов я выяснил, что единственным реальным следом оказался тот файл, что был записан в C:{\bsl}WINDOWS{\bsl}Prefetch (рис. \ref{fig:prefetch}), в то время как остальные запросы являются фантомными, на что указывает дата изменения этих файлов (рис. \ref{fig:system32}). Это можно объяснить тем, что директория system32 является системной, а .dll файлы в ней являются системными библиотеками. В связи с этим в дальнейшем я буду опускать запросы такого рода, так как их не имеет смысла рассматривать. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{paint_prefetch.png} + \caption{Файл в директории Prefetch} + \label{fig:prefetch} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{sys32.png} + \caption{Файлы в директории system32} + \label{fig:system32} +\end{figure} + +Следующей за этими событиями появилась небольшая группа записей в HKLM{\bsl}SOFTWARE{\bsl}Microsoft{\bsl}Cryptography{\bsl}RNG{\bsl}Seed. (рис. \ref{fig:rngSeed}). Судя по названию, это <<семя>> для ГПСЧ. Данную запись нельзя считать следом, так как этот ключ реестра при каждом запуске системы разный и невозможно установить источник значения, записанного в нём. + +\begin{figure}[H] + \centering + \includegraphics[width=0.7\textwidth]{rng_seed.png} + \caption{Изменение ключа RNG{\bsl}Seed} + \label{fig:rngSeed} +\end{figure} + +Далее следует множество однотипных операций типа RegCreateKey по пути +HKCU{\bsl}Software{\bsl}Microsoft{\bsl}Windows{\bsl}CurrentVersion{\bsl}Applets (рис. \ref{fig:appletsCreate}). Изучив эту ветку через программу regedit я обнаружил указанные ключи. Проверив на новой виртуальной машине, я выяснил, что данной ветки не существует при установке. Эти записи можно считать одним из искомых следов. (рис. \ref{fig:applets}) + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{reg_create1.png} + \caption{RegCreateKey в Applets} + \label{fig:appletsCreate} +\end{figure} + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{appletsDir.png} + \caption{Ветка Applets в изучаемой (справа) и новой (слева) системах} + \label{fig:applets} +\end{figure} + +Далее в списке находится большое количество однотипных операций типа CreateFile (рис. \ref{fig:phantomFiles}). При детальном рассмотрении все записи оказались фантомными: дата последнего изменения файлов не сегодня. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{phantomFiles.png} + \caption{Фантомные CreateFile} + \label{fig:phantomFiles} +\end{figure} + +С операциями RegCreateKey/RegSetValue (рис. \ref{fig:phantomRegistry}) другая ситуация -- записи в ветки HKLM и Explorer{\bsl}User Shell Folders не являются следами, так как они присутствуют и в новой системе. А оставшиеся записи реестра в ветку HKCU можно считать следом. + +\begin{figure}[H] + \centering + \includegraphics[width=0.8\textwidth]{phantomRegistry.png} + \caption{Фантомные записи в регистр} + \label{fig:phantomRegistry} +\end{figure} + +\conclusion + +заключение + +\begin{thebibliography}{99} + \bibitem{Tannenbaum} Э.Танненбаум "Архитектура компьютера" (6-e издание) + \bibitem{RISC} http://shackmaster.narod.ru/vidmodes.htm + \bibitem{ALU} https://profi-user.ru/videoram/ + \bibitem{IBM} https://ru.wikipedia.org/wiki/Видеопамять +\end{thebibliography} + +% \bibliographystyle{gost780uv} +% \bibliography{thesis} + +\end{document} -- cgit v1.2.3