Pull to refresh

Comments 198

Мобильный телефон содержит микрофоны. Ни за что бы не подумал. Впрочем, я тут полез чистить блок питания - а в нём конденсаторы! Небось, электричество воруют.

Имеется в виду микрофон через который вы говорите и на доступ к которому вы выдаёте разрешение. Вы можете думать что если отозвали разрешения у приложений на доступ к микрофону - то никто вас не может записывать. А оказывается есть ещё микрофоны которые не настраиваются и про которые вы не знаете и которые не можете отключить.

Неужели это действительно не ясно?

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

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

Во-первых, ждем демонстрации, да-да, куска кода.

Во-вторых, если речь о звонках, то они и так есть на серверах ФСБ\ФБР (у нас по закону Яровой, у них гуглите сами). Так что тут, что есть микрофоны, что их нет.

Третье, допустим, речь о записи переговоров\совещаний. Мало записать - надо еще передать данные, т.е. приложение должно иметь права на доступ в интернет. Думаю, если человек готов выпаивать микрофоны, то firewall в смартфоне он уж точно настроит.

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

Речь идет не столько о спецслужбах, сколько о корпоративной слежке, об этом вся статья.

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

То, что нечто не было продемонстрировано, абсолютно не означает, что это невозможно

"Даже если у вас паранойя, это вовсе не значит, что за вами не следят" ©

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

Вы отличаете концепцию потенциальной возможности от концепции практической реализации?

Да, именно по этому и задаю вопрос. RSA 2048 концептуально можно забрутфорсить за пару дней\часов\минут, единственное что для этого надо - достаточно мощный компьютер. Все, перестаем пользоваться RSA? Или все же ждем когда кто-нибудь соберет железку и продемонстрирует достаточную скорость?

Это не взаимозаменяемые навыки.

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

Поскольку таких компьютеров не существует, то нет, RSA 2048 даже концептуально нельзя забрутфорсить.

Концептуально можно. Ибо как раз нужный компьютер во вселенной теоретически возможен, атомов хватит.
А вот есть концепции, для решения которых атомов во вселенной не хватит. Там концептуально — нельзя.

Концептутально нельзя. Если компьютера нет, нужно учитывать время на его постройку.

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


То же и с RSA. Ну, да, теоретически, через 1000 у нас будет комп, способный сломать шифр за адекватное время. Но это же совершенно бесполезные спекуляции. Сейчас (в ближайшие десяток лет) не существует никакой концептуальной возможности взломать шифр (разве что с вероятностью 1 к 2^2048 угадать).

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

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

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

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

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

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

Не знаете или нет желания разбираться? Берем тракт и смотрим что происходит. Андройд тоже опенсорсный вроде бы... так что полгода-год экспериментов и вуаля. Если докажете - будет бомба которая взорвет СМИ.

Вся разница лишь в том что для вас 0.(1)% != 0% и вы готовы тратить кучу ресурсов на снижение этого риска хотя бы в половину. Остальной мир будет смотреть с умилением пока не появится рабочий код.

UFO just landed and posted this here

Wireshark и IDS\IPS системы должны подсказать вам правильный путь. В SDK опять таки что-то может быть на эту тему или, скажем, в описании команд к интегральной схеме (или SoC). Реверс-инжинеринг никто не отменял. В общем, было бы свободное время, желание и мотивация.

Все, перестаем пользоваться RSA?

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

Надо не поднимать размер ключа, а переходить на более совершенные алгоритмы, например EdDSA (ed25519/ed448) или хотя бы EcDSA, которые при намного меньших ключах дают тот же уровень криптостойкости.

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

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

я не очень в теме, но кажется тогда и гироскоп не безопасен

Натыкался недавно на статью, где по данным гироскопа восстанавливали чуть ли не 100% речи. Так что вполне может быть.

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

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

Нашли у мужика самогонный аппарат. Судят, объявляют приговор: три года.
Мужик: Да за что три года?
Судья: За то, что гнали самогон.
Мужик: Я не гнал!
Судья: Но аппарат у вас есть?
Мужик: Есть…
Судья: Значит, гнали. Три года.
Мужик: Ну, тогда добавьте еще 7 лет за изнасилование!
Судья: Как, вы еще и насильник?
Мужик: Нет, но аппарат же есть.

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

Демонстрировать такую возможность — не требуется.

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

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

Телефон и его ПО, в отличие от истинных намерений мужика или рептилоидов, материальны. Мы вполне можем разобрать их до основания и гарантированно выяснить, таки можно или нельзя использовать дополнительные микрофоны для шпионажа. Но это долго, дорого и есть нехилый риск ничего не найти, а из ничего хайповую статью не слепишь.
Но это не мешает нашим судам блокировать сайты за то что:
не нарушали, но возможность нарушить есть.
Удовлетворяя исковые требования, суд учитывает, что отсутствие в настоящее время аудиовизуального произведения «Your lie in april» на сайтах animevost.org, anistar.me, anidub.com, www.anilibria.tv, не имеет по настоящему делу правового значения, так как не устраняет саму угрозу нарушения исключительных прав истца в будущем, тем более, что спорное аудиовизуальное произведение ранее размещалось на сайтах.
P.S. Размещалось до покупки прав на данное аниме, а значит и нарушения не было.

Вот ссылка на дело пожалуйста. И разжёванный вариант.

То, что нечто не было продемонстрировано, абсолютно не означает, что это невозможно.

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

К сожалению, в андроиде доступ в интернет даже отозвать нельзя, наверное чтобы рекламу у фонарика так не блокировали :)

Режим "в самолёте" разве не блокирует доступ в интернет?

Но сразу всему, немного неудобно.

В LineageOS, начиная с 17(?) версии, запретить приложению доступ в сеть можно в системных настройках этого приложения. Как доступ к камере у фонарика.

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

