MoneyMaker - здесь делают деньги! MoneyMaker - здесь делают деньги!
 
Darkmoney.cc dublikat.org
Bodler
wwh_club
HackNet
Bes73

Вернуться   MoneyMaker - здесь делают деньги! > Оплаченная реклама > Bes73. Территория обучения. Все аспекты работы.

Bes73. Территория обучения. Все аспекты работы. Работа по многим направлениям: Анонимность и безопасность, пластик, ЭПС, коммуникации, обнал, практически любые аспекты бизнеса. Обучение для новичков.

bes73
Like Tree2Likes
  • 2 Post By Bes73

Ответ
 
LinkBack Опции темы Опции просмотра
Старый 28.01.2018, 22:39   #1
Супер-модератор
 
Аватар для Bes73
 
Регистрация: 16.04.2013
Адрес: Галактика Млечный путь. Точнее в ЛС.
Сообщений: 3,449
Депозит: 0 р.
Сделок через ГАРАНТ: 0
Покупок через ГАРАНТ:
По умолчанию Полнодискова криптография. Что это за зверь?

Полнодискова криптография. Что это за зверь?

Для чего вообще шифруют данные на диске? Правильный ответ только один - для того чтобы кто-то чужой не мог посмотреть что там есть. Другие причины только следствие этого ответа.

Каким образом можно достичь такой ситуации? Есть два пути.
1. Спрятать данные так чтобы их нельзя было найти.
2. Сделать так чтобы ищущему не пришло в голову что на диске вообще что-то есть.

Обе этих задачи можно решить разными способами. Например можно замаскировать файл с ценными данными под что-то стандартное в системе. Например если Вы возьмете свой файл C:\Home\securedata.doc и переименуете в C:\Windows\bin\iodrv.sys то мало кому из разумных людей придет в голову искать этот файл именно там. Казалось бы можно чувствовать себя весьма оригинальным и продвинутым. Но компьютер в отличии от человека не разумен и у него нет головы. Так что такой способ спрятать файл для него не оригинален и уж тем более не продвинут.

Любой сканер файлов найдет такую спряталку за несколько минут. Ну или часов если диск большой и на нем много данных. Сканер просто переберет ВСЕ ФАЙЛЫ ПОДРЯД и по их содержанию найдет то что Вы спрятали.
Так что такой вариант отнюдь не надежен. Можно перечислить еще пару десятков столь-же не надежных вариантов, благо придумано их изрядно, но смысла в этом не много. Так что перейдем сразу к тем вариантам которые имеют хоть какой-то смысл.

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

И на этом остановимся чуточку подробнее. Оставим специалистам спорить о том какой алгоритм шифрования надежнее, удобнее, устойчивее и так далее. Нас интересует в чем состоит суть шифрования.
Исторически сложилось так что само по себе шифрование за долгие годы прошедшие после его изобретения мало в чем изменилось. Не стану рассказывать про самые простые подстановочные алгоритмы, их много и они подробно описаны. Расскажу о том, на чем основывается всё современное шифрование и почему оно такое надежное на данный момент.

Все началось тогда когда какому-то древнему математику пришло в голову что умножение функция не обратимая. Что это значит? Все просто. Если нам известно что после умножения двух чисел получилось 1024, то у нас нет возможности узнать сколько чисел и какие именно числа были перемножены. Это может быть 2*2*256 или 2*4*128 или 1*1024. Все варианты дают один и тот-же результат. И таких вариантов даже для числа 1024 получается не мало. Но даже если допустить что нам известно что перемножались только два числа подобрать правильную пару будет тоже не просто. Думаю что если Вы будете пробовать с листочком и ручкой то потратите на подбор и запись пар чисел не менее 10 минут для числа 1024.
Но у нас же есть компьютер! Скажете Вы. Верно, есть. И есть алгоритмы подбора пар. И с нужным подбором для числа 1024 современный компьютер справится за тысячные доли секунды. А если это число 10240? А если 1029740751093850? А если число состоит из 1000 знаков? Тут уже и для компьютера простенькая задача растягивается на часы.

Опустим нюансы и тонкости алгоритмов. О них можно прочитать кому это интересно. Сами алгоритмы шифрования открыты. В них нет ничего секретного. Так в чем же суть секретности? А суть в том, что по большому счету, зашифрованный файл и есть это самое число которое получилось после умножения, не зашифрованный файл это одно из пары чисел, а ключ шифрования, это второе из пары чисел которое перемножали.

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

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

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

