Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
1
Добавлен:
20.04.2024
Размер:
13.01 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

 

 

o

 

 

w

 

 

 

c

 

 

 

 

o

 

 

.

 

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

Октябрь 2019

 

df

 

 

n

e

 

 

 

 

 

-x

ha

 

 

 

 

 

 

 

 

 

-x ha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

№ 247

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONTENTS

 

 

 

 

 

 

 

 

 

 

 

MEGANews

Всё новое за последний месяц

Блиц-интервью Омар Ганиев (beched)

о хакерском опыте и участии в CTF

Android Бэкдор в смартфонах Huawei и особенности реaлизации TrustZone в Samsung

Без слежки и закладок Как собрать свой мобильник

и почему сегодня это проще, чем кажется

Call Detail Record Как полиция вычисляет преступников без сложной техники

Фреймворки Выбираем между

для постэксплуатации Metasploit, Cobalt Strike, Merlin,

Apfell, Faction C2, Koadic и другими

Разведка в Active Directory Получаем пользовательские данные в сетях Windows без привилегий

Удаленный аккаунт Новый способ обмануть гарантов сделок в Telegram

В королевстве PWN Обходим DEP и брутфорсим ASLR на виртуалке с Hack The Box

Комбайн для фишинга Как Evilginx 2 используют для кражи аккаунтов

Лазейка в Webmin Как работает бэкдор в панели управления сервером

Четыре с Как устроена

половиной пароля система аутентификации iOS

Справочник анонима Как работают токены аутентификации

и в чем их отличия от паролей

Полезный демон Как перестать бояться

systemd и сделать свой сервис для Linux

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

А мы пойдем в обход Простые рецепты для выборочного

шифрования трафика в Linux

Как сломать яблоко Пошаговая инструкция по джейлбрейку iOS 12

Pre x hijacking Используем RPKI для

борьбы с потерей трафика

Непростой протокол Автоматизируем настройку адресов в IPv6

Стойкий админ Строим отказоустойчивые сети в Linux с keepalived

Печать силой мысли Как работают интерфейсы мозг — компьютер и на что они способны сегодня

Делаем игровую приставку Как я собрал ретроконсоль в домашних условиях

Титры Кто делает этот журнал

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

-x

 

n

e

 

 

 

 

 

 

ha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x ha

 

 

 

 

Мария «Mifrill» Нефёдова nefedova@glc.ru

УТЕЧКИ СБЕРБАНКА

В октябре СМИ писали сразу о нескольких утечках данных, затронувших Сбербанк. Все началось с того, что издание «Коммерсант» сообщило: на черном рынке продаются данные клиентов Сбербанка, включая информа цию о 60 миллионах карт (как действующих, так и закрытых, ведь в настоящее время у банка около 18 миллионов активных карт).

По информации издания, утечка могла произойти в конце августа текуще го года и оказалась одной из крупнейших в российском банковском секторе. Представители Сбербанка признали утечку данных, но сначала заявили, что проблема коснулась только 200 человек (именно столько в качестве «фраг мента для ознакомления» предоставил продавец похищенной БД).

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

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

«Коммерсант» сообщал, что за несколько часов до появления этого пресс релиза в открытом доступе действительно была обнаружена еще одна БД держателей кредитных карт, на что обратил внимание основатель ком пании DeviceLock Ашот Оганесян. Журналисты изучили эту базу и подтвер дили, что это новая часть утечки, частично признанной Сбербанком. Хуже того, в свободном доступе распространяется еще несколько баз кредитных карт, но меньшего объема (на 500 и 300 клиентов с похожей структурой дан ных). Одна из БД имеет 1999 строк, из которых 1709 относятся к активным картам, еще 290 — к закрытым.

В свою очередь, «Ведомости» цитировали руководителя отдела аналитики SearchInform Алексея Парфентьева: «Это абсолютно нормальная практика — при продажах баз данных для демонстрации скидывать в доступ небольшой кусочек выгрузки. Проблема в том, что Сбербанк очень скоропостижно решил сделать выводы по кусочку с данными о 200 клиентах, который был опуб ликован, пусть и в теневом интернете». Но, поскольку теперь в открытый дос туп попали данные еще нескольких тысяч карт, эксперт полагает, что либо банк попросту не знает, сколько данных утекло в действительности, либо результаты расследования умалчиваются.

Казалось бы, с проблемой разобрались, но в конце месяца все тот же «Коммерсант» сообщил, что у Сбербанка произошла еще одна утечка. На этот раз в Сети появилась БД, содержащая персональные данные кли ентов Сбербанка, но также покупателям дампа предлагали и запись пос леднего разговора пользователя с кол центром банка.

По информации журналистов, БД появилась в продаже на сетевом черном рынке 13 октября текущего года. Один из продавцов утверждал, что рас полагает базой данных клиентов банка, имеющих кредиты или кредитные кар ты. Дамп содержит миллион строк с полными данными (паспорт, прописка, адреса проживания, телефоны, счета, сумма остатка или задолженности), собранными с 2015 года до недавнего времени (за три недели октября база пополнилась на 19 283 строки).

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

Журналисты издания связались с продавцом дампа и изучили пробный фрагмент базы, содержащий данные о клиентах, вышедших на просрочку по кредитам и кредитным картам. Судя по столбцу «ТБ» (территориальный банк), в выгрузке оказались данные из десяти территориальных банков (всего их у Сбербанка одиннадцать). На некоторых клиентов приходится несколько строк, если у них есть несколько действующих кредитов. Судя по столбцам «Дата образования просрочки» и «Количество дней просрочки», данные были выгружены 25 сентября. Выгрузка аудиозаписей, по словам продавца, про изводится «с рабочего места», то есть в дневное время. Сам продавец приз нался, что выступает перекупщиком. Продавал он одну строку за 30 рублей. По его словам, база — это список должников, просрочивших выплаты по кре дитам.

Пресс служба Сбербанка отрицает новую утечку данных. «В Сбербанке и его дочерних компаниях таких утечек персональных данных клиентов не было», — заявили в банке. «Коммерсант» цитировал основателя и тех нического директора компании DeviceLock Ашота Оганесяна, который полагает, что дамп тем не менее может быть реальным:

«С учетом того что продавец сообщил о возможности получить аудиозаписи разговоров, данные, возможно, утекли из внешнего кол центра, обеспечивающего работу с должниками», — предположил Оганесян.

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

ДРУГИЕ УТЕЧКИ ЭТОГО МЕСЯЦА

Эксперты обнаружили в открытом доступе налоговую информацию 20 миллионов россиян СМИ сообщили об утечке данных 8,7 миллиона клиентов «Билайн»

Из за взлома кардерского сайта BriansClub произошла утечка 26 миллионов банковских карт

Adobe оставила в открытом доступе данные 7 500 000 пользователей Adobe Creative Cloud

Банк UniCredit сообщил об утечке данных 3 000 000 клиентов

62% ПРОМЫШЛЕННЫХ ПРЕДПРИЯТИЙ ИСПОЛЬЗУЮТ СТАРЫЕ ОС

Эксперты компании CyberX собирали данные более чем из 1800 сетей своих клиентов по всему миру с октября 2018 года по октябрь 2019 года. Полученная таким образом статистика ока залась весьма удручающей: более 60% сетей на промышленных предприятиях до сих пор содержат устройства, работающие под управлением устаревших операционных систем (Win dows XP и Windows 2000).

Если прибавить сюда еще и Windows 7, чья поддержка тоже заканчивается совсем скоро, в январе 2020 года, то этот показатель составит уже 71%.

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

ЖУЧОК В CISCO

Прошло больше года с тех пор, как издание Bloomberg опубликовало статью, рассказывающую об аппаратных «закладках», которые якобы были обнаруже ны на серверных платах Supermicro и позволили китайским хакерам скомпро метировать их.

Так как это оборудование используют крупные технические компании, включая Apple и Amazon, разразился грандиозный скандал. Представители Amazon и Apple поспешили категорически опровергнуть заявления Bloomberg, и даже АНБ сообщило, что это была «ложная тревога». В итоге вся эта история удостоилась сразу двух наград Pwnie: как «самый перехайплен ный баг» и «самый крупный epic fail».

И хотя сообщения Bloomberg так и не нашли никаких подтверждений, воз можность создания подобных «закладок», конечно, нельзя полностью сбра сывать со счетов. Так, специалист компании FoxGuard Монта Элкинс (Monta Elkins) решил продемонстрировать, что в этом нет ничего сложного. Резуль таты своей работы он представил на конференции CS3STHLM в конце октября, а до этого поделился с изданием Wired.

Для внедрения жучка в брандмауэр Cisco Элкинсу понадобились: паяль ная станция за 150 долларов, микроскоп за 40 долларов, несколько мик росхем за 2 доллара. Все это он заказал онлайн.

«Нам кажется, что все это какая то магия, но на самом деле это не так уж сложно, — рассказывает Элкинс. — Продемонстрировав людям железо, я хочу сделать все это более реалистичным. Это не магия. Это не невозможно. Я мог бы сделать это в своем подвале. И есть много людей умнее меня, которые могут сделать такое практически из ничего».

Для создания своей «закладки» Элкинс использовал миниатюрный чип AT tiny85, который он нашел на Digispark Arduino за 2 доллара. Записав на чип собственный код, Элкинс снял его с платы Digispark и припаял к материнской плате брандмауэра Cisco ASA 5505. Для размещения чипа он использовал незаметное место, которое не требовало дополнительных контактов и поз воляло получить доступ к COM порту.

По приведенной ниже иллюстрации можно понять, насколько сложно будет заметить такой «лишний» чип на плате, даже при относительно неболь ших размерах ASA 5505 (6 на 7 дюймов). Элкинс предполагает, что он мог бы использовать чип еще меньшего размера, но выбрал ATtiny85, чтобы упростить ту часть эксперимента, что была связана с программированием.

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

