Pull to refresh
1210
0.5

Пользователь

Send message

Исследуем «Ревизор» Роскомнадзора

Reading time17 min
Views177K
ФСБшник хороший
Aqua Mine
Ревизор — программно±аппаратный комплекс для мониторинга доступа к сайтам из реестра со стороны провайдеров — берет свое начало в октябре 2015 года, когда компания «МФИ Софт», та же компания, что сделала СОРМы, выиграла тендер на разработку ПО за 84 миллиона рублей. Согласно условиям тендера, разработчик должен был предоставить работоспособное ПО под Windows и Linux и 700 аппаратных «Агентов» в срок до 14.12.2015, всего через 2.5 месяца, и, похоже, все было готово даже на пару недель раньше дедлайна. Провайдерам в добровольно-принудительном порядке уже в начале декабря предлагалось установить один из трех вариантов Ревизора: в виде образа виртуальной машины VMWare, основанной на OpenWRT 14.07, в виде программы-сервиса под Windows, либо же в виде железного «Агента», который представлял из себя маршрутизатор TP-Link MR3020 с установленным на него OpenWRT и необходимым ПО. Многие провайдеры отказывались от установки комплекса из-за того, что он не сертифицирован, а использоваться будет только им во вред, а другим устройств просто не досталось, и им пришлось установить софтовую версию.

Итак, у меня в руках последняя версия VMWare-образа и exe-файла Ревизора. Давайте же посмотрим, что внутри!
image
Читать дальше →
Total votes 191: ↑191 and ↓0+191
Comments292

Ускоряем OpenVPN за $9.99* или встраиваем Orange Pi One в роутер

Reading time7 min
Views46K
image

Некоторые из нас не пользуются интернетом без VPN по тем или иным причинам: кому-то нужен выделенный IP, и проще и дешевле купить VPS с двумя IP, чем покупать адрес у провайдера, кто-то хочет получать доступ ко всем веб-сайтам, а не только разрешенным на территории РФ, третьим нужен IPv6, а провайдер его не предоставляет…
Чаще всего VPN-соединение устанавливают на самом устройстве, которое используется в определенный момент, что вполне оправданно, если у вас только один компьютер и один телефон, и вы их редко используете одновременно. Если же в вашей домашней сети множество устройств, или, например, есть такие, на которых VPN настроить нельзя, было бы удобнее поднимать туннель прямо на домашнем роутере, чтобы не задумываться о настройке каждого устройства по отдельности.

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

Мой роутер, TP-Link TL-WDR4300, нельзя назвать новым — модель появилась в середине 2012 года, и обладает 560 МГц-процессором архитектуры MIPS32 74Kc, мощности которого хватает лишь на 20-23 Мб/с шифрованного трафика через OpenVPN, что по меркам скорости современного домашнего интернета совсем немного.
Как бы нам повысить скорость шифрованного туннеля? Мой роутер довольно функциональный, поддерживает 3x3 MIMO, да и вообще, хорошо работает, не хотелось бы его менять.
Так как сейчас принято делать 10-мегабайтные интернет-страницы, писать десктопные приложения на node.js и паковать их в 100-мегабайтный файл, наращивать вычислительные мощности вместо оптимизации, мы совершим нечто ужасное — переложим VPN-подключение на производительный одноплатный «компьютер» Orange Pi One, который установим в корпус роутера, не занимая существующие сетевые и USB-порты, всего за $9.99*!
* + доставка, + налоги, + на пиво, + MicroSD.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments72

Уязвимость DROWN в SSLv2 позволяет дешифровать TLS-трафик

Reading time4 min
Views17K
image

SSLv2, протокол шифрования от Netscape, вышедший в 1995 году и потерявший актуальность уже в 1996, казалось бы, в 2016 году должен быть отключен во всем ПО, использующем SSL/TLS-шифрование, особенно после уязвимостей POODLE в SSLv3, позволяющей дешифровать 1 байт за 256 запросов, и FREAK, связанной с ослабленными (экспортными) версиями шифров.

И если клиентское ПО (например, браузеры) давно не поддерживает подключения по протоколу SSLv2, и, с недавнего времени, и SSLv3, то с серверным ПО не все так однозначно.

