The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Критическая уязвимость в криптографической библиотеке Libgcrypt 1.9.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Критическая уязвимость в криптографической библиотеке Libgcrypt 1.9.0 "  +/
Сообщение от opennews (??), 29-Янв-21, 22:05 
В опубликованном на прошлой неделе выпуске криптографической библиотеки Libgcrypt 1.9.0, которая используется в GnuPG, выявлена легко эксплуатируемая критическая уязвимость, позволяющая добиться переполнения буфера при попытке расшифровки специально оформленных данных, на стадии до верификации или проверки цифровой подписи. Уязвимость затрагивает  GnuPG и другие приложения, использующие уязвимую версию Libgcrypt...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=54489

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 29-Янв-21, 22:05   +/
> из-за некорректного определения размера буфера для расшифруемого блока

типикал си

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7, #13, #18, #44, #54, #71, #123, #126

2. Сообщение от Аноним (2), 29-Янв-21, 22:05   +3 +/
Кстати, появилась альтернатива секвое для использования в качестве либы - https://github.com/rpgp/rpgp
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51

4. Сообщение от Аноним (4), 29-Янв-21, 22:06   +/
Тысячи глаз. У меня то как раз 1.9.0. Я так понимаю всякие nettle более низкоуровневые, а сабж практически нигде за пределами gnupg не используется? Если это так, то всё же есть логика в том чтобы избегать подобных обскурных высокоуровневых прослоек.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5

5. Сообщение от Аноним (4), 29-Янв-21, 22:08   +2 +/
Из заметных пользователей kwallet и pidgin-otr, И libktorrent внезапно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

6. Сообщение от Аноним (6), 29-Янв-21, 22:09   +/
> и вызвана изменением в новой реализации хэш-функций, внесённым около двух лет назад

Работает - не трогай!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

7. Сообщение от Wilem82 (ok), 29-Янв-21, 22:12   +3 +/
Не трожь наш язык от бога. Ничего лучше него придумать невозможно, Си - совершенство эволюции. Всё, что хоть немного лучше - это для проклятых хипстеров которые ниасилили святое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #11, #32, #120

8. Сообщение от Wilem82 (ok), 29-Янв-21, 22:13   +8 +/
«Не сломалось - не чини» - известный девиз говнокодеров. Поскольку у них всё на соплях, малейшее движение рушит всю систему. Поэтому да. Ценный совет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #29, #33

9. Сообщение от Fracta1L (ok), 29-Янв-21, 22:16   +2 +/
>  выявлена легко эксплуатируемая критическая уязвимость, позволяющая добиться переполнения буфера

В голосину)

Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (11), 29-Янв-21, 22:38   +2 +/
Ахахахаха. Критическая уязвимость от переполнения буфера в либе используемой в ГНУтой утилите для шифрования и подписи данных.
Oh, wait. You're serious. Let me laugh even harder.

А по факту... Даже слов нет. Там еще срач не затих про уязвимость sudo, так тут еще подбросили на вентилятор. И всего два года назад добавили, прям свежак.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #21, #83

11. Сообщение от Аноним (11), 29-Янв-21, 22:39   +3 +/
Эволюция свернула не туда...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #19

13. Сообщение от Аноним (13), 29-Янв-21, 22:51   –1 +/
На месте надо писать, не будет таких косяков
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #94

17. Сообщение от Мамкин Хакер (?), 29-Янв-21, 23:13   +/
pacman -Ss libgcrypt
core/libgcrypt 1.9.1-1 [установлен]
Держу в курсе!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49

18. Сообщение от Аноним (18), 29-Янв-21, 23:29   +1 +/
Типикал опенсорс. Зоркий глаз только через два года заметил, что у сарая нет стены.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #20, #27

19. Сообщение от Аноним (-), 29-Янв-21, 23:35   +7 +/
Кто ж виноват что хипстеры не системщики а вебмакаки? Вот и пользуемся тулсами от Древних, они в отличие от вебмакак знали что и зачем делают а не просто хайповали.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

20. Сообщение от Аноним (-), 29-Янв-21, 23:36   +/
> Fedora 34 (Rawhide) и Gentoo.

Походу таки не 2 года и прилетело только тестовым манекенам, которые для этого как раз и существуют.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