Какие выводы можно сделать?
1. Ключ шифрования очень ценный. Если его узнают, легко смогут узнать и то что зашифровано.
2. Зашифрованный файл для компьютера это просто набор несвязанной информации никак не намекающий на то что зашифровано. И соответственно перехват зашифрованного файла ни чем не грозит.
3. Ключ шифрования и зашифрованные данные должны храниться раздельно.

Собственно это всё что составляет суть шифрования. Вернемся к нашей теме.

У нас есть данные которые мы бы не хотели чтобы кто-то прочитал. Попробуем рассмотреть правильную стратегию как этого достичь.

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

Например Мы берем зашифрованный файл, расшифровываем его специальной программкой и потом открываем в текстовом редакторе. Поправляем всё что надо, закрываем текстовый редактор и опять зашифровываем файл специальной программкой.

Вроде бы всё нормально. Но на самом деле это не совсем так. Вполне может получиться что в тот момент когда мы редактировали файл, ОС решила что-то перестроить в своей памяти и временно сохранила то что мы редактировали в свап. И выйдет что в свапе наши данные лежат в открытом виде. Упс....

Поверьте на слово, специалист по криптанализу обязательно разберет свап на байтики и не только свап. Таких мест из которых можно добыть конфиденциальные данные у ОС очень много и зачистить их все, иногда трудно даже специалисту. Есть конечно шанс что ОС ничего никуда не запишет, но имеем ли мы право надеяться на ШАНС? Думаю что надеяться на шанс - это глупо.

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

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

Начнем с того что диск представляет из себя просто набор набор каких-то данных. Если не знать какие данные за что отвечают сами данные выглядят бессмысленно.

На заводе когда диск делают ему делают предварительную аппаратную разметку. Эту разметка тоже конечно можно при желании поменять, но одна для всех дисков одинаковая и делать это в большинстве случаев бессмысленно. Диск разбивают на дорожки, а сами дорожки на блоки и сектора. Представить такую разбивку можно как лист бумаги в клеточку. Каждая горизонтальная полоска это дорожка, а каждая клеточка сектор.

Большего о себе диск не знает и работает примерно так:
Когда происходит инициализация, диск говорит ОС что у него к примеру: 100 дорожек по 50 секторов и в секторе может храниться по 2 мегабайта. Эти данные заданы с завода. Теперь ОС знает что у нее есть диск с соответствующими размерами. Дальше ОС будет давать диску или команду прочитать сектор или записать сектор. Указывая соответственно номер дорожки номер сектора и передавая ему 2 мегабайта при команде на запись или получая 2 мегабайта при чтении.

На то что содержится в секторе диску наплевать. Он этого не знает и знать не желает. Так устроены ЛЮБЫЕ диски. И SSD и HDD и Флэшки всех видов и разнообразные сиди и ДВД. Есть некоторые нюансы в конкретных случаях, но для нас сейчас это не очень важно.

Но какие данные хранятся на самом диске, наплевать только диску. Операционная Система должна разбираться и в содержимом того что там хранится. По этой причине было оговорено что на всех дисках есть место в котором хранится информация о данных. Обычно это так называемый нулевой сектор. Или говоря теми терминами что мы уже приняли выше, это нулевой сектор нулевой дорожки. Именно его ОС предлагает диску прочитать самым первым.

Что же хранится в этом секторе? Там хранится разбивка диска. Именно из этого сектора ОС берет данные о том как диск разбит, какие файловые системы использованы для разбивки в каких секторах хранятся спецзоны файловых систем и много чего еще.

Если рассматривать всю структуру данных на диске, то больше всего она напоминает библиотеку. Весь диск это здание библиотеки, здание разделено на залы, в залах есть спецзоны с каталогом в котором указано на какой полке стоит книга. А сами книги это файлы.

Так что в нулевом секторе хранится вся основная информация о том как устроена библиотека. И если допустим дать команду диску заполнить нулевой сектор мусором, то не взирая на то что вся информация на диске останется не тронутой, ОС прочитав этот мусор при инициализации диска и не найдя в нулевом секторе стандартных записей сочтет что на диске ничего нет вообще. Она сообщит пользователю что диск не инициализирован и предложит это сделать.

Вот теперь, когда мы кое что знаем о том как работает диск у компьютера и как работает шифрование вообще, можно перейти собственно к основной части статьи.

Так как же устроено полнодисковое шифрование?
Первое что нужно знать об этом, это то что не все Операционные системы умеют работать с полнодисковым шифрованием. Есть ОС которые вообще не умеют использовать полнодисковое шифрование, есть те которые используют его лишь частично и есть нормальные ОС. К последним относится большая часть Линукс систем.