Группа исследователей из Тель-Авивского университета, Мюнстенского университета прикладных наук, Рурского университета в Бохуме, Университета Пенсильвании, Мичиганского университета, Two Sigma, Google, проекта Hashcat и OpenSSL обнаружили уязвимость под названием DROWN — Decrypting RSA using Obsolete and Weakened eNcryption, которая позволяет дешифровать TLS-трафик клиента, если на серверной стороне не отключена поддержка протокола SSLv2 во всех серверах, оперирующих одним и тем же приватным ключом.

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

Почему это возможно?

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

Общий вариант атаки эксплуатирует уязвимость в экспортных шифрах SSLv2, использующие 40-битные ключи RSA.
Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments5

Shodan собирал IPv6-адреса NTP-клиентов и сканировал их в ответ

Reading time2 min
Views21K
Одним из преимуществ IPv6 является отсутствие необходимости NAT из-за большого количества адресов в целом и длины выдаваемых пользователям подсетей в частности. Казалось бы, никто просто так не подключится к какому-нибудь одноплатнику, который вы только-только подключили в домашнюю сеть с поддержкой IPv6. Никто же, в здравом уме, не будет сканировать всю вашу подсеть. Если весь IPv4-интернет можно просканировать в течение десятков минут, то на полное сканирование одной только /64 (минимальная подсеть, рекомендуемая к выдаче клиентам) уйдут десятки тысяч лет. К тому же, если каким-то образом злоумышленник узнал ваш IPv6-адрес, всегда можно активировать поддержку IPv6 Privacy Extensions, с которыми ваш адрес будет рандомизироваться раз в сутки или чаще.
Казалось бы, вероятность сканирования вашего одноплатника, который не обращается к внешним ресурсам, крайне низка. Однако, есть одна вещь, которая настроена почти на каждом компьютере — периодическая синхронизация времени через NTP.

NTP

Подавляющее большинство дистрибутивов Linux устанавливаются с настроенной автоматической синхронизацией времени через NTP, используя серверы pool.ntp.org. Как оказалось, стать частью pool.ntp.org достаточно просто, чем и воспользовались Shodan, задействовав 5 NTP-серверов в разных частях света, для верности используя несколько IP-адресов на одном сервере, чтобы вероятность попадания запроса клиента именно на их сервер была выше. Таким образом, в пуле ntp.org оказалось 45 IPv6-адресов машин Shodan, которые сканируют любой подключающийся к ним IPv6-адрес в ответ.
Обнаружил факт сканирования и вычислил все серверы Shodan Brad Hein. Вычислить все сканирующие NTP-серверы вручную достаточно сложно, т.к. NTP-демон обращается ко многим NTP-серверам последовательно для более точной синхронизации времени. Для автоматизации процесса был написан скрипт, который обрабатывает журнал файрволла и соединяется с подозрительными хостами еще раз, чтобы удостовериться, что они действительно сканируют в ответ, используя свежий временный IPv6-адрес.
Подтвердить принадлежность хостов к Shodan было довольно легко — почти все серверы использовали настоящие имена хостов в PTR-записи, вида *.scan6.shodan.io

На данный момент, серверы Shodan исключили из пула ntp.org.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments11

Регистраторы приостановили действие доменов Rutor и большинства The Pirate Bay

Reading time2 min
Views38K
Как сообщает TorrentFreak, сегодня утром крупнейший немодерируемый торрент-трекер The Pirate Bay потерял все свои «головы гидры» — множество доменов, которые администраторы зарегистрировали в том случае, если действие основного домена thepiratebay.se приостановят вследствие его конфискации по решению шведского суда.

Случилось, однако, прямо противоположное: доменные имена в зонах .LA, .GD, .MN, .VG, .FM, .SH, .MU и .TW были поставлены в состояние «clienthold», что делает их неработоспособными для пользователей.

Досталось и крупному российскому трекеру rutor.org, домен которого был зарегистрирован у шведского регистратора prq.se.

На данный момент The Pirate Bay доступен по своему старому домену в зоне .se, а зайти на rutor можно только используя специальные средства, такие как АнтиЗапрет и AntiCenz.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments67

Еще одна «критическая» «уязвимость» «VPN» и почему Port Fail — ерунда

