В последнее время что-то частенько приходится писать про взломы. В этот раз, меня, по всей видимости, пронесло, хотя в наличии имеются (и безостановочно трудятся) славные представители пострадавшего семейства сетевых накопителей WD - MyBookLive на два террабайта и MyBookLiveDuo на четыре.

Я не буду подробно описывать саму проблему - по этому поводу есть уже достаточное количество серьезных материалов (например, на Habr-е), но коротенько (минут на 40 🙃), всё-таки опишу своё понимание проблемы.

Итак, в фирменном ПО, установленном на устройствах, есть довольно старая "дыра" в безопасности (датирована 2018 годом), которая (вдруг) почему-то выстрелила только сейчас. "Благодаря" этой уязвимости, у злоумышленника есть возможность выполнять на устройствах этой серии от имени суперпользователя (root) практически любые команды.

Но это ещё не всё. На некоторых устройствах хакеры запустили команду возврата к заводским установкам - соответствующий скрипт поставляется в качестве части фирменного ПО, и, при желании, его можно вполне легально запустить из пользовательского web-интерфейса. Но для этого надо знать (или подобрать) пароль. Уязвимость же (вернее, это уже другая уязвимость, не связанная с возможностью запуска команд, просто, так совпало, что их две и вторая удачно подвернулась под руку) позволяет воспользоваться этим API, причём, как оказалось, пароль для этого знать совсем не обязательно.

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

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

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

Вот дата, когда я обновлял устройства

Надо сказать, что официальная информация не лгала. И этот факт WD попытался использовать для своего оправдания: мол, уязвимость относится к 2018 году, а мы не выпускали патчи с 2015.

Могло бы и сыграть, если бы не энтузиасты, раскопавшие, что уже в 2014 году существовали ресурсы с описанием того, как можно эксплуатировать эту уязвимость - речь про запуск команд от имени root-а при помощи передачи специальным образом сформироварных параметров в функции API. Более того, я не особо углублялся, но, по всей видимости, WD своими руками частично дополнило эту "дыру" возможностью отката к заводским установкам, пытаясь исправить ошибку с авторизацией, возникающую у некоторых пользователей (они просто убрали кусок кода в одном месте, и некорректно сделали изменения в другом, в результате, пароль для подтверждения операции требоваться перестал).

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

Какие можно сделать выводы из этой истории? Во-первых, вероятность того, что устройство, поддержка которого завершена, рано или поздно окажется незащищённым, достаточно высока. И это не проблема исключительно WD, и даже не проблема специфических "железок" - любой компьютер, который работает под управлением необновляемой версии ОС (привет всем, кто использует Windows 7 или Debian Jessie), может стать (со временем) точно так же уязвим.

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

Во-вторых, выставлять устройство наружу - зло. Этот вывод может входить в противоречие с самим преднадначением устройств. Ведь очень многие из них нужны именно для того, чтобы использоваться за пределами локальной домашней сети. Но, как выясняется, ни работа в "облаке" производителя, ни работа через web-интерфейсы, не защищают пользователей от проблем. Видимо, надо делать что-то ещё, что, в теории, должно повысить безопасность. Например, использовать VPN сервисы (желательно, собственные 😉).

Ну и в-третьих, следует весьма серьёзно относится к установке на свои устройства всевозможного дополнительного ПО - последствия не всегда предсказуемы, ведь некоторые ситуации просто невозможно предусмотреть.

Ну и, под конец, пару слов о том, что, по всей видимости, защитило меня от взлома, ведь, каюсь, я выставил web-интерфейсы обоих своих устройств наружу. Спасло же меня то, что сделал я это при помощи обратного прокси сервера. И так получилось, что этот прокси сервер пропускает через себя далеко не все запросы к устройствам. К тому же, он настроен требовать дополнительную аутентификацию у приходящих пользователей. Возможно, я и ошибаюсь в своих предположениях, но хочется надеятся, что нет 😏. На этом пока всё...