21. Сообщение от Аноним (21), 29-Янв-21, 23:45   +/
>  sudo
> вентилятор

https://security.archlinux.org/package/opendoas

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #23, #30

22. Сообщение от Аноним (22), 30-Янв-21, 00:10   +4 +/
фрактал кукумбер
Ответить | Правка | Наверх | Cообщить модератору

23. Сообщение от Аноним (4), 30-Янв-21, 00:13   +/
Он кстати единовременно с судо обновился, наверно такая же хрень.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #34

24. Сообщение от Аноним (24), 30-Янв-21, 00:33   –1 +/
В промышленных дистрибутивах дырка не появилась, вот и славно.
Ответить | Правка | Наверх | Cообщить модератору

25. Сообщение от Аноним (25), 30-Янв-21, 00:33   +/
Какие популярные приложения пострадали?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #47, #58

26. Сообщение от Аноньимъ (ok), 30-Янв-21, 00:56   +1 +/
>позволяющая добиться переполнения буфера

Раст

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35, #38, #73

27. Сообщение от Аноним (27), 30-Янв-21, 00:58   +10 +/
> глаз только через два года заметил

Твой глаз скорее всего заметил это:

> В опубликованном на прошлой неделе выпуске

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

28. Сообщение от Аноним (2), 30-Янв-21, 01:06   +/
Жаль что не на стадии проверки подписи - опять всякие говнодистры, не использующие TLS для доставки пакетов, и их пользователей поимели бы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36

29. Сообщение от Аноним (4), 30-Янв-21, 01:15   +/
Не обязательно, просто новый непроверенный код будет с багами. А старый ломается в основном потому, что это теперь другой разработчик, который может быть в курсе некоторых аспектов. Или он в силу разных обстоятельств не может обеспечить тех уровня качества и рецензированности, что и прошлый разработчик.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #31

30. Сообщение от Мамкин Хакер (?), 30-Янв-21, 01:51   +/
Спасибо, дорогой, за информацию! Fixed!

opendoas-6.8.1-2

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

31. Сообщение от Wilem82 (ok), 30-Янв-21, 02:16   +1 +/
> просто новый непроверенный код будет с багами

С одной стороны - да. Это неизбежно.

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

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

Другое дело, что есть техники по минимизации количества багов. Отчасти это зависит от языка (Си - плохой вариант), отчасти от уровня квалификации программиста - насколько он хорошо знает и понимает software engineering? Умеет ли правильно писать тесты? Пишет ли их? Понимает ли он, что алгоритмы в коде и состояния программы должны быть максимально простыми и следовательно предсказуемыми?

А самое главное, умеет ли он писать код так, что бы другой разработчик случайно что-нибудь не поломал? Это уже в основном зависит от фич языка. Через язык ты должен иметь возможность выразить все необходимые инварианты, что бы компилятор если что не пропустил их нарушения. Для этого нужна сильная система типов (поэтому Си, как и Го - в пролёте). Ну и разумеется умение этого первого программиста этой системой пользоваться в нужном направлении.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #37, #42, #55

32. Сообщение от Аноним (32), 30-Янв-21, 04:03   +2 +/
Богов, кстати, было 2.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #39

33. Сообщение от Аноним (-), 30-Янв-21, 04:06   +4 +/
> «Не сломалось - не чини» - известный девиз говнокодеров.

Дебианщики как-то раз починили не сломаное. Нет, буфера не переполнялись, но вообще все возможные варианты ключей которые их openssl мог генерить описывались примерно 6Мб блеклистом. Как вы понимаете - это ультра-мега-критикал, когда 6-метровый список содержит ВСЕ ключи ВСЕХ дебианов и прочих убунт на планете. Просто потому что хакеры его быстро сгенерили и пошли получать рут по ssh на вообще всех машинах которые найдут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

34. Сообщение от Аноним (-), 30-Янв-21, 04:11   +/
Хрень, но вообще совсем другая. Он что-то не так делал с PATH, не очищал его чтоли. Это само по себе к выполнению кода не ведет, но авторы предпочли перестраховаться и получили CVE потому что видимо это позволяет довольно нестандартно одурачивать другие программы или юзера методом не соответствующим докам.

Вот это я понимаю, культурный подход к секурити.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

35. Сообщение от Аноним (-), 30-Янв-21, 04:12   +/
Где ж вы с фракталом были? Покажите нам как крипту кодить. А мы посмотрим сколько CVE навешаете в крипто вы...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #41, #43

36. Сообщение от Аноинм (?), 30-Янв-21, 04:14   +2 +/
Поиметь реально только федору и генту. Зачем вам эти багодромы? У вас бэкдор через неделю сдохнет в жестоких глюках %)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

37. Сообщение от Аноним (-), 30-Янв-21, 04:15   –2 +/
У си довольно приличная система типов - вот что-что а на типы он вонять умеет неплохо. Сидиотничать можно, конечно, но все же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #40

38. Сообщение от Аноним (53), 30-Янв-21, 04:32   –2 +/
На нём разве можно что-то написать работающее? Даже Мозила уже отказалась и выгнала растаманов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #60, #74

39. Сообщение от НеАнонимemail (?), 30-Янв-21, 05:07   +2 +/
Bug-ов?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #70

40. Сообщение от Аноньимъ (ok), 30-Янв-21, 05:16   +1 +/
Вы неочень понимаете о чём речь идёт.
В С с некоторой точки зрения вообще типов нет.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #98

41. Сообщение от Аноньимъ (ok), 30-Янв-21, 05:25   +1 +/
Далек например гляньте.
Айсис Агора Лавкрафт на ютубе рассказывает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #45, #101

42. Сообщение от Аноньимъ (ok), 30-Янв-21, 05:29   +/
Кстати, а эти либы сишные вроде либжкрипта и опенссл вообще юнит тестами покрывают?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #80

43. Сообщение от Аноньимъ (ok), 30-Янв-21, 05:35   +1 +/
Ну вот ещё выше было https://github.com/rpgp/rpgp

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

Последнее что в этом процессе нужно это возможность ещё и в ногу себе стрелять.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #46

44. Сообщение от Чебур (?), 30-Янв-21, 06:11   +6 +/
При чем тут си, если макаки кривоукие писать не умеют, я вот недавно на нем хелло ворлд писал и никаких проблем
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #65

45. Сообщение от Аноним (53), 30-Янв-21, 07:23   +/
а кроме как "на ютубе рассказывает" - есть применения?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

46. Сообщение от Аноним (53), 30-Янв-21, 07:24   –2 +/
> это сложный процесс ... легко себе заднюю часть отстрелить гранатомётом

т.е. раст тут никак не поможет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #50, #63

47. Сообщение от n00by (ok), 30-Янв-21, 07:31   +/
> Какие популярные приложения пострадали?

Freaktail Firmware v0.01

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

49. Сообщение от Fracta1L (ok), 30-Янв-21, 08:57   +/
А в Манжаре до сих пор даже в тестовой ветке:

core/libgcrypt 1.8.7-1 [installed]

Молодцы что не гонят коней)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #81, #91

50. Сообщение от Лыжная дрель (?), 30-Янв-21, 09:04   +/
Чуть-чуть поможет, но переписывание может не стоить того
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #102

51. Сообщение от Fracta1L (ok), 30-Янв-21, 09:05   –6 +/
> Rust 99.0%

Очень хорошо!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #53, #61

52. Сообщение от Аноним (53), 30-Янв-21, 09:36   +/
> Критическая уязвимость в Libgcrypt ... затрагивающая systemd

Критическая уязвимость в Libgcrypt ... затрагивающая другую критическую уязвимость.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #57, #78

53. Сообщение от Аноним (53), 30-Янв-21, 09:38   +4 +/
Как всегда, нужный 1% кода, который всё делает - на Си, и 99% - обвязка на расте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #87

54. Сообщение от Аноним (54), 30-Янв-21, 09:55   +/
>типикал си

Надо было на Javascript писать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

55. Сообщение от Аноним (54), 30-Янв-21, 09:58   +/
>Для этого нужна сильная система типов (поэтому Си, как и Го - в пролёте).

Не могли бы пояснить, почему в Go слабая система типов?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31 Ответы: #85

