Re[6]: Эпоха ЕГЭ
От: Denwer Россия  
Дата: 20.07.21 16:51
Оценка:
Здравствуйте, vdimas, Вы писали:

D>>Мне это напомнило одного программиста, который пришел на собеседование, он релаьно не знал ничего, вот не одной строчки кода написать не мог. На что он мне ответил — а зачем сейчас уметь программировать на С++, если все можно найти в инете.


V>Значит, он устраивался не програмистом С++?


Вообще то он пришел на вакансию С++ программиста.

D>>Ну попробуй снять защиту с USB токена, когда в нем реализовано часть функции.


V>Прикладной ф-ии?

V>Окстись.

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

D>>Вот кто их применяет тоже обязан значть, что даже не читаемый токен можно применить так, что защита будет нулевой. Я не ошибусь, если скажу что больше половины защиты на токенах используют тупо для запроса константы. Просто дампишь протокол и ставишь виртуальный токен. Даже программировать не нужно ничего, уже есть для этого софт. Это как раз работа студентов, которые про защиту ничего не знают.


V>Только взлом идёт не там, а в тех участках кода, которые ветвятся по наличию защиты. ))

V>Взламывают обычно не сам токен, а ПО, его использующее.

Это зависит как раз от того как применили. Если применили через жопу, то смотрят ветвление алгоритма. А если в токен перенесена какая нибудь важная функция софта, то уже ничего не сделать.

V>Исключения тут составляют токены, которые обслуживают обмен сетевыми защищёнными данными, например, при пересылке док-тов, в клиент-банках и т.д., потому что часть вычислений, действительно, может располагаться в токене и ты это не переплюнешь аж никак, т.к. токены нового поколения не выдают внутреннее содержимое напрямую, они считают хеш этого содержимого с поданной солью. Поэтому, опять отсылаю к устоявшимся стандартам защиты, в т.ч. к ГОСТ-ам на этот счёт, где с "математической" составляющей всего этого процесса полный порядок.


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


V>>>Эээ, разработка драйвера — это что-то сложное и интересное?

D>>Так ты попробуй что бы не фантазировать.

Так я 15 лет их пишу. И ферволы писал на уровне NDIS+TDI(эта прослойка ыбла на ХП), и драйвера файловых систем писал, и всякие дисковые драйвера. И всякие антируткиты писал. Вот наверное антируткит был одной из интересных разработок, т.к. была война почти в реальном времени, антируткиты писали с такой скоростью, что не успеваешь следить за их развитием, в том числе всякие буткиты.

D>>Даже если не принимать во внимание реализацию защиты, знаешь какая часть программистов может кодить в режиме ядра? Единицы.


V>Единицы этим занимаются или единицы могут? ))


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

V>Знаешь, сколько времени надо обычному сишнику, чтобы начать програмимровать в режиме ядра (и то не обязательно, т.к. есть разные модели драйверов)?

V>От пары часов до пары дней.
V>Это просто АПИ, причём, в разы более скромное (если взять любой конкретный класс устройств), чем прикладное АПИ ОС.

О да. Как то пришли ко мне студенты, точнее уже выпускники, и сказали, что придут через 2 недели, им нужно выучить С++. Через 2 недели они пришли как и обещали, но сказали что они очень ошибались.

V>И опять, судя по твоим рассуждениям, ты во всём этом плаваешь, т.е. плохо представляешь себе "сложность" такой работы.

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

Конечно конечно.

D>>А ты сначала напиши алгоритм шифрования, который не просадит производительность и будет хорошо защищенным от взлома.


V>Так а в чем лопата?

V>Вот тебе "математик" дал алгоритм, в сегодняшнем мире уже рассуждают о "не просадит производительность"? ))

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

V>Как сам думаешь, например, реализации мультимедиа-кодеков должны "просаживать производительность"?

V>А там примерно тот же характер работ — обработка порций данных.

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

D>>Думаешь математики могут написать алгоритм адаптированный к современным процессорам, те на уровне асемблера по сути.


V>Думаю, могут.

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

Оптимизация не только из за векторных вычислений, но там куча всяких подводных камней, например просто выбор типа данных иногда сильно сказывается на производительности. Или что бы структуры были разибты на поля для записи и для чтения. Попробуй отсортировать массив BYTE и массив LONG, будешь удивлен что они выполняются с разной скоростью. Про многопточную реализацию я вообще молчу, многопоточность могут осилить 20% программистов, а проматематиков можно и не говорить.

D>>>>система шифрования дисков.

V>>>Лопата в чём?
D>>Лопата в том, что нужно учесть много чего, учесть все методы взлома таких вещей, учесть какие алгоритмы устарели, и их без проблем можно взломать брутом на хороших мощностях.

V>Так лопата в чём? ))

V>Открываешь гугл и смотришь актуальные RFC, там всё н аблюдечке.

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

V>Ничего в этом плане изобретать не надо и даже вредно, если ты только не специалист по математическим аспектам шифрования, бгг.


Изобретать можно и нужно, современные алгоритмы сложные для взлома и очень производительные, взять тот же Salsa20, а потом появившийся Chacha20. Это хороший пример того, что алгоритмы продолжают развиваться, а не стоят на месте с ГОСтовскими, которым уже несколько десятилетий.

D>>Нужно учесть возможность дампа памяти.


V>Пошёл уже совсем детсад.

V>Про дампы регистров еще забыл.
V>Про кольца защиты проца.
V>Про системы прав в современных ОС и т.д. и т.п.

V>А в чём лопата — непонятно. ))


Лопата в том, что применив мощный алгоритм шифрования, софт вкламывают на кривом использовании. Некоторое время назад в США был бум дамперов систем оплат. Она мега примитивные, тупо дампят память софта и ищут номера кредиток. Ну руки нужно программистам поотрывать, что хранение в памяти В ОТКРЫТОМ ВИДЕ номеров кредиток. Хотя передавали они все сильно шифрованное, по всем ГОСТам. В итоге в США срочно пришлось вкладывать миллиарды баквос, что бы весь софт срочно пофиксить от дампинга. Миллиарды из за программистов, которые не знали азы компьютерной безопасности. Доходило до примитивного, они удаляли память с кредитками и думали что защитились. Но память то не чистилась, в итоге их тоже дампили.

D>>Если бы я жил в Москве, я бы из этой области не ушел, в провинции таких проектов очень мало. Хотя из за пандемии все сильно изменилось и я очень и очень задумываюсь вернуться. Удаленку просто не люблю, хотя такое ощущение что это становится нормой. В том же линкеде уже в месяц по несколько запросов на проекты по безопасности и по разработке дров. Лет 6-7 назад такого не было и близко.


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

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

Полно продуктов с новыми разработками, со всякими ноухау.

V>Если прямо сейчас тебе не скучно, то ты еще не вышел в своём развитии в этом ремесле в "область насыщения".

V>Но пройдёт пяток-другой лет плотного занятия темой — и ты выйдешь, никуда не денешься.

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