LINUX.ORG.RU

Сообщения seiken

 

Проверьте смену пароля в 802.1x

 , ,

Кто-нибудь с Убунтой 22.04 может такое проверить? Речь о сетевом интерфейсе с 802.1x (можно проверить с USB-to-Ethernet адаптером).

У меня на 20.04 вот такое: Устанавливаю пароль, сохраняю его, выхожу (до этого 8021x security не был включен). Далее, захожу опять в настройки интерфейса, меняю пароль, жму «Apply». Захожу опять, смотрю пароль - не поменялся!

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

Перемещено hobbit из general

seiken
()

Что это за аутентификация?

 ,

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

Пароли люди выбирают плохие, или поддаются на удильные атаки, а с помощью ИИ так вообще… А на второй фактор тоже существуют свои атаки.

https://security.googleblog.com/2023/05/so-long- passwords-thanks-for-all-phish.html?m=1

seiken
()

Итоги ежегодного глобального опроса пользователей C++

 

Опубликованы: https://isocpp.org/files/papers/CppDevSurvey-2023-summary.pdf

Ничего нового особенно: 10-20 лет опыта работы на C++, 20+ общего опыта программирования, MSVC, десктопная винда, линукс, инженерия (авионика и проч.), ембеддед, исходники зависимостей - часть билда, напрягает менеджмент зависимостей и время сборки, большинство используют C++11.

seiken
()

Режим радио при заблокированном экране

 

Почему в Андрюше нет такого режима, как subj.? Например, Я включаю Ютуб, но мне не нужно видео, а только аудио, и соотв. не нужен включенный экран, и в то же время, Я например кладу смарт в карман или в машине в кармашек, и я не хочу, чтобы случайно нажалась какая-то кнопка.

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

Почему нет таких режимов?

seiken
()

Страуструп реагирует на критику безопасности C++

 ,

Отовсюду мы слышим стоны: C++ небезопасен! хватит использовать C++! АНБ призвало отказаться от C++, европейские законодатели готовят CRA, чтобы закрутить гайки для разработчиков небезопасного софта. Страуструп реагирует, вот его беседа о «Hardening C++»: https://youtu.be/eLLi0nWMUMs .

Начало:

  1. Когда я задумал C++ в 1979г., я взял C за основу. У меня не было знаний, чтобы создать ЯП с нуля;

  2. Я с самого начала всячески выступал за гораздо более строгую систему типов в C++;

  3. Меня раздражает, когда люди говорят о каком-то C/C++, это мифический ЯП, его не существует;

  4. Если мы говорим о безопасности, есть подмножество языка, которым можно ограничиться при написании безопасного софта. И тогда статические анализаторы типа clang-tidy или от MS позволят привести код довольно близко к виду «безопасный». Мы можем почти гарантировать, что в нем нет утечек памяти, болтающихся ссылок, и проч. Также можно опираться на безопасные библиотеки типа span, которые проверяют например границы доступа. И мы видем, что и другие ЯП прибегают к тем же мерам;

  5. другия ЯП, которые утверждают, что они безопасные и у них нет небезопасного кода… если в них есть способ вызвать C или C++, они уже не безопасные;

  6. Можно определить различные профили безопасности, которые определяют, какие фичи можно использовать, а какие - нет, чтобы избежать проблем, которые возникают из-за использования данных фич. Подобный подход используется в Ada. Но в принципе, это же делают статические анализаторы;

  7. Мы пишем библиотеку поддержки GSL, в которой есть такие вещи как span, которые позволяют избежать проблем с указателями;

  8. Если вы посмотрите на проблемный код, о котором все вопят, который приводит к проблемам, о которых вопят, это старый код, написанный в старом небезопасном стиле. Если посмотреть на то, как подобный код выглядит в новом стиле, этот новый код безопасен;

  9. Необходимо запретить разрабам компиляторов использовать UB как предлог для оптимизации;

и т.д. и т.п.

Выглядит довольно слабо. С самого начала был выбран небезопасный C в качестве основы системы типов. Как можно «выступать за безопасную систему типов» в ЯП, в котором в центре небезопасное ядро? Почему бы не набраться смелости и не сказать «да, C++ не безопасен, и никогда не будет безопасным; безопасность я выбросил, потому не нужна была, да и не потянул бы». Потом прошло много времени, проблемы набирались, как снежный ком, и теперь, когда C++ в каждой дырке, они начали чесаться: ой, нам нужны профили, нам нужно запретить небезопасные фичи; нам нужно то, это, третье, десятое, но вот статические анализаторы, они же примерно и делают необходимые проверки…

