Как стать автором
Обновить

Шифруем сообщения в сети XMPP/Jabber с помощью PGP

Мессенджеры *
В этой статье я подробно опишу как использовать шифрование при передаче сообщений по сетям на основе XMPP с помощью пакета GnuPG. Показана процедура генерации ключевых пар под Windows, установка ключей в клиент Psi, проверка подписанного присутсвия, передача шифрованного сообщения.

Мотивация


Для чего может понадобится шифрование сообщений?
  1. Так как сеть XMPP федеративная и каждый может основать свой узел, то ставится вопрос доверия администратору данного сервера. Сервер могут сломать, сам админ может подбарижить данными и т.д.
  2. XMPP набирает популярность в качестве внутрикорпоративного обмена. Может быть сервер и не имеет выхода в Интернет, но никто не застрахован от приезда Party-van с маски-шоу внутри
  3. Цифровая подпись повышает надёжность идентификации. То есть вы точно знаете что в данный момент за компьютером сидит именно тот человек, который вам дал ключ, а не тот кто ломанул его аккаунт или воспользовался его отсутсвием его за компьютером

Читать дальше →
Всего голосов 67: ↑66 и ↓1 +65
Просмотры 78K
Комментарии 80

Сравнительное тестирование криптоконтейнеров и шифрованных файловых систем

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

Основные задачи:
— Возможность бекапирования данных в любом виде для аварийного восстановления.
— Исключение доступа к этим данным неавторизованных лиц.
— Невозможность доступа к файлам при аварийном выключении сервера и загрузке с внешнего носителя.
— Прозрачная работа пользователей с файлами и любым содержимым находящемся на сервере.
— OS FreeBSD 7.2 и максимальный простор для фантазии в выборе вариантов реализации.
После энного количества времени сложилась следующая тестовая конфигурация:
GELI — GEOM_ELI (встроенная во FreeBSD подсистема шифрования использующая crypto(9) framework(аппаратное и программное шифрование))
GBDE — GEOM_BDE [Geom Based Disk Encryption] (встроенная во FreeBSD подсистема шифрования)
TrueCrypt — Портированная версия TrueCrypt 6.1a (использует fuse)
cryptofs — cryptofs использующая fuse
encfs — encfs использующая fuse

UPD: Таблица сравнения скоростей чистой и шифрованной файловых систем.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Просмотры 11K
Комментарии 16

Безопасное хранение паролей

Информационная безопасность *Emacs *
Recovery mode
Из песочницы
imageИнтернет прочно вошёл в нашу жизнь. Все мы, даже совсем неблизкие к IT люди, пользуемся большим количеством самых разнообразных сервисов, начиная от почты и заканчивая социальными сетями. Практически все сервисы требуют регистрации. Но для обеспечения безопасности использовать нужно разные пароли, состоящие из многих символов. Ну большинство людей, пользующихся интернетом, знают о требованиях к безопасным паролям. Но тут возникает одна небольшая проблема: как запомнить все эти множества паролей?
Читать дальше →
Всего голосов 53: ↑33 и ↓20 +13
Просмотры 42K
Комментарии 59

ЭЦП в браузере: проблемы, решения, личный опыт

Информационная безопасность *Разработка веб-сайтов *
Из песочницы


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

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

Под катом рассказ о самой проблеме, о том, как эту проблему можно решить, о том, как я ее решал, а также личные впечатления о том, как обстоят дела с ЭЦП в Беларуси.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры 59K
Комментарии 67

davfs2 и encfs на box.com

Настройка Linux *
Из песочницы
Здравствуй хабраменш,

Хочу поделиться с тобой сокровенными знаниями, а также пополнить запасы своих. Так вот, все началось с того, что проект syncany.org умер не родившись, ну или по крайней мере, судя по активности, разродится еще не скоро. Так как сил ждать больше не было, то решил я воспользоваться уже существующими и работающими методами для организации удаленного облачного файлохранилища (в дальнейшем УФХ) с открытым клиентом, а также с шифрацией на стороне клиента. Все что написано дальше имеет отношение к юниксоподобным операционным системам, поэтому пользователям ОС Виндовс дальнейшее изложение можно пропустить.
Читать дальше →
Всего голосов 20: ↑17 и ↓3 +14
Просмотры 16K
Комментарии 15