56. Сообщение от Аноним (61), 30-Янв-21, 10:16   +2 +/
> эксплуатируемая критическая уязвимость, позволяющая добиться переполнения буфера при попытке расшифровки специально оформленных данных, на стадии до верификации или проверки цифровой подписи.

Заказ товмайора, а то зашифровались все, почитать нечего, скушно..

Ответить | Правка | Наверх | Cообщить модератору

57. Сообщение от VINRARUS (ok), 30-Янв-21, 10:18   +/
>> Критическая уязвимость в Libgcrypt ... затрагивающая systemd
> Критическая уязвимость в Libgcrypt ... затрагивающая другую критическую уязвимость.

Критические уязвимости — обьеденяйтесь!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #79

58. Сообщение от VINRARUS (ok), 30-Янв-21, 10:21   +1 +/
Fedora 34 и Gentoo, правда они не очень популярные.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

59. Сообщение от Аноним (61), 30-Янв-21, 10:23   +/
> уже успели включить в состав репозиториев Fedora 34 (Rawhide) и Gentoo

https://packages.gentoo.org/packages/dev-libs/libgcrypt

Стабильна версия в Gentoo: libgcrypt-1.8.6 уязвимости не подвержена.

Этот баг очень хороший аргумент за использование стабильной ветки Gentoo, а не тестовой.

Было когда-то предложение разделить стабильную ветвь Gentoo на две: стабилизированная и верифицированная ветвь и сегодняшняя стабильная. Наверно надо было, а сегодня есть желающие тянуть?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #75

60. Сообщение от VINRARUS (ok), 30-Янв-21, 10:23   +/
>На нём разве можно что-то написать работающее?

На нём можна отлично посылать ненависников на /dev/null

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

61. Сообщение от Аноним (61), 30-Янв-21, 10:38   –1 +/
Когда уже твой раст без питона и "дырявой сишки" можна будет собрать: https://www.opennet.ru/openforum/vsluhforumID3/123086.html#386
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #67, #68

63. Сообщение от Аноним (63), 30-Янв-21, 11:11   +3 +/
Звучит как-то так:
"Есть средство, позволяющее избежать хорошей части ошибок работы с памятью, но мы им пользоваться не будем, все равно где-нибудь еще ошибемся"

Сгорел сарай - гори и хата. И это при второй на этой неделе ошибке из-за битья памяти

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

65. Сообщение от Аноним (11), 30-Янв-21, 11:25   +/
Хаха, начинается)) "Это неправильные программисты, они пишут неправильный код", "а вот правильные программисты"...
Если этот программер таки криворукая макака, то какого вы разрешаете ему контрибьютить в криптолибу? Как это изменение прошло код-ревью (он же был, я надеюсь) - ошибку не заметили ревьюверы и возможно мейнтейнер проекта.
Т.о. тут не одна макака криворукая, а целая куча.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #88

67. Сообщение от alex312 (?), 30-Янв-21, 11:43   +/
когда уже дырявую сишку можно будет собрать без баша, перла, питона?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #96

68. Сообщение от Аноним (11), 30-Янв-21, 11:45   +/
Да, это разумеется проблема и когда-то сделать полный бустрап. Просто еще не успели переписать все что сишники наговнокодили за почти 50 лет его существования. А питон - чего его выкидывать? Вполне безопасный язык, медленный правда, но для скриптов скорость и не нужна.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #97, #114

69. Сообщение от Аноним (69), 30-Янв-21, 11:46   +1 +/
опять это пресловутое переполнение буфера...
когда уже программы начнут писать программисты, а не дворники?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #77, #90

70. Сообщение от Аноним (-), 30-Янв-21, 12:08   +4 +/
Кто из-них бог?

1. Ритчи создал язык Си.
2. Томпсон создал UNIX, а также язык Би - непосредственный предшественник Си.
3. Керниган помог написать книжку: "The C Programming language".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #93, #119

71. Сообщение от Аноним (71), 30-Янв-21, 12:10   +/
Даже растофанатики выяснили что дело не в языке, после текущего редокса, а дело в руках программиста. И никто не говорил что эта уязвимость в библиотеке появилась случайно, «программист» мог специально добавить недокументированное поведение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #76, #95