Не скажу за все андроиды, но у OnePlus на 10-м Android (официальный OxygenOS) в свойствах приложения (Настройки -> Приложения -> (имя приложения)) есть пункт "Мобильный интернет и Wi-Fi", где можно отрубить приложению сетевую активность целиком.

Увы, в моём "чистом" девятом можно только запретить фоновую передачу данных и то это для продления работы батареи функция больше.

Для андроида есть TrackerControl, который позволяет контролировать использование сети приложениями (без рута). Не панацея, конечно, но лучше, чем ничего…

Ставим AdGuard или там опенсорсную Blockada.
запускаем.
Прописываем каким приложениям можно. А каким — можно через MITM https (если приложение против MITM — будет жить без интернета).
Ну да — использовать вместе с этим какой то VPN можно только если этот VPN специально интегрируется.

"Доступ к микрофону" это логическое разрешение на доступ к потоку. Поток формируется после "всех 3х микрофонов" получить доступ к "одному из 3х" не получится.

Верно, но не совсем. В iOS при наличии разрешения можно снимать звук с определенного микрофона. Этой фичей часто пользуется софт для видеозаписи.

Впрочем, это не про обсуждаемую тему :)

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

UFO just landed and posted this here

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

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

Что делать будем? :)

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

А оказывается есть ещё микрофоны которые не настраиваются

С чего вы взяли? Они все работают в связке, когда даёшь доступ к микрофону - даёшь доступ ко всем им, когда не даёшь - опять же не даёшь ко всем сразу. Неужели это действительно не ясно? ;)

Они все работают в связке, когда даёшь доступ к микрофону — даёшь доступ ко всем им, когда не даёшь — опять же не даёшь ко всем сразу. Неужели это действительно не ясно? ;)


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

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

"Забыть" выключить основной микрофон в софте куда проще, чем навешивать на плату дополнительные.

Эти софтварные разрешения у iOS имеют свои «бэкдоры». Добавить нужный entitlement и вот вам уже можно слушать микрофон без разрешения. Дала вам его эпл (а выдавала она подобные «бэкдоры» крупным игрокам неоднократно, правда пока на моей памяти все случаи были безобидные) или вы раскопали уязвимость в коде проверки наличия этого entitlement (а такие были), тут уже не важно. Конечный пользователь ни то, ни другое без реверсинга не узнает.

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

UFO just landed and posted this here

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

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

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

вы делаете вид, что не поняли смысла или реально такой ?

Рекомендации: не читайте больше статей тут. Это не ваш уровень_)

Окей, допустим проект Пегасус канет в лету. Ящик Пандоры-то открыт. Весь софт мобильных (да и не только) ОС уже не перепишут с нуля в ближайшие n лет. А даже когда это произойдет, никто и никогда не гарантирует в них отсутствие вполне умышленных бэкдоров. Что-то всплывет на поверхность, что-то - нет.

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


UFO just landed and posted this here

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

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

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

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

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

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

Аргумент "Неуловимого Джо" возможно не такой уж и ложный.

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

У какого сервиса\вендора сейчас неподмоченная репутация? Я думаю, сейчас можно априори утверждать, что сливают и продают все. И с точки зрения безопасности это более правильный подход. Лучше я сначала буду не доверять, а уж сервис пусть попробует вызвать у меня доверие. Так что когда юзер изначально доверяет кому-то - то это скорее про инфантильность.

Более того. Практически все производители имеют в EULA абзац про сбор данных. Т.е., они действительно не делают ничего лишнего, кроме заявленного. Но кто сейчас вдумчиво читает EULA?

Так вроде EULA как раз ограничивает производителя, что бы тот не собрал ничего лишнего. Разве нет?

По ЕУЛА есть статья на Хабре, почитайте: https://habr.com/ru/post/361761/

Действительно, EULA пишется не для пользователей, а для компании-разработчика продукта, в том числе, чтобы прикрыть все дыры и возможности предъявить претензии разработчику/правообладателю. И пишется оно не конечным пользователем а компанией-разработчиком. Более того, оно вполне может обновляться с обновлением версии программного продукта к которому относится. Т.е., по итогу ограничивается именно пользователь, который вынужден соглашаться со всем прописанным в ЕУЛА продукта чтобы пользоваться этим продуктом.

PS Например, ЕУЛА Steam: https://store.steampowered.com/subscriber_agreement/

Служба Steam не предназначена для лиц младше 13 лет, и компания Valve не будет преднамеренно осуществлять сбор персональных данных лиц младше 13 лет.

Я это понимаю так: "Так и быть, у лиц младше 13 лет мы ПД собирать не будем, а если и соберём, то это будет непреднамеренно. А вот у остальных обязательно всё соберём, не сомневайтесь." Ведь в этом ЕУЛА нет записи, что собирать ПД не будут вообще, только указано то, что в цитате выше.

Как тут не вспомнить Геймана с Пратчеттом

Гарантийное соглашение на дорогущий комп Кроули, в котором говорится, что «если он 1) не работает; 2) не делает того, что обещано в дорогой рекламе; 3) убивает током любого, кто пойдет к нему ближе чем на три шага, и 4) вообще отсутствует, когда вы вскрыли дорогущую упаковочную коробку, то это служит явным, прямым, абсолютным, косвенным и неотменяемым свидетельством того, что производитель не несет за это ответственности, что покупатель должен чувствовать глубокую благодарность за то, что ему позволено передать свои деньги производителю, и что последствием любых попыток расценивать только что оплаченное как личную собственность покупателя будет визит серьезных мужчин в очень тонких наручных часах и с угрожающе выглядящими портфелями. Условия гарантии, предлагаемые компьютерной индустрией, произвели на Кроули столь сильное впечатление, что он даже послал несколько образчиков Вниз, в отдел разработки соглашений о продаже бессмертных душ, наклеив на конверт желтую бумажку с короткой надписью: «Учитесь, ребята!.»

