The OpenNET Project / Index page

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



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

Оглавление

Взлом Linux через подключение USB-устройства стал реальностью, opennews (ok), 08-Мрт-11, (0) [смотреть все]

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


82. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от коксюзер (?), 08-Мрт-11, 16:27 
> ВНЕЗАПНО! И С, и тем более С++ позволяют реализовать строку именно так,
> как вам это нужно.
> С любыми проверками и любой оптимизацией - по вкусу. Без хитрых хаков
> для кривых костылей...

Особенно в Си. Прямо бери и реализуй литералы и неявные преобразования типов. Ага, ну-ну. А в С++ кроме строк проблем нет, конечно же - полный контроль над адресной арифметикой, ага. Ну-ну. ;)

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

176. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от тоже Анонимemail (ok), 08-Мрт-11, 22:10 
Вы не любите языки, на которых нельзя написать фреймворк и сделать вид, что это другой язык? Тогда низкоуровневые языки просто не для вас.
Проблема, которую вы пытаетесь придумать, решается одной функцией. Если в вашем коде используется только определенный вами тип строк и любая входящая строка преобразуется к вашему типу через одну, предусматривающую вероятность переполнения, функцию, то в вашем коде переполнения строки не будет. Вот и все...
Ответить | Правка | Наверх | Cообщить модератору

187. "Взлом Linux через подключение USB-устройства стал реальность..."  +1 +/
Сообщение от коксюзер (?), 08-Мрт-11, 22:57 
> Вы не любите языки, на которых нельзя написать фреймворк и сделать вид,
> что это другой язык? Тогда низкоуровневые языки просто не для вас.

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

> Проблема, которую вы пытаетесь придумать, решается одной функцией. Если в вашем коде

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

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

Действительно, вот и всё: и удобно, и все пользуются, и унаследованный код сам себя переписал, и все остальные проблемы Си решились сами собой.

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

226. "Взлом Linux через подключение USB-устройства стал реальность..."  –1 +/
Сообщение от тоже Анонимemail (ok), 09-Мрт-11, 08:33 
Фамильная черта тех, кто гонит на С - упоминание неких "нормальных языков" без конкретизации...
Каким образом людям, писавшим драйвера, удалось унаследовать у кого-то код - для меня загадка.
Ответить | Правка | Наверх | Cообщить модератору

227. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от коксюзер (?), 09-Мрт-11, 08:56 
> Фамильная черта тех, кто гонит на С - упоминание неких "нормальных языков"
> без конкретизации...

Ада.

> Каким образом людям, писавшим драйвера, удалось унаследовать у кого-то код - для
> меня загадка.

А отгадка в том, что вы вынимаете слова из контекста.

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

230. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от тоже Аноним (ok), 09-Мрт-11, 10:29 
Конечно! Нет унаследованного кода - нет проблемы!
Ответить | Правка | Наверх | Cообщить модератору

259. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от коксюзер (?), 09-Мрт-11, 17:26 
> Конечно! Нет унаследованного кода - нет проблемы!

Да что вы говорите! Ещё раз: у Си полно проблем помимо кривых строк. Чтобы их решить, нужно превратить Си в Cyclone. Никакой пляской с идиомами и API здесь не отделаться.

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

248. "Взлом Linux через подключение USB-устройства стал реальность..."  –1 +/
Сообщение от User294 (ok), 09-Мрт-11, 15:57 
> Ада.

Ну и где операционки на ней и желающие на оной их писать? Не хочу ничего сказать, но все навороты типизации и излишние умничания компилера при работе с железом будут только жесточайше МЕШАТЬСЯ, когда потребуется например загнать ровно 4 байта да еще в строго определенном endianess'е в регистры вон той железяки. И заметьте, железяка хочет только так и никак иначе. На сях это даже относительно реально делать без огроменного геморроя. Как раз в силу простоты типов и отсутствия наворотов там где они только мешаются.

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