Исследователь объясняет, что он использовал Cisco ASA 5505 в своем эксперименте, потому что брандмауэр оказался самым дешевым на eBay. Но атака должна сработать против любого межсетевого экрана Cisco, который предлагает восстановление пароля подобным образом. Специалис ты Cisco заверили, что уже изучают исследование Элкинса и, если понадо бится, примут необходимые меры.

В сущности, исследование Элкинса продолжает другой, более ранний эксперимент, проведенный независимым ИБ экспертом Треммеллом Хад соном (Trammell Hudson). В прошлом году на конференции Chaos Computer Conference тот продемонстрировал PoC платы Supermicro, на которой были воссозданы «закладки» китайских хакеров, как те были описаны в статье Bloomberg. То есть на плату был установлен чип с доступом к BMC (baseboard management controller).

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

«Я хочу, чтобы люди признали, что подобные имплантаты — это не плод чьего то воображения. Они относительно просты, — говорит Элкинс. — И если мне под силу сделать такое, значит, кто то с сотнями миллионов бюджета занимается подобным уже некоторое время».

ЛОЖНОЕ ЧУВСТВО БЕЗОПАСНОСТИ

Главный евангелист компании BlackBerry Брайан Робисон (Brian Robison) поговорил с жур налистами издания Forbes о безопасности мобильных приложений и официальных магазинов для Android и iOS, подчеркнув, что механизмы безопасности в App Store и Google Play удалось обойти сотням вредоносных приложений. Дело в том, что недавно исследовательская команда Cylance подготовила отчет, согласно которому в официальные каталоги приложений зачастую проникает не только различная малварь, но и шпионские «продукты», созданные правитель ственными хакерами.

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

— заявил Брайан Робисон

ЗАКРЫТИЕ WELCOME TO VIDEO

Британское Национальное агентство по борьбе с преступностью и американ ское Министерство юстиции рассказали, что им удалось закрыть ресурс Wel come to Video — один из крупнейших сайтов в даркнете, распространяющих детское порно. В расследовании, длившемся несколько лет, приняли участие правоохранительные органы Германии, Южной Кореи, Саудовской Аравии, ОАЭ и Чешской Республики.

Власти сообщили об изъятии более восьми терабайт видео (око ло 250 000 видеофайлов), демонстрирующего сексуальную эксплуатацию детей. В настоящее время сотрудники организации National Center for Missing & Exploited Children занимаются анализом этих видео, и уже известно, что примерно 45% изученных роликов — это новый контент, о существовании которого ранее известно не было.

В США и еще одиннадцати странах мира уже были арестованы и обви нены 337 человек, так или иначе связанных с этим сайтом. К примеру, бри танские правоохранители сообщают о восемнадцати расследованиях и семи осужденных, один из которых был заключен в тюрьму на 22 года за изнасило вание пятилетнего мальчика и загрузку на Welcome to Video ролика, который демонстрировал сексуальное насилие над трехлетней девочкой.

По информации Министерства юстиции США, по меньшей мере 23 несовершеннолетние жертвы преступников, проживающие в Соеди ненных Штатах, Испании и Великобритании, были спасены в результате про веденной операции.

Администратором и создателем Welcome to Video, появившегося с 2015 году, выступал 23 летний гражданин Южной Кореи Чон Ву Сон (Jong Woo Son). В настоящее время он находится в тюрьме в Южной Корее, где уже отбывает длительный тюремный срок из за своей деятельности, но соответс твующие обвинения по девяти пунктам (включая распространение изоб ражений сексуального насилия над детьми и отмывание денег) теперь предъ явлены ему и правоохранителями из США.

Следователи пишут, что Welcome to Video был одним из первых сайтов в даркнете, который монетизировал сексуальную эксплуатацию детей, используя биткойны. Каждый пользователь сайта получил уникальный бит койн адрес при создании учетной записи. По оценкам правоохранительных органов, с сайтом были связаны около миллиона таких кошельков. Поль зователи либо платили 0,03 биткойна за права на скачивание контента, либо зарабатывали, загружая на сайт новые материалы. За период с июня 2015 года по март 2018 года (именно тогда ресурс был закрыт) через сайт прошло 370 тысяч долларов в криптовалюте.

Стоит заметить, что следователям повезло: на протяжении недолгого вре мени сервер Welcome to Video был настроен неправильно, что позволило выявить несколько публичных IP адресов, связанных с сайтом. Но также следствию помогли упомянутые выше биткойн кошельки и криптовалютные транзакции, изучением которых занимались агенты Налогового управления США, привлеченные к делу. В этом им помогли инструменты компании Chainalysis, предназначенные для анализа блокчейн транзакций и определе ния их участников. Ранее специалисты Chainalysis помогали властям в рас следовании деятельности ныне не существующей и печально известной бир жи BTC e, через которую отмывали деньги.

Правоохранительные органы называют закрытие Welcome to Video одной из крупнейших и наиболее отвратительных операций такого рода.

«Операторам сервисов для анонимизации, таких как Tor, стоит спросить самих себя, делают ли они достаточно для того, чтобы защитить детей и сделать свою платформу непригодной для преступников», — комментирует заместитель генерального прокурора США Ричард Даунинг.

100 000 000 АТАК НА УМНЫЕ УСТРОЙСТВА

Эксперты «Лаборатории Касперского» подготовили отчет, посвященный активности вредоносов для устройств интернета вещей (IoT). Для проведения исследования аналитики разместили более 50 ханипотов по всему миру, в среднем обрабатывающих 20 000 зараженных сессий каждые 15 минут.

В первой половине 2019 года компания зафиксировала более 105 000 000 атак на устройства интернета вещей с 276 000 уникальных IP адресов.

Это в 9 раз больше, чем в аналогичном периоде 2018 года: тогда было зафиксировано около

12 000 000 атак с 69 000 IP адресов.

Россия вошла в первую пятерку стран — источников заражений: из нее исходила примерно каждая девятая атака (11%). В этом топе также оказались Китай (30%), Бразилия (19%), Египет

(12%) и США (8%).

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

С января по июнь 2019 года самыми активными были семейства Mirai и NyaDrop, на них

пришлось по 39% атак. Третьим по распространенности с большим отрывом оказалось семейство Gafgyt (2%).

ВЗЛОМ NORDVPN И TORGUARD

Уже не раз было доказано на практике, что не стоит рекламировать свой про дукт как «невзламываемый». Подобные громкие заявления редко заканчива ются хорошо. Очередным подтверждением этому стал случай с VPN провай дером NordVPN, разместившим в Twitter смелую рекламу, которая гласила, что ни один хакер не сможет украсть онлайн жизнь пользователя, если тот использует VPN.

Из за этих нескромных заявлений компания не только подверглась критике. В ответ на это сообщение ИБ специалист, известный как hexdefined, заметил в Twitter, что NordVPN был скомпрометирован, так как приватные ключи (в том числе OpenVPN и для сертификата официального сайта компании) похищены и публично доступны в интернете.

Хотя в настоящее время срок действия сертификата уже истек, закончившись в октябре 2018 года, до его истечения злоумышленники могли создать убе дительный сайт, выдающий себя за NordVPN, а также использовать ключи, например для организации MitM атак и «прослушивания» зашифрованных соединений. Исследователь привел пример того, как мог выглядеть такой поддельный ресурс.

После публикации сообщения hexdefined в Сети также появилась ссылка на 8chan, где неизвестный еще в мае 2018 года похвалялся тем, что имеет root доступ к серверам NordVPN, TorGuard и VikingVPN. Провайдер OpenVPN CryptoStorm.is сообщил, что это позволило злоумышленнику похитить ключи OpenVPN и файлы конфигурации (это демонстрирует изображение ниже). Также в CryptoStorm.is подчеркнули, что кража ключей могла позволить зло умышленнику расшифровать трафик во время взлома.

Продолжение статьи

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

-x

 

n

e

 

 

 

 

 

ha

 

 

 

 

← Начало статьи

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x ha

 

 

 

 

Согласно сообщению на 8chan, взломщику также удалось скомпромети ровать TorGuard (похитив сертификат прокси сервера Squid, ключи OpenVPN и файлы конфигурации) и VikingVPN (похитив ключи OpenVPN и файлы кон фигурации). NordVPN и TorGuard опубликовали официальные заявления о случившемся. Представители VikingVPN пока хранят молчание.

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

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

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

Интересно, что, по данным издания The Register, проштрафившимся ЦОД была финская компания Creanova. И ее глава Нико Вискари (Niko Viskari) сообщил журналистам, что вина за случившееся полностью лежит на самой NordVPN, так как в компании не заблокировали интерфейс удаленного управления, о котором прекрасно знали и даже использовали. По его словам, у NordVPN были проблемы с безопасностью, которые тем не менее компанию не волновали.

В свою очередь, представители TorGuard подтвердили факт компромета ции и кражи секретного ключа для TLS сертификата *.torguardvpnaccess.com, связанного с прокси сертификатом Squid (который был недействителен в сети TorGuard с 2017 года). В компании уверяют, что узнали о случившемся только в мае 2019 года, тогда как взломан был единственный сервер, раз мещавшийся у некоего хостинг посредника, и это произошло еще в 2017 году.

При этом в заявлении TorGuard подчеркивается, что компания единствен ная из трех пострадавших провайдеров использовала PKI, то есть основной ключ CA не размещался на уязвимом сервере и не был украден, а похищен ный ключ был бесполезен для взломщиков.

FANCY BEAR АТАКОВАЛИ УЖЕ 16 АНТИДОПИНГОВЫХ ОРГАНИЗАЦИЙ

Аналитики компании Microsoft утверждают, что русскоязычная хак группа Fancy Bear (она же Strontium и APT28) атаковала как минимум 16 антидопинговых организаций в преддверии Олимпиады в Токио, которая пройдет в следующем году.

Fancy Bear использовала обычные для себя техники: направленный фишинг, password spraying (имена пользователей перебирают и пытаются использовать с одним и тем же паролем, надеясь обнаружить плохо защищенную учетную запись), атаки на IoT-девайсы, а также всевозможную малварь, включая опенсорсную и кастомную. По данным Microsoft, некоторые из этих атак были успешными, но далеко не все.

ПРОБЛЕМЫ

