Компания Cisco опубликовала новые выпуски свободного антивирусного пакета ClamAV 1.4.3 и 1.0.98, в которых устранены уязвимости, одна из которых может привести к выполнению кода атакующего при проверке специально оформленного содержимого...Подробнее: https://www.opennet.me/opennews/art.shtml?num=63430
Вирусов нет. Есть вредоносный код.
Вредоносного кода нет, ибо это вопрос относительный. Кому он вред приносит, а кому и пользу.
На сегодня модель вредного кода в основном в "как пропихнуть рекламу"
Проще говоря никому неинтересно рипнуть всю инфу на твоем условном диске. Все есть в Web-браузере: и вкусные куки и всякое другое, аккумулирование доступной информации в разных сервисах.
Сетевые фильтры это будущее(или уже настоящее)
> На сегодня модель вредного кода в основном в "как пропихнуть рекламу"
> Проще говоря никому неинтересно рипнуть всю инфу на твоем условном диске.Это если ты никто и зовут тебя никак, то "никому неинтересно рипнуть всю инфу на твоем условном диске". А иначе тебе и инфу рипнут, и диск зашифруют, и документы/ключи своруют.
Остальным же... да, выгоднее показывать рекламу.
за довольно продолжительное время использования Linux так и не рипнул. При этом давали pdf-ки, специально "якобывирусные"
все что мне ответили: надо другой дистр Linux.sudo rm -rf /* оказался эффективнее
Так и то, сейчас ещё надо указать --no-preserve-root
В ГНУ утилитах rm так, в бздунских утилитах #rm -rf / может прокатить.
В следующий раз sudo wipefs -a попробуй.
>> Это если ты никто и зовут тебя никак, то "никому неинтересно рипнуть всю инфу на твоем условном диске"Интересно, а кто именно подходит под это описание? Как бы вы описали людей, которые интересны для рипа всей инфы?
Надо в другом аспекте смотреть. Перефразируя классика "если код пишут, значит кому то это нужно". То есть любой существующий код был написан кем-то с целью получения какой-то пользы (для себя разумеется, с остальными уже как получится).
Да и преступлений не существует. Кому-то от убийств и грабежей один вред, а кому-то только благо. Попробуй эту защиту в суде как-нибудь и расскажи что вышло. Когда выйдешь. Если выйдешь.
>> Вредоносного кода нет, ибо это вопрос относительный. Кому он вред приносит, а кому и пользу.Ничего тут относительного нет. Вредоносный код есть вредоносный код, потому что создан для преступления. Кому он приносит вред - жертва, а кому пользу - преступник. И не нужно заниматься демагогией перенося свои нездоровые фантазии на чужие здоровые головы.
>Вредоносного кода нет, ибо это вопрос относительный. Кому он вред приносит, а кому и пользу.Если не словоблудить, а обратиться к общепринятым определениям, то можно выяснить, что вредоносный код таки есть, причём определения эти освещают момент «кому что приносит» в полной мере.
Какой хороший антивирус, прямо открытые ворота для малвари.
>Проблема вызвана ошибкой во встроенной в код ClamAV библиотекеТак им и надо, ибо те, кто встраивают либы вместо того, чтобы ставить из пакетов дистра (всякие растаманы, например) только такое и заслуживают.
> те, кто встраивают либы вместо того, чтобы ставить из пакетов дистра (всякие растаманы, например) только такое и заслуживают.Напомни, какие там пакеты в Windows и macOS?
И кто-то же этому бреду плюсики ставит... 🤦
>Напомни, какие там пакеты в Windows и macOS?Winget и Homebrew.
.msi жи есть
> записи данных за пределы выделенного буфера
> может привести к выполнению кода с правами процесса ClamAV
> чтение данных из области памяти за пределами выделенного буфера
> обращение к памяти после её освобожденияУгадайте с одного раза на каком языке написано это поделие :)
C 80.8% C++ 9.3%
Какая неожиданность!
нужен только специально оформленный вирус
> нужен только специально оформленный вирусЗачем? "ошибка в коде разбора файлов в формате PDF"
Нужен же просто кривой пдф во вложении письма и твой мейлсервачок делает бобо.
Нормальные мейлсервачки не принимают аттачи весом в гигабайт.
кстати, да.
иначе б туда можно было вкинуть бомбочку
Принимают и больше. Или ты про бесплатные помойки типа мэйлру?
К счастью ни в одной нормальной конторе где я работал, и где почта всегда была селфхостед, в одно письмо не пролезало более 50М.Почта - она для переписки и работы, а не для швыряния килотоннами говна в пдф. Для этого есть шарик, некстклауд или самба.
Пересылаю по почте иногда и гигабайт, и даже больше. Селф-хостед естественно. Есть какие-то проблемы с этим? И нет, шариков, самб и тем более некстклаудов там на пушечный выстрел никто не подпустит. Все эти иллюзии для чего нужна почта существуют только в твоей голове. SMTP и IMAP на размер сообщения плевать.
ну то есть ты про облачную загрузку,
а не про лимит размера передаваемого файла
для тебя разницы видимо нет .. оно там фсе как то само-само
делает?
Нет, я именно про лимит передаваемого файла, котрый — гляжу в конфиг — определён как 4GB. Такие дела.> для тебя разницы видимо нет .. оно там фсе как то само-само делает?
Не суди всех по себе, тебе мама такого никогда не говорила?
так чего ждешь? перепиши на раст!
> так чего ждешь? перепиши на раст!При чем тут раст? Зачем вы его приплетаете??? Просто чтобы устроить растоcpaч в комментах?
Для таких вещей есть Go.А сишников нужно просто бить по рукам. И заставлять обмазывать свои поделки санитайзерами.
Хотя не факт, что это помогло бы...
Не зря все разумные люди считают что дыpявые языки пора выкидывать на помойку истории!
> При чем тут раст? Зачем вы его приплетаете?Затем, что аргументов у нет и поэтому нужно перевести стрелки.
> Затем, что аргументов у нет и поэтому нужно перевести стрелки.А, ну разумеется))
Навонокодили сишники, а виноват в этом как всегда раст.
Это же он сишникам все время овно в штаны подкладывает.
То в ядро, то в иксы, то сюда. Ужас какой!
Для каких вещей? Считаете, что с Go срач будем смачнее?
> Считаете, что с Go срач будем смачнее?С го они все какие-то унылые последние пару лет.
К чему там еще можно докопаться?
Повсеместный if err!= nil?
Реализация дженериков?
Отсутствие ООП, к которому привыкли некоторые?И какбэ все.
Уже начали переписывать, но падает он почему то в непробиваемом коде
Надеюсь это тоже исправилиclamd | thread '<unnamed>' panicked at /src/build/registry/src/f5a7112afbdcbf99/image-0.24.9/src/codecs/tiff.rs:272:21:
clamd | copy_from_slice: source slice length (8000) does not match destination slice length (24000)
clamd |
clamd | thread '<unnamed>' panicked at /src/build/registry/src/f5a7112afbdcbf99/image-0.24.9/src/codecs/tiff.rs:272:21:
clamd | copy_from_slice: source slice length (8000) does not match destination slice length (32000)
clamd |
clamd | thread '<unnamed>' panicked at /src/build/registry/src/f5a7112afbdcbf99/image-0.24.9/src/codecs/tiff.rs:269:21:
clamd | copy_from_slice: source slice length (103972) does not match destination slice length (311916)
clamd |
clamd | thread '<unnamed>' panicked at /src/build/registry/src/f5a7112afbdcbf99/image-0.24.9/src/codecs/tiff.rs:269:21:
clamd | copy_from_slice: source slice length (103972) does not match destination slice length (311916)
Так это же шикарно!
Программа вместо того, чтобы выполнить чужой код, упала.
И еще и показал в каком файле и даже в какой строчке проблема.
Просто берешь и исправляешь.
Показал в каком месте кода упало, а не место где ошибка
Зачастую это мало помогает
Ошибки и уязвимости будут в любом языке
А вот вера в его непробиваемость только ухудшит ситуацию с другими типами ошибок
> Показал в каком месте кода упало, а не место где ошибкаМожет да, может нет.
Если нет - то смотришь код, как до такой жизни дошли.
Или прям в этом месте добавляешь проверку с пробросом ошибки или расширенными логами.> Зачастую это мало помогает
Это помогает очень часто.
> Ошибки и уязвимости будут в любом языке
Ну раз так, то можно ничего не делать?
> А вот вера в его непробиваемость только ухудшит ситуацию с другими типами ошибок
С чего вдруг?
Если я буду уверен что не смогу случайно сравнить один енум с совершенно другим, если у меня будет возврат ошибки через Result, а не "отрицательный int", если все возможные ветки проверяется инвариантом, и мне копилятор скажет "ты тут забыл проверить вот это"...
То я просто смогу сосредоточить свое внимание на более сложных ошибках.
А ошибки памяти C в основном приводят к падениям, а не к уязвимостям
Только в редких комбинациях их удается реально использовать
Оно уже со ржавчиной в зависимостях: https://docs.clamav.net/manual/Installing/Installing-from-so...Ладно бы весь код переписали, а тут жалких 3,6%: https://github.com/Cisco-Talos/clamav
> Оно уже со ржавчиной в зависимостях
> Ладно бы весь код переписали, а тут жалких 3,6%Там вообще не сильно понятно зачем они раст используют. Токио опциональная.
При этом сами же пишут
"We believe that by switching from C to Rust, it will enable us to focus more during development on actual feature correctness because of the reduced risk of accidental memory safety issues or critical vulnerabilities."docs.clamav.net/faq/faq-rust.html#why-is-rust-required-to-compile-clamav-in-version-0105
> We believe that by switching from C to RustПодтвердили, что этот момент лежит в области теологии. Ч.т.д.
Как, впрочем, и обратное. Но если знать английский немного лучше, чем зысысзетэйбл и аймондьютитудэй, то окажется что «We believe» это не более чем наше родное посконное «Мы предполагаем», и всё сразу же становится на свои места.
>> We believe that by switching from C to Rust
> Подтвердили, что этот момент лежит в области теологии. Ч.т.д.Ваш уровень знания иностранного языка примерно на уровне "хау мач вотч?"
> Угадайте с одного раза на каком языке написано это поделие :)Неверная постановка. Нужно
> Угадайте с одного раза кем написано это поделие :)
>> кем написаноА какая разница?
Результат все равно не поменяется.
Вон в ядре самые супер спецы пишут по 10-20 лет... а потом совершают такие же глупые ошибки.
>> Угадайте с одного раза на каком языке написано это поделие :)Ой, когда его создавали ты просто ещё под стол ходил и никакого хруста и в помине не было. А в целом напомню что Максим сам написал:
>> При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них.
И я не понимаю, оставляя такие вот хамские комментарии, вы что неожиданность себе в штаны делаете? В чем смысл то?
Если Вы уже написали свой open source антивирус на "праведный" язык, так или иначе не позволяющий допускать ошибки при работе с памятью, то почему не предоставили на него ссылку?
> Если Вы уже написали свой open source антивирус на "праведный" язык, так или иначе не позволяющий допускать ошибки при работе с памятью, то почему не предоставили на него ссылку?А зачем)?
Если пинать разработчиков достаточно, то у них начинает просыпаться здравый смысл
И они пишут
"We believe that by switching from C to Rust, it will enable us to focus more during development on actual feature correctness because of the reduced risk of accidental memory safety issues or critical vulnerabilities."
> А зачем)?А в противном случае не с чем сравнивать и дискуссия теряет смысл.
> reduced risk of accidental memory safety issues or critical vulnerabilities.
С последним я бы поспорил, так как любой рефакторинг, особенно с отказом от ООП, привнесет множество других ошибок в коде.
Вот Canonical решила на пользователях эксперимент провести с coreutils на Rust, посмотрим на результат. Вангую, что только на интеграции с PAM там вылезет целая пачка новых critical vulnerabilities.
> А в противном случае не с чем сравнивать и дискуссия теряет смысл.Дискуссия (если комменты в этой теме так можно назвать) была о недостатках СИ кода и методов как с ними бороться.
От игнорирования проблемы ошибки никуда не денутся.
> С последним я бы поспорил, так как любой рефакторинг, особенно с отказом от ООП, привнесет множество других ошибок в коде.Да. Вопрос в кол-ве.
И в качестве.
И в том насколько легко будет поддерживаться код - сколько ошибок будет возникать при работе с ним.
> Вот Canonical решила на пользователях эксперимент провести с coreutils на Rust, посмотрим на результат.Да, это будет интересно. Особенно с учетом использования бубунты в топ500.
> Вангую, что только на интеграции с PAM там вылезет целая пачка новых critical vulnerabilities.
Но в PAM и так куча уязвимостей. Уже есть.
Новость буквально вчерашняя, с рабочим эксплойтом.
opennet.ru/openforum/vsluhforumID3/137128.htmlСделает ли это хуже)? Я не знаю.
Стоит ли им попробовать? Я это не решаю, но выглядит как эксперимент заслуживающий проверки.
> Но в PAM и так куча уязвимостей. Уже есть.Вы вообще видите разницу между уязвимостями в библиотеках и уязвимостями при интеграции с этими библиотеками? Если нет, то рекомендую лучше изучить предметную часть, а только после этого сюда возвращаться.
Начните с того, что у Rust нет стабильного ABI. Поэтому вызовы динамических библиотек из Rust выполняются с использованием C ABI. Со всеми вытекающими последствиями.
> Начните с того, что у Rust нет стабильного ABI. Поэтому вызовы динамических библиотек из Rust выполняются с использованием C ABI. Со всеми вытекающими последствиями.Значит ли это, что дополнительные проверки нужно делать только для входных и выходных точек, а для внутренних кодов проверки делает за нас компилятор?
Если так, то получаем ситуацию "проблема может возникнуть только на стыке".
Что уже классное улучшение, по сравнению с СИ.
Только в линуксе антивирус идёт в комплекте с вирусами, как тебе такое Шигорин?
> Только в линуксе антивирус идёт в комплекте с вирусамиЭто не вирус.
Это кхмм.. техническое отверстие. Ну для тех кому надо.
В ведре 10 лет жил-поживал бекдор от АНБ и тысячи глаз смотрели куда-то в сторону.
Продолжим рубрику "Сишный овнокод и его фиксы"
- if (p->alloc && sc->p)
+ if (p->alloc && sc->p) {
+ sc->Free(sc->p, p->alloc);
+ sc->p = NULL;
+ }
Забыли занулить... Ну бывает.
- uint32_t length; /* length of current content; TODO: transition to size_t */
+ size_t length; /* length of current content; TODO: transition to size_t */
Хаха, там даже тудушка была)) И ЧСХ еще не убрали после фикса.
- token->length = (uint32_t)length; /* this may truncate unfortunately, TODO: use 64-bit values internally? */
unfortunately!
unfortunately твой код кусок овна
Как перестать орать)))
даже линку оставлю github.com/Cisco-Talos/clamav/commit/bca003b02897896b10c48d28c191813e96476444#diff-35350c7d0782e5ad7822ba230971e59e9cc9c7f8ef22950d64b3d3d6242ab500R404-L881
+ rc = CL_BREAK;
+ goto done;
Еще и гоутушечка. Вообще прелесть.
Хотя это же дыpяшка, там defer не завезли...Мне интересно, кто вообще пользуется поделием с таким качеством кодовой базы?
Запомни. Вся системщина держится на Си, на чистом Си. Остальные языки непригодны для системщины. Даже C++ был отвергнут всеми системщиками. Молитесь на чистый Си. В нём ваше спасение!
SPARK: https://www.muen.sk/Правда C по портируемости порвет всех.
Во-первых, дайте ссылку на Ваш гитхаб, чтобы сравнить качество кодовой базы.
Во-вторых, полноценной альтернативы C пока, к сожалению, нет. Все предлагаемые альтернативы имеют свои недостатки. Например, проигрывают по потреблению памяти и производительности. Хорошие шансы есть у Rust, но ему еще не один год надо развиваться и стабилизироваться, чтобы он действительно мог заменить C.
> Во-первых, дайте ссылку на Ваш гитхаб, чтобы сравнить качество кодовой базы.Ого, зашел прям с ноги аргументом "сперва добейся"))
Сильно-сильно. После такого даже не знаю есть ли смысл продолжать диалог.
С другой стороны, что-то тут opennet.ru/~ptr я тоже не наблюдаю ссылочки на гитхаб. Это раз.
Во-вторых, с чего вы взяли что я вообще пишу на этом легаси. Я не случайно предложил го.
В-третьих, да если я не пишу на си, разве от этого данный код не перестает быть баговенным куском с типичными, я бы даже сказал "классическими", сишными ошибками?> Во-вторых, полноценной альтернативы C пока, к сожалению, нет.
Что вы подразумеваете под полноценной альтернативой?
Си не нужно заменять во всех-всех-всех направлениях.
Пусть остается в 8битках или в некроплатформах.
80/20. Его нужно заменять в самых популярных пакетах/ПО, которое задевает наибольшее число пользователей.> Все предлагаемые альтернативы имеют свои недостатки.
Всё имеет свои недостатки. И у си их тоже огромное количество.
Поэтому нужно смотреть не только на недостатки альтернатив, а еще и на недостатки которые они исправляют.> Например, проигрывают по потреблению памяти и производительности.
Просто нужно для себя ответить что важнее - "жрет чуть больше оперативки" или "по вашему компу шарится кто попало". Оперативка сейчас дешевая. Вот как бы и всё))
> После такого даже не знаю есть ли смысл продолжать диалог.Раз нет ссылки на гитхаб, то действительно никакого смысла в продолжении диалога нет. Сравнивать то не с чем.
> Оперативка сейчас дешевая.
Все в мире относительно https://market.yandex.ru/card/modul-pamyati-hpe-128gb-1x128g...
И когда пилот с переходом на Rust с треском проваливается из-за того, что на одном хосте k8s с 256ГБ RAM вместо ~200 микросервисов удается поднять только ~70, выводы очевидны.
Если Вы такой богатый дайте нам хотя бы два миллиона рублей, чтобы проапгрейдить наши хосты k8s.
> И когда пилот с переходом на Rust с треском проваливается из-за того, что на одном хосте k8s с 256ГБ RAM вместо ~200 микросервисов удается поднять только ~70, выводы очевидны.Ага, например:
- вы используете не подходящий инструмент для этой задачи
- у вас есть какие-то другие трейдофы, например в надежности-безопасности
если бы вы сказали заказчику "можно сделать 70 микросервисов с малой вероятностью RCE или 200 штук, но на каждые условные 50 LOC вероятность RCE будет 10%", то я не знаю что бы он ответил> Если Вы такой богатый дайте нам хотя бы два миллиона рублей, чтобы проапгрейдить наши хосты k8s.
Лучше подам детям сиротам)
> вы используете не подходящий инструмент для этой задачиИменно так. Из-за излишнего потребление памяти и отсутствия хотя бы стабильного ABI Rust в контейнеризации существенно уступает даже .NET.
> я не знаю что бы он ответил
Уже ответил - остаемся на C#, так как дешевле добавить ядра, чем увеличивать оперативку в три раза.
>> вы используете не подходящий инструмент для этой задачи
> Именно так. Из-за излишнего потребление памяти и отсутствия хотя бы стабильного ABI Rust в контейнеризации существенно уступает даже .NET.Хм.. отсутствие стабильного ABI это известная особенность раста.
(Хотя справедливости ради в том же С++ его тоже ломают примерно каждые 3 версии).
Зачем было пробовать использовать его, если для вашей задачи стабильное ABI необходимо?
Ну а про память говорят уже давно, тоже вроде известная особенность.> Уже ответил - остаемся на C#, так как дешевле добавить ядра, чем увеличивать оперативку в три раза.
Наверное хорошее решение.
Шарп со сборщик мусора позволит избежать множества проблем, если бы сервисы писались на С/C++.
> что-то тут opennet.ru/~ptr я тоже не наблюдаю ссылочки на гитхаб.Потому что когда я вижу ошибки в чужом коде на гитхаб, я не пишу об этом тут, а делаю PR. Разницу между нами замечаете?
> Разницу между нами замечаете?Конечно.
Вы не отличаете найденную ошибку и ретроспективу уже исправленной ошибки))
А сейчас предлагаете мне сделать PR для уже исправленной проблемы.
>> Разницу между нами замечаете?
> А сейчас предлагаете мне сделать PR для уже исправленной проблемы.Нет, я предлагаю Вам делать PR еще до того, как кто-то исправил проблему.
А вот заниматься разбором полётов, как Вы, могут только особо эффективные менеджеры )))
> Нет, я предлагаю Вам делать PR еще до того, как кто-то исправил проблему.О, вот оно что! Значит нужно не только быть поваром, чтобы критиковать подгоревшее барбекю, но нужно пойти и самому его приготовить. Забавная у вас логика.
> А вот заниматься разбором полётов, как Вы, могут только особо эффективные менеджеры)))
Почему бы и нет? Пользователи имеют право знать про критические дефекты инструмента, который использовали программисты. И чем больше они об этом будут знать, тем у большего числа начнут возникать вопросы и запросы. Вы же понимаете о чем я?))
> Значит нужно не только быть поваром, чтобы критиковать подгоревшее барбекю, но нужно пойти и самому его приготовить.Именно так. Не можете приготовить лучше - кушайте, что дают. Или не кушайте вообще.
> Пользователи имеют право знать про критические дефекты инструмента, который использовали программисты.
У любого инструмента есть критические дефекты. Нужно просто уметь этим инструментом пользоваться. Так что всё зависит от рук, а не инструмента. Например, можете сколько угодно угодно критиковать MMA и призывать всех пользоваться MIG/MAG, но мастер и MMA сварит лучше, чем большинство варят MIG/MAG.
> Именно так. Не можете приготовить лучше - кушайте, что дают. Или не
> кушайте вообще.Или обратиться в роспотребнадзо/FDA/whatever. Чтобы они заметили проблему и ̶в̶з̶д̶р̶ю̶ч̶и̶л̶и̶ отобрали у повара лицензию если он что-то нарушил, или ввели новые требования, если проблема есть, а регуляции нет.
Тоже же вариант, не так ли? Раз не хотят по хорошему, то будет по плохому))
> Нужно просто уметь этим инструментом пользоваться.
Обожаю эту мантру! У вас просто неправильные программисты. Вот настоящий программист™ такую бы ошибку не допустил.
> Так что всё зависит от рук, а не инструмента.
Многое, но не все. Мастер может сыграть и на табуретке, но играя на табуретках мастером не станешь.
> критиковать MMA и призывать всех пользоваться MIG/MAG
Критикую и призываю!
Ну и... а как же TIG? Он же лучше!))> мастер и MMA сварит лучше, чем большинство варят MIG/MAG.
Зачем вы мастера с безликим большинством сравниваете?
Давайте его сравнивать в мастером MIG/MAG! Его результат будет лучше чем у мастера MMA?Пока что мы имеем что MMA хорошо варить могут только мастера, а MIG/MAG - большинство. А мастера MIG/MAG варят лучше мастеров MMA.
Да и "лучше" это понятие абстрактное.
Есть критерии.
Прочность шва, герметичность шва, загрязнение шва шлаком, глубина провара (как особенность самой технологии), диапазон свариваемых материалов...
А также - скорость, удобство, повторяемость, возможность/требования использования в помещениях, вред для сварщика, стоимость оборудования/расходников/сиз, кривая обучения.Чтобы заварить забор на даче - достаточно насопливить мма. ММА выигрывает только в очень малом количестве перечисленных выше критериев. На вскидку только - цена и кривая обучения. Остальное - или паритет, или проигрыш.
А надежный трубопровод высокого давления будет MIG варить вообще робот. А потом шов еще и проверять будут УЗ/радиоконтроль и т.д (считайте это аналогом верификации)
Или вообще не варить, потому что сварка там противопоказана.ЗЫ: если хотите еще про сварку поговорить - я готов))
> Или обратиться в роспотребнадзо/FDA/whateverПочитайте лицензию. Ну или попробуйте обратиться в роспотребнадзор, увидев голубой экран у Windows )))
> У вас просто неправильные программисты.
Нет неправильных программистов. Есть неправильная организация производства программного обеспечения.
И никакой язык программирования тут не поможет. Кривыми руками можно и на Rust получить use-after-free. Например, забыв остановить DMA перед освобождением его буфера.> Критикую и призываю!
Глас вопиющего в пустыне. Как варили MMA там, где это востребовано, так и будут варить.
> а как же TIG? Он же лучше!))
За чей счет банкет? Это на порядок дороже.
> Чтобы заварить забор на даче - достаточно насопливить мма.
Как раз для тонкостенных профильных труб полуавтомат явно выигрывает.
> А мастера MIG/MAG варят лучше мастеров MMA.
Не рассказывайте мне сказки. Могу на спор, кто быстрее и качественней сварит толстостенную (от 5 мм) трубу - я MMA или Вы MIG/MAG.
> если хотите еще про сварку поговорить - я готов))
Смысла нет, раз не в курсе, что по целому ряду ОСТов и ТУ на тех заводах, на которых я бывал, замена MIG/MAG на MMA допускается, но не наоборот.
> Почитайте лицензию. Ну или попробуйте обратиться в роспотребнадзор, увидев голубой экран
> у Windows )))Так не про голубой экран речь. Если из пары сотен тысяч компов делается ботнет из-за дыры в ос и атакует госучереждения, то к MS прихожу уже не я, государство. И MS выпускает фикс, даже для давно EOL версий. И аналогично было с эплом, на ios11 вроде прилетел апдейт через года три после eol. Некоторые даже подумали что их взломали))
> Нет неправильных программистов. Есть неправильная организация производства программного
> обеспечения."Вот оно че, Михалыч" (с)
Т.е. в ядре организация неправильная, у freedesktop (и раньше, когда они были корпоратами) неправильная, в циско тоже внезапно неправильная, у OpenSSL тоже неправильная... да что ж такое!
А где правильная не подскажите?
Уверен на 146% что у вас, но может еще у кого-то?))> И никакой язык программирования тут не поможет. Кривыми руками можно и на
> Rust получить use-after-free. Например, забыв остановить DMA перед освобождением его буфера.Кажется я про этот DMA слышу третий или четвертый раз :)
> Глас вопиющего в пустыне. Как варили MMA там, где это востребовано, так
> и будут варить. За чей счет банкет?Пффф... если регулятор скажет - мгновенно переобуются.
Я же топлю как раз за то, чтобы регулятор поучаствовал.
И это уже начали делать. Достаточно первого шага - одной маленькой строчки в требованиях к госконтрактам. Просто государство неоднородное, но слушает людей. Если у людей появится потребность, то политики на нее скорее всего прореагируют.Пример - смартфоны в EU "manufacturers will face obligations to ensure spare parts are available". commission.europa.eu/document/download/2d443b31-dc2a-4e54-a9ec-5fbb61c895e9_en?filename=2024_07_18_QA_Right2repair_FINAL.pdf
Станет дороже? Станет. Насколько - а вот узнаем.
И тут тоже самое. Может перестанут клепать версии или наваливать фич, чтобы каждую недельку выпускать обнову. Качество вырастет за счет более продуманной разработки.> Как раз для тонкостенных профильных труб полуавтомат явно выигрывает.
Выигрывает. Но забор на даче все равно будут варить ММА, потому что
- у какого дачника есть полуавтомат?
- кто туда его захочет тащить? еще и с баллоном (не, ну можно конечно порошковую взять)
- им вообще-то еще и уметь варить нужно> Не рассказывайте мне сказки. Могу на спор, кто быстрее и качественней сварит
> толстостенную (от 5 мм) трубу - я MMA или Вы MIG/MAG.Лучше вы против какого-то профи. Вы же профи, насколько я понимаю?))
Вот с профи и посоревнуетесь. Но чтобы сказать что шов овно - и моих умений достаточно.
Потому что не нужно быть поваром, чтобы говорить что суп пересолен.> Смысла нет, раз не в курсе, что по целому ряду ОСТов и
> ТУ на тех заводах, на которых я бывал, замена MIG/MAG на
> MMA допускается, но не наоборот.Я это знаю, но при чем тут это?
Допускается, это не значит что оно даст лучший результат, а только сравнимый. Иначе оно было бы основным способом. Зато я вот на 100% знаю что есть ТУ, где кроме TIG ничего не допускается. Да, дорого. Но иначе низя.
> MS выпускает фикс, даже для давно EOL версийИли не выпускает, что тоже было неоднократно. В любом случае, на этом ответственность MS заканчивается. Так как де юре они никакой ответственности за ошибки в своем софте не несут.
> А где правильная не подскажите?
В Open Source - нигде. Там всё очень просто - не нравится, сам и делай.
В той же автомобильной и авиационной индустрии - повсеместно. В АСУ ТП и банках - в большинстве случаев.> Кажется я про этот DMA слышу третий или четвертый раз :)
Может на пятый дойдет? )))
> Пффф... если регулятор скажет - мгновенно переобуются.
То есть за Ваш личный счет? Например, через повышение НДФЛ? А с чего Вы вдруг решили, что кто-то кроме Вас этого хочет? )))
> Пример - смартфоны
Какое отношение это имеет к качеству программного обеспечения даже тех же смартфонов?
> Лучше вы против какого-то профи.
Ваше утверждение - Вам и доказывать. Или просто признайте, что были не правы. Тут выбор невелик.
> Я это знаю, но при чем тут это?
При том, что о что обязательно следует варить MMA варить MIG/MAG недопустимо.
> кроме TIG ничего не допускается
И поэтому Вы заплатите на порядок больше за сварку черных металлов? )))
Вот уж действительно, перечисляйте пару миллионов рублей детям. А копию платежки сюда. Тогда я поверю, что Вы хотя бы не диванный эксперт. )))
Или Вы не в курсе, что там, где требуется только TIG, речь идет о сварке нержавеющей стали или цветных металлов, которые иначе не сваришь? )))
> Или не выпускает, что тоже было неоднократно.
> В Open Source - нигде.Вот именно это и нужно изменить! Рад что мы пришли к общему знаменателю.
> То есть за Ваш личный счет? Например, через повышение НДФЛ?
Да, за мой счет. Но при чем тут НДФЛ?
Сам производитель подымет цены.
Вас же не смущает что напр. у стоматолога инструменты делают из сертифицированной стали, а не из гвозделина. Да, дорого. И что))> А с чего Вы вдруг решили, что кто-то кроме Вас этого хочет? )))
А вот для этого нужно говорить с людьми.
Вот ты пишешь "представляет, из-за инструмента из 70х с вашего браузера могут утянуть все что угодно!" Кому-то пофиг, а кто-то задумается. Как только таких станет значимое количество - то оно начинает работать.> Какое отношение это имеет к качеству программного обеспечения даже тех же смартфонов?
Там один из пунктов - сроки выпуска обновлений безопасности. А это как раз софт.
> Или просто признайте, что были не правы.
Не прав в чем? Это вы утверждаете что профи ММА варит лучше обычного MIG. А вопрос профи против профи вы проигнорили, ай-ай. Зато начали рассказывать про замены, ТУ и тд.
Мне вам доказывать нечего.> И поэтому Вы заплатите на порядок больше за сварку черных металлов? )))
> только TIG, речь идет о сварке нержавеющей стали или цветных металловПочему вы за меня придумываете? Где я написал про черный металл?
Прекращайте фантазировать и используйте только то, что я написал.
Напр. на лекарствах указывают побочные эффекты.
На еде - потенциальные аллергены.Вдруг когда-то и "на софте" будут писать "Написано на xxx. Может содержать UB, выходы за границы массива, double-free, use-after-free" и так далее.
А на других будут писать "Написано на YYY. forbid(unsafe_code) declared, может содержать логические ошибки".
Ну или даже "Написано на ZZZ. Код формально верифицирован организацией XXX в таком-то году".Чтобы пользователь сразу мог оценить, стоит ли это вообще запускать.
Это же было бы прекрасно.
> Чтобы пользователь сразу мог оценить, стоит ли это вообще запускать.В свой автомобиль больше никогда не сядете? А в самолет? )))
> В свой автомобиль больше никогда не сядете?Отличные примеры!
Правда мой автомобиль соответствую требованиями для automotive. Да, там тоже могут овнокодить (привет тойота), но за это наказывают рублем намного-намного сильнее чем provided as is.
Плюс при выборе могу посмотреть на тесты безопасности - активной, пассивной, сертификацию и тд. А с софтом у меня такой возможности нет.Для нынешних "планшетов на колесах" скорее всего сделают дополнительные регуляции, требования и тесты. Это только вопрос времени, бюрократический аппарат штука неповоротливая.
> А в самолет? )))
В самолетах слава богу в основном ada. И я этому невероятно рад.
Ну и для самолетов есть стандарты, тесты и ответственность. Они тоже косячат, но если бы их писали также как сабж, то... оно сгорело бы прям на рулежке? или пассажиры проваливались в дыры в корпусе?
> Плюс при выборе могу посмотреть на тесты безопасности - активной, пассивной, сертификацию и тд. А с софтом у меня такой возможности нет.Ну так в ЭБУ в любом автомобиле именно софт. Никакого отношения к тестам безопасности ошибки в этом софте не имеют. Причем этот софт наверняка написан на C или C++, так как MISRA иного не позволяет.
> В самолетах слава богу в основном ada.
Вы заблуждаетесь дважды.
Во-первых, ADA тоже не гарантирует безопасную работу с памятью. Любые runtime проверки в ней могут быть отключены при компиляции в целях повышения производительности. И знать об этом Вы не будете.
Во-вторых, например, Dreamliner сертифицировался MISRA.
> Причем этот софт наверняка написан на C или C++, так как MISRA иного не позволяет.Но не MISRой единой. А почему не на расте?
Софт для ECU в Volvo EX90 и Polestar написан на расте. И сертификацию для US уже получили, для EU наколько знаю в процессе.
Да, это первая ласточка, но дальше будет больше. Особенно если помочь этому процессу.> Во-первых, ADA тоже не гарантирует безопасную работу с памятью.
Полностью гарантировать безопасность памяти можно только формальной верификацией при гарантии отсутствия аппаратных ошибок/сбоев.
Но есть количественные метрики, как напр. кол-во проблем на 1kLOC.> Любые runtime проверки в ней могут быть отключены при компиляции
> в целях повышения производительности.
> И знать об этом Вы не будете.Могут. Но это будет осознанное действие, а не результат невнимательности разработчика.
> Во-вторых, например, Dreamliner сертифицировался MISRA.
А Boeing 737 max тоже?))
Я больше по европейцам.
Our FWS system for the Airbus A330
archive.adaic.com/projects/atwork/control.htmlAda in Airbus 340 Flight Warning System
adahome.com/ammo/Success/aerofws.htmlНу и с моей точки зрения это натягивание совы на глобус. MISRA C никакого отношения к теме обсуждения и обычному си не имеет. Там такое кол-во ограничений, что это по факту просто другой язык с сишным синтаксисом. А прикладной и даже системный софт не пишут используя мисру, по крайней мере я про такой не слышал, если что - с удовольствием послушаю.
Поэтому предлагаю от высоконадежных сертифицированных систем вернуться к обычному чтению хмлчика в моем десктопе и подумать "а как же сделать его менее дырявым?"
> А почему не на расте?Как можно сертифицировать то, что нестандартизировано и само по себе меняется из года в год?
> Софт для ECU в Volvo EX90 и Polestar написан на расте
И на каком из них Вы ездите сами? Или всё еще обходитесь без автомобилей вообще?
> я про такой не слышал, если что - с удовольствием послушаю.
На моей практики соответствие MISRA для заказных разработок на C требовал P&G, Bunge, Россети и СУЭК. Еврохим сейчас выдвинул такие же требования.
> Как можно сертифицировать то, что нестандартизировано и само по себе меняется из года в год?Из года в год меняется stable.
А edition или даже конкретная версию компилятора не меняется.Ferrocene is ISO 26262 and IEC 61508 qualified!
This means we achieved qualification for the open source Ferrocene toolchain.
It is qualified for automotive (ISO 26262, ASIL-D) and industrial development (IEC 61508, SIL4) Ferrocene 23.06.0, based on Rust 1.68, is now fully usable in safety critical environments.
ferrous-systems.com/blog/officially-qualified-ferrocene/
ferrous-systems.com/blog/new-safety-critical-rust-consortium/Ferrocene Achieves IEC 62304 Qualification
has achieved IEC 62304 Class C qualification for medical device software
ferrous-systems.com/blog/ferrocene-achieves-iec-62304-qualification/Как-то так. Конкретная версия компилятора получает сертификацию.
> требовал ..., ... сейчас выдвинул такие же требования
Круто. У них будет надежно.
Но мне хотелось, чтобы надежно было и у меня.
Опенсорс и консюмерская проприетарщина, которой пользуются миллиарды пользователей, не выдвигает. Потому что слишком дорого писать на сишке надежно. Поэтому нужно их подтолкнуть к более дешевой надежности. Пусть она будет не на "сто" процентов надежна, а на 70))
> Конкретная версия компилятора получает сертификацию.Что и объясняет, почему только Volvo с этим решила связаться.
> Но мне хотелось, чтобы надежно было и у меня.
Ну так делайте PR. Кто запрещает? Open source именно на это и расчитан.
Почему Вы не отвечаете на мои вопросы?
Если не увижу ответов, то перестану отвечать на Ваши.
> Что и объясняет, почему только Volvo с этим решила связаться.Нет, просто кто-то должен быть первопроходцем даже в такой консервативной и зарегулированной отрасли. Ну и кстати, эта модель не какой-то массмаркет, а дорогой class e.
> Ну так делайте PR.
Какой PR? Переписать все на другой язык?
Это не PR, раз, а два - его не примут просто. Будет уже другой проект.Ну и жизни не хватит делать PR во все проекты. Нужно просто поднять планку на некий уровень, чтобы было больше уверенности by default.
> Почему Вы не отвечаете на мои вопросы?
На какие вопросы я не отвечаю?
Если про авто - то отписал ниже.
> И на каком из них Вы ездите сами? Или всё еще обходитесь без автомобилей вообще?Я езжу на ауди. А что?
Если вопрос к тому "почему не на этой вольво?" - то она слишком дорогая для меня, больше 110к евро.И да, я понимаю что там скорее всего сишка и это невероятно печально.
А выбора нет, знаю что еще Renault его хотят использовать (или уже используют?).
Поэтому я за то, чтобы выбор появился))
> Я езжу на ауди. А что?Но там же прошивка ЭБУ написана на C! Как же Ваши убеждения с этим мирятся? )))
> она слишком дорогая для меня, больше 110к евро.
Вы что-то перепутали. Если Вам не жалко детям пожертвовать два миллиона рублей, то 110К евро для Вас уж точно не проблема )))
> Поэтому я за то, чтобы выбор появился))
Ну так он и появился. Но, как и ожидалось, за счет потребителя. Вы не в курсе, что за всё нужно платить?
Там одна сертификация, боюсь, не в один миллион евро вылилась.Я обеими руками за безопасный код и за Rust. Сам на нем пишу там, где это разумно.
А вот у желающих всё переписать на Rust есть только три пути. Тратить на это или свое собственное время, или свои собственные деньги. Или жрать что дают.
А чем больше Вы занимаетесь столь токсичным общением, тем, как раз наооборот, отбиваете у многих желание с Rust связываться.
Если на пальцах, то по сути, Вы занимаетесь тут рекламой Rust напрямую нарушая целый ряд пунктов Статьи 5 Закона о рекламе. Как минимум, сравнивая Rust с C Вы не указываете достоинства C и недостатки Rust, чем вводите потребителей в заблуждение.
> Но там же прошивка ЭБУ написана на C! Как же Ваши убеждения с этим мирятся? )))Мир не идеален, но мы можем попытаться сделать его лучше.
И мои убеждения как раз заставляют меня что-то делать. Вот и делаю что могу))> Вы что-то перепутали. Если Вам не жалко детям пожертвовать два миллиона рублей,
> то 110К евро для Вас уж точно не проблема )))110к евро это как бэ почти в 5 раз больше 2 млн. рублей. Или вы про белорусский рубль?
> Там одна сертификация, боюсь, не в один миллион евро вылилась.
Разумеется. И есть те, кто готовы за это платить.
> Если на пальцах, то по сути, Вы занимаетесь тут рекламой Rust
Я его не рекламирую. Я вообще в начале треда "предложил го", писал "язык YYY" без указания конктретного, а про раст написал уже когда вы написали пример с "UB в другом языке" (на каком же?))) и когда разбирались конкретные примеры в авто и тд.
> нарушая целый ряд пунктов Статьи 5 Закона о рекламе.
О, так это вы мне в виде Аноним втирали про нарушения закона о рекламе?))
Или это был другой аноним?... Хотя проФФессор навигатор тоже грозился на меня роспотреб натравить, хотя я тогда тоже про раст ничего не писал... Интересно, как бы он это сделал, если я вообще не в РФ? Разве что опеннету бы досталось.> Как минимум, сравнивая Rust с C Вы не указываете достоинства C и недостатки
> Rust, чем вводите потребителей в заблуждение.Мне вообще не нужно упоминать раст. Мне достаточно просто расписывать текущее (хаха, текущее уже лет 20?30?) положение с си. И достоинства си мне тоже не нужно расписывать.
Просто констатировать факты - вот язык, вот его недостатки, вот опять сделали дыру, вот за 40+ лет его существования выводы не сделали, одни и те же ошибки повторяются вновь и вновь с завидной регулярностью.> А вот у желающих всё переписать на Rust есть
Забавно, что до вас до сих пор не дошло, что я не "за раст". Я "против си".
Раст не единственное решение. Пусть использую любой другой: ada spark, java, c#, go, современный с++ (особенно круто, если комитет начнет движение в сторону safe c++).
Потому что любой другой безопаснее чем си)) Но у раста чуть больше аргументов "за" чем у остальных.Если вам легче, то можете это расценивать как борьбу с тетраэтиломсвинца в США в 50х (тогда тоже всех пугали "что о, ужас, бенз подорожает, а ваши авто уйдут в утиль!") или курением в общественных местах в ЕС ("о нет! рестораны подорожают, это же придется отдельный зал выделять для курящих!", "придется оборудовать отдельные места в офисах, ставить вытяжки" и так далее")
Тем не менее, как видим в обоих случаях запретили и в обоих случаях народ согласился платить. Нужно просто донести до людей проблему.
Возможно с конкретными примерами:
вот вам картинку в мессенджер отправили и увели учетку.
почему? а вот почему.а тут у вас кредитку из браузера стырили.
почему? А вот почему.И никакой рекламы :)
Вы в свою очередь можете расписывать про все ужасные недостатки раста (напр. что ДМА не мапится!).
Возможно эта информация найдет отклик у слушателей и они предложат еще более безопасный раст2.0? Еще и с верификацией? Я буду только за!))
>> что-то тут opennet.ru/~ptr я тоже не наблюдаю ссылочки на гитхаб.
> Потому что когда я вижу ошибки в чужом коде на гитхаб, я не пишу об этом тут, а делаю PR.Но без вашего гитхаба это просто голословное утверждение, не так ли?
Или тут днентельмены друг другу на слово верят?))
> Но без вашего гитхаба это просто голословное утверждение, не так ли?А при чем тут мой гитхаб? Разве это я критиковал чей-то код? Или Вы сейчас с зеркалом общаетесь? )))
> А при чем тут мой гитхаб?"я не пишу об этом тут, а делаю PR."
Там бы были видны ваши PR с фиксами проблем.> Разве это я критиковал чей-то код?
А какая разница кто критиковал код.
Это вы придумали что "нельзя критиковать код если не делаешь PR" - вот вы и критикуйте.
А с этим не согласен - поэтому буди и критикую. И ничего вы мне не сделаете))
> Там бы были видны ваши PR с фиксами проблем.С чего бы мне хранить все срезы репозиториев, которые я клонирую для PR? Как и все нормальные люди, я их удаляю, после того как PR смержен. Гитхаб это даже по-умолчанию предлагает.
Вы вообще хотя бы раз коммитили?> А какая разница кто критиковал код.
Принципиальная. Любое действие подразумевает ответственность за него. Я не хочу брать на себя ответственность за то, как надо писать код. Вы же эту ответственность на себя взяли. Вот и отвечайте.
В противном случае Ваша критика ничтожна, говоря де юре.
> Вы вообще хотя бы раз коммитили?Конечно. И странно что вы их удаляете.
> В противном случае Ваша критика ничтожна, говоря де юре.
Еще раз повторю, не нужно быть поваром чтобы критиковать пересоленный суп.
То что код плохой говорит не я, а тот кто нашел CVE, тот кто признал что это CVE и тот кто его исправил.Я всего лишь аргументировано указываю на недостатки инструмента.
И никакой ответственности я за это не несу. Это мое личное мнение.
Вы можете быть с ним согласным или не согласным, но затыкать мне рот права нет уже у вас.На этой мажорной ноте можем закончить.
Встретимся в следующей новости про классическую сишную дыру :)
> Любое действие подразумевает ответственность за него.Давай уже показывай свои легендарные PR, хорош задом вилять как этот самый. Выпендриваться на тему как надо правильно критиковать начал именно ты, вот и отвечай за свои действия. А так-то, необязательно быть шеф-поваром чтобы понять что суп пересолен.
Ну покажи свои PR тогда, чего стесняешься?
Эээммм
Это уязвимости в антивирусе???!
Точно такие же эмоции. Ситуация выглядит смешно, и вообще - какой нормальный человек будет ставить антивирус на линукс? Антивирусы это вы виндузятникам оставьте, и то, если есть голова на плечах, даже в винде антивирь по сути не нужен, достаточно не запускать софт с помоек и не ходить на маргинальные сайты. Для галочки можно дефендер оставить, и все.
> какой нормальный человек будет ставить антивирус на линукс?Тот, кому предписано поставить антивирус. Правда за денюжку и сертифицированный.
А ClamAV он как был никому не нужным, так ещё с переходом к cisco - ненужность увеличилась на порядок.