Reading time7 min
Views44K
Утро 26 ноября началось для меня с интересной новости — ребята из Perfect Privacy опубликовали информацию об уязвимости Port Fail, которая позволяет раскрывать IP-адрес клиентов VPN-сервисов с функцией проброса портов. Я немного понегодовал из-за того, что ее назвали уязвимостью, т.к. это никакая не уязвимость, а особенность маршрутизации: трафик до IP-адреса VPN-сервера всегда идет напрямую, в обход VPN. Вполне очевидная вещь, подумал я, о которой должен знать любой сетевой администратор. Заметка вменяемая и технически грамотная, придраться можно только к слову vulnerability (уязвимость). Но потом за дело взялись СМИ, и пошло-поехало…

image

Критическая уязвимость во всех протоколах VPN на всех операционных системах. У-у-у, как страшно!

В новости, опубликованной на Geektimes, изначально имевшей желтый заголовок, было сказано о награде в $5000 за найденную «уязвимость» от Private Internet Access — одного из крупнейших VPN-сервисов. «$5000 за типичную, совершенно очевидную любому сетевику вещь?» — подумал я — «Невероятно!», и высказал свое негодование по этому поводу в комментариях, попутно расписав еще одну, не менее очевидную, особенность маршрутизации, с которой сталкивался любой настраивавший работу двух и более интернет-провайдеров на одном компьютере: ответ на входящий запрос не обязательно уйдет через этого же провайдера и с этим же IP, чего запросившая сторона совсем не ожидает. Если мы представим, что вместо второго провайдера у нас VPN-соединение, то отправив запрос на IP-адрес нашего провайдера, при определенных условиях может получиться так, что ответ на наш запрос мы получим с IP VPN-сервера.

image
Читать дальше →
Total votes 71: ↑66 and ↓5+61
Comments9

Казахстан внедряет свой CA для прослушивания всего TLS-трафика

Reading time2 min
Views105K
Государственный провайдер Казахтелеком, в связи с нововведениями закона Республики Казахстан «О связи», намерен с 1 января 2016 года прослушивать весь зашифрованный TLS-трафик, подменяя сертификаты сайтов национальным сертификатом безопасности, выпущенным Комитетом связи, информатизации и информации Министерства по инвестициям и развитию Республики Казахстан.
Чтобы пользователи не пугались сообщений о подмене сертификата, АО «Казахтелеком» намерен чуть позже в декабре выпустить подробную пошаговую инструкцию по добавлению его в ключницы в мобильные телефоны и планшеты на базе iOS и Android, персональные компьютеры и ноутбуки на базе Windows и MacOS, на сайте www.telecom.kz
Согласно Закону операторы связи обязаны осуществлять пропуск трафика с использованием протоколов, поддерживающих шифрование, с применением сертификата безопасности, за исключением трафика, шифрованного средствами криптографической защиты информации на территории Республики Казахстан.

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

По словам Управляющего директора по инновациям АО «Казахтелеком» Нурлана Мейрманова, пользователям сети Интернет необходимо установить национальный сертификат безопасности, который будет доступен через Интернет-ресурсы АО «Казахтелеком». «Пользователю необходимо зайти на сайт www.telecom.kz и установить на своих устройствах выхода в сеть Интернет данный сертификат, следуя пошаговой инструкции по установке» — подчеркнул Н. Мейрманов.
Читать дальше →
Total votes 68: ↑67 and ↓1+66
Comments174

Turris Omnia — мощный, открытый и безопасный домашний роутер

Reading time2 min
Views33K
Turris Omnia

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

Чешские ребята из CZ.NIC, что подарили миру замечательный демон маршрутизации BIRD, который используется, в том числе, в Московской точке обмена трафиком MSK-IX, DNS-сервер Knot DNS, продвигали DNSSEC с момента его появления и одними из первых запустили интернационализованные доменные имена, решили, что пора всему этому положить конец — нужно сделать достаточно мощный домашний роутер, который бы не захлебывался от гигабитного трафика, с большим количеством ROM и RAM, чтобы на нем можно было запускать все необходимое ПО, в том числе и LXC и Docker-контейнеры с полноценными ОС, который придерживался бы принципов Open Source и Open Hardware и обновлялся автоматически, без участия человека, как только разработчики закрывают уязвимости. Более того, авторы поддерживают honeypot, который симулирует роутеры с уязвимостями, на своих серверах, чтобы отслеживать последние угрозы.