73. Сообщение от Аноним (71), 30-Янв-21, 12:14   +/
Раст не спасает от говнокода. Даже безголовый фрактал в этом месте напишет unsafe и выйдет за все мыслимые границы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

74. Сообщение от Аноним (71), 30-Янв-21, 12:15   +1 +/
Нет софт, нет узявимостей. Язык на 100% безопасен.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

75. Сообщение от Аноним (71), 30-Янв-21, 12:17   +2 +/
Да они называются Ubuntu LTS и CentOS 7
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #103

76. Сообщение от Qwerty123456 (?), 30-Янв-21, 12:17   –1 +/
И только дырописатели на сишке не видят разницы в утечке памяти и выходе за границы буфера.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #86

77. Сообщение от Аноним (71), 30-Янв-21, 12:18   –1 +/
Когда ты уже начнешь думать головой и перестанешь верить заголовкам. Это фича для кого надо, а не случайно ошибка разработчика.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #84

78. Сообщение от Аноним (71), 30-Янв-21, 12:22   +1 +/
Одна уязвимость создана чтобы следить за другой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

79. Сообщение от Аноним (71), 30-Янв-21, 12:23   +/
Минус на минус даёт плюс
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #117

80. Сообщение от Аноним (11), 30-Янв-21, 13:48   +2 +/
Удивительно, но тесты есть.
https://github.com/gpg/libgcrypt/tree/master/tests
https://github.com/openssl/openssl/tree/master/test
Покрытие правда неизвестно, кто хочет может поискать.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #99

81. Сообщение от Аноним (81), 30-Янв-21, 14:20   –1 +/
а мне говорили, что в арче новые версии появляются за два дня до их релиза, обманули?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #82

82. Сообщение от Fracta1L (ok), 30-Янв-21, 14:55   +/
Манжара это не Арч
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

83. Сообщение от Аноним (83), 30-Янв-21, 15:13   +1 +/
>Да сделайте уже лучше-то! А то такой талант на опеннетах пропадает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

84. Сообщение от alex312 (?), 30-Янв-21, 15:21   +/
шапочка из фольги не жмет голову?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #104

85. Сообщение от Wilem82 (ok), 30-Янв-21, 15:57   +1 +/
P.S. Только щас понял, что возможно имеет место конфуз - под сильной я имею ввиду "фичастую", а не в смысле strongly / weakly typed. :)

>>Для этого нужна сильная система типов (поэтому Си, как и Го - в пролёте).
> Не могли бы пояснить, почему в Go слабая система типов?

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

- Нет dependent types - а они есть даже у прости господи фронтэндщиков (TypeScript)

- Нет sum types / tagged unions

- Даже явного указания на реализацию какого-то интерфейса нет - там тупо duck typing. Программирование через "а вдруг мне повезёт и у этого типа будут функции совпавшие по сигнатурам с сигнатурами вон того типа" - это дорога в непредсказуемые баги

Может ещё чего-то нет - можно погуглить про критику Го и почитать про то, почему это язык застрявший своими концепциями в 1960-ых.

Пример языков с сильными системами типов - Scala, Haskell, TypeScript.  Это не значит, что они во всём хороши - просто как пример, можно посмотреть им в доку и почитать какие фичи даёт язык, с примерами как это применять и тд. На типах TypeScript например написали исполнитель SQL-запросов на стадии компиляции просто как демонстрацию крутизны компилятора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #100

86. Сообщение от Аноним (86), 30-Янв-21, 16:37   +2 +/
> И только дырописатели на сишке

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

87. Сообщение от Аноним (87), 30-Янв-21, 16:44   +2 +/
> Как всегда, нужный 1% кода, который всё делает - на Си, и 99% - обвязка на расте.

Кинуть ссылку на этот сишный код тебя не затруднит? Или как всегда, сморозил глупость с умным видом?


Language            Files        Lines         Code     Comments       Blanks
===============================================================================
JSON                   48          364          364            0            0
TOML                    3          115          100            0           15
Shell                   3          114           78           15           21
Scheme                  1           66           28           30            8
YAML                    1           34           26            2            6
Plain Text             22           75            0           75            0
-------------------------------------------------------------------------------
Rust                   92        16057        13278          574         2205
|- Markdown            69          791          160          569           62
(Total)                          16848        13438         1143         2267
-------------------------------------------------------------------------------
Markdown                6          328            0          240           88
|- Rust                 1            2            2            0            0
(Total)                            330            2          240           88
===============================================================================
Total                 176        17153        13874          936         2343


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

