C#
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
2Marmot
Да, твоя ссылка выглядит более, чем убедительно.
http://russian.joelonsoftware.com/Artic ... asics.html
Ред.
(Про всеобщую нелюбимость Джоэля некотрорыми крутыми на форуме я прочитал только сейчас, после того, как пропостил. Поэтому прошу меня не пинать.)
Есть немало коммерческих приложений (оооочень известных в мире), разработанных в России, где программисты, не то что напрямую работают с памятью, а вообще переписывают "стандартные" реализации malloc, realloc. Они мне рассказывали про это.
2Woozy
2Lepsik
Да, твоя ссылка выглядит более, чем убедительно.
Есть неплохая статья видного человека от программирования в части выделения памяти. Про сборку мусора там тоже немного есть.В типичных applications того, что делает хороший сборщик мусора вполне достаточно.
http://russian.joelonsoftware.com/Artic ... asics.html
Ред.
(Про всеобщую нелюбимость Джоэля некотрорыми крутыми на форуме я прочитал только сейчас, после того, как пропостил. Поэтому прошу меня не пинать.)
Есть немало коммерческих приложений (оооочень известных в мире), разработанных в России, где программисты, не то что напрямую работают с памятью, а вообще переписывают "стандартные" реализации malloc, realloc. Они мне рассказывали про это.
И всё. Это значит, что экзепшн не надо обрабатывать?В Java если ты выскочил за пределы массива просто выскочит exception и всё
Ты сам понимаешь, что везде и всюду не требуется. Ну и, кроме проверок, и возвращения, например, HRESULT-кода ошибки есть ещё try/catch.Понятно, что можно поставить проверок везде и всюду и в pure C code.
2Woozy
Я понимаю, о чём ты здесь говоришь. Но вот пришло просто в голову случаем - ты никогда не задумывался о несколько другом аспекте понятия безопасности, учитывая, что "твой код", вернее псевдокод, будут интерпретировать, а потом уже выполнять?Безопасность кода и решение проблем с выделением памяти тоже не представляются очень важными приоритетами, есть техники и библиотеки в C++, которые их разрешают.
2Lepsik
Пару дней назад получили рейд. Там всё "управление" написано на Java.будь реалистом. зайди в магазин и найди на полке хоть одно приложение, написаноое на Java, VB и на чем-то еще. Все на C++
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
А это в зависимости от квалификации программистаvg писал(а):И всё. Это значит, что экзепшн не надо обрабатывать?В Java если ты выскочил за пределы массива просто выскочит exception и всё
Зато не случится вот это: http://www.cert.org/advisories/CA-2003-04.html
Или вот это : http://www.openssh.com/txt/buffer.adv , из-за чего я на этой неделе был вынужден остановить сервак, а потом ещё заниматься его патчением.
См. предыидущий пример про Slammer, управление к твоему коду может никогда и не вернуться...vg писал(а):Ты сам понимаешь, что везде и всюду не требуется. Ну и, кроме проверок, и возвращения, например, HRESULT-кода ошибки есть ещё try/catch.Понятно, что можно поставить проверок везде и всюду и в pure C code.
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
хе хе .. я прямо весь засмущался. если папа или vims чего организуют, можно и in person потрепаться, хотя мне на такого рода разговоры обычно времени жалко. лучше просто так за жизнь побазаритьMarmot писал(а):Надо бы нам с тобой в реале встретится и поговорить по-мужски.drain bamage писал(а): ну и ... ? элементарный thin platform layer под C/C++ позволяет писать код полностью переносимый в сорцах куда угодно. "играться" на e10000 не требуется, все что нужно - нарисовать под него platform glue. а таскать за собой vm только для того, чтобы "запускать без перекомпиляции" - это overkill. так что woozy got a point
Люблю спорить с умными и убеждёнными людьми.
В любом случае будущее нас рассудит...
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
с python досадная неувязочка вышла .. ай яй яйvg писал(а):Мне тут подсказали "нашинские".
Почему у Microsoft ничего не выйдет с .Net:
http://www.slackware.ru/article.ghtml?ID=544
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i meanMarmot писал(а):А это в зависимости от квалификации программистаvg писал(а):И всё. Это значит, что экзепшн не надо обрабатывать?В Java если ты выскочил за пределы массива просто выскочит exception и всё
Зато не случится вот это: http://www.cert.org/advisories/CA-2003-04.html
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
2Marmot
1) Проблема срыва стека известна давно. Что нового в той статье?
Везде есть ошибки программистов. Ну облажался мелкософт немножко, Ну и что, у других этого не бывает?
2) Мы разные, поскольку, разный уклад. Разные экономики. Если для Канады держать открытыми юдипишные порты, которые слушает SQL Server норма (так построен электронный бизнес), то у нас таким админам их кривые руки просто выдёргивают. Достаточно 80-го порта.
1) Проблема срыва стека известна давно. Что нового в той статье?
Везде есть ошибки программистов. Ну облажался мелкософт немножко, Ну и что, у других этого не бывает?
2) Мы разные, поскольку, разный уклад. Разные экономики. Если для Канады держать открытыми юдипишные порты, которые слушает SQL Server норма (так построен электронный бизнес), то у нас таким админам их кривые руки просто выдёргивают. Достаточно 80-го порта.
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Ковыряли, нашли, немного, может и ещё найдут, НО, объём кода VM несравним с объёмом кода всех программ которые её используют.drain bamage писал(а): это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i mean
И пишут VM не выпускники 3-х месячных курсов а настоящие профессионалы, и QA там на порядок строже, etc.
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Так это я к тому, что на Java наприммер это просто невозможно, native часть кода сокетов(очень небольшая) протестированна вдоль и поперёк.vg писал(а): 1) Проблема срыва стека известна давно. Что нового в той статье?
Везде есть ошибки программистов. Ну облажался мелкософт немножко, Ну и что, у других этого не бывает?
А ошибка в Java коде приведёт всё к тому же exception-ну, но уж никак не к code injection ...
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
ну ты сам понимаешь что на buffer overflows свет клином не сошелся. есть ведь еще и DoS (которые, btw, при наличии на бэкэнде консервативных gc, не настолько уж и сложно организовать), privilege escalation, session hijacking, etc etc - то есть vulnerabilities на основе в первую очередь кривого дизайна. а будет это написано на C, java, scheme или erlang - это уже дело десятое. так что то, что java за так обеспечивает кое-какую защиту от buf. overflows - это при прочих равных важно для студентов 1-2 курса .. ну и для кулибиных, с соответсвующими пробелами в образовании.Marmot писал(а):Ковыряли, нашли, немного, может и ещё найдут, НО, объём кода VM несравним с объёмом кода всех программ которые её используют.drain bamage писал(а): это лишь говорит о том, что ни у кого пока не дошли руки поковырять бинарники самой VM ... if you know what i mean
И пишут VM не выпускники 3-х месячных курсов а настоящие профессионалы, и QA там на порядок строже, etc.
защита от code injection, кстати, может быть организована как на уровне OS (см openbsd stack protection), так и на уровне компилятора (см gcc -stack-protection патч). вполне очевидно что java здесь опять-таки ни при чем
Последний раз редактировалось ajkj3em 20 сен 2003, 19:07, всего редактировалось 1 раз.
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Не понял, причём тут Java, если ты имеешь ввиду MS JVM (официально не сертифицрованную, BTW), большинство проблем там в интегрировании с COMvg писал(а):Очень досадно постоянно патчить W2k, и в части Java машины тоже.Ковыряли, нашли, немного, может и ещё найдут
Смех просто Что ни патч, то критикл, как признаётся MS (в части секурити).
Просто критичнее критичного всё это.
-
- Маньяк
- Сообщения: 2803
- Зарегистрирован: 29 май 2003, 22:29
- Откуда: Магадан - Миссиссага
- Marmot
- Графоман
- Сообщения: 38431
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация: