Безопасность и анонимность в сети - часть 8

Безопасность и анонимность в сети - часть 8

t.me/nightbiznes

End-to-End шифрование (E2EE)

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

Использование защищенного HTTPS на всех веб-сайтах становится все более необходимым, независимо от типов передаваемых данных. Чем глубже мы будем обсуждать, как выполняется отслеживание, массовая слежка и хакинг браузеров, тем больше вы начнете понимать всю важность end-to-end шифрования.

Примерами технологии end-to-end шифрования являются такие вещи, как PGP, S/MIME, OTR, что расшифровывается как “off the record” (рус. "не для записи"), ZRTP, что расшифровывается как Z в протоколе RTP, а также SSL и TLS, реализованные правильным образом, все это может использоваться в качестве end-to-end шифрования.

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

Мы рассмотрим примеры подобного программного обеспечения на протяжении курса, в их числе будут средства обмена сообщениями Signal, Chat Secure, Crypto Cat и другие.

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

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

Стеганография

Стеганография - это способ сокрытия информации или файлов внутри другого несекретного текста или данных. Это называется "спрятать данные на видном месте".

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

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

Однако важно отметить, что стеганография - это не шифрование.

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

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

Стеганография используется, когда вам нужно скрыть, что вы отправляете секретное сообщение. Возможно, последствия от обнаружения этого факта очень высоки.

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

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

https://embeddedsw.net/OpenPuff_Steganography_Home.html

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

А это блок для того, чтобы спрятать данные в контейнер, и чтобы извлекать данные из контейнеров.

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

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

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

Кстати, можно выбрать несколько контейнеров. Это могут быть несколько видео, изображений, другие файлы. Нам хватит и одного контейнера. Я спрячу данные в него и все будет готово.

Но что я сейчас сделаю вместо этого, я добавлю ложный объект. Нажимаем сюда, копируем пароли, добавляем ложный текст. Подтверждаем. Готово.

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

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

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

Что вам следует сделать, это скачать файл, изменить его размер или сжать его, или использовать свой собственный файл. Если вы будете использовать свой файл и анонимность важна для вас, убедитесь, что он не содержит метаданных или exif-данных. Позже в курсе мы еще поговорим об EXIF и метаданных.

Давайте теперь извлечем данные из стегоконтейнера. Закроем это. Извлечь, добавить контейнер. Вот наш стегоконтейнер. Нам нужно внести пароли. Извлечь, поместить в папку "Steg". Готово. Мы извлекли секретное сообщение. "Орел приземлился", это кодовые слова.

Если бы кто-либо попытался принудить нас раскрыть содержимое, мы могли бы использовать поддельное сообщение, вот оно, вот эти пароли. Внутри контейнера.

Извлечь. Папка "Steg". И мы получим извлеченный поддельный текст здесь. Это обеспечит нам правдоподобное отрицание. Они не смогут доказать, что какое-либо другое сообщение было сокрыто внутри файла.

https://www.spammimic.com/encode.shtml

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

http://www.jjtc.com/Steganography/tools.html

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

Как происходят атаки на безопасность и шифрование

Мы с вами сейчас прилично поговорили о шифровании, и это фантастический инструмент для приватности, безопасности и анонимности. По факту, я бы сказал, что шифрование - это один из тех инструментов, имеющихся в безопасности, который реально работает. И поскольку он эффективен, злоумышленники будут избегать прямой атаки на шифрование в большинстве случаев. Они будут пытаться обойти его полностью. Злоумышленники, которые понимают, что они делают, будут всегда, всегда атаковать самые слабые места. Все, что они смогут сделать – это найти слабые места. Они никогда не будут пытаться забрутфорсить пароль от вашего зашифрованного диска, если гораздо легче сначала попробовать установить кейлоггер на вашу систему, или подсмотреть его за вашим плечом, или отправить вам фишинговое электронное письмо.

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

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

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

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

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

https://www.schneier.com/essays/archives/1998/01/security_pitfalls_in.html

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