250. "Взлом Linux через подключение USB-устройства стал реальность..."  +1 +/
Сообщение от klalafuda (?), 09-Мрт-11, 16:12 
> Ну и где операционки на ней и желающие на оной их писать? Не хочу ничего сказать, но все навороты типизации и излишние умничания компилера при работе с железом будут только жесточайше МЕШАТЬСЯ, когда потребуется например загнать ровно 4 байта да еще в строго определенном endianess'е в регистры вон той железяки. И заметьте, железяка хочет только так и никак иначе. На сях это даже относительно реально делать без огроменного геморроя. Как раз в силу простоты типов и отсутствия наворотов там где они только мешаются.

Непосредственно загнать 4 байта в регистры вон той железяки - это примерно 0 целых хрен десятых % от трудоемкости общего кода ядра. Решается минимальным тоненьким врапером над непосредственным доступом к физической памяти/регистрам/etc хоть на ассемблере. Который вылизывается до блеска специальным стадом котов. Все остальное - это самый обычный код. В котором собственно и делают те самые неприятные ошибки самые обычные люди. И уже на этом уровне 'широкие возможности C' - это скорее геморрой нежели благо. Никому в трезвом умен и здравом сознании не приходит в голову браться писать на C действительно сложный ответственный код в 21м веке. Как минимум - выбор за C++. А зачастую и что-то куда более высокоуровневое - жаба, эрланг, те или иные скриптовые решения - зависит от конкретной ситуации. Но никак не ассемблер или C.

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

267. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от User294 (ok), 09-Мрт-11, 18:27 
> Непосредственно загнать 4 байта в регистры вон той железяки - это примерно
> 0 целых хрен десятых % от трудоемкости общего кода ядра.

Угу, а код драйверов вы смотреть не пробовали? Там такого кода - хоть отбавляй, и драйвера - весьма существенный кусок ядра, собссно :)

> Решается минимальным тоненьким врапером над непосредственным доступом
> к физической памяти/регистрам/etc хоть на ассемблере. Который вылизывается
> до блеска специальным стадом котов. Все остальное - это самый обычный код.

Этот обычный код в основном занимается как раз довольно необычными низкоуровневыми задачами. Может я что-то и не понимаю в этой жизни, но общематематические и прикладные задачи (ака "обычный код") не являются целью ради которой делают ядра ОС. Ядра как раз по задумке именно прослойка между железом и прикладным софтом, не привязанным к железу и желательно особенностям низкоуровневой реализации конкретной ОС. Предлагаете делать врапперы в врапперах? А в тех врапперах не надо врапперов? :)

> В котором собственно и делают те самые неприятные ошибки самые обычные люди.
> И уже на этом уровне 'широкие возможности C' - это скорее геморрой нежели благо.

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

> Никому в трезвом умен и здравом сознании не приходит в голову браться
> писать на C действительно сложный ответственный код в 21м веке.

Именно сложный - да, только странная какая-то цель: "написать сложный код". Код должен быть простым и прозрачным.

> Как минимум - выбор за C++. А зачастую и что-то куда более высокоуровневое
> - жаба, эрланг, те или иные скриптовые решения -

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

> зависит от конкретной ситуации. Но никак не ассемблер или C.

Ха, вы будете учить системщиков как им надо писать кернелы? Не, хренушки, так не катит. Давайте вы сделаете ваше крутое, правильное, и на чем вам там надо? И вот когда оно всех зарулит - тогда ваш тезис "никак не ассемблер или C" и будет доказан, имхо :). Только вот высокоуровневые сложные конструкции ИМХО не очень просто и быстро трансформируются в простые наборы байтов и даже битов с которыми работает железо, если что. А приколитесь, бывают железки которые хотят, допустим не 8 и не 16 битов. А 12 битов, например. Ничему не противоречит послать по сериальной шине именно 12 битов, а вовсе не 8 или 16. Интересно было бы посмотреть как вы 12-битные слова, нативные для железки будете в высокоуровневые абстракции упаковывать и какая будет скорость враппинга всего этого :).Особенно если чипмейкер не искал легких путей и сделал так что первые 9 битов - одно поле, а еще три - другое. Во вы там наврапаетесь то :)

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