End-user license agreement пишет разработчик для пользователей, возможно вы имели в виду GDPR?

UFO just landed and posted this here
А мне вот интересно, насколько безопасны гуглофоны с Graphene os на борту.

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

UFO just landed and posted this here
Ну, с недавних пор гуглосервисы можно запустить в песочнице,

Это не про графен ос. По заявлениям разработчика их там не будет ни при каких условиях.

UFO just landed and posted this here

оппа, значит недавно появилось. Спасибо за информацию!


Раньше разработчик постоянно заявлял что в его операционке гуглосервисов никогда не будет и точка (не важно в каком виде MicroG или от гугла). Это была его принципиальная позиция.


Значит передумал.

На госзакупках телефоны со сертификатами идут в разы дороже таких же телефонов, но без сертификатов

Или в сторону реальной ответственности за обнаруженные «ошибки» в коде.

Опять политика, теории заговоров и все такое.

Хорошо бы побольше практических статей как проанализировать трафик и выпилить из телефона всякую бяку. В случае закрытых систем вроде Апл это невозможно. А андроид - вполне. Приложения можно разобрать и посмотреть что в нутри. Не использовать приложения с посторонней активностью или выпилить таковую из приложения.

По моему, тут реклама "защищенного" языка программирования, а не политика в чистом виде.

Хотел бы я посмотреть на этот защищённый язык. Особенно на его производительность.

Там ссылка в статье на https://www.rust-lang.org/

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

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

Язык может защищать от целых категорий багов. Вас же не удивляет, что, например, в Java или C# невозможно получить use after free?

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

Но утечки памяти - это всего один класс уязвимостей, можно успешно наделать других, гда память не течёт :)

Речь не про утечки, а выходы за границы, user-after-free, double-free и прочие приколы из мира С/С++. Все это раст и managed языки способны решить и решают.

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

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

Даже найти калькулятор, который не требует доступ в интернет не так просто!

Людям, которые не понимают - никак. Только не пользоваться этими технологиями единственный для них выход.

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

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

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

Как сделать советую почитать на 4pda по конкретному телефону. Люди анализируют, выкладывают списки дырявых приложений и приложений, которые можно безболезненно удалить. В т.ч системных через ADB. Даже рут не нужен во многих случаях.

Беру приложения на f-droid.org, гитхаб. На том же 4pda люди делают моды с выпиленной рекламой и прочей активностью.

UFO just landed and posted this here

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

UFO just landed and posted this here

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

Шпионаж за пользователями превратился в огромную индустрию. Защищенных данных просто нет. Ни у нас, ни в мире, который сам себя назначил "цивилизованным". Скорее всего ситуация когда альтернативы "не взлетают" - это следствие именно борьбы этого бизнеса с появлением альтернатив. Нокия и Цианоген - свидетели.

Возможно ли уничтожить эту индустрию? Я полагаю, что в настоящий момент нет. Доминирование США как в индустрии так и в мире, победа в США сторонников использования этого технологического доминирования, победа осуществлённая при значительной информационной поддержке корпораций специализирующихся на шпионаже и фильтрации пользовательских данных - все это заставляет скептически смотреть на возможность отказа от такой "мегадубинки". Действия Китая и России только усиливают скепсис. Действия Российских(?) мегакорпораций по шпионажу и фильтрации данных пользователя окончательно топят надежду, как слепого котёнка. Ни кто не пытается разрушить систему шпионажа. Все хотят её эксплуатировать.

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

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

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

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

Только коммунизм, товарищь! ;)

мммм, опять проклятые США во всём виноваты!

Да, удаление микрофонов из телефона(!) - прекрасный способ бороться с фишинговыми емейлами и pegasus.

ПЕРВЫМ комментом этого обсуждения это разобрали. Я полагаю продолжать иронию отдельной веткой бессмысленно. Если есть что сказать по существу - присоединяйтесь к обсуждению.

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

Вы правда не знаете, кто такой Эдвард Сноуден?

Я сомневаюсь не в нем, а в том что он профессиональный евангелист. Как я понимаю он убежденный сторонник анонимности в Сети и даже пострадал за это. Но это не сделает из него профессионального пропагандиста умеющего писать " продающие тексты" на нужную тему...

Извольте. По существу статья наполнена искажениями фактов и перекладыванием ответственности.

когда я публично называл новенький iPhone потенциальной угрозой для жизни
Угроза для жизни не айфон, а те кто угрожают жизни. По обычной почте 100500 раз рассылали споры сибирской язвы, яды и бомбы. В зонтик прятали рицин, во флакон как для духов - боевые отравляющие вещества, в чай добавляли полоний. Следуя логике статьи - угроза жизни это зонтик, почтовые конверты, заварка и шанель.
Ида, их производители вообще ни одной минуты не думали о безопасности, не обновляют свои продукты, не переходят на "безопасные материалы" и прочая. В отличие от Микрософта, Гугла и Эппла, которые хоть что-то делают в своей области.

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

Хотя изъятие зловредов с коммерческого рынка...
... просто переведет этот рынок в нелегальное поле, и ситуация только ухудшится.

спокойно пишут код на небезопасных языках
Поэтому выбор более безопасного языка — критически важная мера защиты…
ВНЕЗАПНО код для Андроид приложений пишется в основном на Java и Kotlin - которые вполне себе поддерживают memory management и вроде как безопасные. От дыр не спасает. Значит проблема выбора языка не является ключевой.

Например, если хотите вызвать сердечный приступ у Microsoft — предложите идею юридической ответственности за плохой код в коммерческом продукте. Как насчет юридической ответственности за написание ерунды на хабре?

ВНЕЗАПНО код для Андроид приложений пишется в основном на Java и Kotlin — которые вполне себе поддерживают memory management и вроде как безопасные. От дыр не спасает. Значит проблема выбора языка не является ключевой.