Как-же работает полнодисковое шифрование?
Есть такое понятие как шифрование на лету. То есть между ОС и диском работает специальная программа-драйвер. Она делает всего две вещи. При передаче данных от диска к системе она расшифровывает данные, а при передаче от ОС к диску зашифровывает. Причем делает это со всеми данными абсолютно. Включая системные файлы и временные данные системы. То есть на диск нешифрованне данные не попадают вообще. А ОС считает что она ничего не шифрует и работает с данными как обычно. Правда удобно?

Конечно у этого варианта есть свои недостатки. Например часть мощности процессора постоянно тратится на шифрование и расшифровку. Но эти затраты для практически любого современного процессора на столько не велики, что их не стоит даже учитывать в серьез. Например скорость записи на быстрый SSD диск современного ноутбука при использовании шифрования снижается меньше чем на 0,25 процента. А нагрузка на процессор i5 при использовании полнодискового шифрования возрастает меньше чем на 0,5 процента. По моему небольшие издержки.

Я не упоминал ранее, но зашифрованне данные выглядят как набор случайных данных. По этой причине, перед тем как шифровать диск его необходимо заполнить мусором полностью. Именно мусором, случайными данными, а не нулями как это рекомендуют делать некоторые горе-интернет-эксперты. Для чего это делается? Всё просто. Если в целой куче случайных данных появится другой кусочек случайных данных то это будет не видно. Сложно различить отдельную песчинку в куче песка. С другой стороны, если блок случайных данных появится в куче блоков нулей, то его сразу будет видно. Он будет как белая ворона в стае черных. И это сразу даст понять специалисту что диск не просто со случайным мусором.

Можно условно разбить все виды полнодискового шифрования на 3 подвида.
1. Полное шифрование несистемного диска по ключу или паролю.
2. Полное шифрование системного диска по ключу или паролю.
3. Полное шифрование системного диска по ключу или паролю с удалением информации из нулевого сектора.

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

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

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

Далее я буду говорить только про криптоключ, но стоит помнить что все эти-же варианты доступны и для шифрования с паролем.

1. Полное шифрование несистемного диска.
Я выше уже говорил что ОС пишет много разной информации куда попало просто потому что так работает. Так что этот вариант можно отметать сразу по тем-же причинам что изложены в начале статьи. Есть ненулевой шанс что ОС сама все "сдаст" специалисту.

2. Полное шифрование системного диска.
Тут есть ряд нюансов. Во первых не все ОС это умеют. Например Виндовс системы в большинстве своем просто не умеют этого или делают это не полноценно. Например умеют шифровать с паролем но не умеют с файл-ключом.
А во вторых при таком шифровании у некоторых ОС начинают неправильно работать некоторые функции. Не все ОС умеют грамотно засыпать и просыпаться при таком шифровании.
Ну и третий нюанс, который на мой взгляд самый существенный, при таком варианте специалисту ТОЧНО видно что диск зашифрован и значит можно попытаться расшифровать его.
Ну и четвертый нюанс, большинство линуксов умеют при установке делать полнодисковое шифрование ОС, то что называется "Из коробки". То есть настроить себе такое шифрование способен самостоятельно любой, кто способен установить Операционную Систему.

3. Полное шифрование системного диска с удалением информации из нулевого сектора.
Этот вариант лишен всех недостатков которыми обладают варианты перечисленные выше, но он реализуем на не очень большом наборе ОС. Реализовать такой вариант на Виндовс сейчас скорее всего не представляется возможным вообще. С другой стороны для настройки такого варианта шифрования на Линукс тоже надо будет попотеть. Для неспециалиста это не так просто.

Разница со вторым вариантом в основном в том, что после установки и настройки системы, загрузчику указывается что данные о разбивке надо брать не из нулевого сектора диска, а из специально созданного файла. Точнее этот файл просто создается методом копирования части нулевого сектора в файл. В свою очередь сам нулевой сектор после этого забивается мусором и диск выглядит как неиспользованный.

При этом определить есть ли на диске шифрованные данные или весь диск просто забит мусором технической возможности почти нет. Почему почти? Ну хотя-бы потому что есть выражение "никогда не говори никогда". Я такого способа не знаю. И те с кем я общаюсь на тему криптографии не знают. Может кто-то и знает, но я не знаю того кто знает.

Вот примерно так всё и работает. Если что-то не понятно - подскажу. Тема открыта к обсуждению и критике.
simko and C Lucky like this.
__________________
Никого не волнует что рубль лежащий в Вашем кармане ворованный, если невозможно доказать что его украли именно Вы.

[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ][Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Bes73 вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 14:13. Часовой пояс GMT.

wwh.my tenec.cc center.bz
vektor

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод:
Search Engine Optimization by vBSEOzCarot
MoneyMaker.hk