269. "Взлом Linux через подключение USB-устройства стал реальность..."  +1 +/
Сообщение от коксюзер (?), 09-Мрт-11, 18:53 
> Угу, а код драйверов вы смотреть не пробовали? Там такого кода -
> хоть отбавляй, и драйвера - весьма существенный кусок ядра, собссно :)

Теоретики такие теоретики: на дворе XXI век, а они до сих в порты по 4 байта пишут. :D

> Этот обычный код в основном занимается как раз довольно необычными низкоуровневыми задачами.

На той же Аде все эти низкоуровневые задачи решаются быстрее и надёжнее. :Р

> Может я что-то и не понимаю в этой жизни, но общематематические

:D

> и прикладные задачи (ака "обычный код") не являются целью ради которой
> делают ядра ОС. Ядра как раз по задумке именно прослойка между

Да-да, в [s]СССР[/s] ядре линукса алгоритмов нет. :)))

> железом и прикладным софтом, не привязанным к железу и желательно особенностям
> низкоуровневой реализации конкретной ОС. Предлагаете делать врапперы в врапперах? А в
> тех врапперах не надо врапперов? :)

Ну может вы что-то знаете, чего мы не знаем? Вот Аде, например, какие врапперы нужны? Они ведь нужны, да?

> Ну так пишите программы работающие с юсб через юзермод на чемнить высокоуровневом,
> правда мне почему-то кажется что это будет не самым безгеморройным начинанием
> :)

Ага, лишние апи, лишние баги в ядре... Тут уж без Релифа никуда. :D

> Именно сложный - да, только странная какая-то цель: "написать сложный код". Код
> должен быть простым и прозрачным.

Простым и прозрачным прям как опухшее монолитное ядро. :D

>> зависит от конкретной ситуации. Но никак не ассемблер или C.
> Ха, вы будете учить системщиков как им надо писать кернелы? Не, хренушки,

Ну так и Вирт тоже учит. Давайте Вирта попинаем за академичность и отрыв от практики - это уже становится модно. :)

> так не катит. Давайте вы сделаете ваше крутое, правильное, и на
> чем вам там надо? И вот когда оно всех зарулит -

Та гуано вопрос. 30 миллионов евро, и через 5 лет будет вам ядро.

> тогда ваш тезис "никак не ассемблер или C" и будет доказан,

Школоло. :Р Всех можно в контру зарулить, а ОС - они разные все, со своими достоинствами, недостатками и сферами применения. Я тут слышал тезис, согласно которому, обероны и системы на Аде, которые работают в критических промышленных и военных отраслях - это нифига не промышленный уровень. :) Промышленны - это видимо, когда много, везде, и хомячку видно. :Р

> имхо :). Только вот высокоуровневые сложные конструкции ИМХО не очень просто
> и быстро трансформируются в простые наборы байтов и даже битов с

И даже кубитов, чо уж там.

> которыми работает железо, если что. А приколитесь, бывают железки которые хотят,

Гыгы.

> допустим не 8 и не 16 битов. А 12 битов, например.
> Ничему не противоречит послать по сериальной шине именно 12 битов, а
> вовсе не 8 или 16. Интересно было бы посмотреть как вы
> 12-битные слова, нативные для железки будете в высокоуровневые абстракции упаковывать

Так 12-битные слова или байты, теоретический вы наш? :)

> и какая будет скорость враппинга всего этого :).Особенно если чипмейкер не

Враппинг!!1

> искал легких путей и сделал так что первые 9 битов -
> одно поле, а еще три - другое. Во вы там наврапаетесь
> то :)