Половина ОС написана на C и C++. Толку нет от того, что приложение Gmail написано на безопасной Java, если письма показываются в вебвью хромиума. Толку нет от того, что условное приложение для блютуз-нашников написано на Kotlin, если в драйверах присутствуют дыры вроде BlueBorne.

Если бы BT стек был на условном расте, дырки бы не было?

BlueBorne связан с небезопасной работой с памятью, так что да)

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

Мешает и в обоих ваших случаях проблема в unsafe коде. Это как раз пример того, что rust работает и проблема легко локализуется и фиксится без сложного аудита всей кодовой базы как это было бы на небезопасном языке. Так что да, безопасность таки связана с языком. Managed языки дают ее ценой рантайм оверхеда GC. Раст дает ее ценой оверхеда времени разработки.

Мешает и в обоих ваших случаях проблема в unsafe коде.

Unsafe раст - это тоже раст. Я бы даже сказал, что это основной раст, ибо на одном только безопасном подмножестве раста ничего написать решительно невозможно. Можно попытаться спрятать unsafe куда-нибудь там в крейты поглубже с глаз долой, но по факту без него никак.

Это как раз пример того, что rust работает и проблема легко локализуется

Раст не работает. Проблему в коде по второй ссылке никто не замечал в течение 4 лет.

без сложного аудита всей кодовой базы

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

Так что да, безопасность таки связана с языком.

Очередной свежий RCE в JavaScript-пакете ("безопасный" язык, да) как бы намекает, что не все так однозначно. Ну или вот - вообще смешно: написано вроде на расте, все дела, но вместо известных вариантов относительно безопасной передачи пароля от аккаунта (stdin, окружение, файл конфигурации с правами 0600, если права другие - принципиально отказываемся работать, и т.д.) пароль указывается прямо в командной строке. Ну чем тут может помочь (или, наоборот, помешать) раст? Разруха не в клозетах, а в головах.

Unsafe раст — это тоже раст. Я бы даже сказал, что это основной раст, ибо на одном только безопасном подмножестве раста ничего написать решительно невозможно.

Основная логическая ошибка. Можно и даже нужно писать на безопасном расте. Лично я свои проекты всегда начинаю в #![forbid(unsafe)] и ничего. В СТД я насчитал 0.1% ансейф кода емнип (надо искать в моих комментых начала этого года). И это в СТД, где куда ни плюнь работа на низком уровне, примитивы уровня split_at_mut и прочая муть.


Раст не работает. Проблему в коде по второй ссылке никто не замечал в течение 4 лет.

А что тут должно неработать? У кого-то кривой инвариант в левой библиотеке — при чем тут язык? Можно ещё наругать его что он не спасает от перепутанного сложения и вычитания.


В расте написано четко, какие гарантии он дает. Гарантий nrows * ncols == data.len() для кастомной структуры nalgebra::VecStorage в этом перечне нет. Сожалею, если главная страница раста ввела в заблуждение, будто этот инвариант язык поддерживает.


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

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


Очередной свежий RCE в JavaScript-пакете ("безопасный" язык, да) как бы намекает, что не все так однозначно.

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


Ну или вот — вообще смешно: написано вроде на расте, все дела, но вместо известных вариантов относительно безопасной передачи пароля от аккаунта (stdin, окружение, файл конфигурации с правами 0600, если права другие — принципиально отказываемся работать, и т.д.) пароль указывается прямо в командной строке. Ну чем тут может помочь (или, наоборот, помешать) раст? Разруха не в клозетах, а в головах.

Programming Defeatism: No technique will remove all bugs, so let's go with what worked in the 70s.

UFO just landed and posted this here

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

UFO just landed and posted this here
По обычной почте 100500 раз рассылали споры сибирской язвы, яды и бомбы. В зонтик прятали рицин, во флакон как для духов — боевые отравляющие вещества, в чай добавляли полоний. Следуя логике статьи — угроза жизни это зонтик, почтовые конверты, заварка и шанель.

Все указанные способы требуют как минимум физического перемещения предметов в пространстве, а чтоб уколоть зонтиком или отравить чай нужно посылать агентов с ненулевым риском быть пойманным. Слежка через смартфон опасна тем, что она:
  1. Очень дёшева
  2. Практически не оставляет следов
  3. Часто невозможно определить атакующую сторону
  4. Всё это мотивирует к ударам по площадям — будем на всякий случай следить за всеми, вдруг когда-нибудь пригодится
  5. Данные легко скопировать, в том числе и у самих следящих (привет Сноудену), и они хранятся практически вечно, а даже у «хороших парней» завтра может появиться новый начальник со свежими идеями (привет Трампу)

Поэтому да, вероятность что ваша жизнь потрадает от взлома телефона пожалуй выше, чем шансы что вам в чай сыпанут полоний.
Очень дёшева


В дешевом варианте — не особо полезна. Слишком много мусора в данных.

Практически не оставляет следов


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

Тогда мы все очень ждем второй части мерлезонского балета - как сверлом и болгаркой выпилить из нового телефона небезопасные языки программирования и богомерзкие *nixы. Вместе с говнокодом.

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

Да, таких моделей единицы на рынке, но они есть.

Плюс, можно не пользоваться смартфонами совсем (удивлю). Старый кнопочный телефон от финской Нокии + ноутбук с usb модемом.

Тут недавно была статья про кнопочне телефоны со встроенными зловредами.

Ключевое слово - старый. Подойдут СониЭрикссон, Нокия и тп

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

Что делать когда они закончатся?


Паять самому из ардуины и 3G модема ;)
Только самое интересное никуда не денется:
— мобильный оператор знает, куда и когда вы звонили и кто вам звонил
— знает, где и когда вы находились
— может перехватывать ваши SMS
— ему это совсем ничего не стОит.

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

А почему вы решили, что в китайских 3G модемах нет закладок?

Чем меньше памяти - тем меньше вероятность наличия закладок. И, например, зачем китайские закладки в контроллере шлагбаума где то в Турции, например?