Безопасен ли Telegram? v2

Информационная безопасность *Мессенджеры *Криптография *
Recovery mode
С момента самого появления Telegram его не критиковал только ленивый. Этим с одинаковым энтузиазмом занимались резиденты Reddit, Hacker News, etc.
Читать дальше →
Всего голосов 93: ↑54 и ↓39 +15
Просмотры 70K
Комментарии 17

Препарируем OpenVPN. Часть 1. Статические ключи

Информационная безопасность *Криптография *Сетевые технологии *

Однажды столкнулся с непонятной ошибкой в установлении OpenVPN соединения и ощутил нехватку понимания того, как он устроен внутри. Под катом рассказ о том, как устроена криптографическая часть протокола, как это всё выглядит в реальности (т.е. в Wireshark) и как заглянуть внутрь VPN, т.е. расшифровать трафик руками (при наличии ключей, конечно ;-) ). В этой части рассмотрим только режим со статическими ключами.


Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 27K
Комментарии 4

Как мы на FPGA AES ускоряли: разработка драйвера

Блог компании НТЦ Метротек Криптография *Разработка под Linux *FPGA *

Недавно мы применили плату Ethond в качестве мини-роутера и запустили на нём OpenVPN.


Но обнаружилось, что процессор часто нагружается на 100%, а скорость не поднимается выше 15-16 Мбит/с. На канале связи 100 мегабит это очень мало, поэтому мы решили ускорить процесс аппаратно.


Ребята из группы FPGA-разработчиков сделали прошивку на базе открытого IP-core для Altera CycloneV с реализацией шифра AES-128, которая умеет шифровать 8 Гбит/сек и дешифровать 700 Мбит/сек. Для сравнения, программа openssl на CPU (ARM Cortex A9) того же CycloneV может обрабатывать лишь около 160 Мбит/сек.


Эта статья посвящена нашему исследованию по применению аппаратного шифрования AES. Мы сжато представим описание криптографической инфраструктуры в Linux и опишем драйвер (исходный код открыт и доступен на github), который осуществляет обмен между FPGA и ядром. Реализация шифрования на FPGA не является темой статьи — мы описываем лишь интерфейс, с которым происходит взаимодействие c акселератором со стороны процессора.


Читать дальше →
Всего голосов 40: ↑40 и ↓0 +40
Просмотры 12K
Комментарии 21

Двухфакторная аутентификация при монтировании зашифрованного раздела LUKS с помощью Yubikey 4

Информационная безопасность *Криптография *
Из песочницы

Часть 3: Yubikey 4 и LUKS




Введение


В статье рассматривается реализация двухфакторной аутентификации с помощью ключа Yubikey 4 для монтирования зашифрованного раздела LUKS.

Процесс реализации двухфакторной аутентификации с помощью ключа Yubikey 4 для монтирования зашифрованного раздела LUKS можно разбить на три части:

1. Подготовка LUKS раздела.
2. Подготовка к использованию ключа Yubikey 4 в операционной системе.
3. Непосредственно использование ключа Yubikey 4 для двухфакторной аутентификации.

Начальные условия:

  • Linux Mint 18 Sarah 64-bit
  • Yubikey 4
Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 15K
Комментарии 21

Neoquest 2018: «Дирижабль? Ага!»

Информационная безопасность *Криптография *CTF *
Недавно закончился CTF NeoQuest 2018. Под катом разбор второй части задания про дирижабль, ZeroNet, регистр сдвига с обратной связью и систему линейных уравнений.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.4K
Комментарии 3

Стойкое шифрование данных в PNG

Криптография *Open source *Python *Обработка изображений *Сжатие данных *
Доброго утра Хабру. Читал вчера статью о хэш-стеганографии через социальные сети, и пришла мне в голову мысль сделать что-то более оптимальное в плане объёма выходных данных. Получилось что-то более-менее работоспособное и даже оптимизированное (в отличие от proof-of-concept romabibi), поэтому, как и обещал, пишу статью.

Что ж, поздороваюсь с вами ещё раз: , и добро пожаловать под кат.
Поехали!
Всего голосов 27: ↑18 и ↓9 +9
Просмотры 11K
Комментарии 24

Установка Debian с корнем на шифрованном ZFS зеркале

*nix *Хранение данных *
Из песочницы

image


Предисловие


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


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


Изучив, какие сейчас имеются ОС для решения данной задачи, я пришёл к выводу, что изо всего многообразия, наиболее развиты, широко используемы и, следовательно, проработаны, FreeNAS на основе FreeBSD и OpenMediaVault на основе Debian, созданный одним из разработчиков FreeNAS.


FreeNAS стабилен, удобен, гибок и вообще хорош, но попытавшись его поставить, вместо FreeBSD bsdinstall, я увидел совершенно урезанный инсталлятор, в котором я могу только выбрать диски и ввести пароль root: даже разметить диски нельзя.
GELI мне понравился больше cryptsetup на Linux, как и BSD-шный parted.
Попытавшись сделать root на шифрованном разделе, я понял, что эта задача нетривиальна, несмотря на то, что они уже используют root на ZFS.
Затем, пообщавшись, с сообществом FreeNAS, которые стали доказывать, что FreeNAS — не ОС, а приложение, я решил установить OMV.


К тому же, Debian — моя основная ОС и с Linux дела обещали быть проще...


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

Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Просмотры 25K
Комментарии 15

HABR coin

Habr

Дорогие Разработчики Хабра,


Прочитав пост об интернационализации Хабра спешу поделиться светлой (как мне кажется) мыслью. Уверен, что я не первый, кто ее в том или ином виде высказывает (ну просто не может такого быть), но сам нигде не натыкался


UPD

Пошел внимательно читать комментарии — и наткнулся на этот (Bumkin)


Мое предложение отвечает на раздел поста "Привлечение инвестиций".


На мой взгляд, Хабру нужна своя криптовалюта


Читать дальше →
Всего голосов 86: ↑53 и ↓33 +20
Просмотры 7.7K
Комментарии 42

Цикл статей: построение защищённого NAS, либо домашнего мини-сервера

Анализ и проектирование систем *IT-инфраструктура **nix *Хранилища данных *DIY или Сделай сам
Recovery mode


Статьи цикла:


  1. Обзор материалов и литературы по NAS. По предложениям пользователей ссылки на материалы будут сведены в отдельную статью.
  2. Выбор железа. Описан один из вариантов выбора железа и дан краткий обзор рынка домашних и офисных NAS систем.
  3. Установка ОС, на которой будет строиться NAS. В отдельной статье описано дополнение, позволяющее отказаться ото всех файловых систем, кроме ZFS.
  4. Проектирование поддерживающей инфраструктуры, которая будет лежать в основе всех сервисов NAS.
  5. Реализация поддерживающей инфраструктуры.
  6. Механизм аварийной удалённой разблокировки. Требуется для того, чтобы разблокировать систему, не имея к ней физического доступа.
  7. Повышение защищённости NAS. Исправление ошибок, допущенных в предыдущих статьях и описание Hardening процесса.
  8. Система контроля версий на базе Git. Установка Gitlab в контейнере.
  9. Система резервного копирования. От регламента до установки ПО, где в качестве примера используется UrBackup.
  10. Персональное облако. Обеспечивает хранение персональных файлов пользователя, обмен файлами между пользователями, а также интеграцию различных сервисов между собой.
  11. Сквозная аутентификация контейнеров.
  12. Управление файлами.
  13. Библиотека.
  14. Мультимедийная система 1: музыка.
  15. Мультимедийная система 2: медиа сервер.
  16. Фронтенд. Интерфейс, позволяющий быстро обращаться к сервисам.
  17. Заметки про управление контейнерами.
Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Просмотры 49K
Комментарии 141

Список статей и литературы про NAS

IT-инфраструктура **nix *Хранение данных *Хранилища данных *DIY или Сделай сам


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


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

Читать дальше →
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 20K
Комментарии 57

Уязвимость генератора псевдослучайных чисел в Bitcoin

Криптовалюты
Из песочницы
Приватные Биткоин-ключи — это целочисленное значение от 1 до 115792089237316195423570985008687907852837564279074904382605163141518161494337 или в HEX 1 до 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141. В главной сети Биткоина существуют адреса начинающиеся на 1: compressed, uncompressed; адреса на 3: SigScript и обратно совместимые с SegWit, а так же нативные SegWit адреса начинающиеся на bc1. К тому же есть уже порядка семидесяти форков, имеющие другие префиксы, но те же корни что и основного Биткоина.