замечательное видео, доходчиво объясняющее все преимущества устройства
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments56

Изолируем демоны с systemd или «вам не нужен Docker для этого!»

Reading time9 min
Views50K
В последнее время я вижу, как довольно большое количество людей применяет контейнерную виртуализацию только для того, чтобы запереть потенциально небезопасное приложение внутри контейнера. Как правило, используют для этого Docker из-за его распространенности, и не знают ничего лучше. Действительно, многие демоны первоначально запускаются от имени root, а далее либо понижают свои привилегии, либо master-процесс порождает обрабатывающие процессы с пониженными привилегиями. А есть и такие, которые работают исключительно от root. Если в демоне обнаружат уязвимость, которая позволяет получить доступ с максимальными привилегиями, будет не очень приятно обнаружить злоумышленников, уже успевших скачать все данные и оставить вирусов.
Контейнеризация, предоставляемая Docker и другим подобным ПО, действительно спасает от этой проблемы, но также и привносит новые: необходимо создавать контейнер для каждого демона, заботиться о сохранности измененных файлов, обновлять базовый образ, да и сами контейнеры часто основаны на разных ОС, которые необходимо хранить на диске, хотя они вам, в общем-то, и не особо нужны. Что делать, если вам не нужны контейнеры как таковые, в Docker Hub приложение собрано не так, как нужно вам, да и версия устарела, SELinux и AppArmor кажутся вам слишком сложными, а вам бы хотелось запускать его в вашем окружении, но используя такую же изоляцию, которую использует Docker?

Capabilities

В чем отличие обычного пользователя от root? Почему root может управлять сетью, загружать модули ядра, монтировать файловые системы, убивать процессы любых пользователей, а обычный пользователь лишен таких возможностей? Все дело в capabilities — средстве для управления привилегиями. Все эти привилегии даются пользователю с UID 0 (т.е. root) по умолчанию, а у обычного пользователя нет ни одного из них. Привилегии можно как дать, так и отобрать. Так, например, привычная команда ping требует создания RAW-сокета, что невозможно сделать от имени обычного пользователя. Исторически, на ping ставили SUID-флаг, который просто запускал программу от имени суперпользователя, но сейчас все современные дистрибутивы выставляют CAP_NET_RAW capability, которая позволяет запускать ping из-под любого аккаунта.
Получить список установленных capabilities файла можно командой getcap из состава libcap.
% getcap $(which ping)
/usr/bin/ping = cap_net_raw+ep

Флаг p здесь означает permitted, т.е. у приложения есть возможность использовать заданную capability, e значит effective — приложение будет ее использовать, и есть еще флаг iinheritable, что дает возможность сохранять список capabilities при вызове функции execve().
Capabilities можно задать как на уровне ФС, так и просто у отдельного потока программы. Получить capability, которая не была доступна с момента запуска, нельзя, т.е. привилегии можно только понижать, но не повышать.
Также существуют биты безопасности (Secure Bits), их три: KEEP_CAPS позволяет сохранить capability при вызове setuid, NO_SETUID_FIXUP отключает перенастройку capability при вызове setuid, и NOROOT запрещает выдачу дополнительных привилегий при запуске suid-программ.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments34

Избавляемся от DNS Leak в Windows 10 — свой userspace WFP-фильтр в виде OpenVPN-плагина

Reading time2 min
Views36K
Как вы уже можете знать, резолвер DNS в Windows 10 отправляет DNS-запросы на все интерфейсы параллельно, что часто бывает либо просто неудобно, когда используется так называемый Split Tunneling и DNS внутри VPN-туннеля отдает внутренние адреса для внутренних ресурсов, а Windows не может понять, что к чему, либо и вовсе создает угрозу безопасности, как в случае утечки DNS через публичный Wi-Fi.

Решить проблему можно разными способами, например, временно добавив правила firewall для блокировки 53 порта на всех интерфейсах, кроме интерфейса VPN, либо установить на всех интерфейсах, кроме VPN, DNS в 127.0.0.1.

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

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

Читать дальше →
Total votes 35: ↑34 and ↓1+33
Comments4

Сравнение тарифов на мобильный интернет в разных регионах

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

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