88. Сообщение от Аноним (88), 30-Янв-21, 17:48   +/
Либа опенсорсная, перепишите по своему. Другой вопрос, что дистрибутивов, которые легко отнесутся к тому, что вы просто взяли и впихнули пакет не от DJ Ментейнера (даже если все зависимости будут соблюдены), по пальцам пересчитать можно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

89. Сообщение от Аноним (88), 30-Янв-21, 17:52   +1 +/
> Изменение сводилось к оптимизации, заменяющей рекурсивный вызов функции на использование buf_cpy для копирования буферов. Оптимизация была добавлена для обеспечения постоянного времени выполнения операций с блоками, из-за опасения подверженности кода атакам, анализирующим зависимость скорости выполнения операций от обрабатываемых данных (timing attacks).

Напомните, библиотека рассчитана на суперзащищенный ящик стоящий посреди поля, или на обычный десктоп, который находится за такой кучей "временнЫх" помех, что подобная оптимизация — следствие повальной истерии и паранои?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #116

90. Сообщение от Аноним (88), 30-Янв-21, 17:54   +/
Там проблема не в переполнении буфера, а ...

> Изменение сводилось к оптимизации, заменяющей рекурсивный вызов функции на использование buf_cpy для копирования буферов. Оптимизация была добавлена для обеспечения постоянного времени выполнения операций с блоками, из-за опасения подверженности кода атакам, анализирующим зависимость скорости выполнения операций от обрабатываемых данных (timing attacks).

... а в мании прослушки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

91. Сообщение от Аноним (88), 30-Янв-21, 18:01   +/
+ , печальная история на самом деле. Надо начинать пилить своё LFS с пакманом и доасами
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

93. Сообщение от Аноним (93), 30-Янв-21, 19:55   +1 +/
Поправка принимается, нехай будет трое.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

94. Сообщение от Аноним (93), 30-Янв-21, 19:55   +/
Не пишите программы - и в них не будет багов, проверенный способ! :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

95. Сообщение от Аноним (93), 30-Янв-21, 19:58   +/
> Даже растофанатики выяснили что дело не в языке, после текущего редокса

Лол. Ну ничего, сейчас они начнут дагадываться зачем у нас valgrind, kasan, статический анализ, фаззинг и прочие странные вещи про которые они вопили "этанинужна!!!111 хатим просто прогать и не думать!!!111"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #106

96. Сообщение от Аноним (93), 30-Янв-21, 19:59   –2 +/
В каком месте мой makefile требует баш, перл и питон?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #105

97. Сообщение от Аноним (93), 30-Янв-21, 20:00   +/
И еще 50 лет переписывать будут. А там либо шах, либо ишак.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

98. Сообщение от Аноним (-), 30-Янв-21, 20:07   –1 +/
Я то как раз очень хорошо понимаю что в сишке с типами. И знаю что если я дам ему что-то левое, вонять будет. А void* примерно как unsafe в расте. То-есть поюзать на свою задницу можно, но корректность того что за этим следует на совести програмера.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #108, #110

99. Сообщение от Аноним (-), 30-Янв-21, 20:08   –1 +/
Вот те раз, syzkaller то оказывается - хипстота?!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

100. Сообщение от Аноним (-), 30-Янв-21, 20:13   +/
> (Роб Пайк) сказал, что в Гугле работают тупые мартышки которые не могут осилить сложные концепции

Гугол ПИТОН у себя этим заменял!!! Что вы от питонистов хотели? Low entry barrier же.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

101. Сообщение от Аноним (-), 30-Янв-21, 20:17   –1 +/
Может на тиктоке еще глянуть? Странные какие-то места чтобы крипто затариться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #109

102. Сообщение от Аноним (-), 30-Янв-21, 20:19   –1 +/
Чуть-чуть поможет. И сколько-то помешает. При том в отличие от сей это вы как раз и протестируете на себе. И если там потом окажутся какие-нибудь ключи предсказуемые или тупняк в экспоненте, починеный вон теми олдскульщиками 15 лет назад - кто ж из хипсторов на чужих ошибках то учится? Это неспортивно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

