В сервисе Librem One, нацеленном на использование в смартфоне Librem 5, сразу после запуска (https://puri.sm/posts/the-new-librem-one-services/) всплыла критическая проблема (https://puri.sm/posts/underscoring-our-transparency-first-li.../) с безопасностью, которая дискредитирует проект, преподносимый как защищённая платформа для обеспечения приватности. Уязвимость найдена в сервисе Librem Chat и позволяла зайти в чат под любым пользователем, без знания параметров аудентификации.В использованном коде бэкенда авторизации через LDAP (matrix-appservice-ldap3) для сети Matrix была допущена ошибка (https://github.com/matrix-org/matrix-synapse-ldap3/commit/90...), которая оказалась перенесена и в код рабочего сервиса Librem One. Вместо строки "result, _ = yield self._ldap_simple_bind" было указано "result = yield self._ldap_simple_bind", что позволяло любому пользователю без авторизации войти в чат под любым идентификатором. Допустившие ошибку разработчики проекта Matrix утверждают (https://twitter.com/matrixdotorg/status/1123298776725303299), что проблема проявлялась только в master-ветке "matrix-appservice-ldap3", а не в релизах, но в репозитории проблемная строка присутствует (https://github.com/matrix-org/matrix-synapse-ldap3/commit/4b...) ещё с 2016 года (возможно условия для эксплуатации проблемы возникли только после каких-то других недавних изменений).
Введённый в строй набор сервисов Librem One подразумевает платную подписку ($7.99 в месяц или $71.91 в год), но при этом за основу мобильных клиентов и серверных обработчиков взяты существующие открытые проекты, которые были переименованы (https://puri.sm/posts/how-purism-works-upstream-and-gives-back/) для распространения под брендом Librem. Например, Librem Chat является переименованным Matrix-клиентом Riot (https://github.com/vector-im/riot-android), Librem Social основан на Tusky (https://github.com/tuskyapp/Tusky), Librem Mail переименован из K-9 (https://github.com/k9mail/k-9), Librem Tunnel заимствован из Ics-openvpn (https://github.com/schwabe/ics-openvpn). Серверные компоненты основаны на
Postfix и Dovecot для Librem Mail, Matrix (https://matrix.org/) для Librem Chat и Mastodon (https://mastodon.social/) для Librem Social. В качестве причины поставки приложений под другими названиями называется желать собрать под одним узнаваемым брендом различные децентрализованные сервисы на базе открытых стантартов (Matrix, ActivityPub, IMAP).
URL: https://puri.sm/posts/underscoring-our-transparency-first-li.../
Новость: https://www.opennet.dev/opennews/art.shtml?num=50616
Ну, Librem теперь можно разве что поздравить. =)
Что-то Matrix вообще не везет в последнее время...
просто им начали пользоваться кто-то кроме полутора его разработчиков. Ничего, скоро до них дойдет, что такое разработка ПО со всей ответственностью, а не сидение на мамкиных борщах.
Жопоруким вообще часто не везёт.
нафига этот матрикс вообще нужен? есть более провереные и надёжные протоколы.
Пользуйтесть delta.chat
Да, дырочка весьма кстати. Теперь можно ещё раз отложить поставку по предзаказам. ;)
Так дырка не в железе/прошивке, а в онлайн-сервисе. Так что не проканает, пусть другую отмазку ищут.
После этой истории отношение к Librem и Purism у меня сильно изменилось. Громко раструбили https://puri.sm/posts/the-new-librem-one-services/ о запуске суперзащищённых и охраняющих приватность сервисов. Затем вляпались в огромную дыру и стали отмазываться, что код не их, они готовый взяли. Подозреваю, что если бы не дыра то поста https://puri.sm/posts/how-purism-works-upstream-and-gives-back/ бы небыло и о том, что их платные сервисы лишь переупаковка чужого кода знали бы лишь избранные.Нехороший осадок остался, переименовали master-ветки других проектов без изначального упоминания. Собрались стричь бабло, но вляпались и только тогда раскрыли карты. В новостях https://puri.sm/news/ на общей странице они кстати пост про дыру не разместили, только по прямой ссылке и в блоге для разработчиков.
> избранныеНу конечно, знакомого интерфейса никто-никто бы не увидел. А ovpn и tusky, извините, под gpl
В защищенных системах тоже существуют баги, особенно на старте.
Благо о проблеме не умолчали, что позволяет надеяться на лучшее.
Переименование открытого софта как миниум странно, желание собрать несвязанный софт под одним брендом не понимаю(разве что пускать пыль глаза, что мы "все это сделали со звездочкой)". Подписка на сервисы свободного софта и вовсе дикость. Впрочем альтернатив особо нет - либо рабские андройд\йос, либо такой вот пуризм.
> В защищенных системах тоже существуют баги, особенно на старте.Это, конечно, правда. Вот только все эти "защищённые из коробки сервисы" есть популизм чистой воды, рассчитанный в первую очередь на людей, которые мечтают за любые деньги купить кнопку "сделай мне зашибись секурно". Хорошим специалистам такие сервисы не нужны. Плохим специалистам они не помогут. А подобные новости сильно сузят круг людей, желающих связаться с этой компанией.
> Благо о проблеме не умолчали, что позволяет надеяться на лучшее.
Надеяться можно, да. Я лично желаю ребятам успеха, равно как и всем, кто что-либо делает.
> разве что пускать пыль глаза, что мы "все это сделали со звездочкой"
Маркетинг, сэр! =)
вопрос в том что такие "проблемы" с софтом могут свидетельствовать о проблеме с железома мне нравится идея физическое отключение микро и т.д. и отделение модема и его блоба от основного кирпича на котором софт крутится
только какова же реализация?
/me погладил ёлочку :)
> Подписка на сервисы свободного софта и вовсе дикостьС какого бодуна «дикость»? Подписка на сервисы, которые работают на их серверах, на серверах ими обслуживаемых. Нормальная практика совершенно. Не хочешь пользоваться? Не плати и не пользуйся.
> Затем вляпались в огромную дыру и стали отмазываться, что код не их, они готовый взяли.Их ошибка тут есть, но всё же она не в том, что они допустили дырку, а в том, что связались с модным стартапом Matrix.
Но ведь виноваты тут разрабы матрицы, а не либрема.
Виноваты разработчики либрема, не выполнившие тестирование и аудит. За что они собирались брать бабло?
За железку и дистрибутив, как вариант. Это уже немало, даже если бы дополнительных онлайн-сервисов вообще не прилагалось. Ты же не ругаешь дистрибутив каждый раз, когда в каком-нибудь пакете обнаруживается уязвимость, приехавшая из апстрима.
А зачем нужен такой дистриб и его ментейнеры. Можно самому хоть из гита собирать и не заботится что там приедет.
Ты так и делаешь, вероятно?
Сюрприз-сюрприз: майнтейнеры дистрибутивов не проводят никакого аудита, разве что лицензионную чистоту проверяют. Ну в крайнем случае могут обнаружить *****код, на который заругается их компилятор/интерпретатор, или пофейлившиеся юнит-тесты.
А, стейбл-ветка с заморозкой версий и портирование только патчей безопасности для тебя сюрприз?
Ну ок, расскажи где таким макаром работаешь, что бы обходить эту фирму стороной.
> А, стейбл-ветка с заморозкой версий и портирование только патчей безопасности для тебя сюрприз?Не понимаю, каким образом ты мог сделать такой вывод, и тем более какое это всё имеет отношение к какому-то мифическому аудиту.
--
Сюрприз-сюрприз: майнтейнеры дистрибутивов не проводят никакого аудита, разве что лицензионную чистоту проверяют.
--
Вот это твой текст? Явно написано что майнтейнеры ничего не делают кроме сборки.
Но вот какой сюрприз. У любого изделия есть гарантийный срок. В данном случае дистрибы гарантируют в течении определенного времени неизменность поведения и исправление только ошибок. А именно - бекпорт исправлений безопасности с новых версий. Именно это задача майнтейнеров, а не тащить всё подряд из гита. Там где делают wget|tar|make|make install я за дистрибутивы не считаю. У тебя по этому поводу своё мнения наверное. Вот и у разработчиков этого поделия такое же мнение.
А писатели матрикса своё слово высказали:
--
разработчики проекта Matrix утверждают, что проблема проявлялась только в master-ветке "matrix-appservice-ldap3", а не в релизах
--
>> не проводят никакого аудита
> ничего не делают кроме сборкиНайдёшь десять отличий? И мой тебе совет: прежде чем бросаться умными словами типа «аудит», смотри их значение в словаре.
А, попытка перевести разговор в русло что удобно тебе? Не выйдет соскочить и приписать свои измышления мне. Вернемся к комменту от брата анонима за номером 19. http://www.opennet.dev/openforum/vsluhforumID3/117255.html#19
И что же мы там читаем?
--
Виноваты разработчики либрема, не выполнившие тестирование и аудит.
--
Слово тестирование мне надо:
а) подчеркнуть,
б) выделить жирным,
в) увеличить размер шрифта.Выбирай на вкус. В следующий раз, прежде чем давать пафосные советы незнакомым людям, перечитай ещё раз весь контекст беседы.
Молодец. Теперь прочитай и то, что писал я:> майнтейнеры дистрибутивов не проводят никакого аудита, разве что лицензионную чистоту проверяют. Ну в крайнем случае могут обнаружить *****код, на который заругается их компилятор/интерпретатор, или пофейлившиеся юнит-тесты.
В ч
В чём я неправ?
Тебе уже сказали следить за тем с чего началось обсуждение - аудит и тестирование при сборке готового продукта. В ответ услышали что ничем таким в дистрах не занимаются, максимум лицензиями. На коммент выше указана прямо ссылка на 19 номер где это описано. В ответ ты опять приводишь своё мнение - искаженное оригинальное высказывание. И спрашиваешь в чём неправ. Ну разговаривай сам с собой, мне то что.
Так он и ответил, что maintainer-ы дистрибутивов не проводят ни аудита, ни тестирования (в том виде, как это требуют от разработчиков Librem в данном thread-е).То, что в дистрибутивах бывают "стабильные ветки" -- это никак не связано с аудитом/тестированием.
А особенно не при делах усердно рекламировавшие этих пызнесменов анонимы.
Либремы предоставляли его под своим именем, так что в данном случае к матриксу никаких претензий.
Переименование сервисов.... Это кого-то мне напоминает. Денис Попов постарался?
Дениска, вроде, ещё и тексты лицензий удалял.
Purism делает готовый продукт для конечного протребления на базе свободных (собственно аналогично делает и почти любой современный проприетарщик) и, как понимаю, думает о user experience при компановке этих продуктов. То есть их достижение не в переименовании сервисов, а в реальной тяжёлой работе (которую лично я бы не потянул как хобби проект, не знаю как Вы).
>То есть их достижение не в переименовании сервисов, а в реальной тяжёлой работе (которую лично я бы не потянул как хобби проект, не знаю как Вы)наивное летнее дитя. На этом сайте каждый настраивает постфикс минимум раз в неделю. А барыги из пуризма совсем охренели - брать бабло за хостинг с бесплатным софтом! Раз софт бесплатный, значит и хостинг должен быть бесплатным, очевидно же.
Железо для хостинга тоже бесплатное, очевидно
электроэнергия для этого всего тоже бесплатная, очевидно
очевиндо этот аноним не понимает сарказма
я настриваю его максимум раз в год в связи со сменой сервера
чет не понимаю накой раз в неделю.. админы? так не все же
наверное под настройкой подрузумевалось подкручивание header_checks или postscreen_access, что там настраивать еще каждую неделю хотелось бы узнать. Очень.
> На этом сайте каждый настраивает постфикс минимум раз в неделю.Брехня. Я, например, этим не каждый год занимаюсь.
> А барыги из пуризма совсем охренели - брать бабло за хостинг с бесплатным софтом! Раз софт бесплатный, значит и хостинг должен быть бесплатным, очевидно же.
А за железо и электричество кто платить будет? Это ж не гугл, который любезно твою почту попарсит и выдаст по ней контекстную рекламу, чтобы покрыть свои расходы.
И никто выше не понял что это был сарказм...
ага, эволюционировал :)
> Переименование сервисов.... Это кого-то мне напоминает.Примерно каждого поставщика почтовых сервисов, который использует те же Postfix и Dovecot?
Не, в чём проблема-то? В том, что на этот раз от тебя не скрыли, что под капотом?
Трэш какой-то с этими именами. Разве трудно было просто взять и предустановить софт под исходными именами? Я понимаю, конечно, что авторы линуксофта любят упражняться в остроумии и называть софт так, чтобы аналитики ФСБ не смогли догадаться что Дельфин - это файловый менеджер, а aptitude, audacity, anality, idioty - набор полезного софта... Но всё равно, что-то здесь не так.
Из ссылки из комментариев чуть выше даётся такой официальный ответ:> Why Rebranding?
>
> A major goal with Librem One was to provide people with convenient and easy-to-use alternatives to big tech services that respected their privacy. The key to this was the combination of decentralized services with a centralized brand. With decentralized services that used open standards and ran on free software, users aren’t locked in to any one provider and can even host services themselves (more on that in a future blog post).
>
> By putting services under a centralized brand, we make these decentralized services just as convenient to use as the big tech alternatives. That way an end-user doesn’t have to know what Matrix, ActivityPub, or even IMAP are or try to find all of the applications that work with those services on their particular platform. Instead, they just need to know that they want to chat, join social media, or send email.
Я читал. И это меня напрягает - т.е. что такое Watsup и Facebok юзеры знают и не напрягаются, а вот тут вдруг и их мозговой потенциал пропадает. Почему?
Прошу прощения, не понял о чём Вы)Стандартно на телефонах и планшетах сейчас всё называется предельно просто: "Почта", "Интернет", "Чат" и т.п. Всё это чтобы не перенагружать пользователя. Librem решили просто соблюсти эту славную традицию.
Ну тогда и назвали бы Messages, а не librem chtototam
Опеннет эксперт решил что нужно весь софт называть его категорией. Video player, video player, mail client, mail client 2, mail client 3!
> Опеннет эксперт решил что нужно весь софт называть его категорией. Video player,
> video player, mail client, mail client 2, mail client 3!Я бы не отказался.
Media player classic
Sound Forge
Video Director
sndrec32 :)Есть же всякие kmplayer, smplayer, qmmp. Если б не аббревиатуры даже в меню, то было бы очень здорово. А то в результате пусковое меню обрасло к каждому названию программы ещё и строкой описания. :) Нет, выкидывать её не надо, конечно, просто факт.
> Я понимаю, конечно, что авторы линуксофта любят упражняться в остроумии и называть софт так, чтобы аналитики ФСБ не смогли догадаться что Дельфин - это файловый менеджер, а aptitude, audacity,
> anality, idioty - набор полезного софта...И то ли дело такие интуитивно-понятные названия, как: Outlook, Edge, AIMP, Winamp, Windows Explorer, IrfanView, ACDSee?
result, _ = ...Наркоманы блин, что уж сразу не
result,:%^#@./ _+- =:= ...
Обычное поведение для неиспользуемых переменных, в чём проблема?
У этого психологического феномена есть собственное название, но оно у меня начисто вылетело из головы. Суть заключается в том, что его раньше унижали за выбор языка, и ему это было неприятно. Поэтому он копирует поведение своих обидчиков, чтобы таким образом показать, мол, я тоже часть стаи, не надо меня трогать.
Зачем спецсимволы? Зачем их так много? result = понятен всем, unset var понятен всем и т.п. Зачем вся это ахинея с ;?*:,№?_%"! __dw__?
> Обычное поведение для неиспользуемых переменныхОно обычно далеко не для всех языков и очень далеко от интуитивного. Поэтому такие ошибки и случаются, причём отнюдь не редко.
> Оно обычно далеко не для всех языков и очень далеко от интуитивного.
> Поэтому такие ошибки и случаются, причём отнюдь не редко.Используется оно еще со времен Пролога, SML, в реляционной алгебре/калькуляции, Haskell, Scala, OCaml, ржавчине.
mydata(AnonNr, _, Message,_,_,_,_), вместо mydata(AnonNr, Unused0, Message, Unused1, Unused2, Unused3, Unused4).А ошибка тут классическая для динамической типизации, т.к. даже из контекста понятно, что типы TResult и TYieldedPairWhatever совсем разные вещи.
Писали бы вместо "result, _ =" "result, u(nused) =" было бы точно такое же кино.
> Используется оно еще со времен Пролога, SML, в реляционной алгебре/калькуляции, Haskell, Scala, OCaml, ржавчине.О того, что какая-то форма записи используется давно, она не становится автоматически более удачной. А, скажем, в go
a = foo()эквивалентноa, _ = foo()
С фига ли в питоне не так?
>> Используется оно еще со времен Пролога, SML, в реляционной алгебре/калькуляции, Haskell, Scala, OCaml, ржавчине.
> О того, что какая-то форма записи используется давно, она не становится автоматически более удачной.Для паттерматчинга в этих ЯП она достаточно удачна:
foo(x,y,_,_) и foo(x,y,unused,unused) в декларативной сематнике очерь разные выражения.
А вот размытые определения "(не)интуитивно" обычно просто "синдром утенка"> А, скажем, в go
a = foo()эквивалентноa, _ = foo()
> С фига ли в питоне не так?Во-первых:
с фига ли вообще в более старом ЯП с дин. типизацией "должно" копироваться поведение более нового, cо статистической?Во-вторых:
> эквивалентно
package main
import "fmt"
func foo()(int,int) { return 1,2 }
func main() {
y,_ := foo()
z := foo()
fmt.Println("y:",y,"z:",z)
}
prog.go:8:4: assignment mismatch: 1 variable but foo returns 2 valueshttps://golang.org/doc/effective_go.html#blank
> If an assignment requires multiple values on the left side, but one of the values will not be used by the program, a blank identifier on the left-hand-side of the assignment avoids the need to create a dummy variable and makes it clear that the value is to be discarded....
> If you only need the second item in the range (the value), use the blank identifier, an underscore, to discard the first:
sum := 0
for _, value := range array {
sum += value
}
яснопонятно 🙄
А PVS-studio 🦄 для пайтона нет 😕
Не надоело коверкать греческий?
Для пайтона нет проблем тестами покрыть весь проект вдоль и поперёк
И так же нет проблем написать один раз аккуратную функцию для аутентификации через какой-то бекенд, а не городить новый велосипед в каждом отдельном случае.Такие ошибки попадают в продакшн исключительно от рукожопия.
Что езе раз подтверждает ущербность matrix
> Что езе раз подтверждает ущербность matrixПредлагай альтернативу
XMPP, Tox
сам на токсе сижу.. но почему он не развивается?
говорят новые девы "не вытягивают"
слабенькие программисты сейчас пошли, только жс осиливают. а в лучшем случае шарп или го.
<позевывая в очередной раз>
Что там нам предлагается в очередной раз для использования большими компаниями с поддержкой аудио-видео конференций, прозрачной авторизацией и поддержкой лдап?
А, всё тот же конструктор собери_сам_и_попрбуй_взлететь?
Ничего нового.
Jami. Он хоть какой-то аудит проходил, к тому же serverless.
>Предлагай альтернативуSkype, WhatsApp, Viber
Конечно, товарищ майор, только ими и пользуемся. Как Вы могли сомневаться?
Matrix снова порадовал нас дырой. Почему я не удивлён? Интересно, сколько ещё инцидентов потребуется, чтобы в общественном сознании разрушился миф о том, что matrix - надёжный и безопасный опенсорс чят?
Референсный клиент на электроне - нуфф сэйд.
> Референсный клиент на электроне - нуфф сэйд.Тоже обращаю на такое внимание и считаю, что это, как минимум, звоночек.
Справедливости ради, тут была тупо опечатка, а не какая-то ошибка в design-е приложения (приводящая к проблемам безопасности).А "снова" -- это про что речь? Недавно ещё какая-то столь же серьёзная проблема была?
> Справедливости ради, тут была тупо опечатка, а не какая-то ошибка в design-е приложения (приводящая к проблемам безопасности).И что? Поимеют тебя, а ты такой: "Сорян парни, нещитово! Это не ошибка в дезигне, а тупо опечатка.". И все такие сразу разойдутся и расстроятся.
> А "снова" -- это про что речь? Недавно ещё какая-то столь же серьёзная проблема была?
"Снова" - это я всё же некорректно написал. Ну т.е. я не сомневаюсь, что оно насквозь дырявое, но имел ввиду я вот эти недавние события:
https://www.opennet.dev/opennews/art.shtml?num=50501
https://www.opennet.dev/opennews/art.shtml?num=50502
Все эти "опечатки" и торчащие наружу дженкинсы непротиворечиво показывают, какой именно орган клали разработчики на безопасность.
> торчащие наружу дженкинсыПонятно, вот это действительно выглядит как халатное отношение к security и privacy :(
Это не опечатка. Это мелкая ошибка, имеющая крупные последствия. Процентов 95 всех уязвимостей так выглядят.
Я убёжден, что в >99% крупных проектов есть такого рода опечатки.Собственно, когда находят уязвимость -- это хорошо. Далее становится интересна причина появления этой уязвимости, чтобы понять насколько можно доверять этому проекту. И если уявимость была вызвана опечаткой (а не каким-то плохим принятым техническим решением), то не надо сразу из-за этого закапывать проект (как некоторые местные комментаторы), по моему скромному мнению :)
Питон, такой питон.
В данном случае эта ошибка универсальна для большинства нетипизированных языков.
s/нетипизированных/любимых макаками/
ну и дырища
Был бы сам телефон Librem 5, а софт и из исходников с официальных сайтов проектов самостоятельно установим.
Уязвимости - то второстепенно. Главное - как можно скорее выйти на рынок.
Питон особо не поможет (или не помешает, кому как), если на весь компонент "супер защищенного мессенджера" три сомнительных теста:
https://github.com/matrix-org/matrix-synapse-ldap3/blob/mast...А особенно с такими проверками `if not result:` (которая скорее слепа, чем полезна) есть ощущение, что новостей феерических еще будет от проекта.
>преподносимый как защищённая платформа для обеспечения приватности.
>что позволяло любому пользователю без авторизации войти в чат под любым идентификатором.
>Librem One подразумевает платную подписку ($7.99 в месяц или $71.91 в год)Интересно какой лох после такого будет покупать у них что-то? если и найдутся такие, не когда им супер анонимками не стать, ибо даже с опеннета анонимы буду смотреться солидней чем те кто воспользуются этим платным 💩.😆
чего еще можно было ждать от питономакак
> +result, _ = yield self._ldap_simple_bind
> -result, _ = yield self._ldap_simple_bindИ дыра. Вот такой вот он, охрененный питоновский синтаксис.
> -result, _ = yield self._ldap_simple_bind
> +result = yield self._ldap_simple_bind
Желная новость ни о чем.
Обычная бага. Сервис ведь только создали. Фиксится мгновенно.
И причем тут еще не вышедший телефон? Лишь бы говна налить.А по существу во всем виноват хипстерский питон.
хипстерский??? Даже хипстеры уже додумались до статической типизации. Куда не плюнь, везде фп и строгая богатая система типов.Питон — это какое-то коллективное помешательство, которое, к счастью, вытесняется все больше и больше.
Это была довольно унылая попытка at downplaying, имейте в виду.
Питон? А что вы ожидали от динамически-типизированного языка...
А кто нибудь пояснит смысл этого сервиса? То есть компания будет собирать всю секретную переписку пользователей за их же деньги и хранить в своём "секретном" хранилище? Это же а_рабство чистой воды!
Вопрос не риторический (сам не пользовался, поэтому не знаю): А тот же Matrix разве не федеративный? Если федеративный и разрешается использовать собственный сервер, то в этом есть смысл.
Переписка в матриксе на серверах не хранится.
Что-то я запутался, Librem 5 будет на андроиде?