Gsm модули для умного дома

Меры защиты

Шифрование загрузочного раздела

  • Самый главный вопрос с подменой кода всё равно остаётся открытым. Только теперь подменять нужно будет загрузчик.
  • Для загрузочного раздела важнее не конфиденциальность данных, а целостность данных. Обычное шифрование LUKS не предоставляет такой гарантии. Некоторая выгода здесь заключается только в том, что на таком зашифрованном разделе трудно сформировать осмысленную подмену.
  • И шифрование LUKS2 с проверкой целостности (dm-integrity) тоже не защищает от вмешательств, потому что оно не даёт гарантий против атак, связанных с повторным воспроизведением секторов. Например, имея дамп такого раздела и конфиг загрузчика на нём, всё равно можно взять и откатить ядро на состояние, скопированное ранее. Это не даёт преимуществ конкретно в вопросе извлечения ключа (разве что если старое ядро было уязвимо и это можно каким-то образом использовать), это скорее довод в пользу бесполезности шифрования загрузочного раздела.

Использование UEFI Secure Boot для полного покрытия загрузочной цепи электронной подписью

PKI

  1. Укрощаем UEFI SecureBoot — первая статья на хабре на эту тему, очень подробная.
  2. Используем Secure Boot в Linux на всю катушку — здесь особенно хорошо написано, почему Secure Boot с установленными сертификатами Microsoft эквивалентен его отсутствию.

Что умеет современный криптотелефон?

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

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

Телефоны, которые нельзя прослушать

Теперь мы вооружились знанием о самых популярных методах прослушки. Как же от них защититься?

СОРМ

От СОРМ защиты, казалось бы, нет. Если вы будете совершать звонок, вы в любом случае передадите данные оператору связи, а тот в любом случае будет обязан предоставить их спецслужбам. Но что, если обойти оператора стороной и подключиться прямо к спутнику? К счастью, это возможно — вы можете купить спутниковый телефон. Звонки со «спутника» на «спутник» либо со «спутника» за границу российские спецслужбы проследить не смогут. А если вы позвоните со «спутника» на обычный стационарный или мобильный телефон, то личность вашего собеседника, может, и будет раскрыта, но ваша — нет.

Такой телефон обойдётся вам в 35–50 тысяч рублей минимум, но у него есть несколько плюсов (с точки зрения анонимности):

  • для покупки сим-карты не требуют документы;
  • номер можно выбрать любой. Большинство россиян выбирают, например, префиксы, схожие с реальными российскими, чтобы было меньше вопросов;
  • отследить такой звонок практически невозможно;
  • связь со спутника идёт с задержкой, а потому голос владельца такого девайса искажается. Так что даже если звонок перехватят ФСБ или другие службы, они вряд ли смогут с помощью фонетической экспертизы уточнить вашу личность.

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

SS7

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

Рассмотрим несколько моделей таких телефонов:

  • TopSec GSM. Этот телефон от немецкой компании представляет собой Siemens S35, усовершенствованный специальным крипто-чипом. Шифрованием можно управлять (точнее, включать и выключать) в меню телефона. Шифрование проводится таким образом, что зашифрованные GSM-пакеты данных воспринимаются сетью как и обычные;
  • HC-2413. Этот телефон обладает более вытянутым корпусом — это неспроста. Внизу у него располагается скремблер, который и отвечает за шифрование звонков. Аппарат использует 128-битный ключ — этого достаточно для защиты от большинства злоумышленников;
  • Sectra Tiger. Этот телефон использует 256-битные ключи для создания защищённого канала связи по GSM. Правда, производитель поставляет его только в промышленных масштабах и только государственным организациям. О выпуске «гражданских» моделей пока не известно.

Троян

Троянское приложение — самый простой способ прослушать вас. К счастью, ему и противостоять проще всего. Здесь даже не требуются дорогостоящие мобильники — обычные старые кнопочные телефоны (не смартфоны) уже надёжно защищены от такого способа прослушки. Разработчики таких приложений обычно выпускают «в мир» готовые версии программ для самых популярных платформ — а именно iOS, Android, Blackberry, Windows Phone. К тому же им требуется выход в интернет для передачи данных. Если ваш телефон к интернет-сети не подключён, то и данные ваши злоумышленник не получит.

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

Зачем шифровать телефон?