Собственная память у 3g модемов измеряется в и мегабайтах. Туда можно десятки закладок затолкать

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

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

мобильный оператор знает, куда и когда вы звонили и кто вам звонил

Можно же воспользоваться VoIP.

Можно. Но возможности по сопоставлению личности, мобильного номера и его перемещений никуда не денется. Про абонента voip можно спросить у провайдера voip. Если voip самодельный - спросить у хостера.

можно пойти дальше и стать хостером, в какой-нибудь Уганде ☺️

Типа в домике? ;)

Для неуловимого это слишком высокий уровень паранойи. А для уловимого.. Ну съездят условные Петров и Баширов в условную Уганду в командировку, сходят на экскурсию в датацентр и спросят. Возможно, конверт занесут, чтобы ответы были правильные. Или попросят разорвать отношения с этим вот клиентом.

На наш век хватит. Я бы больше беспокоился об отключении старых стандартов, чем о том, что кончатся все Нокии в мире.

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

Проверил онлайнер, десятки старых трубок в Минске, на любой вкус.

На крайний случай есть ещё ebay с международной доставкой.

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

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

А еще, людям не нравится когда их обманывают. Это когда стоит галочка "запретить" а на самом деле...

UFO just landed and posted this here

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

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

"предложите идею юридической ответственности за плохой код в коммерческом продукте."

"расскажите об идее юридической ответственности за любые утечки личных данных, собранных без необходимости."

Да! Да, поддерживаю! Только так, а то купил костюм, надел, а он по швам пошёл, я в магазин, а мне там скотчем прилепили разрыв и говорят что так и надо. И всех это, почему то, устраивает!

Например, если хотите вызвать сердечный приступ у Microsoft — предложите идею юридической ответственности за плохой код в коммерческом продукте.

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

Хотите лишить сна Facebook — расскажите об идее юридической ответственности за любые утечки личных данных, собранных без необходимости. 

Зачем условному Фейсбуку или Контакту собирать у вас какие-то данные без вашего разрешения, если люди самостоятельно делятся в соцсетях всеми аспектами своей жизни, вплоть до обсуждения интимных подробностей совокуплений?

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

Вы специально проигнорировали ту часть предложения где написано "в коммерческом продукте"?)

Опенсорс вполне себе может быть и коммерческим.

Представьте на секунду, что вы СEO фирмы. У Вас закуплено 100500 наименований коммерческого ПО, по которому производители этого ПО несут все риски связанные с его эксплуатацией. И вот CIO вам дает расклад по очередной позиции - такое-то коммерческое ПО vs некоммерческая поделка Пупкина Василия на гитхабе.

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

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

....но что-то их нет на массовом рынке.

производители этого ПО несут все риски связанные с его эксплуатацией

Даже в Понивиле не было таких идеальных производителей.

У Вас закуплено 100500 наименований коммерческого ПО, по которому производители этого ПО несут все риски связанные с его эксплуатацией.

Если я CEO в больнице, то эта ситуация ещё возможна (т.к. если медицинский прибор убьёт кого-то из-за ошибки ПО, то за такое ПО производителя нагнут), или если у меня тут АЭС стоит (а то хрюкнет ПО и привет Фукусима №2). Вот только есть одна проблема, почти во всех EULA вы найдете прямой запрет на применение софта в данных сферах без письменного разрешения фирмы производителя. И, кстати говоря, в документации на большое кол-во железа тоже будет висеть как минимум отказ от каких-либо гарантий при таком применении.

Опенсурс доступен для аудита, в отличие от условной Windows и "облачных", но проприетарных сервисов.

Какое-то ощущение поверхностности и недосказанности и всё свалено в кучу. Какие-то микрофоны, но никакой конкретики — в какой модели, что именно за микрофоны. Было бы интересно узнать в каких телефонах вставлены лишние микрофоны.
Какие-то языки — но опять же политкорректно умалчивается, какие языки опасные, а какие безопасные.
UFO just landed and posted this here

телефон в вашей руке существует в состоянии вечной незащищённости

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

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

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

Вопрос в том, кто и что потом будет делать с полученной информацией? И ведь это происходит не только в странах с тоталитарными режимами, но и во вполне себе демократических.

Заказные убийства журналистов, ведущих независимые расследования, наводят на грустные мысли...

Глупо спорить с переводом. Тем более, что к переводчику-то как раз претензий нет. И по сути статьи особых претензий нет. Да, черт возьми - все что нас окружает небезопасно. Шнурки могут развязаться и разобьешь нос. В автомобиль (современный) садиться - там электроника на "небезопасных" языках угробит на раз. В старый - там вообще если не водитель-асс то убъешься на первом же обледенелом повороте. Даже лежать на диване и ковырять в носу опасно. Мало того что пролежни заработаешь, так еще и кровь носом пойдет. А по улице вообще ходить нельзя. Того и глади кирпич на голову свалится. Достаточно жути нагнал или стоит продолжать?

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

Вопросы правильные. Только вот решение так себе. И, к сожалению, хорошего решения у меня нет. Но как по мне, "безопасный" язык совсем не панацея.

Откуда такая уверенность в том, что "безопасный" язык будет панацеей?

Та почему же панацея сразу? Вакцины тоже не дают 100% резиста, что теперь, не вакцинироваться? Более безопасные языки уменьшают количество багов и, соответственно, дыр в безопасности. Этого вроде достаточно.

Черт возьми, начинаю себя чувствовать антипрививочником! Хотя таковым совсем не являюсь. Скорее наоборот.

Нет, я не против "безопасных" языков. Я против их неконтролируемого применения. Аспирин и анальгин имеют множество противопоказаний, местами даже ставящих под угрозу жизнь. Но они весьма серьезно исследованы и достаточно безопасны для того, чтобы продаваться в аптеках даже без рецепта. Вакцина от сезонного ГРИПа вполне работоспособна (хотя и имеет противопоказания). Она обкатана множеством лет применения (местами даже смертельного).