SAMSUNG

СМИ обнаружили весьма странную проблему в Samsung Galaxy S10. Как ока залось, при использовании защитной пленки для экрана сканер отпечатков пальцев работает некорректно и устройство можно разблокировать абсолют но любым отпечатком.

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

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

В итоге представители Samsung подтвердили, что речь идет не о единич ном случае брака, а о распространенной проблеме, затрагивающей смар тфоны Galaxy S10, S10+, S10e и Note10. В компании объяснили, из за чего возникает баг.

Оказалось, ультразвуковые сканеры отпечатков в Galaxy Note10/10+, а также S10 / S10+ / S10 5G некорректно взаимодействуют с силиконовыми накладками на экран во время создания 3D модели отпечатков. В сущности, сканер создавал и запоминал не модель отпечатка пальца, а модель струк туры силикона, находящейся под пальцем пользователя. Именно поэтому любой, кто нажимал на силиконовую накладку, мог разблокировать устрой ство, ведь датчик «видел» все тот же знакомый силикон, а не обнаруживал фактический отпечаток.

Хотя патч для проблемы появился весьма оперативно, несколько банков, работающих в Великобритании, успели временно приостановить услуги мобильного банкинга для пользователей Samsung Galaxy S10. Так, National Westminster Bank и Royal Bank of Scotland отключили свои приложения из Google Play Store для клиентов с телефонами Samsung Galaxy S10 из сооб ражений безопасности.

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

Почти одновременно с этим китайские СМИ сообщили, что владельцы уяз вимых устройств лишились возможности использовать отпечатки пальцев для приложения Банка Китая, платежной системы WeChat Pay, принад лежащей китайскому технологическому гиганту Tencent, и популярной плат формы мобильных платежей Alipay, принадлежащей Ant Financial, за которой стоит Alibaba.

Отметим, что это не единственная серьезная проблема с биометрией в этом месяце. Так, в октябре Google представила смартфоны Pixel 4 и Pixel 4 XL, и оказалось, что в Pixel 4 функция Face Unlock работает даже в том случае, если у владельца устройства закрыты глаза. А значит, Face Unlock могут использовать третьи лица, даже когда владелец смартфона спит или находит ся в бессознательном состоянии.

ОТ БЛОКИРОВОК К ШТРАФАМ

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

«В настоящее время в РФ проходит обсуждение законопроекта, который предписывает достаточно серьезные штрафы для компаний, которые не соблюдают законодательство в области регулирования интернета. Мне кажется, это очень серьезный и эффективный шаг вперед. Если мы еще несколько лет назад говорили о том, что нарушители должны быть заб локированы, то теперь, мне кажется, есть более цивилизованный и эффективный метод, когда его наказывают „экономическим рублем“, — таким образом мы добиваемся, чтобы он соблюдал местное законодательство»

— заявил Александр Жаров

FACEBOOK VS NSO

Компания Facebook обратилась в суд с иском против израильской фирмы NSO Group, которая занимается разработкой и продажей шпионских решений и так называемой легальной малвари.

NSO Group была основана в 2010 году и с тех пор занимается разработ кой различной легальной малвари, которую, наряду с эксплоитами для раз личных 0 day, продает правительствам и спецслужбам по всему миру. Широкую известность NSO Group получила в 2016–2017 годах, когда спе циалисты по информационной безопасности обнаружили мощные шпионские инструменты Pegasus и Chrysaor, разработанные компанией и предназначен ные для iOS и Android.

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

Поводом для иска послужила уязвимость нулевого дня в WhatsApp, которая, как утверждает Facebook, была продана NSO Group, а затем ком пания помогала использовать проблему для атак на правозащитников, жур налистов, политических диссидентов, дипломатов и правительственных чиновников. Согласно судебным документам, в общей сложности за один надцать дней от атак пострадали более 1400 человек в США, Бахрейне, Объ единенных Арабских Эмиратах и Мексике. Facebook уже направила всем пос традавшим специальные сообщения в WhatsApp.

Напомню, что о данной 0 day проблеме стало известно в мае текущего года. Тогда издание Financial Times утверждало, что NSO Group разработала для нее эксплоит, который злоупотреблял функциональностью VoIP звонков в WhatsApp. Так, жертва получала вызов в WhatsApp, и специально созданные пакеты RTCP позволяли злоумышленнику запустить вредоносный код на устройстве, что приводило к установке Pegasus (независимо от того, использовала жертва Android или iOS). В итоге разработчики Facebook были вынуждены выпустить срочные обновления и исправили уязвимость, но тогда компания не сделала никаких официальных заявлений, не считая публикации нескольких простых рекомендаций для пользователей.

Теперь представители Facebook рассказали журналистам Washington Post, что собрали достаточно доказательств причастности NSO Group к этому инциденту и сочли нужным обратиться в суд. Так, атаки оказались сопряжены

ссерверами и хостинговыми сервисами, которые ранее уже связывали

сNSO Group, и, кроме того, некоторые аккаунты WhatsApp, использованные в ходе атак, также удалось проследить до израильской фирмы.

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

Также вскоре стало известно, что Facebook уже забанила сотрудников NSO Group на своих платформах. «Ваша учетная запись была удалена из за нарушения наших правил. Вы не сможете войти в эту учетную запись, и никто другой не сможет ее увидеть. Мы не можем восстанавливать учетные записи, которые были удалены из за нарушений такого рода», — такое сообщение в Instagram получил один из служащих израильской фирмы.

Дело в том, что судебный иск среди прочего предусматривает постоянный судебный запрет, запрещающий всем сотрудникам NSO Group получать или пытаться получить доступ к службам, платформе и компьютерным сис темам WhatsApp и Facebook. Но, похоже, социальная сеть решила не дожидаться решения суда и начала банить всех причастных к деятельности NSO Group уже сейчас. Жалобы на блокировку можно найти на израильских форумах, а также на LinkedIn. Пользователи пишут, что блокировки зат ронули 98% сотрудников компании и даже коснулись людей, не имеющих отношения к NSO Group.

«Вчера мои личные профили в Facebook и Instagram были преднамеренно заблокированы величайшим нарушителем конфиденциальности в истории человечества aka Facebook. Почему? Потому что я работаю в компании под названием NSO Group и, согласно их заявлениям, обнаружил и использовал уязвимости в архитектуре WhatsApp, чтобы предоставить спецслужбам и правительствам сложные инструменты для предотвращения следующего 9/11», — возмущается на LinkedIn руководитель по подготовке кадров NSO Group Гай Брен-

нер (Guy Brenner).

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

1000 ЕВРО ЗА ОДИН ВЗЛОМ БАНКОМАТА

Согласно свежему отчету Европейской группы по обеспечению безопасности банкоматов (Eu ropean ATM Security Team, EAST), в Европе теперь совсем непопулярны атаки на банкоматы при помощи малвари и джекпоттинга: они приносят преступникам менее 1000 евро за одно успешное ограбление.

В первом полугодии 2019 года европейские банки сообщили всего о 35 инцидентах, связанных с атаками малвари и джекпоттингом (они же атаки black box или логические атаки). Вредонос ное ПО использовалось только в 3 случаях, остальное пришлось на black box атаки.

В результате потери финансовых организаций снизились на 100% 0,25 миллиона евро до 0,00 миллиона евро), хотя в одном случае и был зафиксирован небольшой ущерб, в раз мере менее 1000 евро.

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

ду 9000 и 15 000 евро.

Зато настоящим трендом стали атаки TRF — Terminal-Related Fraud, то есть атаки, связан ные с терминалом. Эта категория включает в себя использование скиммеров и таких методов, как мошенничество с отменой транзакций. Такие методы приносят преступникам от 250 до 350 миллионов евро в год.

Атаки на отмену транзакций и вовсе стали преобладающей формой мошенничества: на их долю приходится 5649 случаев в первой половине 2019 года (45% всех случаев мошенничества с банкоматами вообще) по сравнению с 2292 случаями в прошлом году.

СНИЖЕНИЕ

ПИРАТСТВА

Издание TorrentFreak рассказало о прекращении работы крупного CDN про вайдера Moonwalk, закрытия которого добились антипиратские объединения

BREIN, MPA и ACE.

Впервые издание обратило внимание на Moonwalk еще в начале текущего года, когда специалисты компании Group IB сообщили журналистам, что Moonwalk — это практически монополист в сфере поставок пиратского кон тента, чьими услугами пользуются тысячи сайтов. Фактически CDN плеер Moonwalk мог быть размещен на бесконечном количестве пиратских ресур сов, и все они брали видео из одного источника. Эксперты говорили, что CDN Moonwalk, начавший работу в 2013 году, агрегировал 33 490 фильмов и сери алов, а плата составляла 0,60 доллара за 1000 просмотров. Так как боль шинство серверов Moonwalk были расположены за пределами России (в час тности, в Нидерландах), добраться до них было затруднительно.

Однако теперь, спустя несколько месяцев, оказалось, что голландская антипиратская группа BREIN сумела с этим справиться. Глава BREIN Тим Куик (Tim Kuik) подтвердил изданию TorrentFreak, что 19 октября 2019 года прис тавы передали судебные приказы пяти сторонним хостинг провайдерам, пот ребовав от них отключить потоковые серверы и сохранить все улики, связан ные с работой Moonwalk.

Три судебных решения были адресованы голландским компаниям, а еще два «формально иностранным компаниям», чьи серверы также находятся в Нидерландах. И хотя лидером этой операции выступили представители BREIN, их также поддержала Американская ассоциация кинокомпаний (Mo tion Picture Association, MPA) и антипиратский альянс Alliance for Creativity and Entertainment (ACE).

BREIN сообщает, что Moonwalk обеспечивал пиратам не только необ ходимый для работы бэкенд, но и огромные объемы контента, которым поль зовались примерно 80% известных российских стриминговых сайтов. По дан ным организации, топ 50 этих сайтов генерировали 395 миллионов посеще ний от 89,9 миллиона уникальных посетителей в месяц, а значит, индустрия теряла из за этого сотни миллионов долларов.

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