Та не говори, заврапало уже врапать (врап-врап).

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

280. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от тоже Анонимemail (ok), 09-Мрт-11, 23:16 
> Теоретики такие теоретики: на дворе XXI век, а они до сих в порты по 4 байта пишут. :D

Несмотря на XXI век, компьютер до сих пор включается в розетку и оперирует битами.
Действительно, чудовищно. Но вы не зацикливайтесь на этом, у вас-то все хорошо...

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

283. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от paxuser (ok), 10-Мрт-11, 01:06 
>> Теоретики такие теоретики: на дворе XXI век, а они до сих в порты по 4 байта пишут. :D
> Несмотря на XXI век, компьютер до сих пор включается в розетку и
> оперирует битами.
> Действительно, чудовищно. Но вы не зацикливайтесь на этом, у вас-то все хорошо...

Да, у меня (как впрочем и у вас) дрова давно гоняют данные с/на железо в основном через прямой доступ к памяти, а портовый ввод-вывод присутствует кое-где и кое-как лишь для инициализации и переключения режимов + всякая мишура, вроде сенсоров, последовательных и параллельных портов. Но вы не зацикливайтесь на фактах... ;)

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

265. "Взлом Linux через подключение USB-устройства стал реальность..."  +1 +/
Сообщение от коксюзер (?), 09-Мрт-11, 18:06 
>> Ада.
> Ну и где операционки на ней и желающие на оной их писать?

В гугле.

> Не хочу ничего сказать, но все навороты типизации и излишние умничания
> компилера при работе с железом будут только жесточайше МЕШАТЬСЯ, когда потребуется

МЕШАТЬСЯ!!!!!111 8-***

> например загнать ровно 4 байта да еще в строго определенном endianess'е

Так спидфаг или не спидфаг? А то спидфаги выравнивают структуры даже на CISC-архитектурах (не имею ничего против, кстати). ;)

> в регистры вон той железяки. И заметьте, железяка хочет только так
> и никак иначе. На сях это даже относительно реально делать без

И заметьте, в Аде, в отличие от Си, в котором нет языковых средств безопасного программирования, есть языковые средства небезопасного оптимизированного программирования. Они там используются по выбору программиста и могут быть запрещены на уровне компилятора в рамках отдельных package, чтобы, например, не утруждать себя аудитом кода на предмет наличия неоправданных небезопасных оптимизаций. Вот где контроль, а не в этих ваших сях. :Р

> огроменного геморроя. Как раз в силу простоты типов и отсутствия наворотов
> там где они только мешаются.

Все задачи в мире сводятся к тем, которые удобны программисту на Си как раз в силу простоты типов и отсутствия наворотов, ага. ;)

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

271. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от User294 (ok), 09-Мрт-11, 19:07 
> В гугле.

В гугле обычный линух на дешевых серверах :P. Да-да, гуглить для вас будет это решето на говняном х86... :)))

> МЕШАТЬСЯ!!!!!111 8-***

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

>> например загнать ровно 4 байта да еще в строго определенном endianess'е
> Так спидфаг или не спидфаг?

В идеале программа должна занимать как можно меньше места, работать как можно быстрее, потребляя как можно меньше памяти :))). Я не виноват что эти требования иногда противоречат друг другу :P.

> А то спидфаги выравнивают структуры даже на
> CISC-архитектурах (не имею ничего против, кстати). ;)

Как ни странно я тоже ничего против не имею. Если это не ведет к тому что вместо, допустим, мегабайта памяти жрется, скажем, 4. А то мало ли, линух работает и в железках где RAM всего 16 Мб бывает и никакого свопа, например. В общем все хорошо в меру.

> И заметьте, в Аде, в отличие от Си, в котором нет языковых
> средств безопасного программирования, есть языковые средства
> небезопасного оптимизированного программирования. Они там используются
> по выбору программиста и могут быть запрещены на уровне компилятора
> в рамках отдельных package, чтобы, например, не утруждать себя аудитом кода
> на предмет наличия неоправданных небезопасных оптимизаций. Вот где
> контроль, а не в этих ваших сях. :Р