Беда в том, что попытка вовсюда запихать "безопасные" языки сильно смахивает на попытку средневековых врачей лечить все кровопусканием и проглатыванием ртути. Ведь в прошлый раз сработало! Это тоже своего рода вера. Как, впрочем, и вера в то, что по настоящему безопасных языков не существует. Присказка про то, что "нет здоровых - есть недообследованные" не так уж и несправедлива.

"Небезопасные" языки, при всех их недостатках, имеют огромную практику применения. А жизнь так устроена, что вчерашние новомодные и революционные решения сегодня вызывают беспокойство а завтра оказываются за бортом. Увы, чем дальше, тем большую цену приходится платить за прогресс. Даже не за сам прогресс, а за некоторые "побочные явления" прогресса. Но от него все равно не уйти. Да и не надо от него уходить. Главное не позволять событиям развиваться излишне быстро. Иначе это будет грозить разными неприятностями. От ушедшего вразнос дизельного двигателя до неконтролируемой цепной реакции. И еще не известно что принесет больше вреда. История уже знает такие примеры. Достаточно вспомнить про ДДТ.

Я сейчас прочитал два раза и ни хера не понял. Каким вообще образом вы к Расту и ко подвязали кровопускание?

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

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

И еще. Давайте все же полегче. Не надо подходить к границе абсцентной лексики.

абсцентной лексики

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


А аналогия, на самом деле, совершенно неуместна.


Во-первых, вы нарушаете правило №0 использования аналогий: "для объяснения, но не для доказательства". Вы не пытаетесь аналогией расширить аргумент против безопасных языков, вы пытаетесь аналогией заменить аргумент.


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


Сравнение с ДДТ тоже, мягко говоря, странно. Вы говорите: "эти языки могут иметь неожиданные побочки, как ДДТ, которые не сразу заметно". Простите, но побочки отравляющих химикатов проявляются постоянно, а побочки языков программирования — это вообще что такое, кстати? Мы начали писать новый проект на расте, и через 3 года внезапно (или не совсем внезапно)… что?

Мы начали писать новый проект на расте, и через 3 года внезапно (или не совсем внезапно)… что?

Стали увлекаться инди-роком и артхаусом. Отрастили бороды. Стали носить фланелевые клетчатые рубашки. И внезапно обнаружили что стали хипстерами. Так что я бы на вашем месте поаккуратнее с таким :)

UFO just landed and posted this here

... практика индустрии показывает, что ...

Давайте сначала. Я никому и ничего не доказываю. Да и не может аналогия ничего доказать. Я привожу возможные параллели из соседних областей и призываю задуматься. И только. Мой личный опыт общения с "безопасными" языками тут совершенно не при чем. Как и Ваш. И чей-то еще.

Что до внимания индустрии, то очевидно - за кодом на "небезопасных" языках следит сильно больше глаз. И так будет до тех пор, пока на "безопасных" языках не будет написано подавляющее большинство софта (или не будет написан сильно ответственный открытый софт, перед которым спасуют "безопасники").

Я не "безопасник", не представитель комитета стандартизации "небезопасных" языков, не разработчик "безопасных". Я разработчик. Довольно низкоуровневый. И я понимаю откуда растут проблемы популярных небезопасных языков. Во многом они следствие именно популярности. Что будет с "безопасными" языками, когда они станут так же популярны... Я не знаю. Но жизнь учит тому, что за все надо платить и бесплатно безопасность не дастся. Особенно если вспомнить и тех возможностях воздействия на программу, которые находятся несколько ниже уровня "доказанной безопасности". Скажем, если я остановлю отладчиком код и подменю значения в памяти или регистрах. Чего будет стоить глобальное "недоверие" (и нужно ли оно вообще)? Как будут обстоять дела с переносимостью (кросплатформенностью)? Поживем - увидим. Работайте, братья.

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

P.P.S. Побочкой "языков общего назначения" как раз является небезопасность. Вы ж не считаете что разработчики ее специально сделали "фичей" языка.

UFO just landed and posted this here

Еще раз - я не призываю изничтожить "безопасные" языки. Наоборот. Вопрос востребован и потому просто обязан развиваться.

Но есть один крайне интересный момент. К счастью в вашем сообщение прозвучало главное - никто не может гарантировать то, что компилятор сгенерирует безупречный код. Ошибки неизбежны. Но кто сказал что при обнаружении такой критической ошибки (и, безусловно, ее исправлении) весь массив кода, сгенерированного "ошибочной" версией будет враз перекомпилирован? Это и есть издержки популярности. А с ростом списка поддерживаемых архитектур просто обязательно появятся и UB и best-practice, и hacks, и все остальное. И нельзя будет новой версией сломать то, что уже работает. Потому ждем.

Пример как делать не надо - он перед глазами. "Небезопасные" языки очевидно не идеальны, но что-то исправить в них не сломав то, что работает "в полях" практически невозможно. А вот насколько удастся обойти разложенные грабли "безопасным" языкам - это вопрос. Как и то, стоит ли оно того вообще.

В целом да. Огромная проблема в том, что современное программирование (как, впрочем, и аппаратное обеспечение) создавалось для работы в доверенном окружении. Так или иначе. И это ограничение еще предстоит как-то преодолеть. Но кто сказал что предложенное решение окажется единственно верным (и другие не стоит даже рассматривать)? Кто сказал что озвученную проблему можно решить исключительно программно и не меняя корневые аппаратурные решения?

UFO just landed and posted this here

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

А по железу... Тут оппонент мой (который про аналогию не понял)... Ник у него уж больно многообещающий. Мне б его послушать. На тему "безопасный код на небезопасной архитектуре". А то тот же Шеннон, когда строил надежные схемы из ненадежных реле все же говорил о вероятностях безотказной работы. Даже если они были достаточно высокими. Этот момент был бы поинтереснее. Впрочем что это я опять про неправомерные аналогии.

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