Представители Group IB пишут, что, по обновленным данным, CDN агрегиро вал 42 807 фильмов (из них 14 549 сериалов) и позволял автоматизировать размещение контента на страницах пиратских сайтов. Эксперты рассказыва ют:

«Большая часть пиратского андеграунда любит CDN за то, что эти провайдеры агрегируют у себя сотни тысяч файлов, содержащих фильмы и сериалы, и предоставляют технический сервис, позволяющий автоматизировать размещение этого контента на страницах пиратских сайтов. Некоторые из таких технических провайдеров CDN также предоставляют веб модули для автозаполнения постерами, описаниями фильмов, в особых случаях поставляются даже уникальные рецензии. В начале 2019 года мы делились показательными цифрами: 80% пиратских фильмов смотрят в онлайне (стрим), а для сериалов эта цифра уже близка к 90%.

Такой „технопрорыв“ дал пиратам в десятки раз больше возможностей для бизнеса и, соответственно, заработка. Теперь уже ник-

то не дорожит своим доменом,

своей площадкой, блокировки —

не угроза. Пират регистрирует

десяток доменных имен, контент

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

При этом в Group IB уверены, что закрытие Moonwalk поможет значительно сдержать пиратский бизнес и уменьшит распространение пиратских копий в России, но только в краткосрочной перспективе. В долгосрочной перспек тиве место Moonwalk займут его конкуренты. Ведь если стоимость ежемесяч ного содержания такой CDN инфраструктуры составляет поряд ка 100 000 долларов, то доходы исчисляются миллионами.

В настоящее время HDGO (второй по размеру CDN в РФ) тоже прекратил свое существование. Третий по величине CDN, kodik, потерял значительную часть контента, прежде всего сериального, так как использовал часть инфраструктуры Moonwalk (согласно их взаимным договоренностям).

С учетом закрытия HDGO и Moonwalk, а также частичного «падения» kodik, по данным компании, пострадали 80% пиратских онлайн кинотеатров. Теперь, после закрытия Moonwalk и HDGO, на территории России незакон ной дистрибуцией видеоконтента занимаются порядка одиннадцати пират ских CDN провайдеров, один из которых — неназванный крупный поставщик, по объему сопоставимый с Moonwalk.

Позже, в конце октября, эксперты Group IB сообщили, что впервые за пять лет рынок интернет пиратства в России не только остановился в росте, но и показал падение. Его объем составил 63,5 миллиона долларов США, что на 27% ниже показателя 2018 года.

Среди основных причин обвала доходов российских интернет пиратов эксперты перечислили удар по рекламной модели монетизации пиратских ресурсов, падение «большой тройки» пиратских CDN, снабжавшей контентом до 90% онлайн кинотеатров России и СНГ, а также совершенствование законодательного поля и антипиратский меморандум.

148 ИЗ 160 ВАРИАЦИЙ ШИФРОВАЛЬЩИКА STOP МОЖНО ДЕШИФРОВАТЬ

Специалисты компании Emsisoft выпустили бесплатную утилиту для дешифровки данных, пос традавших после атак шифровальщика STOP. В настоящее время STOP считается одной из главных угроз среди вымогателей: от него уже пострадали более 116 000 подтвержденных жертв, а общее число пострадавших оценивается примерно в 460 000 человек.

Инструмент Emsisoft работает против 148 из 160 вариаций STOP, то есть должен помочь при мерно 70% жертв, которые пострадали до августа 2019 года.

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

APPLE НЕ ШПИОНИТ

В середине месяца по СМИ всего мира прокатилась волна панических сооб щений о том, что компания Apple передает данные пользователей Safari китайской компании Tencent. Представители Apple выступили с заявлением и объяснили, что ничего страшного не происходит, все дело в недавнем обновлении Safe Browsing.

«Apple защищает конфиденциальность пользователей и ваши данные с помощью Safari Fraudulent Website Warning, функции безопасности,

которая отмечает известные вредоносные сайты. Когда данная функция активна, Safari сверяет URL-адрес сайта со списками известных сайтов и показывает предупреждение, если URL-адрес, который посещает пользователь, подозревается в мошеннических действиях, например фишинге.

Для выполнения этой задачи Safari получает список известных вредоносных сайтов от Google, а для устройств с кодом региона материкового Китая список предоставляет Tencent. Фактический URL-адрес посещаемого вами сайта никогда не передается поставщику безопасного просмотра, и эту функцию можно отключить», — гласит пресс релиз Apple.

В сущности, все сообщения прессы сводились к тому, что в Safari незаметно появилась вторая система безопасного просмотра, названная в честь защит ного механизма Google Safe Browsing. Принцип работы такой системы прост: URL, который собирается посетить пользователь, предварительно проверя ется по спискам известных вредоносных сайтов.

Продолжение статьи

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

-x

 

n

e

 

 

 

 

 

ha

 

 

 

 

← Начало статьи

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x ha

 

 

 

 

На протяжении многих лет Apple применяла API Google Safe Browsing в Safari

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

Нужно понимать, что раньше защитные механизмы действительно переда вали URL адреса пользователей провайдерам Safe Browsing, а те проверяли ссылки по своим удаленным базам вредоносных сайтов. Но теперь это работает иначе. Так, механизмы Google и Tencent, по сути, передают копию своих БД браузеру пользователя, а тот сверяет URL с этой локальной базой. Разработчики Apple подчеркивают, что внедренные в Safari механизмы безопасного просмотра работают именно так и никогда не передавали дан ные пользователей на сторону.

Более того, как оказалось, Tencent не является поставщиком услуг безопасного просмотра по умолчанию. Судя по всему, к решениям китайской компании прибегают лишь тогда, когда на устройстве включен китайский язык. Напомню, что домены и сервисы Google в Китае блокированы, а значит, там пользователи Safari не могут получать базу вредоносных ссылок от Google и соответствующие обновления. Поэтому в качестве альтернативы для китайских пользователей появились услуги Tencent.

В ответ на это обеспокоенные пользователи и ИБ эксперты отмечают, что теперь у Tencent есть возможность видеть IP адреса пользователей (тех, что используют устройства с настройками материкового Китая). И Apple акти вирует эту функцию по умолчанию, не предупреждая пользователей. К при меру, известный ИБ специалист Мэттью Грин (Matthew Green), доцент кафед ры информатики в Институте Джонса Хопкинса, в своем блоге подверг кри тике API безопасного просмотра в целом, в том числе и от Google. По словам Грина, ИБ сообщество с трудом соглашается на компромисс в виде Google Safe Browsing API, однако Tencent — это не Google.

«Хотя они [Tencent] вполне могут быть заслуживающими доверия, мы заслуживаем, чтобы нас информировали об изменениях такого рода и давали возможность сделать выбор в их отношении. По меньшей мере пользователи должны узнавать о таких изменениях до того, как Apple запустит функцию в продакшен и тем самым попросит миллионы своих пользователей довериться ей», — пишет Грин.

ТОРВАЛЬД НЕ ОПАСАЕТСЯ MICROSOFT

В рамках мероприятия Linux Plumbers Conference Линус Торвальд прокомментировал действия компании Microsoft, которая в последнее время обращает на Linux все больше внимания и, по мнению многих, хотела бы контролировать Linux или вовсе уничтожить его. Торвальдс не согласен с этим. По его мнению, опасаться нечего, и, даже если мнение Microsoft расходит ся с мнением сообщества Linux по каким то вопросам, это совершенно нормально.

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

— рассказал Торвальдс

ОЧЕРЕДНОЙ 0 DAY

ВANDROID

Вначале октября 2019 года эксперты команды Google Project Zero сообщили,

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

Изначально уязвимость была исправлена в ядре 4.14 LTS Linux еще в декабре 2017 года. Это исправление вошло в ядра Android 3.18, 4.14, 4.4 и 4.9, однако более новые версии по какой то причине остались уяз вимыми. В итоге уязвимость получила идентификатор CVE 2019 2215 и пред ставляет угрозу для следующих моделей смартфонов под управлением An droid 8.x и более новых версий:

Pixel 2 под управлением Android 9 и Android 10 preview;

Huawei P20;

Xiaomi Redmi 5A;

Xiaomi Redmi Note 5;

Xiaomi A1;

Oppo А3;

Moto Z3;

смартфоны Oreo LG;

Samsung S7, S8, S9.

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

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

Специалисты Google полагают, что замеченный ими эксплоит для CVE 2019 2215 — дело рук небезызвестной израильской компании NSO Group. Напомню, что NSO Group была основана в 2010 году и с тех пор занимается разработкой различной легальной малвари, которую, наряду с эксплоитами для различных 0 day, продает правительствам и спецслужбам по всему миру. Широкую известность компания получила в 2016–2017 годах, когда спе циалисты по информационной безопасности обнаружили мощные шпионские инструменты Pegasus и Chrysaor, разработанные NSO Group и предназначен ные для iOS и Android.

Представители NSO Group ответили на эти обвинения и сообщили СМИ, что не имеют к эксплоиту никакого отношения:

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

После раскрытия информации о проблеме специалистка Google Мэдди Стоун опубликовала в открытом доступе PoC эксплоит, однако ее код был в извес тной степени безобиден, так как не использовал весь потенциал уязвимости.

Но идею развил далее Грант Эрнандес (Grant Hernandez), кандидат наук из Флоридского института кибербезопасности при Университете Флориды. Он представил собственный PoC эксплоит, названный Qu1ckR00t, который позволяет обойти такие защитные механизмы, как DAC (Discretionary Access Control) и Linux Capabilities (CAP), способен отключать SELinux (Security En hanced Linux), SECCOMP (Secure Computing Mode) и MAC (Mandatory Access Control). В итоге инструмент может использоваться для получения быстрого root доступа к устройству, предоставляя злоумышленнику полный контроль.

Исходный код Qu1ckR00t был опубликован на GitHub, но не в виде готово го и упакованного APK файла. То есть пользователю придется скомпилиро вать его самостоятельно, зато после он получит доступ к приложению, которое может обеспечить root доступ буквально одним нажатием. Эрнандес предупреждает, что тестировал Qu1ckR00t только на Pixel 2 и неопытным пользователям лучше не экспериментировать с этим инструментом, так как они рискуют нарушить работу ОС и потерять все данные.

