Pull to refresh

Comments 106

Ой, спасибо.

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

P.S. Последний абзац непонятен. Я ничего не жду. Точнее помощь именно по этому вопросу не требуется, всё улажено с представителями компании, жду ответа от них.
Посмотрите зачем нужны именно автоматические кормушки с доступом :-) catnfit.com
ААААААААА!

10/10. Спасибо.

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

Да, и конечно же это всё должно работать на какой-то своей связи (блютус или PMR диапазон какой-нибудь, вот только у блютуса в прошлом или позапрошлом году лютейшую уязвимость нашли), без wi-fi, потому что заводить отдельную сетку без интернета как-то муторно. Я не дочитал, как у них сделано взаимодействие.

Каждому коту — свои персональные 2 кормушки, выдача корма — по распознаванию морды, или авторизовать каждого кота по браслету с чем-нибудь по типу NFC. Единственное, придётся сначала натренировать котов, чтобы знали, какая именно пара кормушек принадлежит им. Может быть, прочитают комментарий и что-то подобное реализуют.
Мне кажется, стоить это будет как 5 моих зарплат.
Продаются кошачьи дверцы с идентификацией кота по электронному ошейнику, так что вполне можно обойтись покупными устройствами.
Я ещё поверю в то, что коты прочитают этот комментарий. Но вот зачем им реализовывать всё это?
По-моему, такую штуку и для программистов надо бы сделать

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

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

А там принципиально неустранимо снаружи или можно закрыть файрволом так, чтобы доступ был только через специально проколупанную дырочку?

а зачем к ней в принципе доступ снаружи нужен, если задуматься?
Посмотреть в недолгом отъезде логи кормлений, статусы ошибок, покормить вне разово вне расписания.
как вариант устройству в интернет запретить ходить. а подключаться к домашней сети по VPN или IPsec и уже из домашней сети управлять — у себя так и сделал что бы слегка успокоить свою паранойю. и все это позволяет сделать на базе большинства роутеров или штатно или с небольшим добавления своих скриптов

Я в соседних ветках комментариев пару раз объясняла, почему специфика работы этой кормушки не позволит так сделать. Иначе всё было бы проще.

Китайцы всё через облако пускают. Даже робот-пылесос.
Я говорю по дефолту. Что китайцы все пускают через облако.
Не, прикрыть не получится. Кормушка общается только с китайским облаком напрямую. В её случае можно или полностью лишиться управления, или сдаться уязвимым китайским облакам. Уязвимости-то поправят, но меня такой вариант не устраивает. Наверное, придётся писать альтернативную прошивку.

Жаль.
И работа со своим сервером не поддерживается? Вроде для устройств aqara люди поднимают свой сервер на raspbery pi, чтобы не зависеть от китайских серверов.


Upd: а, вижу ваш коммент ниже. Но, может, в итоге победите локальное управление (раз уж сниффер подключили – как минимум там не https с certificate pinning или ещё что, не позволяющее подменить сервер), всем польза :-)

Пока могу сказать, что при текущих условиях (не знаю, что они там сделают после фикса) почти нереально подменить сервер на локальный или иной удалённый. А вот свою прошивку с нуля написать — клёвый вариант.
какой-то излишний оверхед. имхо.
Я подозреваю, что может оказаться проще найти командные выводы моторчиков, и запихнуть туда условный Arduino с любым интерфейсом по выбору. Моторчики, скорее всего, управляются через ключи (т.е. два уровня — крутится или нет), или шаговые с ШИМ, но если там шнековый привод, то скорее вариант 1 (шнек долго крутить шаговым двигателем). И то и другое на МК делается на раз.
Именно об этом и размышляю! Только запихивать туда ничего не надо. Там уже ESP8266, нужно просто изучить пины и написать свою прошивку.
Согласен. Под ESP-шку легко пишется.
Могу парой кликов неожиданно накормить всех котиков и собачек, а могу наоборот лишить их еды, удалив расписания с устройств

МУХАХА! Вот она — АБСОЛЮТНАЯ ВЛАСТЬ. Можно запрограммировать животных на рефлексы по Павлову. В мультиках про Чипа и Дейла хватает таких сюжетов, там можно набраться готовыми решениями.


А если серьёзно, то это полный трэш. Люблю гаджеты, но не считаю что в IOT будет безопасен в ближайшие лет 5-10 как минимум, поэтому не пользуюсь многими классными штуками

У меня есть простое правило: покупать те устройства, которые способны управляться локально, без использования облаков. После этого девайсу блокируется выход в интернет файрволом на уровне роутера — готово. Если хочется управлять снаружи, то девайс заводится в Home Assistant, где всё под контролем, при чём под собственным.

В принципе, именно к локальному управлению я и готовила кормушку, когда произошёл сабж.