Ну вот для C компиляторов много. В итоге в любом достаточно крупном проекте есть ifdef-ы под конкретные компиляторы, а то и под конкретные версии. Оно нам точно нужно?

А если по другому? А правда что мы должны использовать специфические фичи компилятора (или среды выполнения) вместо четкого следования стандарту языка? Приносит ли до сих пор ожидаемую пользу гора ifdef'ов или пора делать глубокий рефакторинг?

Да и в целом - насколько безопасно находится в зависимости от единственного поставщика (не важно чего - и компиляторов тоже)? Какие из этого вытекают риски? Оно нам точно надо?

Вообще стоит задаться вопросом откуда и на основании чего каждый производитель компиляторов лепит такую самодеятельность. Почему есть одновременно расширения GNU/POSIX/WINAPI? И что , правда наличие альтернатив (в частности "заточенных" под какие-то частные задачи) это зло? Является ли большим злом нахождение стандарта языка (считай обязательной для реализации функциональности) в руках комитета по стандартизации (читай представителей индустрии, использующей язык)? Кому в конце-концов принадлежит право коррекции стандарта языка: монопольному разработчику диктующему разработчикам свою волю (пусть пока и из самых благих побуждений - где гарантия того, что дальше будет так же) или множеству реальных пользователей демократически решающих судьбу нововведений (пусть и всегда останется недовольное меньшинство)?

И вот подумайте. Не торопитесь. Все не так просто, как выглядит на первый взгляд. И именно про это весь мой спитч.

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

Сейчас в Rust foundation более 10 крупных компаний, которые управляют языком. Нету уже давно монопольного разработчика в лице Mozilla

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

Еще Китай можно было выбрать, но там еще хуже.

Очень интересно, что со всех сторон раздаются крики и призывы «переписать всё на Раст», финансируемый гуглом, как раз в то самое время, когда гугл выкатывает свою новую ОС… написанную на Си. Гуглу можно, но вы там, давайте, перепишите себе линуксы свои на расте, и пакеты заменяйте, и вообще займите там себя чем-то, главное — не мешайте большим дядям на рынок выходить.

Понятно, что хоть Си хоть плюсы позволяют наделать кучу дырок, но ещё существуют статические анализаторы, best practices, опытные спецы и уже существующая отлаженная за десятилетия кодовая база. При этом никакой раст не защитит от «случайно» допущенной уязвимости, которую пропихнёт опенсорсный контрибьютер ДжонСмит1984, который на самом деле — отдел хакеров из спецслужб. Наоборот, под тотальной суматохой переписывания всего и вся на «новый безопасный язык» сделать это будет только проще.

Ладно, что это я. Раст сам по себе — язык как язык, а вот тупому нагнетанию паники и фанатизма при защите какого-то одного решения, которое магическим образом должно будет поправить вообще все проблемы в мире — я считаю — на этом сайте не место.
Очень интересно, что со всех сторон раздаются крики и призывы «переписать всё на Раст», финансируемый гуглом

При чем тут гугл к расту? Раст в Мозилла возник. А гугл только начал внедрять его в фуксию и в хромчик тоже кстати

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

Которыми мало кто пользуется и всё равно имеют кучу false positives и false negatives.


best practices,

Противоречивые, которым мало кто следует, которые не энфорсятся тулчейном и которые всё равно ничего не гарантируют.


опытные спецы

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


и уже существующая отлаженная за десятилетия кодовая база.

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


Короче, C — это дурная вещь, которую давным-давно стоит закопать и использовать лишь для легаси.

Можно ли впринципе писать «большой» софт, уровня офисного редактора так, чтобы гарантировать отсутствие ошибок, которые приведут к порче данных например и нести юр ответственность вред софта?

Офисного? Это там, где сначала просят макросы и автозамены для удобства ввода, а потом через эти макросы автозаменяют "," на ", бля,"?

Но ведь можно же проектировать сложные инженерные конструкции и попадать под суд, когда что-то пошло не так, а не отбрехиваться: там же сопромат, столько всего считать надо, легко ошибиться…

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


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


И про языки. Никакой язык/фреймворк/методология не является решением проблем с безопасностью. Можно написать безопасный код на ассемблере, а можно найти способ читать всю оперативку в js в браузере. Проблема в сложности. Т.е. безопасный язык просто включает в себя стандартные практики. Если есть их понимание, то можно писать безопасный код везде, если их понимания нету, то встраивание их в язык лишь откроет со временем новые уязвимости. И все это не только потому что программисты тупые, хотя наша вина в этом несомненно есть, у нас еще и сжатые сроки, и ограниченный бюджет. Т.е. сам рынок таков что доработанный продукт никому не нужен, ибо никто не захочет платить миллионы за телефон, который почти ничего не умеет. В общем для хорошего кода нужен ресурс "время", и для текущих девайсов даже человеческой жизни недостаточно.


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

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

Можно делать все что угодно и падать в рантайме, а можно бить недоучек по пальцам в процессе компиляции и уменьшить проблемы с памятью на ~70%. Действительно, зачем нам безопасный язык?


И так сойдет

image

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


А проблемы с памятью, скоростью, ресурсами и даже затратами электричества действительно можно решать. Поиграйте в shenzhen i\o и узнаете что даже 11 строк псевдо ассемблера можно оптимизировать и куда больше чем 70%. Так что вероятно текущий код можно улучшить на несколько порядков, порой даже на шесть. Другое дело что мне просто не будут платить, если я буду неделю курить десяток строк ассемблера ради незаметного, на фоне всего приложения, выигрыша.


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


Тот же copilot по новостям генерирует на 40% код с уязвимостями. Зато он ускоряет разработку, и возможно в будущем вариации такой разработки станут активно использовать, просто потому что бизнесу нужно быстро. А что опасно или нет, можно решать потом, когда бизнес раскрутился Т_Т увы это правила индустрии. И ваша картинка как раз про отношение работодателя.