Уязвимость CVE 2019 2215 была устранена инженерами Google в составе октябрьского вторника обновлений для Android: патч уровня 2019 10 06.

30 000 ВЫМОГАТЕЛЬСКИХ ПИСЕМ В ЧАС

В Check Point обнаружили одну из причин роста количества спамерских писем, связанных с так называемым сексуальным вымогательством. В английском языке для обозначения такой активности используют термин sextortion, образованный от слов sex («секс») и extortion («вымогательство»).

Оказалось, этим активно занимаются операторы ботнета Phorpiex (он же Trik). Массовые рас сылки насчитывают до 27 000 000 электронных писем за одну кампанию, то есть некоторые зараженные Phorpiex машины рассылали до 30 000 вредоносных электронных писем в час.

За пять месяцев наблюдений аналитики Check Point отследили более 14 биткойнов (пример но 115 000 долларов США), которые жертвы вымогательства перевели в качестве выкупа операторам Phorpiex.

В настоящее в ботнет Phorpiex входят примерно 450 000 зараженных компьютеров под управлением Windows.

АТАКИ НА CDN

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

Атака получила название CPDoS (Cache Poisoned Denial of Service) и име ет три варианта исполнения, которые вполне могут применяться на практике.

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

Таким образом, используя CPDoS, преступники могут реализовать сле дующий сценарий:

злоумышленник подключается к сайту до тех пор, пока его запрос не сге нерирует новую запись CDN;

запрос злоумышленника содержит искаженный или слишком большой HTTP заголовок;

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

заголовок слишком большого размера провоцирует на веб сервере ошибку;

сервер генерирует страницу с ошибкой (ошибка 400 Bad Request);

страница ошибки кешируется в CDN;

другие пользователи, обращающиеся к сайту, видят страницу с ошибкой вместо реального сайта;

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

Исследователи пишут, что существует три варианта CPDoS атак, которые зависят от того, как злоумышленники структурируют свой искаженный заголо вок: с использованием полей заголовка большого размера (HTTP Header Oversize), метасимволов, вызывающих ошибки (HTTP Meta Character),

или инструкций, которые перепишут нормальные ответы сервера (HTTP Method Override).

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

К счастью, не все веб серверы (реализации протокола HTTP) и CDN провай деры уязвимы перед атаками CPDoS. В таблице ниже показано, какие ком бинации сервер + CDN уязвимы, согласно проведенным исследователями тестам.

Владельцам сайтов не так уж трудно противостоять атакам CPDoS: достаточ но настроить работу со своим провайдером CDN таким образом, чтобы стра ницы ошибок HTTP не кешировались по умолчанию. У многих поставщиков услуг CDN есть соответствующие настройки в панели управления, так что это нетрудная задача. Также можно отключить это в файлах конфигурации сервера, добавив заголовок HTTP «Cache Control: no store» к каждому типу страницы ошибок.

Корень проблемы с CDN провайдерами лежит в следующем: стандарт веб кеширования допускает, что CDN кешируют только коды ошибок 404 Not Found, 405 Method Not Allowed, 410 Gone и 501 Not Implemented, тогда как CDN не должны кешировать страницы 400 Bad Request, генерируемые в ходе CPDoS атак. Увы, далеко не все CDN следуют стандарту, что и при водит к возникновению проблем.

По данным исследователей, потенциальную уязвимость перед атаками CPDoS демонстрируют 30% сайтов из списка Alexa топ 500, 11% доменов Министерства обороны США и 16% адресов из 365 миллионов образцов

URL, полученных из архива Google Big Query.

БОЛЬШИНСТВО СПАМА ИСХОДИТ ИЗ США, РОССИИ И УКРАИНЫ

Исследовательская группа Data 61 при Государственном объединении научных и прикладных исследований (Commonwealth Scientific and Industrial Research Organisation, CSIRO) предста вила сводный отчет, посвященный анализу самой разной вредоносной активности, от фишинга до атак малвари.

Эксперты утверждают, что их отчет — первый и крупнейший общедоступный набор данных такого рода и строится на основании 51 600 000 различных сообщений о вредоносной онлайн активности и 662 000 уникальных IP адресов по всему миру.

В своем отчете эксперты Data 61 делают ряд небезынтересных выводов.

Более 60% всей спамерской активности в период с 2007 по 2017 год генерировали Соеди-

ненные Штаты, Россия и Украина.

Наиболее трудные для устранения угрозы, как правило, происходят из Китая.

Что касается фишинга, эта активность постоянно растет, и в 2017 году фишинг уже составлял 30% от общего количества всей вредоносной активности в целом.

ДРУГИЕ ИНТЕРЕСНЫЕ СОБЫТИЯ МЕСЯЦА

В ноябре текущего года в Twitter запретят всю политическую рекламу

На индийской АЭС обнаружили северокорейский вирус

Valve ограничивает торговлю ключами CS:GO, потому что с их помощью отмывают деньги

«Неудаляемый» троян xHelper заразил 45 000 устройств на Android

Массовая кибератака вывела из строя множество грузинских сайтов

GitLab отказался от принудительного сбора телеметрии из за недовольства сообщества

Роботы в японских отелях могли использоваться для слежки за посетителями

Компанию Avast пытались взломать через скомпрометированный VPN

Alexa и Google Home могут использоваться для фишинга и подслушивать своих хозяев

Crowdstrike: создание китайского самолета Comac C919 было сопряжено со взломами и кибер шпионажем

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

wClick

 

BUY

o m

HEADER

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

df

c

n

e

 

 

 

 

-x ha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

c

n

e

 

 

 

 

 

-x ha

 

 

 

 

ОМАР ГАНИЕВ

(BECHED)

О ХАКЕРСКОМ ОПЫТЕ И УЧАСТИИ В CTF

Сегодня у нас в гостях человек, который силен одновремен но в CTF и вольной борьбе, участник команды LC BC, вхо дящей в мировой топ, и исследователь с огромным опытом за плечами — Омар Ганиев AKA beched.

Серия «Блиц интервью» — короткие и полушуточ ные интервью со специалистами в области ИБ, подготовленные ведущими канала @rusecmedia эксклюзивно для «Хакера».

Перед тобой вирус на JavaScript, твои действия?

Писать статью для юных исследователей в «Хакер»!

Расскажи о своей компании Deteact. Правда, что твой многолетний опыт в ИБ позволяет использовать такие инструменты,

как Acunetix и sqlmap?

Совершенно верно! Также отмечу, что ежедневные изнурительные тре

нировки позволяют нам быстрее всех вставлять кавычки в параметры зап росов, а знание инструмента Format Painter в MS Word обязательно для получения позиции Senior в нашей компании.

Чем был полезен опыт работы в компаниях по информационной безопасности?

Кому, обществу? Но ведь индустрия ИБ — это паразит на теле человечес

тва! Главной же персональной пользой могу назвать кругозор, получаемый от тестирования самых разных инфраструктур и изучения различных биз нес процессов и их угроз.

Вспомни свой первый CTF. Навыки и опыт в каких вещах помогли в решении заданий? Что стоит «прокачивать» молодым специалистам?

Конечно же, необходимо прокачивать хитрость, изворотливость, умение

обмениваться решениями с другими командами, проводить DoS атаки на другие команды, эксплуатировать race condition в скорборде, подниматься до рута на серверах тасков и воровать флаги от других тасков, выпрашивать флаги в IRC и ныть там же, искать чужие решения на Pastebin и так далее. В общем, все как в жизни! А если серьезно, то нужно прокачивать вниматель ность, усидчивость, умение читать код, знание большого количества тех нологий и атак.

Какими захватами вы занимаетесь, кроме захвата флага?

Борцовскими и рейдерскими, жи есть! Ну и захватами внимания.

Омар Ганиев (слева) и Анатолий Катюшин (справа) после награждения на Positive Hack Days III

В CTF получается заработать? На фото выше мы насчитали примерно 3200 рублей. Сколько ты выиграл за последние два года?

Есть более козырные фотки с баксами =) Мы, как команда LC BC,

за 2018–2019 годы выиграли что то вроде 200 тысяч долларов, так что особо не заработаешь. Делить выигранные средства мы начали лишь недавно. Выигрыши — просто побочный эффект, ведь CTF в первую очередь хобби, и мы активно участвуем и в соревнованиях без призов.

Продолжи анекдот: «Заходят в бар три CTF-ера…»

А бармен им говорит: «Лучше бы ресерчили!»

Дай пять советов по ИБ для наших читателей.

Бросай, пока не поздно; изучай технологии, а не только инструменты; изу

чай бизнес и экономику для понимания угроз; будь толерантен к трансген дерам, наркоманам, CTF ерам и т. д. Ну и изучай OPSEC на чужих ошибках!

Омар Ганиев в твиттере

Сайт Deteact

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

wClick

 

BUY

o m

HEADER

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

c

 

 

 

 

 

p

df

 

 

 

e

 

 

 

 

 

g

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

-x ha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

c

 

 

 

.c

 

 

 

p

df

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-x ha

 

 

 

 

 

БЭКДОР В СМАРТФОНАХ HUAWEI И ОСОБЕННОСТИ РЕAЛИЗАЦИИ

TRUSTZONE В SAMSUNG

Евгений Зобнин

Редактор Unixoid и Mobile zobnin@glc.ru

Сегодня в выпуске: бэкдор в смартфонах Huawei, иссле дование устройства защищенной среды исполнения в смар тфонах Samsung, простой и надежный способ зашифровать данные приложения, оптимизация приложения для Chrome OS, объяснение разницы между val и const val в Kotlin, а так же новые инструменты пентестинга и большая подборка библиотек для разработчиков.

ПОЧИТАТЬ

Бэкдор в смартфонах Huawei

Huawei’s Undocumented APIs — A Backdoor to Reinstall Google Services