Звучит неплохо. Только почему-то никто не пользуется адой, мир почему-то выбрал си. И дурные х86 с ископаемой системой команд и пачкой костылей. И почему-то я бы предпочел кернел где аудит все-таки сделали. А то если есть возможность "не утруждать себя аудитом кода", зная человеков я просто уверен что в итоге получится очередной энтерпрайзный крап где баг на баге и багом погоняет. Улет системы в панику а то и возможность сплойтом получить - явно не способствует тому чтобы плодить баги в коде, т.к. чревато :)

> Все задачи в мире сводятся к тем, которые удобны программисту на Си
> как раз в силу простоты типов и отсутствия наворотов, ага. ;)

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

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

273. "Взлом Linux через подключение USB-устройства стал реальность..."  +/
Сообщение от paxuser (ok), 09-Мрт-11, 19:37 
>> В гугле.
> В гугле обычный линух на дешевых серверах :P. Да-да, гуглить для вас
> будет это решето на говняном х86... :)))

Поставим ответ иначе: гугль знает.

>> МЕШАТЬСЯ!!!!!111 8-***
> Судя по тому что вменяемых операционок, готовых для использования до сих пор

Ну так сделайте. Линух вон сперва вылез из грязи в князи, а потом крупные игроки пришли. А вы хотите чтобы за вас кто-то что-то делал. А оно этим кому-то надо - делать то что надо ВАМ а не ИМ? :)

> почему-то нет, видимо вы правы с усилением эмоций. Ну или почему

Хомячку не видно, а они есть. ;)

> все как идиоты пишут оси на сях когда вокруг уже несколько
> десятков лет как есть более правильные языки?

Ну а почему все как идиоты сидят на винде когда вокруг уже несколько десятков лет есть BSD и линукс? Почему все как идиоты сидят на CISC-процессорах, когда вокруг давно есть RISC и VLIW? Почему все летают на дозвуковых самолётах и ездят на ЖД-поездах? Потому что привыкли, дёшево и сердито. Good enough.

> В идеале программа должна занимать как можно меньше места, работать как можно
> быстрее, потребляя как можно меньше памяти :))). Я не виноват что
> эти требования иногда противоречат друг другу :P.

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

> Как ни странно я тоже ничего против не имею. Если это не
> ведет к тому что вместо, допустим, мегабайта памяти жрется, скажем, 4.

Это главное, да.

> А то мало ли, линух работает и в железках где RAM
> всего 16 Мб бывает и никакого свопа, например. В общем все
> хорошо в меру.

Ага, всё хорошо в меру всегда и везде. ;)

> Звучит неплохо. Только почему-то никто не пользуется адой, мир почему-то выбрал си.

Вот ответ на вопрос: почему-то! :) И всё встало на свои места! :)

> И дурные х86 с ископаемой системой команд и пачкой костылей. И

Действительно, глупость. Альтернатив-то полно в каждом магазине, и совместимость полная.

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

Можно не проводить аудит на предмет конкретных недостатков => аудит не будут проводить вообще. Ага. Btw, его и сейчас никто не проводит, кроме единичных энтузиастов, пентестеров и криминала. ;)

> просто уверен что в итоге получится очередной энтерпрайзный крап где баг
> на баге и багом погоняет. Улет системы в панику а то

Где-то я это уже [s]слышал[/s] видел. ;)

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

Ага. Железная надёжность и высокий уровень ответственности за безопасность. Именно это мы сейчас и видим. Алсо, свобода - это рабство. ;)

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

Согласен, разница просто огромна: на сях я в порт или маппинг пишу/читаю, а на Аде и оберонах я в порти или маппинг пишу/читаю. Вы правы, ту мне возразить нечего.

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

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

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




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

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