Как я вас понимаю ) Сам также поступаю. пока лень победила только пылесос, но и то, потому что я не мог придумать, как им ущерб нанести.

Составить план квартиры и найдя несогласованную перепланировку настучать в БТИ.
;)

В китайское БТИ, смею вас заверить. Я про физический ущерб...

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

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

немного занимался «отладкой» iot, тоже что ли купить кормушку и поиграться
А где описание API? Или сниффером?
Сниффером. Под API я имею в виду HTTP/JSON-интерфейс, по которому мобильное приложение с сервером общается. Он не открыт, очевидно (хотя было бы классно).
Да, это был первый этап моего знакомства с кормушкой. Вторым этапом я хотела вообще избавиться от необходимости общаться с api.furrytail-pet.com и наткнулась на дыру.
UFO just landed and posted this here
Нет, всё глупее и смешнее. Потерпите, расскажу.

Публичный ftp! По файлику с конфигом на каждое устройство. Или ещё глупее?

Ыахаха, вы оказались ближе всех, кто вообще делал какие-либо догадки на эту тему.

Если не указать, забыть хэш или ИД, то выдаётся всё? Как в бд?

вы себе не представляете сколько устройств существуют которые именно сбросом файла конфигурации и прошивки по ftp или просто копированием на конкретный порт устройства существует в большой автоматизации
UFO just landed and posted this here
HTTP, даже не HTTPS? Т.е. даже сертификат подменять не пришлось?

P.S. Не хотите попробовать подать доклад на DEFCON, ближайший BSides или что-то в этом роде? Я нередко там видел презентации на подобные темы, IoT в последнее время популярен, а тут еще и котики / собачки.
Расскажите о самом устройстве. Как оно в деле. Плюс/недостатки.
Только помимо уязвимости опустим и неудобную архитектуру удалённого управления (пакет обязательно должен пройти через Китай и обратно). И тот факт, что для активации нужно обязательно залогиниться через WeChat, который без боли зарегистрировать в РФ невозможно.

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

Такой вопрос. Кормушка позволяет зарядить на 2 недели корма и кот с голоду не помрет. А как эти 2 недели решается вопрос с туалетом?

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

Там оно жужжит очень-очень тихо (оборот поддона происходит примерно раз в час).

За 2 недели 5 кг наполнителя уходит легко. Этот механизм на 2 суток максимум.

Это Вы просто их готовить не умеете :)

С вичатом-то сейчас нет никаких проблем. Только его платёжную систему так просто не подключишь.
У меня собака и кошка были, поэтому пришлось сделать самому шнековую кормушку, но была проблема с количеством корма. Для собаки надо больше, иначе кошке ничего не доставалось. Прикупил
www.seeedstudio.com/Sipeed-M1-dock-suit-M1-dock-2-4-inch-LCD-OV2640-K210-Dev-Board-1st-RV64-AI-board-for-Edge-Computing.html
и на ней сделал различитель собаки и кошки. Количество корма зависело от того кто подошёл. Не такая красивая была конечно как у Xiaomi.
А они строго по очереди подходят?
Нет. Но впереди стоял мало потребляющий сенсор движения, который включал одноплатник, который определял кто стоит перед камерой и наваливал корму. За дня два-три они (собака и кошка) привыкли.
Русские хакеры настолько суровы, что решают, кто будет президентом в чужой стране и будет ли сегодня ваш питомец кушать.
К сожалению, у производителя нет программы по мотивации пользователей, которые нашли уязвимость в их устройствах, поэтому награды за переданную информацию ей не предоставят.

Ну конечно! Девушка проделала работу, не поленилась сообщить, потратила время на описание. И ведь реально уязвимость критическая. А у такой компании как Xiaomi не нашлось ну просто никаких возможностей элементарно отблагодарить — нету баунти видите ли! Я знаю человека, который в аналогичной ситуации помимо спасибо ещё из своего кармана отдал, а тут ведь… ни одному топу даже не пришло в голову послать девчонке тысячу баксов, потери которой он бы даже и не заметил при их-то зарплатах. Крупный, успешный бизнес с мировым именем, да…
Топы на данный момент, скорее всего, не в курсе этой проблемы. Завели по-тихому таску в джире, да и все. Хотя если сейчас в СМИ разнесут весть, то, может, что-то и изменится.
Я написал в спортлото на Slashdot. Если пройдет модерацию и попадет на главную страницу, реакция будет куда интереснее.
Александр, очень приятно, но всё же не нервничайте пока. Во-первых, это не Xiaomi, а Furrytail, малоизвестная китайская компания, которая до этого только когтеточки да домики кошачьи выпускала. Наверное, они просто не понимают, как в таких ситуациях надо поступать. Такой ответ мне дали на предварительное письмо, где я сообщила о факте наличия уязвимости. Мне ещё не ответили на финальное письмо, где я расписала всё подробно и дала рекомендации по исправлению, возможно, там вердикт будет уже другой. Хотя рекомендации они выполнять уже потихоньку начали.
В данном случае, абсолютно неважно малоизвестная это компания или нет) Известный шильдик приклеили — значит тот, кто им непосредственно владеет (неважно что он его сдал в аренду) тоже должен нести определенную ответственность. Расценивайте Furrytail просто как подрядчика Xiaomi и только. Надо же было соображать, что контора делающая домики и когтеточки в свой первый раз точно что-нибудь наардуинит) Кстати, в данном случае это может быть даже плюс, т.к. мелкая контора, из-за минимума бюрократических барьеров, среагирует гораздо шустрее крупной.