Хотелось бы иметь какую-то SIM и для поездок, и для повседневного использования, где был бы максимально дешевый трафик, но какого оператора и какой тариф/пакет выбрать? Это я и попытался узнать. Как вы понимаете, SIM все время будет использоваться вне домашнего региона, поэтому данное сравнение не претендует на полноту, т.к. я рассматривал только те опции, которые интересовали меня. Следует отметить, что звонки и СМС меня не интересовали совсем — я не звоню и мне не звонят.

Мегафон


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


Читать дальше →
Total votes 34: ↑25 and ↓9+16
Comments45

Особенности резолвера DNS в Windows 10 и DNS Leak

Reading time3 min
Views112K
image

TL;DR: DNS-резолвер в Windows 10 отправляет запросы на все известные системе адреса DNS-серверов параллельно, привязывая запрос к интерфейсу, и использует тот ответ, который пришел быстрее. В случае, если вы используете DNS-сервер из локального сегмента, такое поведение позволяет вашему провайдеру или злоумышленнику с Wi-Fi-точкой подменять записи DNS, даже если вы используете VPN.

Современные версии Windows добавляют головные боли активным пользователям VPN. DNS-резолвер до Windows 7 включительно имел предсказуемое поведение, совершая запросы к DNS-серверам в порядке очереди и приоритета DNS-серверов, в общем-то, как и все остальные ОС. Это создавало так называемый DNS Leak (утечка DNS-запроса через внешний интерфейс при подключенном VPN) только в том случае, если DNS-сервер внутри VPN-туннеля не ответил вовремя, или ответил ошибкой, и, в целом, не являлось такой уж вопиющей проблемой.
Читать дальше →
Total votes 64: ↑61 and ↓3+58
Comments65

Определяем пользователей VPN (и их настройки!) и прокси со стороны сайта

Reading time6 min
Views168K
W.I.T.C.H.
We can save the day from dark, from bad
There's no one we need


Многие из вас используют VPN или прокси в повседневной жизни. Кто-то использует его постоянно, получая доступ к заблокированным на государственном или корпоративном уровне ресурсам, многие используют его изредка, для обхода ограничений по географическому положению. Как вы можете знать, крупные интернет-игроки в сфере стриминга видео, музыки и продажи игр никогда не любили пользователей, которые легко обходят географические ограничения, разблокируя недоступный в их стране контент, или совершая покупки заметно дешевле. За примерами не нужно далеко ходить: Netflix изменил свое соглашение об использовании, добавив пункт о блокировке VPN, всего 2 месяца назад; Hulu тоже грешил блокировкой пользователей, а Steam вообще подозрительно смотрит на не-русскоязычных пользователей из России. В последнее время, компании пытаются блокировать уже не конкретных пользователей, а сами IP-адреса VPN-сервисов, создавая определенные неудобства уже самому VPN-сервису и его пользователям. Похоже, они не используют никаких спецсредств, а блокируют выборочно и вручную. Хоть я и не поддерживаю какие-либо блокировки вообще, меня заинтересовала техническая часть вопроса: можно ли как-то определить использование прокси-серверов и VPN со стороны сервера, не прикладывая особых усилий?
Можно, при определенных условиях. И достаточно точно.
Читать дальше →
Total votes 53: ↑49 and ↓4+45
Comments84

RC4 NOMORE: взламываем RC4-поток за десятки часов в TLS и WPA-TKIP

Reading time2 min
Views13K
Исследователи Mathy Vanhoef и Frank Piessens из iMinds-DistriNet и KU Leuven обнаружили опасную уязвимость в устаревшем, но все еще широко применяемом потоковом шифре RC4. В случае с веб-сайтами, уязвимость позволяет дешифровать часть зашифрованного HTTPS-потока (например, сессионный идентификатор, передающийся в Cookie) за десятки часов. Для реализации уязвимости необходимо применять MiTM-атаку, прослушивать и сохранять зашифрованный трафик, а также иметь возможность выполнять большое количество запросов от имени жертвы (как было и в случае POODLE), что проще всего достингуть, если внедрять жертве специальный скрипт на HTTP-страницы других сайтов, генерирующий большое количество запросов на интересующий хакера сайт. Кроме того, злоумышленнику необходимо каким-то образом узнать или установить свое значение Cookie, которое бы располагалось близко к искомому значению в передаваемом трафике.