Еще раз повторю, безопасный код пишет хороший специалист, а не плохой специалист на безопасном языке.

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

Правильно. У нас были managed языки и там баланс был смещен слишком сильно в сторону простоты разработки. Системный софт не готов так много платить производительностью ради этого. Успех раста в нахождении баланса безопасности, сложности разработки и скорости на уровне тех же самых С/С++. Вот поэтому его и хайпят. Безопасные языки были и до него, но такой баланс он достиг, кажется, первым.

Еще раз повторю, безопасный код пишет хороший специалист

Практика показала, что таких специалистов не существует. Весь софт, кем бы о ни был написан, пестрит ошибкам, связанными с неправильной работой с памятью.
UFO just landed and posted this here

Тут все переживают из-за слежки.

При этом, что социально, что технически эту проблему не решить: как Google с Apple, так и правительства всегда будут стараться следить за людьми, которые могут создать проблемы как корпорациям/странам, так и людям стоящим у руля - поэтому и за оппозицией будут охотиться таким образом всегда.

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

Бабки держать в кеше, недвигу и машины оформлять на себя, а все средства связи - на вторую личность.

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

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

Джон Шемякин. Наш стиль.

1492 год – это не только год открытия Колумбом Америки. Это ещё и 7000 год от сотворения мира, год предполагаемого конца света.

Мало к какому мероприятию русские люди готовились так тщательно и вдумчиво, как к наступлению Страшного суда. Многие смастерили себе гробы заранее. Многие поменяли себе имена. Ангелы с огненными мечами будут сыскивать Семёна Четверика, а его и нет! Есть Пров Собака. Так можно морочить ангелов с их списками долго.

Совсем без средств связи будет сложно. А если у primary личности тоже есть телефон, и она хотя бы несколько раз включит его там же, где и secondary… Или позвонит тем же людям… Вся эта параноя продержится ровно до того момента, пока кто-то хитрый и большой не заинтересуется.
— Хаим, ты слышал, что скоро будет погром? — А я не боюсь — я по паспорту русский. — Дурак, бить будут не по паспорту, а по морде!

(а код написан на устаревших языках, давно уже признанных небезопасными).

Что, простите, небезопасные языки программирования? Это вообще как?

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

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

Хех, автор разве не понимает утопичности всех его предложений?

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

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

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

Но заинтересованы в этом только отдельные энтузиасты, а сами гос-ва и крупные корпорации по факту резко против — уж слишком тут большие данные и деньги крутятся, поэтому процесс в реальности идет очень медленно…
Переписать все на новом чудо-языке, где ошибок будет меньше? Это не реально, т.к. займет огромное время, которое никто не оплатит

Ну вот Firefox таки переписывает потихоньку.

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

Оплатят гугл и микрософт, которые активно работают над переписыванием своего софта на раст и внедрение его в опенсорс проекты вроде линукса.

Мне кажется, что будущее мира это контролируемый курятник как в мире "черного зеркала". Власти это положение вещей выгодно, бизнесу так же. Общество слишком неосознанное, управляемое через СМИ, рекламу и т.п.

Ок, пойду самым логическим и прямолинейным путём. Ну допустим выпаял я эти два "шпионские" микрофона, и? Теперь то точно не подслушают меня что-ли? Остался основной - речевой микрофон для звонков, что мешает меня подслушивать им? От куда уверенность в том, что ОС телефона тайно не имеет доступ к нему, не смотря на то, что я везде дал запрет всему ПО на его использование? От куда уверенность в том, что на плате звуковой контроллер не имеет не контролируемый ОС функционал? Придется и основной выпаивать. Выпаял. Но ведь остался динамик громко-говоритель, который запросто может работать и как микрофон. Выпаиваем и его. Ну теперь точно никто не подслушает. Но ведь могут подсмотреть :) Отсоединяю все модули камер и выкидываю. Теперь то точно не подсмотрят и не подслушают. Но могут жеж читать мои СМС и отсылать инфу как через сотового оператора, так и через другие радио устройства. Выпаиваю GSM, WI-FI, Bluetooth и прочее "радио". Все, меня нельзя подсмотреть, подслушать и передать в интернет мои данные. Что у меня осталось в этоге? Гаджет который не слышит, не видит и в интернет не выходит. Ну и толку с такого устройства, на котором я могу лишь поиграть в игры и посмотреть кино, причем без звука? :)

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

в контексте про айфоны улыбнуло)

все айдевайсы уже давным-давно под полным контролем у apple (если они вообще когда-либо былы под контролем пользователей)

https://habr.com/ru/post/528358/

андроид идет тем же путем, но у андроида есть рут, и есть AOSP

Нормальные пацаны шпионское оборудование непосредственно в батарею ставит, а не на плату телефона.

У нормальных (тм) пацанов есть доступ к GSM станциям, они и так знают, кто где в какой момент находился, кому звонил и что смотрел в интернете. Слушать и расшифровывать 24*7 неразборчивые звуки из плохого микрофона - really need?

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

Использование «безопасных» языков программирования не сделает чудесным образом софт безопасным.

Рассмотрим, например, пресловутый «use after free» (хотя можно рассмотреть любую категорию ошибок, от которой «спасает» язык). Да, мы не можем использовать кусок памяти после того, как его освободили. Хорошо. Но можно перенести ошибку на более высокий уровень. У нас в программе есть некий объект с данными, мы дали ему команду на «очистку», затем используем его в другом месте программы. И вдруг оказывается, что в коде объекта очистка выполняется не «уничтожением» данных на уровне языка программирования, а сбросом флага «данные есть», и ещё — совершенное случайно — отсутствует проверка этого флага в одной из функций, предоставляющих доступ к данным объекта.

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

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

Sign up to leave a comment.