статья разработчика Magisk о том, как Huawei удалось реализовать систему установки сервисов Google Play на недавно выпущенный Huawei Mate 30.

Напомним, что в результате развязанной президентом Трампом торговой войны США и Китая Google была вынуждена разорвать действующие сог лашения с компанией Huawei. В результате Huawei больше не может легаль но устанавливать приложения Google на свои устройства.

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

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

Никак иначе, кроме как с помощью скрытого API, реализованного Huawei, или уязвимости, LZPlay работать не мог, и Джон Ву (John Wu), разработчик Magisk, решил выяснить, так ли это.

Оказалось, что LZPlay использует ряд специфичных для Huawei раз решений:

<uses permission android:name="com.huawei.permission.sec.MDM_AP

P_MANAGEMENT"/>

<uses permission android:name="com.huawei.permission.sec.MDM_IN

STALL_SYS_APP"/>

<uses permission android:name="com.huawei.permission.sec.MDM_IN

STALL_UNDETACHABLE_APP"/>

<uses permission android:name="com.huawei.systemmanager.permission.

ACCESS_INTERFACE"/>

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

<uses permission android:name="com.huawei.permission.sec.MDM_IN

STALL_SYS_APP"/>

<uses permission android:name="com.huawei.permission.sec.MDM_IN

STALL_UNDETACHABLE_APP"/>

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

Но самое интересное, что использовать эти API могут только приложения, подписанные специальным ключом Huawei. Другими словами, Huawei не только знала о существовании приложения LZPlay, но и одобрила его, выдав разработчикам ключ для подписи.

Особенности реализации TrustZone в смартфонах Samsung

Breaking Samsung’s ARM TrustZone — рассказ об уязвимостях, найденных в реализации TrustZone в смартфонах Samsung. Презентация интересна не столько самими уязвимостями, сколько подробностями о внутренностях системы.

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

В случае с Samsung внутри TrustZone работает либо операционная сис тема Kinibi, разработанная компанией Trustonic (Samsung Galaxy S3–S9), либо система TEEGRIS, за авторством инженеров самой Samsung (Samsung Galaxy S10). В презентации речь идет только о Kinibi. Интересные факты:

32 битная микроядерная ОС;

разграничение полномочий на уровне системных вызовов;

запускает процессы (в том числе драйверы) головной процесс RTM (Run Time Manager);

RTM также отвечает за коммуникацию между процессами с помощью MCI (Mobicore Communication Interface);

приложения могут быть запущены из стандартной среды исполнения (для подтверждения аутентичности используются цифровые подписи);

приложения Kinibi взаимодействуют со стандартной средой с помощью разделяемой памяти, в которую записываются команды для приложений

Kinibi;

драйверы реализованы в форме обычных процессов с расширенным набором привилегий.

TrustZone в реализации Samsung

РАЗРАБОТЧИКУ

Шифрование данных приложения

AndroidX: Security library — рассказ о новой Jetpack библиотеке androidx.se curity, содержащей удобные и простые инструменты для шифрования данных приложения.

Библиотека включает в себя два основных класса:

EncryptedSharedPreferences — аналог SharedPreferences, автоматически выполняющий шифрование ключей и значений, записываемых в файл нас троек;

EncryptedFile выполняет автоматическое шифрование файлов с помощью собственных реализаций классов FileInputStream и FileOutputStream.

Пользоваться библиотекой очень просто. Подключаем библиотеку с помощью Gradle:

implementation "androidx.security:security crypto:1.0.0 alpha02"

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

TEE):

val keyGenParameterSpec = MasterKeys.AES256_GCM_SPEC

val masterKeyAlias = MasterKeys.getOrCreate(keyGenParameterSpec)

Далее создаем объект класса EncryptedSharedPreferences:

val sharedPrefs = EncryptedSharedPreferences.create(

ИМЯ_ФАЙЛА,

masterKeyAlias,

context,

EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,

EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM

)

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

Так выглядят зашифрованные настройки

Val vs. const val

To val, or to const val, that is the question — заметка о различиях между val

и const val в Kotlin.

Возьмем следующий пример:

val FANCY_VAL = 1

const val FANCY_CONST_VAL = 2

Обе эти переменные немодифицируемые, но вторая объявлена с ключевым словом const в начале. Что это значит на деле? Во первых, FANCY_VAL станет приватной переменной, для доступа к которой будет создан геттер. Это мож но увидеть, если скомпилировать код и затем декомпилировать его в Java:

public final class ConstValKt {

private static final int FANCY_VAL = 1;

public static final int FANCY_CONST_VAL = 2;

public static final int getFANCY_VAL() {

return FANCY_VAL;

}

}

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

Оригинальный код:

public static void main(String[] args) {

System.out.println(ConstValKt.get_FANCY_VAL());

System.out.println(ConstValKt.MY_FANCY_CONST_VAL);

}

Декомпилированный код:

public static void main(String[] var0) {

System.out.println(ConstValKt.getFANCY_VAL());

System.out.println(2);

}

Вывод: const val позволяет оптимизировать код, избавившись от ненужных геттеров и обращений к переменным.

Оптимизация приложения для Chrome OS

Optimizing Android app experiences for Chrome OS — статья разработчиков

Chrome OS о том, что нужно сделать, чтобы Android приложение стало удоб ным для пользователей Chrome OS. Основные моменты:

Поддержка клавиатуры. С этим все просто, Android с первых версий поддерживает клавиатуру. Для обработки нажатий клавиш достаточно добавить в активность один обработчик:

override fun onKeyUp(code: Int, ev: KeyEvent?): Boolean {

return when (code) {

KeyEvent.KEYCODE_J > {

// Обрабатываем нажатие

true

}

else > super.onKeyUp(code, ev)

}

}

Следует иметь в виду, что ноутбуки на Chrome OS оснащены специальной клавишей «Обновить» (код кнопки: KEYCODE_REFRESH). В Android приложе ниях эта кнопка по умолчанию запускает обновление

SwipeRefreshLayout.

Тачпад. Пользователи Chrome OS ожидают, что свайп двумя пальцами по тачпаду будет проматывать экран. Это поведение автоматически рас пространяется на Android приложения, но если необходимо обрабатывать эти действия раздельно, то следует игнорировать MotionEvent с сос тоянием кнопок, равным нулю (event.getButtonState() == 0).

NDK. Если Android приложение

использует нативные библиотеки

для платформы ARM, Chrome OS

будет применять x86 транслятор

для запуска кода библиотеки. Это снижает производительность, поэтому разработчику следует включать в приложение библиотеки для платформ

ARM, x86 и AMD64.

Разметка. Android уже давно позволяет использовать разную разметку и метод навигации в зависимости от ориентации и размера экрана. Под держка разных устройств и положений экрана автоматически сделает при ложение более удобным в использовании на устройствах с Chrome OS. Также стоит сделать обработчик смены разрешения в колбэке onConfigu rationChanged на случай, если пользователь подключит внешний монитор.

НОВЫЕ БИБЛИОТЕКИ KOTLIN

10 New Android Kotlin Libraries You Should Check Out This Winter — подборка из десяти новых, написанных на Kotlin библиотек:

1.Dots Indicator — индикатор, показывающий текущую страницу ViewPager (или ViewPager2).

2.CalendarView — гибкий, кастомизируемый календарь.

3.EasyFloat — библиотека для создания плавающих окон.

4.Timeline View — библиотека для создания таймлайнов (событий, сле дующих друг за другом).

5.Coil Kt — библиотека загрузки изображений (аналог Picasso и Glide).

6.Simple Calendar — еще один календарь.

7.Material Drawer — дровер (выезжающая с левой стороны экрана панель)

в стиле Material Design.

8.What if — функция расширение для быстрой проверки условий (в том чис ле в билдерах).

9.Koin — DI фреймворк, аналог Dagger без рефлексии.

10.Arrow kt — библиотека функционального программирования.

ИНСТРУМЕНТЫ

Ipwndfu — нашумевший эксплоит axi0mX для взлома загрузчиков iPhone;

Decrypt0r — скрипт для автоматической загрузки и расшифровки заг рузочных образов iPhone (базируется на эксплоите axi0mX);

MOBEXLER — виртуальная машина для пентеста мобильных приложений;

Amtracker — инструмент для идентификации семейств малвари;

Android device check — набор скриптов для проверки настроек безопас ности устройства.

БИБЛИОТЕКИ

SurveyKit — библиотека для создания опросов в стиле ResearchKit для iOS;

AddressPicker — простая библиотека для выбора адреса с помощью

Google Maps;

PinLockView — библиотека для ввода PIN кодов;

Insetter — библиотека для работы с Window Insets (обработки состояний изменения границ экрана приложения);

Beagle — инструмент для отладки приложения прямо на устройстве;

OkReplay — OkHttp библиотека для записи и воспроизведения ответов сервера в Unit тестах;

Formula — реактивный фреймворк для управления состоянием фраг ментов;

Http4k — фреймворк для создания серверных HTTP приложений на Kotlin

по принципу Server as function;

Flipper — библиотека для включения/отключения отдельных функций при ложения в зависимости от билда или настроек;

Uniflow kt — библиотека data flow для Kotlin;

SmoothBottomBar — анимированная панель навигации в нижней части экрана;

ElegantDialog — красивый диалог.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

w Click

 

BUY

o m

COVERSTORY

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

.c

 

 

.

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

-x

 

n

e

 

 

 

 

 

ha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

c

 

 

 

o

 

 

 

 

 

 

 

 

.c

 

 

 

.

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x ha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Candidum duospirit@gmail.com

КАК

СОБРАТЬ

СВОЙ

МОБИЛЬНИК И ПОЧЕМУ СЕГОДНЯ ЭТО ПРОЩЕ, ЧЕМ КАЖЕТСЯ

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

Все началось с того, что некоторое время назад я собирал для себя телефон на модуле связи GSM. Современная электроника была размещена в вин тажном корпусе с внешней трубкой и дисковым номеронабирателем (пом нишь ли ты еще, как ими пользоваться?). Увы, из за непродуманной схемы звонить с него было неудобно.

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

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