В ходе исследования было выяснено, что для совершения атаки на дешифрование типичного значения сессии из 16 символов требуется около 75 часов активной атаки, после которой получить искомое значение можно в 94% случаев.

Ребята улучшили старую атаку от AlFardan, которая основывается на построении и использовании разброса распределений исследователей из Cisco Fluhrer и McGrew, добавив вариант распределения японских исследователей Takanori Isobe, Toshihiro Ohigashi, Yuhei Watanabe, Masakatu Morii, и скомбинировав их. Текст около искомого Cookie требуется для нахождения Байесовской вероятности.

Если атаку на HTTPS организовать достаточно проблематично, то, в случае с Wi-Fi, цифры более реальные: требуется всего 1 час активной атаки на сеть, после которой получается дешифровать используемый временной ключ, используемый для передачи Unicast-трафика (pairwise transient key, PTK). Атака сильно упрощается за счет наличия криптографически слабой проверки подлинности в TKIP-фреймах. Примечательно, что точки должны периодически (как правило, каждый час) менять этот ключ, однако большинство точек обновляют только ключ, который используется для передачи Broadcast-трафика — groupwise transient key (GTK). В любом случае, уязвимы даже правильно работающие точки, т.к. атака занимает чуть меньше времени, чем требуется для обновления ключа.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments5

«Й» вам не «и» краткое! О важности нормализации Unicode

Reading time3 min
Views53K
й

За последние полгода интернет просто наводнила «буква» «й». Я встречал ее на новостных сайтах, в мессенджерах, на хабрахабре и geektimes. «О чем вообще речь?» — спросите вы — «Я вижу обычную букву й!». Вам повезло. Я вижу ее так:
image
image
image
image
image
Если вы из тех счастливчиков, у кого буква «й» выглядит так же, как и «настоящая» «й», вот вам фокус: скопируйте ее (букву «й») в блокнот, поставьте курсор в конец буквы и нажмите backspace. Магия, отвал башки просто!
Как же так получается?

Графемы, глифы, code points, компоновка и байты

Очень краткое введение:
Графема — то, что мы привыкли называть буквой в смысле единицы текста. Глиф является единицей графики, и может графически представлять саму графему или же ее часть (например, различные диакритические знаки: ударения, умляуты, надстрочное двоеточие у буквы ё и т.д.).
Code Point — то, как записывается текст в представлении Unicode. Одна графема может записываться разными code points.
Code Points кодируются различным байтовым представлением в зависимости от стандарта: UTF-8, UTF-16, UTF-32, BE, LE…
Языки программирования, как правило, работают с code points; для нас, людей, привычно мыслить глифами.

Давайте же наконец разберемся с нашей буквой й. Что же в ней такого особенного?
Эта буква представляет из себя одну графему («и» краткое), но записана она двумя code points:
U+000438 CYRILLIC SMALL LETTER I
U+000306 COMBINING BREVE

Если вы проделали фокус с нажатием backspace, вы как раз и стерли COMBINING BREVE, или, говоря полиграфическим языком, значок краткости над гласной.

Обычная буква «и» краткое, которую мы все с вами привыкли набирать клавиатурой, представляет из себя композитный символ, который записывается одним code point:
U+000439 CYRILLIC SMALL LETTER SHORT I
Читать дальше →
Total votes 100: ↑97 and ↓3+94
Comments125

Шифруем и перешифровываем LUKS без потери данных

Reading time3 min
Views35K

Введение

Если вы когда-либо задумывались о шифровании данных на дисках уже после того, как у вас накопилось их приличное количество, вы, вероятно, расстраивались, прочитав о необходимости переноса данных перед созданием шифрованного раздела и после. Перенос 500 ГБ туда и обратно не представляет никакой особой трудности, такой объем можно временно загрузить даже в облако, но если речь идет о шифровании 6 винчестеров по 4 ТБ каждый, задача заметно усложняется. По какой-то причине, возможность шифрования и перешифровывания томов LUKS без потери данных (in-place re-encryption) слабо освещена в интернете, хотя для этого есть две утилиты: cryptsetup-reencrypt, входящая в состав cryptsetup с 2012 года, и сторонняя luksipc, появившаяся на год раньше. Обе утилиты выполняют, в общем-то, одно и то же — шифруют раздел, если он не был шифрован, либо перешифровывают уже существующий с другими параметрами. Для своих нужд я воспользовался первой, официальной.

