Ваш цифровой след: Погружение в форензику Windows
В этой статье мы поговорим о методах поиска информации в операционной системе Windows — с целью выявления различных инцидентов. Это сведения о пользователях и входах, базовой информации системы, сетевом подключении, а также о восстановлении удаленных файлов, просмотрe открывавшихся документов, выявлении подключавшихся к компьютеру флешек и т. д. — данные, позволяющие установить факты нарушения безопасности или несанкционированного доступа. Затронем также тему этики при проведении экспертиз такого рода.
Может показаться, что для решения большинства из этих задач специальных знаний не требуется и достаточно простого владения компьютером на уровне уверенного пользователя. Что ж, может, так и есть. Хотите знать наверняка? Добро пожаловать под кат.
Что такое форензика?
Форензика (или, как её еще называют, компьютерная криминалистика) — это прикладная дисциплина о том, как расследовать инциденты, которые произошли на цифровых девайсах, и получать цифровые доказательства для различных нужд, например, для анализа нарушений безопасности. Само слово «форензика» имеет иностранное происхождение и происходит от термина «forensic science». Дословно это можно перевести как «судебная наука» или «криминалистика». В Википедии термин forensic science охватывает криминалистику целиком: баллистическая и дактилоскопическая экспертизы, токсикология и так далее. Однако в русском языке под форензикой понимают именно компьютерную криминалистику.
Объектами интересов форензики как дисциплины являются ситуации разной степени серьезности. Это и ретроспективный аудит систем с целью понимания процессов, произошедших на них (например, при попадании ВПО), и анализ техники при намеренных противоправных действиях пользователей с целью сбора доказательств, анализа техник и тактик злоумышленника и последствий для компании.
Почему именно Windows
Windows — наиболее распространенная в мире ОС, и будет еще долго таковой оставаться. Большое количество систем на этой ОС не только обосновывает актуальность анализа Windows, но и облегчает понимание форензики в целом. Кто из нас не работал с виндой?
Windows — лидер на рынке серверных операционных систем. Источник: truelist.co.
Безусловно, в энтерпрайз-средах анализ Linux-систем зачастую может быть более важен. На серверах компании могут храниться различные критические сервисы и службы. И хотя, судя по всему, Windows Server все равно является самой популярной серверной ОС, есть намерение выпустить еще одну статью по основам форензики Linux-систем, если интерес аудитории к этой статье окажется ненулевым.
В каких случаях проводить расследование
Анализ систем может быть полезен в следующих обстоятельствах:
Система была скомпрометирована злоумышленниками или вредоносным ПО, требуется проанализировать, какие файлы и сервисы были затронуты, первоначальный вектор проникновения, хронологию событий.
Служебное расследование таких случаев нарушения политики компании, как утечка конфиденциальной информации, злоупотребление служебным положением.
Необходимо восстановить удаленные файлы.
Судебные экспертизы. Суд, сторона обвинения или защиты заказывает компьютерно-техническую экспертизу.
Система просто работает не так, как надо, и никто не знает почему.
Какие сведения искать в системе и чем они полезны
Перечень сведений, представляющих интерес, различается от ситуации к ситуации. Однако можно выделить базовый набор точек интереса, на которые требуется обращать внимание в каждом случае:
Что ищем | Зачем |
Имя компьютера и версия ОС | Чтобы точно знать, что мы работаем с нужной машиной. |
Системное время и часовой пояс | Установить точную хронологию событий в журналах и прочих файлах. Некоторые данные в компьютере будут иметь временные метки в UTC, а некоторые — в системном времени. Кроме того, при наличии внешних систем аудита и наблюдения, например, межсетевых экранов или SIEM, важно установить разницу во времени событий в исследуемом компьютере и в этих системах. |
Сведения о сетевых интерфейсах и использовавшихся в прошлом сетях | Информация о сетевых интерфейсах (MAC-адреса, IP-адреса) может помочь установить, как исследуемый компьютер взаимодействовал с другими устройствами или сетями. Также данные о прошлых сетях, к которым подключался компьютер, могут указывать на места, где находился пользователь компьютера, или на визиты пользователя в определенные места. |
Программы автозапуска | Информация о программах автозапуска может раскрыть, какие приложения запускаются при загрузке системы. Это может помочь восстановить последовательность действий, предшествовавших инциденту. Кроме того, вполне легитимный Планировщик заданий Windows часто используется для запуска вредоносного ПО. |
Информация о пользователях и служебных учетных записях | Информацию об учетных записях, информацию о входе в систему и информацию о группе мы можем использовать для идентификации пользователя, анализа привилегий, поиска данных о входах в систему, а также для анализа вредоносной активности. |
Журналы системы | Журнал событий позволяет отслеживать действия пользователей и системных процессов. |
Подключавшиеся устройства | Помогают определить, что было подключено к системе. Это важно для расследования случаев НСД или передачи данных. |
Недавние файлы | Если в списке недавних файлов появляются необычные или незнакомые документы, это может быть признаком вредоносной активности или утечки информации. Кроме того, Список недавних файлов предоставляет информацию о действиях пользователя. |
Для исследователя главными «призами» в процессе поиска являются так называемые артефакты — то есть фрагменты информации, позволяющие в совокупности составить истинную картину происходивших в системе процессов. Извлечение и анализ артефактов — главная цель форензики.
Как и где искать нужные сведения
Переходим к самому интересному. Вообще, в реальной обстановке в компаниях редко есть необходимость копаться непосредственно в компьютере или сервере. Компьютеры сотрудников находятся в домене, в котором через групповые политики настроена отправка событий безопасности на удаленный сервер. Кроме этого, есть антивирусы/EDR с централизованным управлением, которые тоже пишут свои логи, также возможно присутствие агентов SIEM или сторонних решений аудита наподобие Netwrix Auditor.
Мониторинг сервера Windows с помощью Netwrix, netwrix.com
Но иногда речь заходит о служебных ноутбуках сотрудников, не включенных в домен, компьютерах, на которых, по недосмотру, программ контроля или не было совсем, или они были таинственным образом удалены. Еще в ряде случаев используются автономные компьютеры, например, для обработки крайне чувствительных документов. Короче говоря, иногда анализ отдельно взятого компьютера необходим.
Основной (но не единственный) источник информации о системе — реестр Windows. Это место, где содержатся сведения о конфигурации системы: оборудовании, программном обеспечении или информации пользователя. Вы можете прямо сейчас просмотреть свой реестр с помощью regedit.exe.
Вот что вы увидите
Реестр Windows состоит из ключей и значений. Ключи — это все папки, которые вы видите, а значения — это данные, хранящиеся в этих ключах. Куст (hive) реестра — это группа ключей, подразделов и значений, хранящихся в одном файле на диске.
В каждом реестре Windows есть пять корневых ключей:
HKEY_CLASSES_ROOT
Содержит информацию, связанную с типами файлов и их ассоциациями. Сокращается до HKCR.
HKEY_CURRENT_USER
Содержит корень информации о конфигурации для пользователя, который находится в системе в данный момент. Часто сокращается до HKCU. Подраздел HKEY_USERS.
HKEY_LOCAL_MACHINE
Содержит информацию о конфигурации, относящуюся к конкретному компьютеру: данные о системной шине, портах, контроллерах и других аппаратных компонентах, сведения о безопасности и т. д. Сокращается до HKLM.
HKEY_USERS
Содержит все загруженные профили пользователей на компьютере. Сокращение — HKU.
HKEY_CURRENT_CONFIG
Содержит информацию о профиле оборудования, используемом локальным компьютером при запуске системы. Сокращается до HKCC.
Ключи — слева, значения — справа. Изображение: learn.microsoft.com
Regedit.exe можно использовать в случае, если у исследователя есть доступ к исследуемому компьютеру, включая действующий логин и пароль. На практике, даже если такие данные предоставлены, делать этого не рекомендуется. Во-первых, вход по имени и паролю в исследуемый компьютер теоретически может активировать какой-нибудь скрипт, который инициирует затирание или повреждение искомых данных. Во-вторых, даже если этого не произойдет, вход пользователя в систему и действия в ней неизбежно вызовет массив новых записей в логи системы, что может повлечь за собой удаление более старых. Например, журнал security.evtx по умолчанию настроен именно таким образом — старые события безопасности удаляются, чтобы освободить место для новых, если достигнут максимальный размер журнала.
Кроме того, если проводится серьезное расследование, исследователю потребуются доказательства тождественности исследуемой единицы данных с единицей данных, которая была получена/изъята с исследуемой системы. Для удостоверения тождественности, т. е. целостности и неизменности данных, будет правильным снять образ с диска и произвести подсчет хэш-сумм с самого диска и с его образа. Совпадение значений хэшей гарантирует полное совпадение содержимого файлов или носителей.
Как снять образ? Можно использовать как специализированные программы, так и утилиту dd. Департамент юстиции США занимался тестированием инструментов для снятия образа. По их заключению, наибольшую точность показали программы Safeback 2.18 и утилита dd. По гиперссылкам можно посмотреть результаты исследований. На форумах довольно часто упоминается OSFClone, но я с ней совсем не знаком.
Скриншот из исследования утилиты dd по ссылке выше. Количество ошибок — 0.
Короче говоря, снятие образа с диска может выглядеть примерно так: диск изымается с исследуемой системы, исследователь подключает его к системе Linux и использует утилиту dd для создания образа, например:
dd if=/dev/sda of=/путь_к_целевому_образу
Главное — правильно указать место назначения. Второй, более элегантный способ — вместо изъятия диска загрузиться на исследуемом компьютере с live-образом ОС, например, Kali Linux, и использовать ту же утилиту dd.
После этого диск необходимо смонтировать. В Linux для этого надо создать каталог:
sudo mkdir /mnt/disk_image
Смонтировать образ:
sudo mount -o ro, loop путь_образа_диска /mnt/disk_image
Как результат, образ диска станет доступным для чтения, как если бы он был физическим устройством.
Не забудьте размонтировать образ после окончания работы:
sudo umount /mnt/disk_image
В системах Windows снятие и монтирование образов дисков можно проводить с помощью специальной программы AccessData FTK Imager.
При работе с образом диска важно знать, как найти кусты реестра без regedit.exe. Первый каталог, заслуживающий внимания — C:\Windows\System32\Config.
Там находятся следующие файлы:
DEFAULT, где находятся данные HKEY_USERS\DEFAULT
SAM (Security Accounts Manager), там лежат данные HKEY_LOCAL_MACHINE\SAM
SECURITY (HKEY_LOCAL_MACHINE\Security)
SOFTWARE (HKEY_LOCAL_MACHINE\Software)
SYSTEM (HKEY_LOCAL_MACHINE\System)
Также стоит обратить внимание на файл C:\Windows\AppCompat\Programs\ Amcache.hve. В нем содержится информация о запускаемых приложениях в системе. Каждая запись в Amcache.hve включает в себя путь выполнения, время первого выполнения, время удаления, первую установку и SHA1-хеш каждого запущенного файла, что позволяет использовать его при поиске ВПО для проверки файлов в VirusTotal или аналогах. Кроме того, есть еще ShimCache, который также содержит информацию о приложениях, но менее полную, чем Amcache. Несмотря на это, использование ShimCache и Amcache в комбинации позволяет создать более полное представление о деятельности на компьютере.
Помимо вышеописанного, в каталогах профилей пользователей содержатся еще два важных файла. Первый называется NTUSER.DAT, там содержится информация, которая при логине этого пользователя в систему попадает в HKCU. Этот файл находится по адресу C:\Users\_пользователь_\. Второй файл имеет название UsrClass.dat, он монтируется в HKCU\Software\CLASSES и находится по пути C:\Users\_пользователь_\AppData\Local\Microsoft\Windows.
Также на глаза могут попасться файлы с расширением .LOG. Это журнал, который используется Windows для отслеживания изменений в реестре. Так, файл SAM.LOG содержит информацию о том, какие изменения были внесены в базу данных учетных записей (локальных и доменных) на компьютере. Эти файлы также представляют интерес. Располагаются они в уже известном каталоге — C:\Windows\System32\Config.
И пока последняя, пожалуй, точка интереса — это резервные копии кустов реестра, которые хранятся в C:\Windows\System32\Config\RegBack. Туда стоит заглянуть, если есть подозрения, что некоторые ключи реестра могли быть изменены.
Инструменты для анализа
Образ в наличии, есть понимание точек интереса. Что дальше? Для просмотра и анализа файлов можно использовать эти два инструмента:
KAPE (Kroll Artifact Parser And Extractor)
Хороший бесплатный инструмент. Получить можно с официального сайта, заполнив форму. Правда, потребуется указать корпоративную почту. Лично я, чтобы не палить контору, указывал свою студенческую почту на институтском домене. Письмо со ссылкой пришло через пару дней.
Интерфейс
Достаточно понятный GUI, хотя в комплекте поставки есть и CLI-версия. Слева — зона модуля Target, который отвечает за поиск файлов. Собственно, в графу Target Source надо прописать путь к смонтированному диску, в Target destination — директорию, в которую будут помещаться извлеченные файлы. Длинный список в секции Target — предустановленные плагины, определяющие выборку информации при извлечении. Например, плагин Basic Collection извлекает следующие данные:
Скрытый текст
Description: Basic Collection
Author: Phill Moore
Version: 1.1
Id: 83b99299–2d84–4844-af25-c727d3440b19
RecreateDirectories: true
Targets:
-
Name: Event Logs
Category: Event Logs
Path: EventLogs.tkape
-
Name: Evidence of Execution
Category: Evidence of Execution
Path: EvidenceOfExecution.tkape
-
Name: File System
Category: File System
Path: FileSystem.tkape
-
Name: LNKFilesAndJumpLists
Category: File Access
Path: LNKFilesAndJumpLists.tkape
-
Name: PowerShellConsole
Category: Evidence Of Execution
Path: PowerShellConsole.tkape
-
Name: RecycleBin InfoFiles
Category: File Deletion
Path: RecycleBin_InfoFiles.tkape
-
Name: RegistryHives
Category: Registry Hives
Path: RegistryHives.tkape
-
Name: ScheduledTasks
Category: ScheduledTasks
Path: ScheduledTasks.tkape
-
Name: SRUM
Category: SRUM
Path: SRUM.tkape
-
Name: ThumbCache
Category: Thumbcache
Path: Thumbcache.tkape
-
Name: USBDevicesLogs
Category: USB
Path: USBDevicesLogs.tkape
-
Name: WindowsIndexSearch
Category: Search
Path: WindowsIndexSearch.tkape
Плагины Target позволяют быстро сделать большой объем работы, вплоть до извлечения данных из Chrome и торрент-клиентов. Плагины в секции Modules отвечают за действия над собранными файлами. Например, AmcacheParser извлекает из Amcache.hve информацию о выполнении программ в формат .csv. Вообще, большинство результаты работы модулей имеют расширение либо .csv, либо .txt. Для просмотра удобно использовать EZViewer от разработчика KAPE Эрика Циммермана. Для просмотра извлеченных кустов реестра можно использовать Registry Explorer. Скачать можно отсюда, и в целом там много интересного.
Autopsy
Программа бесплатная, есть версия как под Windows, так и под Linux (А в Kali Linux она вообще предустановлена). Умеет работать как с живыми системами, так и с образами.
Интерфейс
Также как в KAPE, присутствует система модулей для работы:
Радует экзотическое DJI Drone Analyzer
Анализ реестра
Но вернемся пока к реестру. Чтобы извлечь его в KAPE, надо использовать Target плагин KAPE Triage/RegistryHives. Теперь можно просмотреть результат в Registry Explorer. В первую очередь целесообразно узнать имя компьютера и версию ОС. Эти данные находятся в ключах
Важно. При подгрузке веток в Registry Explorer может высветиться сообщение, что загружаемая ветка имеет неполные данные (dirty hive). Это означает, что надо подгрузить журналы транзакций .LOG. После загрузки основной ветки требуется выбрать файлы с расширением .LOG для выбранной ветки. Например, после загрузки ветки SYSTEM может потребоваться загрузить ветки SYSTEM.LOG1 и SYSTEM.LOG2. Далее программа сгенерирует полный файл ветки с именем SYSTEM_clean. После сохранения этого файла его можно использовать для анализа.
Далее нас интересует часовой пояс компьютера. Данные об этом можно узнать из ключа:
SYSTEM\CurrentControlSet\Control\TimeZoneInformation
В разделе RealTimeIsUniversal:
На картинке видно, что на компьютере было установлено западноевропейское время.
Следующий раздел реестра предоставит список сетевых интерфейсов системы:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Каждый интерфейс представлен уникальным идентификатором (GUID). Из значений в этих ключах можно установить статус DHCP, адрес и маску, шлюз, домен и DNS-серверы.
Например, из указанных значений становится понятно, что DHCP на системе был отключен.
Сети, к которым компьютер подключался ранее, можно найти здесь:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\
Особенно важны столбцы First и Last Connect.
Проверим список автозапуска. Данные о программах автозагрузки можно найти в следующих местах:
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\RunOnce
SOFTWARE\Microsoft\Windows\CurrentVersion\Run
SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
Вот пример того, что можно найти. В автозагрузке стоит клиент OneDrive.
Исследуем информацию об учетных записях. Они находятся здесь: SAM\Domains\Account\Users. Это крайне полезная информация, особенно если предполагается компрометация учетных данных пользователей. В значениях ключа содержится информация о времени создания учетной записи, последнем времени успешного логина, времени изменения пароля, дате последнего неправильного ввода пароля и так далее.
Обратите внимание — значения времени отображаются в формате UTC.
Говоря о пользователях, не меньший интерес представляет список недавно открытых файлов. Эта информация хранится в NTUSER.DAT каждой учетной записи по пути:
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Также есть возможность посмотреть список недавно открытых документов. Например, информация о таблицах Excel хранится в SOFTWARE\Microsoft\Office\16.0\Excel.
Там можно найти путь и имя файла, а также время последнего открытия.
Хорошим источником артефактов может послужить куст AmCache. Его предназначение мы кратко описывали выше. Registry Explorer позволяет просмотреть его, загрузив из папки C:\Windows\appcompat\Programs\Amcache.hve. Из него можно извлечь данные о выполняемых на компьютере программах.
Последнее на сегодня извлечение из реестра, но от этого не менее важное — сведения о подключенных устройствах. Исходя из моего опыта, зачастую «грязные» флешки являются наиболее частым начальным вектором атаки в организациях, уступая первое место в этом сомнительном соревновании, пожалуй, только фишинговым электронным письмам. Поэтому в расследовании проникновения вирусов в инфраструктуру данные о том, какая флешка в какой момент времени подключалась к системе, могут быть невероятно полезны. Эту информацию можно поискать в следующих разделах:
SYSTEM\CurrentControlSet\Enum\USBSTOR
SYSTEM\CurrentControlSet\Enum\USB
SYSTEM\ControlSet001\Enum\USB
SYSTEM\ControlSet001\Enum\USBSTOR
Отдельно стоит заметить, что там сохраняется не только время подключения и имя устройства, но и его серийный номер. Это полезно, если в вашей организации есть корпоративные флешки и ведется учет вида «серийный номер устройства — сотрудник». Это позволит выявить в том числе факты неавторизованного использования накопителей. Помимо этого, в ключе Enum сохраняются данные, например, о принтерах, что также может оказаться полезным.
Анализ журналов событий
Анализ журналов — обязательная точка интереса в расследовании. Тема журналов обширна, но раз статья называется «Введение в форензику», поговорим о главном. В первую очередь следует обратить внимание на историю входов на компьютер. Опять же, в доменной сети это можно узнать на контроллере домена, если включена политика аудита входа пользователей. Однако если что-то пошло не так, это можно сделать и локально. Самый простой способ — открыть Event Viewer, выбрать журнал Security и отфильтровать события по ID 4624 — такой код имеют события успешного входа в систему. Также полезно обратить внимание на 4625 — это неуспешные попытки входа.
В отфильтрованном по ID 4624 будет очень много событий с logon type 5. Это указывает на то, что произошел вход в систему через сервис. Хотя подозрительная активность с этим типом входа может указывать на компрометацию служб или программ в системе, лучше сначала обратить внимание на события с logon type 2, 3 и 10. Это позволит сэкономить время на анализе. Тип входа 2 — связан с локальным входом на компьютер, подозрительная активность с использованием этого типа входа может включать в себя попытки физической компрометации устройства или несанкционированный доступ к компьютеру непосредственно на месте. Тип входа 3 или 10 указывает на доступ через сеть (Network/RemoteInteractive), что может свидетельствовать о попытках бокового распространения через средства удаленного подключения. Подробнее о типах входа можно почитать по ссылке.
Для удобства исследования можно пользоваться просмотром не с помощью EventViever, а через модуль KAPE «EvtxECmd». Он предоставляет более стандартизированный и удобный для анализа вывод журналов. Краткий обзор модуля в видеоформате можно посмотреть здесь.
Пример вывода EvtxECmd. Картинка: kazamiya.net
Поиск удаленных файлов
Бывают случаи, когда необходимо найти и восстановить удаленные файлы на диске. Например, данные были удалены вредоносной программой или намеренно, чтобы замести следы использования вредоносного ПО. В ряде случаев их можно восстановить. Когда файлы удаляются стандартными способами (например, через корзину или команду удаления в операционной системе), они обычно не стираются полностью, а просто помечаются как удаленные в файловой системе. Эта информация ещё может быть восстановлена с использованием специальных инструментов, например Autopsy.
Допустим, у нас есть флешка, на которой был очень важный файл. По недосмотру файл был удален. Нужно попытаться восстановить его.
Так как вредоносного ПО на флешке нет, можно считать ее безопасной и подключить к компьютеру с Autopsy напрямую. Затем нужно открыть программу и задать данные кейса.
Далее дождаться, пока создастся база данных, выбрать хост и затем источник данных. Поскольку флешка подключена напрямую, надо выбрать Local disk.
С левой стороны по симпатичной навигации в виде дерева нужно зайти в Deleted Files.
И справа будут отображены удаленные файлы.
Далее — щелчок правой кнопкой мыши и выбор пункта «Extract files». После этого можно зайти в директорию, где был сохранен извлеченный файл, и просмотреть содержимое.
Френдли ремайндер —, а вы регулярно меняете пароли?
Успех!
Однако если данные были удалены с помощью низкоуровневого форматирования, то есть процессом, который переписывает всю флешку нулями или другими данными, полностью стирая как файловую систему, так и все данные на носителе, восстановить данные невозможно.
Этические нормы и ответственность в работе
Работа криминалиста при исследовании систем требует не только технических знаний, но и следования этическим нормам. Эксперт несет ответственность не только за качество своего расследования, но и за защиту прав и конфиденциальности всех вовлеченных сторон. Прежде всего это важно при судебных экспертизах. Понятно, что МВД и другие службы предпочитают привлекать к исследованию специалистов из соответствующих учреждений, но ст. 57 УПК и ст. 195 УПК не запрещают привлечение в качестве экспертов гражданских лиц, равно как не предъявляют требований к сертификации или лицензированию.
Но даже если речь идет о служебном расследовании, то есть о внутренней проверке в компании, исследователь должен проявлять абсолютную объективность и беспристрастность. Выводы и заключения должны основываться исключительно на фактах, а не на личных предубеждениях или предположениях. Роль технического специалиста — предоставить достоверную информацию, а не выносить суждения. Идеально, если перед специалистом поставлены четко выраженные вопросы, еще лучше — в письменном виде. В большинстве случаев исследователь будет иметь доступ к личной информации и данным пользователей, поэтому он обязан обращаться с ними с максимальной осторожностью и уважением. Разглашение или неправомерное использование этих сведений недопустимо. Естественно, что методы и процедуры должны быть законными. Следует избегать анализа личных документов и иных ресурсов для личного пользования. Также будет правильно с точки зрения этики никогда не обсуждать личные данные, к которым был получен доступ, ни с кем, даже с их владельцем.
Заключение
Статья получилось достаточно объемной, несмотря на то, что она охватывает лишь несколько базовых вещей и практических примеров. Надеюсь, люди, которые хотят заняться темой компьютерной криминалистики, найдут ее полезной. Я затронул в статье базовые вещи в извлечении информации, анализе реестра, журналов событий, восстановлении файлов и совсем немного — этические принципы.
Как всегда, буду рад вашим замечаниям в комментариях или личных сообщениях. Отдельно интересно будет узнать о ситуации с компьютерно-технической экспертизой в судах, если здесь имеются эксперты с таким опытом. Я к сожалению или к счастью, в роли эксперта в судах не выступал, а информацию о судебной КТЭ почерпнул из книги Н.Н. Федотова «Форензика. Компьютерная криминалистика», которую могу порекомендовать и подписчикам блога.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS(кроме тарифа Прогрев) — HABRFIRSTVDS.