Проект демонстрировался на Chaos Constructions 2019 и, к моему (приятно му) удивлению, вызвал интерес у широкой аудитории. Многим было любопыт но узнать внутреннее устройство мобильного телефона, поэтому сегодня я подробно расскажу, как можно собрать подобный гаджет самостоятельно.

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

БЛОК-СХЕМА КОМПОНЕНТОВ

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

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

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

Клавиатура с шестнадцатью кнопками реализована на сдвиговых регис трах (пара восьмибитных микросхем 74HC165 (PDF). Также ты можешь использовать их отечественный аналог — микросхемы компании «Интеграл» КР1533ИР9. В любом случае выход таких регистров представляет собой неполноценный SPI, так как даже при отключении они не переходят в высоко импедансное состояние. Поэтому вместо аппаратной и совмещенной с дис плеем шины SPI для них использовалась программная реализация.

Управлять всем будет микроконтроллер семейства STM32. Так как осо бого быстродействия не требуется, подойдут даже бюджетные решения. Я остановил свой выбор на F103C8T6 (PDF), его ресурсов тут должно хватить с избытком. Кроме того, именно на таком микроконтроллере выпускается известная модельная линейка отладочных плат BluePill (прекрасное средство для избавления от Arduino зависимости). Это позволило собрать прототип и протестировать работу компонентов практически с самого старта.

 

Некоторые

микросхемы

F103C8T6

име

 

ют 128

Кбайт памяти

вместо заявленных

по документации 64 Кбайт. Однако это относится к недокументированным возможностям, и рас считывать на «лишний» банк памяти не стоит.

Позже (и в качестве приятного бонуса) я решил добавить в проект внешнюю постоянную память W25Q32 (PDF) на 32 Мбит. Это позволило не переза писывать флеш самого микроконтроллера и хранить все контакты отдельно. Кроме того, появилась возможность загружать на телефон картинки, символы и прочие элементы растровой графики.

Сама схема мобильного телефона достаточно стандартная и в коммента риях вряд ли нуждается. SIM800C включается при подаче низкого уровня на вывод REST (используется транзистор Q1, соединенный с контактом PA0 микроконтроллера). Дополнительно светодиоды VD2 и VD3 указывают на состояние радиомодуля. VD2 мигает при успешном подключении, тогда как VD3 горит все время, пока SIM800C активен.

Принципиальная схема устройства

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

Питается наше устройство от литий полимерного аккумулятора на 1500 мА ч. Его емкость примерно в два раза ниже, чем у современных флагманских смартфонов, но и ее хватает примерно на неделю в режиме ожидания (потребление около 6 мА) или на сутки активного пользования (пот ребление около 40 мА).

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

НАСТРАИВАЕМ UART

Сегодня существует масса вариантов для программирования микроконтрол леров. Это и различные языки (С/С++, Rust), и самые разнообразные прик ладные библиотеки, абстрагирующие разработку от аппаратного уровня (HAL

от ST Microelectronics, Arduino Core и другие). Я использовал в проекте каноничный C и открытую libopencm3.

Полный комплект исходных файлов проекта дос тупен в репозитории на GitHub.

Первым делом следует инициализировать UART1, ведь именно он отвечает за общение с радиомодулем. Параметры стандартные: 115 200 бод и 8N1.

static void usart1_setup(void){

/* Enable clocks for GPIO port A (for GPIO_USART1_TX) and USART1

*/

rcc_periph_clock_enable(RCC_GPIOA);

rcc_periph_clock_enable(RCC_USART1);

/* Enable the USART1 interrupt */

nvic_enable_irq(NVIC_USART1_IRQ);

/* PA9 TX,PA10 RX */

gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT

_ALTFN_PUSHPULL, GPIO_USART1_TX);

gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT,

GPIO_USART1_RX);

/* Setup UART parameters */

usart_set_baudrate(USART1, 115200);

usart_set_databits(USART1, 8);

usart_set_stopbits(USART1, USART_STOPBITS_1);

usart_set_mode(USART1, USART_MODE_TX_RX);

usart_set_parity(USART1, USART_PARITY_NONE);

usart_set_flow_control(USART1, USART_FLOWCONTROL_NONE);

usart_enable_rx_interrupt(USART1);

usart_enable(USART1);

}

После этого логично как то организовать отправку команд на модуль. Нап ример, c помощью сторонней реализации printf(). Для этого используется библиотека rprintf. Ее код хорошо оптимизирован и занимает всего несколь ко килобайтов памяти. Библиотеку следует подправить для работы с li bopencm3, буквально несколько строк.

#38 #define UART USART1

...

#95 vfprintf_((&usart_send_blocking), format, arg);

...

#142 ch = usart_recv_blocking(UART);

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

РАБОТА С ЭКРАНОМ

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

static void spi1_setup(void){

/* Enable SPI1 Periph and gpio clocks */

rcc_periph_clock_enable(RCC_SPI1);

rcc_periph_clock_enable(RCC_GPIOA);

/* Configure GPIOs:

*SCK = PA5

*DC = PA6

*MOSI = PA7

*CS = PA1

*RST = PA4

*LED = PB0

*/

gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT

_ALTFN_PUSHPULL, GPIO5 | GPIO7);

gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT

_PUSHPULL, GPIO4 | GPIO6 | GPIO1);

/* Reset SPI, SPI_CR1 register cleared, SPI is disabled */

spi_reset(SPI1);

/* Set up SPI in Master mode with:

*Clock baud rate: 1/64 of peripheral clock frequency

*Clock polarity: Idle High

*Clock phase: Data valid on 2nd clock pulse

*Data frame format: 8 bit

*Frame format: MSB First

*/

spi_init_master(SPI1, SPI_CR1_BAUDRATE_FPCLK_DIV_2, SPI_CR

1_CPOL_CLK_TO_0_WHEN_IDLE, SPI_CR1_CPHA_CLK_TRANSITION_1, SPI_CR

1_DFF_8BIT, SPI_CR1_MSBFIRST);

/* Set NSS management to software */

spi_enable_software_slave_management(SPI1);

spi_set_nss_high(SPI1);

/* Enable SPI1 periph. */

spi_enable(SPI1);

gpio_set(GPIOA, GPIO1);

}

В библиотеке последовательно реализованы функции отрисовки точек, линий, окружностей, печати символов и целых строк и обновления экрана. Также поддерживается вывод символов кириллицы в кодировке CP866. Клю чевой компонент кода — вызов st7735_sendchar(char* c), который поз воляет последовательно выводить на экран строки, в том числе и с управля ющими последовательностями. На данный момент поддерживаются символы перевода строки (\n), возврата каретки (\r), очистки экрана (\a) и бэкспейса

(\b).

void st7735_sendchar(char ch){

uint16_t px, py;

gpio_clear(STPORT, STCS);

if (ch == '\r') {

pos = pos % 26;

return;

}

if (ch == '\n') {

pos += 26;

pos = pos % 26;

return;

}

if (ch == '\a') {

pos = 0;

st7735_clear(bg_color);

return;

}

if (ch == '\b') {

pos ;

px = (pos % 26) * 6;

py = (pos / 26) * 8;

st7735_drawchar(px, py, 0x20, txt_color, bg_color);

return;

}

if(pos > 416) {

pos=0;

st7735_clear(bg_color);

}

px = (pos % 26) * 6;

py = (pos /26) * 8;

st7735_drawchar(px, py, ch, txt_color, bg_color);

pos++;

while (SPI_SR(SPI) & SPI_SR_BSY);

gpio_set(STPORT,STCS);

}

По умолчанию используется зеленый текст на черном фоне. Цвета можно ука зать явно, с помощью вызова функции st7735_set_printf_color(unit16_t text, uint16_t back). Кроме того, реализована дополнительная функция вывода текущего символа, который пользователь набирает на клавиатуре.

void st7735_virt_sendchar(char ch){

uint16_t px, py;

gpio_clear(STPORT, STCS);

px = (pos % 26) * 6;

py = (pos / 26) * 8;

if (ch > 0x20) {

st7735_drawchar(px, py, ch, RED, bg_color);

}

while (SPI_SR(SPI) & SPI_SR_BSY);

gpio_set(STPORT, STCS);

}

Она похожа на st7735_sendchar(), но не обрабатывает управляющие пос ледовательности и не меняет текущую позицию символа. Таким образом,

вызов функции st7735_sendchar() после st7735_virt_sendchar() перери сует на экране символ, выведенный st7735_virt_sendchar().

КЛАВИАТУРА

Весь набор кнопок подключен через сдвиговые регистры к программному SPI. Обрабатывает пользовательский ввод библиотека 4х4key. У клавиатуры две раскладки — русская и английская, в каждой раскладке за кнопкой зак реплено по четыре символа.

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

Рассмотрим процесс обработки ввода подробнее. За опрос клавиатуры отвечает функция get_key(). Для этого используется процедура read_key(), которая считывает текущее состояние сдвиговых регистров и возвращает два байта информации от кнопок. Сочетаний клавиш в данный момент нет, но их можно легко добавить при необходимости.

Раскладка переключается при получении кода 0x0002, в любом другом случае возвращается код символа. В зависимости от выбранного языка зна чение переменной ch_map инкрементируется.

...

while (!key_code) {

key_code = read_key();

}