Особенно смешно выглядит сравнение с Адой и ее профилями. Потому что стандартная Ада, без всех ограничений, качественно безопаснее C++, и дело не в «безопасных библиотеках», а в более продуманной с самого начала системе типов. Но Страуструп не зря ссылается на Аду, скорее всего, понимает, что есть с самого начала грамотно спроектированные ЯП, а есть C++.

seiken
()

seLinux из коробки

 ,

Есть ли дистрибы Линукса кроме Федоры (ну и соотв. РэдХэт) на которых seLinux в режиме enforced работает из коробки? Или все кроме RH и ко на него забили в пользу apparmour или вообще без MAC? Пробовал врубить seLinux на убунте, вместо apparmour, и оно даже не загрузилось.

seiken
()

Европа, безопасный софт и опенсорс

 , , какчество,

Не знаю, обсудили это на ЛОР уже или нет, но я только что узнал, что европейские законодатели решили сделать софт более безопасным по закону, введя требования к производителям софта по типу существующей маркировки CE для аппаратуры, но для софта, Чтобы призвoдитель сам удостоверился, что его продукт типа безопасен с т.з. программных уязвимостей и соблюдения приватности. Достигаться это должно при помощи всяких мер типа security by design и проч. А за небезопасный софт могут нехило штрафануть, в зависимости от того, какими суммами контора разработчика воротит, до 15млн евро или 2.5% годового оборота.

Называется оно Cyber Resilience Act.

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

https://blog.opensource.org/the-ultimate-list-of-reactions-to-the-cyber-resilience-act/

А вы как относитесь к обеспечению безопасности кода по закону? Что, если пойти еще дальше, и автоматом вычитать из зарплаты программиста эти 2.5% («ведь GPT бы без ошибки написал»), или расширить штраф до тюремного срока? Ведь могут быть очень серьезные катастрофы, с многочисленными жертвами. Почему маньяки-убийцы тянут длинные сроки, а разработчики убийственного софта гуляют на свободе?

seiken
()

Мальтийским студентам грозит срок за нахождение уязвимости

 срок, ,

Четыре студента нашли уязвимость в приложении FreeHour, популярном в среде мальтийского студенчества, позволяющую просматривать личную инфу пользователей. Как добропорядочные белошляпники, они сообщили о уязвимости CEO компании-разработчика. Тот, в свою очередь, по его словам, следуя предписанию соотв. госоргана по борьбе с киберпреступностью, передал эту инфу «куда надо».

В итоге к скубентам вломилась полиция, изъяла все компы, а самих арестовала, на основании некоей статьи о «доступе к приложению без надлежащего разрешения уполномоченного лица». И теперь им грозит штраф в $23К и срок 4 года.

https://timesofmalta.com/articles/view/we-wanted-help-students-arrested-exposing-freehour-security-flaw.1024757

А вы как считаете, «совсем оборзела кровавайя гэбня» или «так им и надо, паразитам, нет, чтобы учились, как все, ищут приключений на свою Ж»?

seiken
()

Что GPT знает о ЯП?

 ,

Посоветовали мне тут в Development спросить свой вопрос у https://gpt-chatbot.ru/ . Но я решил сначала проверить, а понимает ли вообще GPT что-то в программировании.

Спросл «Why is Ada programming language not popular?» . И вот, что мне ответил ИИ:

As an AI language model I don't have opinions but here are some of the reasons why Ada programming language is not as popular as some other programming languages:

    1) Lack of marketing - Ada is not as heavily promoted as some other programming languages, so it is not as well known.

    2) Steep learning curve - Ada can be difficult for beginners to learn due to its complex syntax and strong typing rules.

    3) Targeted audience - Ada was designed primarily for large-scale, mission-critical systems, which limits its application in other areas.

    4) Limited resources - Due to its limited popularity, finding reliable online resources and support for Ada may be difficult.

    5 ) Competition from other languages - Ada faces strong competition from other popular languages like Java, Python, and C++ which offer similar features and are more popular.

    Government ties - Ada has been traditionally used by government institutions and organizations, which has limited its reach in the wider community.

со всем могу согласиться, но вот пункт 5) меня удивил. Все в одну кучу свалил, и коней, и людей. На счет C++ можно согласисься, и в области дженериков C++ ушел вперед. Java уже с натяжкой. А вот какие там в Питоне: объекты на стеке (а не в куче), многопоток из коробки, низкоуровневость вплоть до bare metal, отсутствие GC, автоматическая проверка указателей на null, числовые подтипы с лимитированной областью значений, и т.д. и т.п. Ну это же просто разные миры!

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

seiken
()

Подстановка команд с предварительной интерпретацией строки команды

 

Так получилось (не дай бог никому), что пришлось мне править перловый скрипт, написанный хрен знает, кем. Надо добавить command substitution, чтобы вызывать внешнюю команду и класть ее вывод в переменную. Но команда не фиксированная, а строится на основе значений переменных. Пусть будет «ls -l $someDir» для примера.

В баше я бы написал просто:

result = $(ls -l $someDir)

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

Есть идеи?

seiken
()

Какой должен быть тест на базовые знания C++?

 ,

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

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

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

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

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

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

seiken
()

Кто там хотел примеров, что опенсорс поддерживать дороже?

 

Вот вам пример.

Такой скрипт MS предлагает для инсталляции ODBC драйвера на Убунте:

if ! [[ "18.04 20.04 22.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi

sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev

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

А вы говорите, опенсорс, опенсорс…

seiken
()

Опенсорс не про деньги, а про время

 ,

Новое исследование показывает: компании используют опен сорс не потому, что «дешевле», а потому что «быстрее». А по финансовым затратам обслуживание опенсорса может быть даже дороже проприетарщины.

https://www.infoworld.com/article/3689882/companies-cant-stop-using-open-source.html

Вот так, мои дорогие любители халявы.

seiken
()

Для git вообще есть нормальный UI?

 ,

Посмотрел этот gitkraken, за него даже денежку просят для каких-то фич, но то, что я увидел в триале меня удручило.

Во-первых, не очень понятно, что эта тулза дает такого вау-полезного, чего уже не дает ублюдочный gitk.

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

И вот сижу я, и не понимаю, то ли никому не нужно удобство, эти инструменты как-то можно настроить, но не понятно, как, либо люди, которые за это платят какие-то алиены…

Может быть, git вообще не вполне подходит для сложного и обозреваемого версионирования и имеет смысл использовать коммерческие VCS для больших и сложных проектов?

seiken
()

Кто-то еще верит, что C/C++ не для криворуких макак?

 , ,

Поставщик корпоративных решений в сфере ИТ-безопасности, Fortinet. 40 уязвимостей, Карл, 40! Среди них stack-based buffer overflow.

https://thehackernews.com/2023/02/fortinet-issues-patches-for-40-flaws.html

Вы правда думаете, у них кодеры индийские домохозяйки, выучившиеся программированию на 6 месячных курсах?

seiken
()

Вопрос к разрабам на больших проектах

 проблемо-менеджмент, релиз-менеджмент

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

И интеграция с Jira чтобы была, типа, кнопочка с надписью «проблемаСсегфолтом» (я ее сам выбираю) а статус в джире цветом отображался. Нажимаю на такую кнопочку, и UI меня редиректит на таск в джире?

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

seiken
()

Вопрос реальным пользователям vscode

 ,

Начал использовать сабж. Пока в виртуалке. Создалось такое впечатление, что когда оно чисто редактор, м.б. с одним расширением, например C++ от MS, еще ничего так, ворочается приемлемо. А если всякие git lens попробовать, начинаются какие-то тормоза. Консоль вывода тормозит и проч. Спасет ли новое железо? (я его на ноуте 2013г.в. пробовал), в виртуалке.

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

Что думаете о производительности vscode?

P.S. Размер проекта, ну, скажем 200 файлов на C++.

P.P.S. ах да, виртуалочке той 8гб ОЗУ дал.

seiken
()

Эти ваши VPN'ы

 

В софте FortiOS SSL-VPN нашли уязвимость класса переполнения буфера, и какие-то предприимчивые хакеры сумели внедрить через эту уязвимость свой код на сервер (CVE и проч. детали см. по ссылке).

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

https://arstechnica.com/information-technology/2023/01/fortinet-says-hackers-exploited-critical-vulnerability-to-infect-vpn-customers/

А вы говорите, VPN-VPN. Вот так хакер вас подслушает, а потом будет деньги вымогать.

seiken
()

Безопасность ЯП != безопасность ПО-решений

 ,

Яркая иллюстрация subj. В Расте библиотека Hyper для обработки HTTP запросов не позволяет выставить максимальный размер сообщения. В результате, овердохренища пакетов в crates.io, которые зависят от Hyper уязвимы перед потенциальными DoS атаками.

https://www.theregister.com/2023/01/06/flaws_rust_projects_ddos/

seiken
()

Вы когда-нибудь думали о дауншифтинге?

 

Чтобы уйти из профессии в офисе на полгода, подрабатывать лесником и лечить нервы и прочие болячки? Как потом объяснять на собесе, что ты не осилил нагрузку?

Перемещено maxcom из job

seiken
()