Как это работает?

Предположим, у вас типичная разметка диска: один раздел, начинается с 1 МиБ (выравнивание для 4КиБ-секторов), заканчивается в конце диска.
image

Заголовок LUKS располагается в начале, перед зашифрованными данными. Для заголовка требуется минимум 2056 512-байтных секторов, т.е. чуть больше 1МиБ. Места перед началом раздела нам явно недостаточно, поэтому сначала нужно уменьшить размер файловой системы с ее конца, чтобы cryptsetup-reencrypt перенес блоки правее, в конец диска, освободив таким образом место в начале раздела для LUKS-заголовка. Конечный размер заголовка зависит от длины ключа, количества слотов для парольных фраз и прочих параметров, поэтому я рекомендую быть рачительным и отвести под заголовок 4 МиБ.
image
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments16

HiDPI в Linux

Reading time4 min
Views69K
HiDPI
Aqua Mine

Введение

После многолетнего доминирования дисплеев с высокой плотностью пикселей на мобильных устройствах, данная тенденция наконец-то дошла и до лаптопов с десктопами. По моему мнению, производители не ставили HiDPI-матрицы в основном из-за слабой поддержки DPI, отличных от 96, в Windows. К счастью, ситуация заметно улучшилась с выходом Windows 8 с Modern UI, хотя в десктопном режиме все еще далеко не идеальная — люди до сих пор жалуются на 3200×1800 при 13.3" в лаптопах и сомневаются о покупке 4K UHD 23.8"-монитора.

DPI и Linux

Возможность установки произвольного значения DPI появилась еще во времена Xfree86, но следует понимать, что это просто значение, которое ничего не делает само по себе. Его считывают и используют программы и компоненты, которые и принимают решение, каким образом отразить изменение DPI на экране. Если текст следует установленному значению DPI в 95% случаев (спасибо xft!), то размер элементов зависит от используемого окружения рабочего стола и тулкитов, на которых написаны приложения.

GTK+ 3-приложения поддерживают как целочисленный скейлинг элементов и дробный скейлинг шрифтов, так и изменение DPI на лету, без перезапуска приложений. Скейлингом элементов управляет переменная окружения GDK_SCALE, а скейлингом шрифтов — GDK_DPI_SCALE.
По умолчанию, шрифты скейлятся вместе с элементами. Таким образом, при DPI 96 и GDK_SCALE=2, вы получите шрифт, словно он с DPI 192. Чтобы отменить скейлинг шрифтов, достаточно установить переменную окружения GDK_DPI_SCALE в 0.5 (для GDK_SCALE=2).
Qt4 не умеет скейлить элементы. Для применения нового значения DPI требуется перезапуск приложения.
Qt5, начиная с версии 5.4, поддерживает целочисленный скейлинг элементов через переменную окружения QT_DEVICE_PIXEL_RATIO. DPI менять на лету нельзя, как и в Qt4, но работы в этом направлении ведутся и будут доступны с релизом Qt 5.6, как и скейлинг на каждый монитор отдельно.
WxWidgets-приложения ведут себя так же, как GTK+ 3, только не поддерживают скейлинг элементов.

Я попытался выяснить, какие DE можно комфортно использовать с HiDPI-мониторами. Тестирование проводилось на лаптопе с 12.5" 1366×768 (125 DPI) с подключенным внешним 23.8"-монитором с разрешением 3840×2160 (185 DPI).
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments58

VPN-расширение Hola продает пользовательский трафик и содержит уязвимости удаленного выполнения кода

Reading time2 min
Views173K
4 дня назад администратор борды 8chan (доска /beast/ которой заблокирована в России) сообщил о DDoS-атаке на сайт, которая выглядела как стократный приток обычных посетителей. Самое большое увеличение нагрузки получил скрипт для постинга post.php (капчи на борде не было); DDoS привел к падению PHP-FPM, под которым выполнялся скрипт. В ходе исследования трафика выяснилось, что для совершения атаки были использованы каналы пользователей с Hola — популярным браузерным расширением для доступа к заблокированным сайтам, пользующееся популярностью как за рубежом, так и в России.