Штука в том, что подобный бизнес я видел изнутри и понимаю причины и менталитет подобных ситуаций. Успешность и креативность порой затмевают разумность и руководство готово месяцами упарываться на редизайн логотипа, спуская туда кучу денег, а не оценивать проблему электронной/информационной безопасности. Я когда в одном из стартапов подобные вопросы поднимал на меня как на идиота смотрели) И да, я негодую — это ж всё нас окружает! А порой кто находит косяки не встречает адекватного понимания со стороны производителя (порой даже наоборот) — пока не раздуется проблема в СМИ никто ничего делать не хочет. Естественно это печалит.

koteeq, ваш альтруистический настрой мне импонирует. Вы не прошли мимо, приложили определённые усилия, которые сделают этот мир лучше. И это радует.
«Furrytail говорит вам, что вы очень красивая сеньора и ему стыдно не отблагодарить вас за найденную уязвимость, но иначе Xiaomi побьет его.»
ну, хоть в суд подавать не собираются, и то хлеб.
Да, с этим надо что-то делать. У меня уже скопилось штук 6 устройств от xiaomi, и возможность управления через mi home практически бесполезна из-за лагающих китайских серверов. А тут ещё и дыры в безопасности… Нужны ломаные прошивки.
Почти все устройства, которые доступны через mi home, поддерживают локальное управление без китайских облаков.
koteeq, не расстраивайтесь по поводу «баунти нет и не будет» — это обычное дело, к сожалению. Я не так давно обращался (на приличном английском, само собой) в одну из дочерних компаний VISA с репортом об уязвимости, распространяемой (!) на их сайте… мало того, что ни в той компании, ни в самой VISA нет bug bounty, так сама компания вообще не сочла нужным ответить, а в VISA заявили, что не работают напрямую с физ. лицами (т.е. очевидно попал на фронтлайн саппорт), и предложили обратиться в мой банк (шта?). Ну ОК. Похожая история год назад с еще одним платежным провайдером тянулась почти этот самый год (и ладно бы какой-нибудь мелкий провайдер — так нет, капитализация за 10 млрд. долларов) — и только после нескольких напоминаний они снисходительно убрали найденный мной на их официальном сайте трэш. Баунти, естественно, тоже не было. Пока не решил, буду публиковаться или нет, но если честно, этот всеобщий пофигизм иногда подбешивает.
Я по поводу баунти и не расстраиваюсь, изначально не рассчитывала. Просто людям обычно интересны денежные вопросы в таких историях, вот я и опубликовала, что мне сказали. Почему-то журналисты решили, что это важный момент. В обоих письмах китайцам я несколько раз сама написала, что для меня первично исправление уязвимости, потому что мне нравится девайс и я желаю добра их клиентам, и что обязуюсь не эксплуатировать уязвимость, независимо от их желания меня награждать.

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

P.S. Когда нашла уязвимость в СДЭК, которая позволяла всю базу их посылок выгрузить с полной информацией об отправителе/получателе/грузе с адресами и номерами телефонов, они сначала возмущались, что я смотрю на JSON-ы, которые приходят от их сервера мобильному приложению, мол лезу куда не надо, а потом вовсе перестали отвечать на письма, исправив дыру. Посылки, кстати, там ещё и перенаправлять можно было, что тоже критично.
UFO just landed and posted this here

ага, они бы ещё сказали, что нельзя смотреть json'ы на веб-сайте и межхостовом взаимодействии, да вообще, что вы в интернет лезете))

> Посылки, кстати, там ещё и перенаправлять можно было, что тоже критично.

Великолепно :) Отличная работа — и спасибо, что правильно отрепортили (мудаки с другого конца провода не отменяют этики). Три месяца назад я имел приятный разговор с президентом одной компании — местного провайдера неких бытовых услуг, клиентом коего я недавно стал. Разговор был на тему того, что их API, видимый прямо в Dev Tools, сливал всю их базу вместе с номерами кредиток, адресами и паролями (да-с), тысяч так на несколько человек. Все было очень вежливо, предупредительно и с тонной благодарностей (которые тем не менее так и не трансформировались ни во что осязаемое). Зато починили за 3 дня, за что им плюс в карму (поверх минусов за оригинальный дизайн).

