Являются ли программы в Ubuntu Software Center бесплатными шпионскими программами?

35

В Ubuntu Software Center есть разные разделы для программ.

  • Предоставлено Ubuntu
  • Канонические партнеры
  • Для покупки

Я знаю, что все они с открытым исходным кодом; но существует ли какой-либо процесс проверки, выполняемый Canonical, чтобы убедиться, что на них нет шпионских или вредоносных программ ?

Интересно, найдется ли у кого-нибудь время взглянуть на все это (2355 программ или около того на данный момент), программный код, который тоже для каждого выпуска !!

Я волнуюсь, потому что я обычно устанавливаю довольно непопулярное программное обеспечение из центра программного обеспечения :)

AIB
источник
1
Программное обеспечение «Для покупки» не является открытым исходным кодом, в противном случае людям не нужно было бы покупать его. И Партнерское программное обеспечение не всегда с открытым исходным кодом, Skype не открыт, например,
Мартин Уединг,
8
@queueoverflow можно взимать плату за программное обеспечение с открытым исходным кодом.
dv3500ea
3
@queueoverflow: qtiplot будет одним из примеров, плата за двоичные файлы и контракты на поддержку, вы можете скомпилировать себя бесплатно. :-)
Кристоф
2
Ну, я не думаю, что в настоящее время есть какое-либо программное обеспечение с открытым исходным кодом в разделе «Для покупки», но может быть в будущем.
dv3500ea
1
@ christoph: я предполагаю, что большинство людей не знают, как его скомпилировать, поэтому имеет смысл обращаться с ним таким образом.
Мартин Уединг,

Ответы:

27

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

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

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

  2. Первая настоящая линия защиты для долгосрочных пакетов - это сопровождающие их проекты. Эти люди заботятся о своих проектах и ​​принимают исправления для их улучшения. Они люди. Они делают ошибки и упускают вещи. А некоторые могут быть ленивыми.

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

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

  3. Аудит безопасности - это второй шаг. Это проверка кода и запуск его на мониторах для обнаружения плохих вещей. Насколько я знаю, нет официальной команды Canonical, занимающейся вопросами безопасности, но есть две группы сообщества (Ubuntu Security и MOTU SWAT), которые обрабатывают все пакеты между ними.

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

    В мире открытого исходного кода есть предположение, что только потому, что кто-то может просмотреть источник, он имеет это. Это очень опасный принцип для поддержания.

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

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

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

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

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

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

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

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

Что касается параноиков безопасности, я недавно написал небольшую статью: Linux не уязвим. Не говори, что это так. , Проникновение вещей в репозиторий, вероятно, не будет основным вектором атаки для атак, распространяющих вредоносные программы. Гораздо более вероятно (IMO), что они будут играть на жадности и глупости пользователей, чтобы заставить их устанавливать зараженные .debs.

Оли
источник
3
Хорошая вещь о проверенных репозиториях заключается в том, что они, как правило, на несколько порядков более безопасны, чем установка программного обеспечения в модели без репозитория, например при установке чего-либо из exe-файла. Так что да, ты никогда не в безопасности. Но в целом вы, вероятно, в безопасности.
Kzqai
Вы хотели написать Что произойдет, если кто-то обнаружит найденную дыру ?
чепанг
25

Да. Сообщество проверяет пакеты (поэтому я могу установить некоторые вредоносные программы, но эти новости будут быстро распространяться среди всех пользователей).

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

Страница вики для новых пакетов содержит немного больше информации:

Проходя через MOTU

Пакеты, которых еще нет в Ubuntu, требуют дополнительной проверки и проходят специальный процесс проверки перед загрузкой и окончательной проверкой администраторами архива . Дополнительную информацию о процессе проверки, включая критерии, которые будут применяться, можно найти на странице «Обозреватели кода» . Разработчикам рекомендуется изучить свои собственные пакеты с использованием этих рекомендаций, прежде чем отправлять их на проверку.

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

Тем не менее: общая идея есть. Если вы обнаружите что-то подозрительное, вы сообщите об этом на панели запуска, в Askubuntu, Ubuntuforums, и кто-то обнаружит это.

Может случиться так, что создатель вредоносного ПО создает действительный пакет, принимает его и затем обновляет его, добавляя вредоносное ПО. По крайней мере, один из многих многих всегда ловит это, и он / она сообщит об этом где-нибудь. Это не попадет на многие машины таким образом. (усилия по доставке его на наши машины слишком велики для потенциальной награды: гораздо проще ориентироваться на машины Windows).

Пример того, как дела с шмелем идут ужасно неправильно . Кто-то пропустил пробел и / usr был удален ... некоторые люди пострадали, 1 опубликовал предупреждение с красными флагами, и теперь мы все знаем. Создатель исправляет это (быстрее, чем скорость света), но ущерб был нанесен нескольким системам. И это было ошибкой, а не преднамеренным, чтобы это могло произойти;)

Rinzwind
источник
4
Следует отметить, что существует некоторый риск, связанный с другими источниками, которые интегрируются в Ubuntu Software Center, такими как Getdeb или различные PPA. Однако, если вы не используете их, вы должны быть в безопасности.
JNV
@jnv хороший звонок :) Я изменил 1-ую строку, и теперь она включает и ppas;)
Rinzwind
Ваш пример неверен. шмеля нет в репо.
Линсити
Я не согласен. Все, что устанавливается, оценивается одинаково: пользователи выполняют проверку, поэтому это является верным примером того, как что-то случайно (!) Пошло не так. Делать это нарочно также возможно, но на что нужно обратить внимание, так это на то, что пользователи говорят другим, что у них есть недостаток. Не самый недостаток;)
Rinzwind
вопрос был о программном центре.
Линсити
5

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

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

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

Мартин Уединг
источник
2

Чтобы опубликовать код в PPA на панели запуска, вам нужно настроить openPGP и создать ключ, прикрепленный к адресу электронной почты. Чтобы подписать пакет, вам нужна копия закрытого ключа на локальном компьютере и пароль (который нигде не хранится). Если в пакете есть проблемы с безопасностью, автора будет относительно легко найти. Я предполагаю, что основные репозитории для Ubuntu и Debian по крайней мере настолько безопасны.

Большинство проектов с открытым исходным кодом имеют центральное хранилище с минимальной защитой уровня ssh (пароль и / или пара открытого / секретного ключей). Получение несанкционированного доступа здесь немного проще, чем ppa, но не тривиально. Системы управления версиями обычно регистрируют пользователя, который делает каждый коммит, и позволяют довольно легко понять, что делает коммит.

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

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

user20304
источник
Ключ GPG может составить любой. Я мог бы создать виртуальную машину, сгенерировать ключ с поддельным именем, и никто бы не стал мудрее. Вы должны искать сеть доверия, чтобы действительно судить о GPG, и даже это не канонично.
Мартин Уединг,