103. Сообщение от Аноним (-), 30-Янв-21, 20:21   +/
Debian еще есть, 10-й. Из него меньше подарков выковыривать чем из убунт
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

104. Сообщение от Аноним (-), 30-Янв-21, 20:22   +/
В челябинске фольга настолько сурова что жмет голову.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

105. Сообщение от Аноним (106), 30-Янв-21, 21:15   +1 +/
> В каком месте мой makefile требует баш, перл и питон?

https://gcc.gnu.org/install/prerequisites.html
> Perl version between 5.6.1 and 5.6.24

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96

106. Сообщение от Аноним (106), 30-Янв-21, 21:26   +/
>> Даже растофанатики выяснили что дело не в языке, после текущего редокса
> Лол. Ну ничего, сейчас они начнут дагадываться зачем у нас valgrind,

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

Учитывая, что он в ржавчине из коробки в разы мощнее - Эксперд и тут слышал звон.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #113

108. Сообщение от Ordu (ok), 30-Янв-21, 23:55   +2 +/
> А void* примерно как unsafe в расте.

Нет. unsafe в расте позволяет лишь две особые вещи: вызов unsafe функции и разадресацию raw-указателя. Собственно для этого и используется. void* же в C используется для полиморфизма, потому что система типов иначе не умеет. То есть вещи, которые вообще-то не являются небезопасными делаются программистом небезопасными, потому что иначе никак.

Например, в libc есть функция qsort:

       void qsort(void *base, size_t nmemb, size_t size,
                  int (*compar)(const void *, const void *));

Программист вызывающий функцию должен сам всё чётко проверить, чтобы если base имеет тип T*, то compar был бы типа int (*)(const T*, const T*). Он должен проверить, чтобы nmemb был бы равен количеству элементов в массиве. Чтобы size был бы равен sizeof(T). Эти проверки вполне возможно выполнить, но когда эти проверки надо выполнять на каждом шагу, то некоторые неизбежно выполняются ошибочно. Или они станут ошибочными после каких-то изменений.

Хотя параметрическая типизация легко спасает от этого, в гипотетическом C с темплитами это могло бы выглядеть так:

template<T> void qsort(T* base, size_t nmemb, int (*compar)(T*, T*));

Видишь? Теперь единственный способ ошибиться -- это передать кривой nmemb. Накосячить с типами невозможно, потому что когда ты присунешь в вызов функции указатели на массив и на функцию, компилятор проверит, чтобы их типы соотносились бы определённым образом. А если ещё добавить идею слайса (нисколько не динамического массива, но "знающего" свой размер), как структурки вида {T* base; size_t nmemb}, и заменить ими C'шные массивы, то тогда ещё проще, и компилятор выполнит все проверки:

template<T> void qsort(T base[], int (*compar)(T*, T*));

И теперь уже совершить ошибку невозможно. Ошибка может быть зарыта в qsort, который может, например, выходить за границы переданного слайса, но это вряд ли. И надо будет исхитряться, чтобы такой qsort заставить сделать что-нибудь плохое: надо как-то создать кривой слайс base, но если создание слайсов и подслайсов выполняется операциями известными компилятору, который может проверить во время компиляции, что подслайс целиком содержится в слайсе, то придётся реально исхитрятся чтобы создать кривой слайс. Это легко сделать злоумышленно, но случайно скорее всего не выйдет.

И, заметь, это даже без деления кода на safe/unsafe, просто изменена система типов: в неё добавлены параметризованные типы и слайсы. void* в C нужен как костыль для полурабочей системы типов, потому как без него она не юзабельна.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #111

109. Сообщение от Аноньимъ (ok), 30-Янв-21, 23:56   +1 +/
> Может на тиктоке еще глянуть? Странные какие-то места чтобы крипто затариться.

А какие не странные? Чем по вашему ютуб странный для обсуждения криптографии?
На нем и профессора выступают на эту тематику.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

110. Сообщение от Аноньимъ (ok), 31-Янв-21, 00:09   +1 +/
> Я то как раз очень хорошо понимаю что в сишке с типами.