Биткоин-адреса рассчитываются криптографической функцией подписи ECDSA ( ) основанной на эллиптической кривой.
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 37K
Комментарии 12

«Секретики» DPAPI или DPAPI для пентестеров

Информационная безопасность *Тестирование IT-систем *
Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”.

Внимание! Очень много буков!

При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam, но их может быть много. Например, запуск mimikatz для получения пользовательских паролей или сертификатов. Даже если мы сумели «отмазать» его от Касперского, у BlueTeam есть возможность отслеживания с помощью специализированных средств, таких как Sysmon, Microsoft ATA и т.д. В тоже время хотелось бы получить максимум информации со скомпрометированной машины пользователя. В ходе неоднократно проведенных RedTeam кампаний с противодействием настоящим BlueTeam командам мы пришли к выводам, что необходимо в максимально избегать действий, которые могу служить индикаторами компрометации системы. Достигнуть эту цель возможно с помощью использования легальных механизмов и действий, предусмотренных операционной системой для пользователя.

Одним из таких легальных инструментов является механизм DPAPI (Windows Data Protection API), который используется операционной системой и различными приложениями для шифрования чувствительных данных пользователя (прежде всего паролей, криптографических ключей и т.д.) Для конечного пользователя и его приложений DPAPI выглядит предельно просто: есть всего 2 функции – «зашифровать данные» и «расшифровать данные». В данной статье хотелось бы рассмотреть, насколько такой механизм полезен пентестерам при проведении RedTeam кампаний.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 12K
Комментарии 1

«Секретики» DPAPI. Взгляд на осла

Информационная безопасность *Тестирование IT-систем *
В дополнение к нашей прошлой статье про расшифровку DPAPI-блобов расскажем еще о двух случаях, с которыми нам пришлось столкнуться. Речь пойдет о сохраненных паролях в браузерах MS IE11 и Edge.

Стратегия остается прежней – будем все расшифровывать в режиме offline. Для этого необходимо забрать нужные файлы.

В зависимости от операционной системы (Windows 7 или выше) сохраненные пароли следует искать в двух местах:

В случае Windows 7 это ветка реестра

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2

В случае Windows 8 и выше — хранилище Windows Vault.

Так же следует отметить что на Windows 7 пароли http basic авторизации так же хранятся в Windows Vault, так что забрать его не помешает в любом случае.

Ну и по старой доброй традиции — все это конечно же шифруется через DPAPI-механизмы.

Теперь рассмотрим алгоритм расшифровки более подробно.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 3.1K
Комментарии 2

Биржевые токены или как укрепить крипто портфель в 2019

Криптовалюты
Recovery mode
В этом году биржевые токены показали самый высокий ROI относительно рынка и других секторов: инфраструктурных проектов или IoT. Некоторые токены, такие как BTMX или BNB сделали почти 7X (иксов) с начала года, обогнав рост цены Биткоина.

image
https://cryptorank.io/performance

В 2019 году биржевые токены приобрели большую популярность. Практически каждая биржа посчитала нужным выпустить свой токен. CryptoRank отслеживает 53 биржевых токена на текущий момент.


https://cryptorank.io/screener
Читать дальше →
Всего голосов 33: ↑6 и ↓27 -21
Просмотры 5.3K
Комментарии 13

How to Write a Smart Contract with Python on Ontology? Part 1: the Blockchain & Block API

Python *Распределённые системы *Криптовалюты
Из песочницы
image

This is an official tutorial published earlier on Ontology Medium blog
Excited to publish it for Habr readers. Feel free to ask any related questions and suggest a better format for tutorial materials

Foreword


In this article, we will begin to introduce the smart contract API of Ontology. The Ontology’s smart contract API is divided into 7 modules:


In this article, we will introduce the Blockchain & Block API, which is the most basic part of the Ontology smart contract system. The Blockchain API supports basic blockchain query operations, such as obtaining the current block height, whereas the Block API supports basic block query operations, such as querying the number of transactions for a given block.

Let’s get started!

First, create a new contract in SmartX and then follow the instructions below.

1. How to Use Blockchain API


References to smart contract functions are identical to Python’s references. Developers can introduce the appropriate functions as needed. For example, the following statement introduces GetHeight, the function to get the current block height, and GetHeader, the function to get the block header.
Read more →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 2.3K
Комментарии 0
1