Опубликуйте, пожалуйста.
Я сам работаю сфере платёжных технологий, очень интересно от чего VISA открестилась :)

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

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

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

Я извиняюсь, а куда животному справлять нужду во время столь длительного отъезда хозяев?

Там выше был коммент про автоматические самоочищающиеся туалеты (для котов в основном). Собак надо выгуливать, конечно.
Есть роботизированные кототуалеты, со смывом в канализацию.
Отчет юзера:https://antontsau.livejournal.com/627795.html
UFO just landed and posted this here
контейнер на четыре литра, в котором помещается два килограмма сухого корма

И тут мой мозг сломался. Конечно я знаю, что дело в плотности. Видимо этот контейнер предназначался еще и для воды — поэтому написали объем в литрах. А кто-то возможно заливает воду с сухим кормом одновременно, чтобы не в сухомятку)))
UFO just landed and posted this here
Литр (фр. litre, от лат. litra — мера ёмкости; русское обозначение — л; международное — L или l) — внесистемная метрическая единица измерения объёма и вместимости, равная 1 кубическому дециметру

ru.wikipedia.org/wiki/Литр

%)
Объем небольших емкостей обычно литрами и измеряют :) Конечно, было бы правильнее написать «контейнер объемом четыре литра», но и так понятно :)
Объем любых емкостей можно измерять литрами («А в попугаях я гораздо длиннее!»)

Например — «Объем багажника мин/макс, л — 1359/4146»
Можно, конечно. Но, например, объем цистерн обычно указывают в куб метрах :) Чтобы не путаться в нулях «Объем цистерны, л — 30000000» :)
Я просто хотел показать товарищу со «сломанным мозгом», что не все емкости, объем которых указан в литрах, предназначены для жидкостей =)
А, ну тогда надо было и отвечать товарищу, а не мне :))
Вроде существует негласное правило, что если разработчики не реагируют на сообщение об уязвимости в течение какого-то времени, то уязвимость можно публиковать. Но это не точно. Надеюсь Анна не убьет 11000 котиков =) Хотя на пару дней отключить можно — тогда хотя бы обратят внимание.
Если есть баунти, то нашедший может вступить в неё и автоматом соглашается о неразглашении технических деталей в течение какого-то срока, после истечения которого ограничение снимается. Если же баунти нет, то можно связаться с конторой и обговорить вопрос публикации. В любом случае, убликация уязвимости без предупреждения и «просто так», хоть и с благими намерениями, может легко повлечь за собой судебные иски и, в ряде случаев, даже уголовное преследование. Другое дело, что производители порой не реагируют и единственный способ заставить их — поднять шум в СМИ. Тут уже возникает вопросы в этичности что пуликовать, а что нет, т.к. желанием «наказать» производителя можно навредить обычным людям.
да кто обратит внимание, если в отпуске, например, хозяева… за две недели то точно обратят — котики начнут разлагаться и пахнуть (черный юмор). А если серьезно, то может возможно перешить на прошивку с отключенной функцией перепрошивки, так сказать «захлопнуть дверь изнутри». Тогда сразу пойдут логи об ошибке и обратят внимание.
Надо очень сильно быть уверенным в этой кормушке, чтобы доверить судьбу своих животных этой китайской фигне.
Может просто питомцы не так важны
Тадам, ловите пост на Slashdot (на данный момент лежит на главной странице). Может в FurryTail / Xiaomi лишний раз задумаются.
UFO just landed and posted this here
в том что защита такого простого устройства оказалась практически отсутствующей очень растаивает, ведь котики не должны страдать(смайлик умиления)… а серьезно сколько же сейчас надо вложить в разработку программного обеспечения даже самого простого устройства чтобы избежать проблем… а то даже какая-нибудь погодная станция в домашней сети может превратиться вузел ботнета (как это происходило с IP камерами) и доказывай потом правоохранителям что тебя взломали.

Если честно, программная сторона этого устройства выглядит так, будто была реализована школьником после мастер-класса «Как мигать светодиодом на Arduino». Не в упрёк начинающим ни в коем случае, но просто достаточно было нанять разработчика за три доллара в час, а не три цента, чтобы всей этой истории не случилось. Это не сложность космическая, это подход безалаберный :( Понимаю, что порой вскрываются очень интересные и экзотические уязвимости в IoT, но тут всё совсем тривиально до ужаса.

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

Спустя несколько недель есть какие-то новости и изменения со стороны китайцев? Как раз едет ко мне такая же кормушка.

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

Sign up to leave a comment.

Other news