Пользователи расширения, сами того не зная, отдавали свои интернет-каналы дочерней фирме Luminati, которая, по сути, владела более 9 миллионами уникальных выходных нод, за счет расширения и каналов пользователей. Зарабатывают они, судя по всему, очень неплохо: первые 100 гигабайт трафика обходятся клиентам в $20 за гигабайт.

В FAQ проекта не было никаких упоминаний об использовании каналов пользователей, однако в Hola быстро добавили несколько пунктов на этот счет. Теперь, если вы не хотите отдавать свой канал Limunati, вам придется заплатить $5 в месяц.
Архивная версия FAQ
Текущая версия FAQ

После опубликования данной информации администратором 8chan, группа ребят нашла 4 уязвимости в данном расширении:
  • Чтение произвольных файлов до NULL-байта (/file_read.json)
  • Раскрытие уникального идентификатора пользователя (/callback.json)
  • Раскрытие адресов некоторых функций (/procinfo/ps, для последующего обхода ASLR)
  • Удаленное выполнение кода (/vlc_mv.json и /vlc_start.json)
  • Повышение привилегий до SYSTEM под Windows
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments64

Уязвимость в Xamarin для Android: подменяем dll и едим бесплатно

Reading time2 min
Views28K

Введение


Эта история началась еще прошлым летом: мы с друзьями ночью зашли в заведение быстрого питания, которое только-только внедрило мобильное скидочное приложение. Приложение было установлено, бесплатная еда получена, трафик сохранен в .pcap-файл, и, естественно, было желание покопаться в нем, узнать, как оно работает. Программа оказалась написана на C# с использованием мультиплатформенного фреймворка для разработки мобильных приложений Xamarin; в то время apktool не мог правильно собрать измененный apk и завершался с ошибкой. Долгое время я пользовался этим приложением, накапливал баллы, тратил их, иногда натыкаясь на посты о накрутках на форумах, однако, аккаунты накрутчиков довольно быстро банили.

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

image
Измененное название чрезвычайно похоже на настоящее название заведения
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments18

Уязвимость TLS Logjam — FREAK с DH

Reading time4 min
Views16K
image

Исследователи из CNRS, Inria Nancy-Grand Est, Inria Paris-Rocquencourt, Microsoft Research, Johns Hopkins University, University of Michigan и University of Pennsylvania обнаружили новую уязвимость в TLS, схожую с FREAK, но более опасную и применимую в реальной жизни — Logjam. В случае с Logjam, атака производится на сессионные ключи, которые устанавливаются во время обмена про протоколу Диффи-Хеллмана, с целью понижения их криптостойкости до 512-битных. Такие ключи, как показали исследователи FREAK, можно взломать в течение нескольких часов, однако здесь ситуация несколько иная: из-за того, что многое (устаревшее) ПО использует общедоступные статичные DH-группы и одни и те же предопределенные начальные простые числа, существует возможность предварительного выполнения дискретного логарифмирования методом решета числового поля до определенного состояния, которое позволяет быстро, в течение 2 минут, взломать сессионный ключ той DH-группы, для которой было сделано такое вычисление.

Ученые произвели предварительный расчет для двух популярных экспортных DH-групп: первая группа используется в Apache в версиях 2.1.5-2.4.7 и встречается на 7% сайтов из TOP 1M по версии Alexa, а вторая зашита в OpenSSL, еще когда он назывался SSLeay, в 1995 году. Расчет занял неделю для каждой группы, и проводился он с использованием модифицированной версии CADO-NFS.
По заявлению исследователей, предварительный расчет этих двух групп позволяет взламывать до 80% зашифрованных соединений на серверах, которые поддерживают экспортные DH-ключи. Были предложены и продемонстрированы на видео три способа проведения атаки:
  • Оффлайн-дешифрование слабых подключений для серверов, использующих 512-битные DH-ключи по умолчанию, при пассивном прослушивании трафика
  • Понижение стойкости ключей до 512-битных с использованием TLS False Start, путем MiTM-подмены отправляемых на сервер данных о типе DH
  • Понижение стойкости ключей до 512-битных путем MiTM-подмены отправляемых на сервер данных о типе DH, и приостановления соединения до момента взлома ключей
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments4

Information

Rating
1,564-th
Registered
Activity