do {

if(key_code == 0x0002) {

if (ch_map < 2) {

ch_map++;

else {

ch_map = 0;

}

show_char_map(ch_map);

while(key_code==2) key_code=read_key();

}

while(!key_code) {

key_code = read_key();

}

} while (key_code == 0x0002);

...

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

...

if (key == '\n') {

delay(500);

}else if (key == '\b') { delay(500);

}else if(key == ' ') { #ifdef ECHO

st7735_virt_sendchar(key); #endif

delay(800); timer_start(); old_keycode = key_code; do {

key_code = read_key(); if (key_code){

if (key_code == old_keycode) {

count++;

if (count > 15) {

count = 0;

}

wait_key_counter = 0;

} else {

count = 0;

break;

}

key = keymap2(count, 2);

#ifdef ECHO

systick_interrupt_disable();

st7735_virt_sendchar(key);

systick_interrupt_enable();

#endif

delay(900);

}

} while (wait_key_counter < 1000);

timer_stop();

...

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

char fast_get_key() {

uint16_t key_code;

char key;

while (!key_code) {

key_code=read_key();

}

key = keymap(key_code, 0);

while (read_key()) {

__asm__("nop");

}

#ifdef ECHO

echo(key);

#endif

return key;

}

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

int stprintf(const char \*format, …) {

va_list arg;

va_start(arg, format);

stprintf_((&st7735_sendchar), format, arg);

va_end(arg);

return 0;

}

Продолжение статьи

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

wClick

 

BUY

o m

COVERSTORY

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

.c

 

 

.

 

 

c

 

 

 

 

 

p

df

 

 

 

e

 

 

 

 

 

g

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

-x ha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

← НАЧАЛО СТАТЬИw Click

 

BUY

 

m

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

c

 

 

 

.c

 

 

 

p

df

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-x ha

 

 

 

 

 

КАК СОБРАТЬ СВОЙ МОБИЛЬНИК И ПОЧЕМУ СЕГОДНЯ ЭТО ПРОЩЕ, ЧЕМ КАЖЕТСЯ

С функцией kscanf() все несколько сложнее, так как у нас есть две функции получения символа с клавиатуры. Поэтому придется объединить их в одну, организовав переключение ввода между get_key() и fast_get_key(). Заодно добавим поддержку управляющего символа \b.

void set_scanf_mode(unsigned char mode) {

fast_mode=mode;

}

int kscanf(const char* format, …) {

va_list args;

va_start( args, format );

int count = 0;

char ch = 0;

char buffer[kscanf_buff_size];

kscanf_buffer = buffer;

while (count <= kscanf_buff_size ) {

if(fast_mode) {

ch = fast_get_key();

} else {

ch = get_key();

}

if (ch == '\b') {

if (kscanf_buffer > buffer) {

kscanf_buffer ;

}

continue;

} else {

count++;

}

if (ch != '\n' && ch != '\r') {

*kscanf_buffer++ = ch;

else {

break;

}

}

*kscanf_buffer = '\0';

kscanf_buffer = buffer;

count = ksscanf(kscanf_buffer, format, args);

va_end(args);

return count;

}

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

stprintf("\aHello World!");

МОДУЛЬ GSM

Рассмотрим работу с SIM800 на примере с отправкой SMS, остальные фун кции ведут себя аналогично. Будем использовать текстовый режим, так как он более наглядный. Дополнительно для отправки сообщений на кириллице нужно заранее настроить кодировку.

void sim800_init_cmd() {

printf_("AT+CMGF=1\r\n");

for (uint32_t i = 0; i < 0xFFFFFF; i++) __asm__("nop");

printf_("AT+CSCS=\"UCS2\"\r\n");

for (uint32_t i = 0; i < 0xFFFFFF; i++) __asm__("nop");

printf_("AT+CSMP=17,167,0,8\r\n");

for (uint32_t i = 0; i < 0xFFFFFF; i++) __asm__("nop");

}

void fast_sms_send(char *text, char *tel) {

char *p_tel;

char u_tel[64]="+7";

char temp[512];

if (tel[0] == '8') {

p_tel = tel + 1;

}else if (tel[0] == '+') { p_tel = tel + 2;

}else {

p_tel = tel;

}

strcat(u_tel, p_tel);

strcpy(temp, text);

cp866_to_utc2(temp);

cp866_to_utc2(u_tel);

stprintf("\aSend sms\r\nAT+CMGS=\"%s\"\r\n%s\x1A", u_tel, temp);

printf_("AT+CMGS=\"%s\"\r\n", u_tel);

for (uint32_t i = 0; i < 0xFFFFFF; i++) __asm__("nop");

printf_("%s\x1A", temp);

}

Теперь можно использовать в коде что то осмысленное и понятное, нап ример

fast_sms_send("Hello world!", "89162402484");

Попробуем передать строку на кириллице, предварительно включив нужную кодировку:

void write_sms() {

char text[256];

char tel[13];

uint8_t ret_code;

stprintf("\aSMS writer v0.01\r\n"

"Enter the sms text\r\n"

">");

kscanf("%s", text);

ret_code = telbook_get_number(tel);

if(!ret_code) {

return;

}

fast_sms_send(text, tel);

}

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

ТЕЛЕФОННАЯ КНИГА

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

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

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

иноутбук».

Основные возможности телефонной книги позволяют выбрать нужный номер контакта (telbook_get_number()), а также добавить или удалить уже сущес твующий (telbook_rec_add() и telbook_rec_del()). Кроме того, можно произвести поиск имени по телефону с помощью функции telbook_find_ name(). Для низкоуровневого взаимодействия с микросхемой памяти написана библиотека 25q32, которая берет на себя все нюансы аппаратной реализации.

РАБОТА С ГРАФИКОЙ

Что можно еще попробовать, располагая цветным дисплеем и несколькими мегабайтами свободной памяти? Ну конечно же, вывод изображений, это само просится! Мобилка легко переваривает файлы ВМР с разрешени ем 128 на 160 и глубиной цвета в 16 бит. Картинки хранятся во внешней мик росхеме и отображаются на экран с помощью функции img_from_flash(), которая принимает адрес начала массива пикселей. Структура формата очень простая, но, если ты ее забыл, всегда можно почитать про заголовок и смещение в интернете.

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

void img_from_flash_v3(uint32_t addr) {

uint8_t bufer[4096];

gpio_clear(STPORT, STCS);

st7735_sendcmd(ST7735_MADCTL);

st7735_senddata(1 << 7);

while (SPI_SR(SPI) & SPI_SR_BSY);

gpio_set(GPIOA, STCS);

for(uint8_t i = 0; i < 10; i++) {

w25_read(addr + (i * 4096), bufer, 4096);

st7735_drawimg(0,0+16*i,128,16, bufer);

}

gpio_clear(STPORT, STCS);

st7735_sendcmd(ST7735_MADCTL);

st7735_senddata(MV | MX);

while (SPI_SR(SPI) & SPI_SR_BSY);

gpio_set(STPORT, STCS);

}

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

void xmodem_to_flash(uint32_t addr) {

unsigned char buf[132];

uint32_t byte = 0;

uint8_t lastlen, ch;

usart2_init();

usart_send_blocking(USARTX, NAK);

while(1){

ch = usart_recv_blocking(USARTX);

if (ch == SOH){

for (uint8_t i = 0; i < 131; i++) {

ch = usart_recv_blocking(USARTX);

buf[i]=ch;

}

lastlen=129;

while(buf[lastlen ] == EOF);

lastlen = 1;

w25_write(addr + byte, buf + 2, lastlen);

byte += lastlen;

usart_send_blocking(USARTX,ACK);

continue;

}

if (ch == EOT){

usart_send_blocking(USARTX, ACK);

break;

}

}

usart2_deinit();

}

Таким образом, для записи файла с

компьютера

я начинаю передачу

с помощью терминальной программы

(например,

minicom), после чего

любым удобным способом вызываю функцию xmodem_to_flash().

ЭНЕРГОСБЕРЕЖЕНИЕ

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

В первую очередь посадим на сухой паек радиомодуль. Команда AT+CSCLK=1 и высокий уровень на выводе DTR переводят SIM800C в спящий режим (sim800_sleep()). При этом все еще сохраняется возможность при нимать входящие вызовы и SMS, но для передачи команд с микроконтрол лера нужно вновь подать низкий уровень на DTR и выждать порядка 50 мс (sim800_wake()). В таком режиме потребление составляет всего несколько миллиамперов.

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

void standby (void) {

SCB_SCR |= SCB_SCR_SLEEPDEEP;

PWR_CR |= PWR_CR_PDDS;

PWR_CR |= PWR_CR_CWUF;

__asm__("WFI");

}

Заключительная строчка кода (Wait For Interrupt) переводит F103C8T6 в режим ожидания, из которого он выходит, только когда наступает прерывание. В нашем случае это подача низкого уровня на вывод REST микроконтрол лера.

ИНТЕРФЕЙС

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

void main_help_menu(void) {

stprintf("\aHELP\r\n"

"~ ATA\r\n"

"! ATH\r\n"

"1 data menu\r\n"

"2 call menu \r\n"

"3 img menu\r\n"

"4 power menu\r\n"

"5 sim800 menu\r\n"

"6 help\r\n"

"7 sim800 PWR\r\n"

"8 sleep\r\n"

"9 sleep logo\r\n"

"* tel book\r\n"

"0 sms menu");

}

void get_keybord_cmd(void) {

char bufer[64];

uint32_t addr, l, n = 4096;

char key;

key=fast_get_key();

switch (key){

case '1': data_menu(); break;

case '2': telbook_menu_v2(); break;

case '3': img_menu(); break;

case '4': power_menu(); break;

case '5': sim800_menu(); break;

case '6': main_help_menu(); break;

case '7': sim800_power(); break;

case '8': st7735_sleep();

w25_powerdown();

standby();

break;

case '9': w25_powerdown();

standby();

break;

case '0': sms_menu(); break;

case '*': telbook_menu(); break;

case '~': sim800_take_call(); break;

case '!': sim800_ath(); break;

}

return;

}

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

Меню call служит для быстрого набора номера из телефонной книги, тогда как tel book позволяет редактировать и добавлять записи новых абонентов. Power menu управляет настройками энергосбережения, а команды sleep и sleep logo переводят устройство в режим сна (примерно 6 и 9 мА потребле ния соответственно).

Есть и несколько дополнительных полезностей. Меню img выполняет фун кции галереи и предоставляет доступ к сохраненным картинкам, а sim800 напрямую взаимодействует с радиомодулем через стандартные команды АТ. Как будто не самая очевидная вещь, но она мне здорово при годилась при отладке.

ИДЕИ И РАЗВИТИЕ ПРОЕКТА

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

вконтактах.

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

увлечься и собрать полноценный смартфон!

Соседние файлы в папке журнал хакер