Честному человеку скрывать нечего — популярнейшей лейтмотив, который звучит после каждой публикации на тему защиты данных. «Мне скрывать нечего», — говорят многие пользователи. Увы, но гораздо чаще под этим подразумевается всего лишь уверенность в том, что уж в данные конкретного Васи Пупкина никто не потрудится залезть, ибо кому они вообще интересны? Практика показывает, что это не так. Далеко ходить не станем: буквально на прошлой неделе увольнением завершилась карьера школьной учительницы, которая на минутку оставила телефон на столе. Ученики мгновенно разблокировали аппарат и извлекли из него фотографии учительницы в виде, который осуждается пуританской моралью американского общества. Инцидент послужил достаточным основанием для увольнения учительницы. Подобные истории происходят чуть ли не ежедневно.

От кого следует защищать данные телефона:

  1. От случайного человека, который найдет потерянный вами телефон
    л
    ибо от “случайной” кражи телефона.

    Маловероятно, что данные в телефоне будут иметь ценность для нового владельца в этом случае. Поэтому даже простая защита графическим ключом обеспечит сохранность данных. Скорее всего, телефон будет просто-напросто переформатирован для повторного использования.
  2. От любопытных глаз
    (сослуживцы/дети/жены
    ), которые могут получить доступ к телефону без вашего ведома, воспользовавшись вашим отсутствием. Простая защита обеспечит сохранность данных.
  3. Предоставление доступа по принуждению
    Бывает, что вы добровольно вынуждены предоставить телефон и открыть доступ к системме (информации). Например когда у вас просит посмотреть телефон жена, представитель власти либо сотрудник сервисного центра куда вы отнесли телефон на ремонт. В этом случае любая защита бесполезна. Хотя есть возможность с помощью дополнительных программ, скрыть факт наличия некоторой информации: скрыть часть SMS переписки, часть контактов, некоторые файлы.
  4. От целенаправленной кражи вашего телефона.

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

Android 7.0

Хорошо, но уж в Android 7 можно было исправить серьезную проблему флагманского устройства, которой уже почти два года? Можно, и ее исправили! В лаборатории «Элкомсофт» сравнили производительность двух идентичных Nexus 6, на одном из которых была установлена версия Android 6.0.1 с ядром ElementalX (и отключенным шифрованием), в то время как второе работало под управлением первой предварительной версии Android 7 с настройками по умолчанию (шифрование включено). Результат налицо:

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»

Как взламываются незашифрованные телефоны

Не будем углубляться в детали, просто имей в виду: данные с незашифрованного телефона можно извлечь почти в ста процентах случаев. «Почти» здесь относится скорее к случаям, когда телефон попытались физически повредить или уничтожить непосредственно перед снятием данных. Во многих устройствах Android и Windows Phone есть сервисный режим, позволяющий слить все данные из памяти аппарата через обычный USB-кабель. Это касается большинства устройств на платформе Qualcomm (режим HS-USB, работающий даже тогда, когда загрузчик заблокирован), на китайских смартфонах с процессорами MediaTek (MTK), Spreadtrum и Allwinner (если разблокирован загрузчик), а также всех смартфонов производства LG (там вообще удобный сервисный режим, позволяющий слить данные даже с «окирпиченного» устройства).

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

А если шифрование было включено? В старых версиях Android (до 4.4 включительно) и это можно было обойти (за исключением, правда, аппаратов производства Samsung). А вот в Android 5.0 наконец появился режим стойкого шифрования. Но так ли он полезен, как полагает Google? Попробуем разобраться.

Что необходимо учесть перед включением шифрования

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

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

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

Ухудшается производительность:

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

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

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

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

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

Fedora 26¶

Install all needed prerequisites with following command invoked with root’s rights:

dnf install -y \
    gcc-c++ \
    make \
    cmake \
    pkgconfig \
    boost-devel \
    gnuradio-devel \
    libosmocore-devel \
    gr-osmosdr \
    swig \
    doxygen \
    python2-docutils \
    cppunit-devel

Then download the gr-gsm’s source and build it with following commands:

git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
make

and as root:

make install
ldconfig

To speedup compilation instead of «make» you can use parallel build

make -j $nproc

Installation from packages on Debian Testing and Ubuntu 18.04+

Thanks to work of Petter Reinholdtsen gr-gsm has packages for Debian Testing that were subsequently included in Ubuntu starting from 18.04. On these systems gr-gsm can be installed by simply doing:

sudo apt-get install gr-gsm