Без толики упрёка, я боюсь, что вы в принципе очень плохо понимаете что такое типы, и почему их в Си нет. Я вот сам не очень понимаю, потому что тема сложная, но понимаю настолько чтобы знать, что их в Си нет.

>И да, без таких вещей яп просто не будет пригоден для системного программирования.

Вы правы отчасти.
Системное программирование такой-же маркетинговый булщит как скорость и портируемость Си.
Си даёт вам прямой доступ к части функционала ЦП(который изначально под выполнение Си кода заточен).

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

111. Сообщение от Аноньимъ (ok), 31-Янв-21, 00:12   +1 +/
>и компилятор выполнит все проверки

Разработчики компиляторов Си бросили все силы на то чтобы сделать этот "портируемый" язык портируемым. И получается всё еще плохо. Какие там проверки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

112. Сообщение от песик (?), 31-Янв-21, 02:06   +1 +/
Что системда шифрует? Че за бред вообще? Система инициализации и крипта? Теперь я видел все...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #115

113. Сообщение от draw1 (?), 31-Янв-21, 03:25   +/
>> статический анализ,
> Учитывая, что он в ржавчине из коробки в разы мощнее

Кто "он" и мощнее чем что? Что с чем ты сравниваешь?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #118

114. Сообщение от draw1 (?), 31-Янв-21, 03:40   +/
> все что сишники наговнокодили за почти 50 лет его существования

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68 Ответы: #124

115. Сообщение от Аноним (53), 31-Янв-21, 03:52   +/
системда - это зародыш винды в линухе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #122

116. Сообщение от Аноним (53), 31-Янв-21, 03:54   +1 +/
Когда не было яойфонов и суперзащит - люди летали на Луну...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

117. Сообщение от Аноним (53), 31-Янв-21, 03:58   +/
Смотря что перемножать... (-i)*(-i) = -1
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

118. Сообщение от Аноним (118), 31-Янв-21, 05:05   +2 +/
>>> статический анализ,
>> Учитывая, что он в ржавчине из коробки в разы мощнее
> Кто "он" и мощнее чем что? Что с чем ты сравниваешь?

Анализ, очевидно. Эксперд выше ляпнул "начнут дагадываться зачем у нас ... статический анализ ... и прочие странные вещи про которые они вопили "этанинужна!!!111 хатим просто прогать и не думать!!!111"
Видимо посчитав, что продвинутая система типов, ownership и borrow checker работает не иначе как через либастрал.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

119. Сообщение от еман (?), 31-Янв-21, 10:47   +/
есть ещё Go, непосредственный приемник Limbo.
есть ещё D, каким и должен был быть C++
ну и rust - с боку припёку язык для контроллеров.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

120. Сообщение от мимо проходил (?), 31-Янв-21, 12:06   –1 +/
дурачок, си это инструмент, а не религия
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

122. Сообщение от МАРКС (?), 01-Фев-21, 00:46   +1 +/
Винда лучше
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

123. Сообщение от An O Nim (?), 01-Фев-21, 09:57   +/
> из-за некорректного определения размера буфера для расшифруемого блока
> типикал си

Typical lasy stupid. Т.к. вот оно:
> ... присутствовало допущение, что ...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

124. Сообщение от Аноним (124), 01-Фев-21, 18:18   +/
Факт что ты ездишь по плохим дорогам лишает тебя права критиковать плохие дороги? Ты ешь в офисной столовке - поэтому не имеешь права жаловаться на пересоленый суп? Или ты сам пойдешь и сваришь его?
Логика просто шикарная.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114 Ответы: #127

126. Сообщение от bOOster (ok), 03-Фев-21, 12:43   +/
Вот когда в ядре RUST посыпяться идентичные ошибки - вот тогда и смешно будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

127. Сообщение от draw1 (?), 04-Фев-21, 00:22   +/
Я на эти дороги плачу деньги (и уже не один десяток лет). Поэтому когда я их критикую, я в роли заказчика, которого на@#$ли исполнители - деньги взяли, а работу сделали плохо.

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

Если я говорю про столовку "там одно говно", то я хожу в другую. А если нет желания и/или возможности ходить в другую, то и нечего бросаться громкими словами. Вот такая логика.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру