What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

АНБ призывает IT-компании отказываться от C и C++

X-Shar сказал(а):
На самом деле не важно на каком языке написанна система, важен сам подход построения этой системы.

Вот например у ЛК, если интересно сейчас есть проект, вернее он уже давно разрабатывается, но в продакшин начал выходить только сейчас, проект называется "Безопасная ОС".

В чём смысл такого проекта, если вкратце ?

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

Так-вот сама ОС ядро, написана на Си, компоненты на С++.

Я к тому, что бредово обвинять во всём язык, нужно архитектурно подходы менять.)
Нажмите, чтобы раскрыть...
С возвращением!
 
Apocalypse сказал(а):
Потому что остальное легче бекдорить анбшникам
Нажмите, чтобы раскрыть...
Куда проще оставить бекдор в закрытом ПО, где нет исходных кодов в публичном доступе. Так что ищи бекдоры в Венде, или в мелкомягком компиляторе С/С++ (компилятор С# открытый).

vns10k сказал(а):
Еб@ть, реально тупой совет, а если для проекта важна скорость работы ПО, на чем они предлагают тогда писать?
Нажмите, чтобы раскрыть...
Раст есть в списке.

Guron_18 сказал(а):
Проблема в том, что вся специфика ЯП расписана ОТ и ДО в документации
Нажмите, чтобы раскрыть...
Вообще-то нет, у языков С/С++ полно undefined и unspecified behavior, когда семантику конкретного кода определяет компилятор, и она может меняться даже при изменении настроек оптимизации.

vladvladelo сказал(а):
А как начнут широко применять, уверен, и там проблем не меньше, если не больше))
Нажмите, чтобы раскрыть...
Ты явно не понимаешь, какие проблемы к чему приводят. От логических проблем ничего не спасет, от типичных проблем с памятью, которые приводят к условным RCE, вполне может помочь сборщик мусора и borrow checker.
 
DildoFagins сказал(а):
Куда проще оставить бекдор в закрытом ПО, где нет исходных кодов в публичном доступе. Так что ищи бекдоры в Венде, или в мелкомягком компиляторе С/С++ (компилятор С# открытый).


Раст есть в списке.


Вообще-то нет, у языков С/С++ полно undefined и unspecified behavior, когда семантику конкретного кода определяет компилятор, и она может меняться даже при изменении настроек оптимизации.


Ты явно не понимаешь, какие проблемы к чему приводят. От логических проблем ничего не спасет, от типичных проблем с памятью, которые приводят к условным RCE, вполне может помочь сборщик мусора и borrow checker.
Нажмите, чтобы раскрыть...
Я, наверное, не так выразился.
Я вел к тому, что смена языка не устранит проблему хакеров :)
Имхо, они всегда были и будут.
 
Вообще где можно отказаться от C/C++, может и правильный совет, незнаю...

Но в моём понимании не везде можно отказаться, там-где многое уже написано на C/C++, отказываться дорого, это первое.
А где-то и в принципе нельзя отказаться.

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

Поэтому как-то так.)))
 
После подобных дебильных "советов" АНБ, очевидна деградация их "специалистов".
Понабрали во флот, пехоту)
 
NOP сказал(а):
Так в чем проблема?
Нажмите, чтобы раскрыть...
Цитата сходу:
vladvladelo сказал(а):
Сейчас все написано на C++
Нажмите, чтобы раскрыть...
Вот некто пишет что, все есть плюсы, а по факту - все есть ассемблер (а если совсем точно ноли и единицы). Когда пишешь на низкоуровневых языка очень важно - всякие "тонкие" вещи похожие на эти, учитываеть и иметь ввиду и постоянно перепроверять-перепроверять и еще раз бл#ть тестировать. 90% тех кто пишут код не вкурсе про спонтанно возникшие изменения (ошибки) битов памяти и про use-after-free тоже (то личная статистика, мб мне не повезло хз).
Уязвимости - это проблемы, рождающеся изза того кто пишет код - если руки-из-жопы не нужно орать на молоток. Новые языки призванны лишь в некотором роде проблему нивелировать, Тот же rust в unsafe моде - постоянно будет дырявым в будущем (но уже в целом будет уязвим меньше). Тут нет chicken-egg диллемы - во всем виноваты "рукожопы" и "халтурщики".
 
X-Shar сказал(а):
Но в моём понимании не везде можно отказаться, там-где многое уже написано на C/C++, отказываться дорого, это первое.
А где-то и в принципе нельзя отказаться
Нажмите, чтобы раскрыть...
тут есть один юзер. ник его DildoFagins
кастую его никнэйм - слыхал он любит эту тему, -> перетереть за "мертвый Си" и тру-ланг-Шарпы
 
DildoFagins сказал(а):
Шах и мат, адепты Цэ и чистого винапе))
Нажмите, чтобы раскрыть...
Дед прими лекарства, перед людьми неудобно))
А если серьездна - был один похожий кейс - в MIT в курсе CS Лисп меняли на свежый петончег.
Дак вот у них там это заняло пару лет как минимум. Тут со всеми теми киллотонами легаси кода - займет 10летия.
За кодогенерацию через ллвм бэкенд вкурсе, но рез-ы там так себе (портирования процесс не ускоряет а скорее наоборот - это сводки с фронтов так сказать)

Вообще пост русиновича первым апреля попахивает - с чего бы вдруг в угоду какой то там безпастности корпорации начали такие деньги тратить?
(а ведь переписать лярды строк кода для этого прийдется + совместимость и тд, это вам не всратую EDR купить за условные 50-100к)
(если бы так оно было в мире, господа вымогатели, пошли бы по миру давным давно)
 
Bosh сказал(а):
а ведь переписать лярды строк кода для этого прийдется + совместимость и тд, это вам не всратую EDR купить за условные 50-100к
Нажмите, чтобы раскрыть...
Я не понимаю одного, почему адепты Цэ за своей пеленой гнева и отрицания не видят одной простой вещи: ни АНБшники, ни Руссинович ничего никому не предлагает переписывать с нуля, они предлагают не начинать новых проектов. Читайте внимательно, хоспаде.
 
ZX9R сказал(а):
Согласно документу, с помощью этих брешей в защите хакерам удается с легкостью получать доступ к конфиденциальной информации, выполнять произвольный код и нарушать цепочки поставок ПО.
Нажмите, чтобы раскрыть...
Ага, "с легкостью" ёпт. Так и смотрю, что для каждого memory-corruption в винде эксплойты делают. RCE в винде через memory-corruption сейчас встанет в семизначную сумму да и зачем, если можно пробивать через сторонние внешние сервисы, где порой поиск бага и написание эксплойта проще. А если уж злоумышленник внутри, то чаще всего он повысится и без локального эксплуатирования memory-corruption. На мой взгляд угроза переоценена в текущих реалиях по крайней мере по отношению к Винде. Уж кто-кто, а Equation Group должны быть против замены С/С++.
 
SVG45qbVolk сказал(а):
Кваке очень любит язык С
Нажмите, чтобы раскрыть...
Новость удивила, мягко говоря.
А так, уже говорил, не буду больше участвовать в языкосрачах. Виспер и Лев (и кто там еще ) были правы, да си не нужон, петон это будущее, раст форева, и все такое.
 
DildoFagins сказал(а):
предлагают не начинать новых проектов
Нажмите, чтобы раскрыть...
Во-во и я про тоже.
Дело то не в том что начинают новые проекты на Цэ писать - этого то как раз и нет.
Все же дело в легаси.
DildoFagins сказал(а):
за своей пеленой гнева и отрицания
Нажмите, чтобы раскрыть...
DildoFagins сказал(а):
почему адепты Цэ
Нажмите, чтобы раскрыть...
Потому...

...не любви, ни тоски, ни жалости - язык Богов забирает у тебя все в те бессоные ночи - когда ты общаясь с демонами через дебагер только еще начинал познавть - что такое ядро.
 
Quake3 сказал(а):
не буду больше участвовать в языкосрачах.
Нажмите, чтобы раскрыть...
Эх жаль - языкосрачи на этом форуме куда интеренсее чем всякие очередны локер-сторис, да и случаются языкосрачи не часто. ((
 
Bosh сказал(а):
языкосрачи на этом форуме куда интеренсее чем всякие очередны локер-сторис, да и случаются языкосрачи не часто.
Нажмите, чтобы раскрыть...
Так можно начать и без меня.
Просто толку с этого 0, мне приводят какую-то дебильную аргументацию в стиле "видишь бомжа у мусорки? Так вот, он выбрал си вместо петона ахахах", а я должен на это чето отвечать.
По сути так то никто не ответил, кроме каких-то отрывков кода из локбита (опять же, придирки), и ссылки на объявления вида "ищу си кодера, плачу 100 баксов".

Суть в том, что критиковать всегда легче. Вот любую фигню возьми, любой язык продукт и так далее. При желании, его можно разнести в 0, придраться к любой фигне, вплоть до скобок и названия стандартной библиотеки.
 
Ну а что тут обсуждать ?

Будут-ли жить C/C++, разумеется будут, как минимум ближайшее лет 10 лично я не вижу предпосылок их смерти, тут много факторов, не буду их перечислять.

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

У С/С++ основные проблемы, что в случае если в программе присутствует какая-то ошибка работы с памятью, очень тяжело эту ошибку раздебажить, даже имея современные средства дебага и инструменты исследования кода, вот реально не редки ситуации, что называется "Не одна бабка неотдебажит".)))
 
X-Shar сказал(а):
какая-то ошибка работы с памятью
Нажмите, чтобы раскрыть...
Самое частое, особенно в работе с хипом, это выход за пределы выделяемой памяти (размер данных, помещаемых в память больше выделенной, что приводит к повреждению хипа) и отсутствие или не своевременного освобождения выделенной памяти, что ведет к "утечке" памяти и раздувании private bytes и падению приложения. Вроде так. Возможно существуют еще варианты?
 
Larry сказал(а):
Возможно существуют еще варианты?
Нажмите, чтобы раскрыть...
Переполнение стека ещё.

Да что угодно может-быть...)

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

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