As of gr-gsm’s version 0.41.2 grgsm_livemon application doesn’t work because of change of PyQT version in current Debian Testing and Ubuntu 18.04. In order to use this program you can generate new version out of «grgsm_livemon.grc»:

wget http://git.osmocom.org/gr-gsm/plain/apps/grgsm_livemon.grc
grcc -d . grgsm_livemon.grc
mv grgsm_livemon.py grgsm_livemon

Compilation and installation with use of Pybombs

The pybombs installation is broken because mainline gr-gsm is not compatible with GNU Radio 3.8 yet.

PybombsGNU RadioGNU Radiogr-gsmGNU Radiopybombsgr-gsmGNU Radiogr-gsmPybombsgr-gsmpybombsgr-gsmgr-gsm

  • head of GNU Radio’s master branch not compiling due to ongoing development,
  • issues in pybombs resulting from intensive changes in the project,
  • small set of distributions on which pybombs is regularly tested (i.e. never ending problems on Kali Linux that is distribution of choice for many of gr-gsm’s users due to some unknown reason).

For installation of pybombs you will need git. On Debian based distributions you can get it with:

sudo apt-get install git python-pip

pybombs

sudo pip install PyBOMBS

Then configure installation prefix (here ~/gr_prefix directory is used — it can be changed to any other path, ‘myprefix’ is the name of the prefix and it also can be changed):

pybombs auto-config
pybombs recipes add-defaults
pybombs prefix init ~/gr_prefix -a myprefix -R gnuradio-default

Then build and install gr-gsm in ‘myprefix’ with following command:

pybombs -p myprefix install gr-gsm

Pybombs will take care of downloading all of required libraries and for installation of GNU Radio and building gr-gsm.

It is required to have approximately 3.5GB of free space in the prefix directory as everything will be built in there.

In order to use gr-gsm installed in the prefix, environment variables (PATH, PYTHONPATH, LD_LIBRARY_PATH, LIBRARY_PATH) need to be set with following command (for bash):source ~/gr_prefix/setupenv.sh

To get the environment variables loaded on every launching of a bash terminal add ‘source ~/gr_prefix/setupenv.sh’ command at the end of a ‘.bashrc’ file:echo ‘source ~/gr_prefix/setupenv.sh’ >> ~/.bashrc

Настройка

1.     Запись телефонных номеров в память прибора

 
Чтобы записать свой номер телефона в память информатора необходимо на номер SIM-карты установленной в прибор отправить SMS-сообщение:
1234U
1234 – пароль SMS (по умолчанию 1234);
U – код команды на установку прибора (латинская буква U);
 
Информатор GSM  поддерживает до 5 номеров для оповещения в случае протечки. Добавить дополнительные номера в телефонную книгу прибора можно отправив SMS-сообщение следующего формата:
1234WpNxxxxxxxxxxx;
1234 – пароль SMS (задается в программе конфигурации);
W – код команды записи телефонного номера(латинская буква W);
р – Позиция на которую будет записываться номер от 1 до 5;
N – разделитель;
xxxxxxxx  — Номер телефона в международном формате записывается без «+».
 

Пример:
1234W2N71234567890
В ячейку 2 телефонной книги прибора будет записан номер «71234567890»

Описание работы:

 
В случае протечки  на ваш мобильный телефон будет отправлено SMS-сообщение «Протечка» с указанием даты и времени отправки сообщения, а затем совершен звонок на первый номер записанный в память прибора.  При этом электропривод перекроет кран в соответствии со штатными функциями системы «Gidroloock».
Так же информатор оповестит вас об отключении электричества (при условии, что подключен аккумулятор).
 
 
 Удаленное управление электроприводами и запрос состояния:

 
С помощью GSM информатора  можно дистанционно закрывать\открывать краны подключенные к «Gidrolock». Для того чтобы закрыть\открыть кран необходимо отправить SMS-сообщения следующего вида:
 
1234V4Y
1234 – пароль SMS;
V – код команды, включение/отключение выходов;
4 – номер управляемого реле
Y – Включение/Отключение Выхода:
       1 – Включить;
       0 – Выключить.

    T – код команды, показывающий на время включения;
     ttt – время на которое нужно включить выход в секундах.

Пример:
1234V41 – кран закрыть
1234V40 – кран открыть
1234V41T10 – закрыть кран на 10 секунд

 
После получения сообщения Прибор проанализирует SMS сообщение и пришлет ответ.

Возможные ответы:
a)   Реле1 ВКЛ – Краны закрыты;
b)   Реле1 ВЫКЛ – Краны открыты;

С помощью GSM информатора «Часовой 1М 3х4 BOX» можно проверить, в каком состоянии находится контролируемый объект. Для этого на номер SIM-карты установленной в прибор необходимо отравить  SMS сообщение следующего вида:
1234S      
1234 — пароль SMS (указывается в программе конфигурации);
S – код команды, запрос состояния объекта. 
 

Android 5.0–6.0

Первым устройством под управлением Android 5.0 стал Google Nexus 6, выпущенный в 2014 году компанией Motorola. В то время уже активно продвигались 64-разрядные мобильные процессоры с архитектурой ARMv8, но у компании Qualcomm не было готового решения на этой платформе. В результате в Nexus 6 был использован набор системной логики Snapdragon 805, основанный на 32-разрядных ядрах собственной разработки Qualcomm.

Почему это важно? Дело в том, что в процессоры на архитектуре ARMv8 встроен набор команд для ускорения потокового шифрования данных, а в 32-битных процессорах ARMv7 таких команд нет. Итак, следи за руками

Инструкций для ускорения крипто в процессоре нет, поэтому Qualcomm встроил в набор системной логики выделенный аппаратный модуль, призванный выполнять те же функции. Но что-то у Google не сложилось. То ли драйверы на момент выпуска не допилили, то ли Qualcomm не предоставил исходные коды (или не разрешил публиковать их в AOSP). Детали публике неизвестны, но известен результат: Nexus 6 шокировал обозревателей чрезвычайно медленной скоростью чтения данных. Насколько медленной? Примерно вот так:

Итак, следи за руками. Инструкций для ускорения крипто в процессоре нет, поэтому Qualcomm встроил в набор системной логики выделенный аппаратный модуль, призванный выполнять те же функции. Но что-то у Google не сложилось. То ли драйверы на момент выпуска не допилили, то ли Qualcomm не предоставил исходные коды (или не разрешил публиковать их в AOSP). Детали публике неизвестны, но известен результат: Nexus 6 шокировал обозревателей чрезвычайно медленной скоростью чтения данных. Насколько медленной? Примерно вот так:

Скорость чтения/записи данных с активированным шифрованием

Причина восьмикратного отставания от «младшего брата», смартфона Motorola Moto X 2014, проста: насильно включенное шифрование, реализованное компанией на программном уровне. В реальной жизни пользователи Nexus 6 на оригинальной версии прошивки жаловались на многочисленные лаги и фризы, заметный нагрев устройства и относительно слабую автономность. Установка ядра, отключающего насильственно активированное шифрование, разом решала эти проблемы.

Впрочем, прошивка — дело такое, ее ведь можно и допилить, не так ли? Особенно если ты Google, располагаешь неограниченными финансами и имеешь в штате самых квалифицированных разработчиков. Что ж, посмотрим, что было дальше.

А потом был Android 5.1 (спустя полгода), в котором нужные драйверы для работы с аппаратным ускорителем сначала добавили в предварительной версии прошивки, а потом снова убрали в финальной из-за серьезных проблем со спящим режимом. Потом был Android 6.0, на момент выхода которого пользователи уже успели потерять интерес к этой игре и стали любыми способами отключать шифрование, пользуясь сторонними ядрами. Или не отключать, если скорости чтения в 25–30 Мбайт/с достаточно.

Debbian-based distributions (Debian Testing, Ubuntu 16.04+, Kali Rolling Edition)¶

Install all needed prerequisites with following command (‘sudo’ is needed on Ubuntu based distributions, on other distributions it should be omitted and commands starting with ‘sudo’ should be executed with superuser rights):

sudo apt-get update && \
sudo apt-get install -y \
    cmake \
    autoconf \
    libtool \
    pkg-config \
    build-essential \
    python-docutils \
    libcppunit-dev \
    swig \
    doxygen \
    liblog4cpp5-dev \
    python-scipy \
    python-gtk2 \
    gnuradio-dev \
    gr-osmosdr \
    libosmocore-dev

Then download the gr-gsm’s source and build it with following commands:

git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
make
sudo make install
sudo ldconfig

To speedup compilation instead of «make» you can use parallel build

make -j $nproc
Добавить комментарий

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

Adblock
detector