Настройка тестовой среды с использованием виртуальных машин

Целью этого раздела является настройка тестовой среды с использованием VMware или VirtualBox. Эти виртуальные среды для тестирования должны быть использованы на протяжении курса для установки операционных систем и программного обеспечения, так чтобы вы могли на практике применять получаемые знания и наилучшим образом ускоренно усваивали материал и запоминали еще больше посредством применения того, что изучаете.

Введение в настройку тестовой среды с использованием виртуальных машин

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

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

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

Здесь у меня VirtualBox, это гипервизор, и на нем запущена отдельная операционная система, но можно запустить и несколько операционных систем, можете увидеть, что в нем запущена Windows 7, и сам гипервизор стоит на Windows 7. Здесь у нас отличная виртуальная среда внутри другой среды. Мой компьютер - это хост, а это называется гостевой операционной системой.

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

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

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

Есть множество различного программного обеспечения для виртуализации. Два реально крупных - это VMware и VirtualBox, и у меня стоит здесь, как вы видели, VirtualBox, а рядом с ним - так выглядит VMware, очень похожи, очень. А это десктопная виртуализация, собственно говоря, это VMware Workstation 12 Player. Но есть и другие, такие программы как Vagrant, Hyper-V, VPC, но я бы рекомендовал именно VMware или VirtualBox для того, чтобы настроить тестовую среду и экспериментировать в ней с конфигурациями и настройками.

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

https://en.wikipedia.org/wiki/Comparison_of_platform_virtualization_software

https://en.wikipedia.org/wiki/Hypervisor

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

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

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

Другой способ - это использование виртуального CD. И я покажу вам пример, как это сделать.

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

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

https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/

Если вам нужны, например, машины под Windows, то вот отличный ресурс с операционными системами Windows. Здесь вы можете загрузить виртуальные машины, здесь есть XP, Vista, Windows 7, Windows 10. Это тестовые версии, но именно для этого они нам и нужны, для тестирования.

Можем выбрать машину, выбираем платформу, скажем, VirtualBox, скачиваем и получаем виртуальный образ. В результате получаем что-то типа, это VM-версия, это версия VirtualBox, в результате получаем что-то типа этого.

Большой файл, смотрите, он весит 4 гига, это виртуальный диск, и вы можете сразу же его запустить, именно это я и сделал здесь ранее. Я скачал его и запустил, это тот файл, который я запустил. Это Windows 7, работающая в VirtualBox из того файла.

Очень быстро, очень круто, очень легко. Просто скачиваешь его, и он готов к использованию. Итак, это операционная среда Windows, но вы можете установить и Linux, и все другие операционные системы также.

www.osboxes.org/vmware-images/

www.osboxes.org/virtualbox-images/

Для Linux и популярных операционных систем на базе Linux вы можете проследовать на этот сайт, osboxes.org. Здесь есть образы VMware. Для VirtualBox меняем ссылку, сайт все тот же, другой URL, и если мы спустимся ниже, то увидим все популярные операционные системы Linux, Arch Linux, вот например, нажмем, прокрутим вниз, и здесь есть варианты, вариант с VirtualBox, вариант с VMware, 32-х или 64-х битные версии.

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

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

Следующая ссылка для VMware. Здесь вы можете найти так называемые виртуальные устройства, опять же, это VMware-образы, вы можете скачать их и это будет, знаете, что-то типа устройства под Ubuntu. Ubuntu - это операционная система на базе ядра Linux.

Пара полезных ссылок: virtualmachine.org Можете изучить, что здесь есть.

https://solutionexchange.vmware.com/store/category_groups/virtualappliances

Еще одна: virtualboxes.org Можете поискать здесь образы.

Теперь, конечно, вспомните... хотя о чем это я, я еще не говорил об этом, в общем, вам не стоит доверять этим средам. Некая сторона разработала эти виртуальные среды, так что вы не можете доверять им. Но мы здесь не используем их для доверия, мы используем их для тестирования и экспериментов.

virtual-machine.org

virtualboxes.org/images/

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

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