реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Самая дорогая однобайтовая ошибка., Просто интересная статья))
svss
сообщение Aug 19 2011, 20:00
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Цитата(sigmaN @ Aug 20 2011, 02:42) *
Ухх!
Не ожидал, что статья вызовет такую дискуссию.
Очень рад, что всем понравилось ))

холивар жив!
К сожалению ни аффтар статьи, ни половина дискутёров не разобрались
с сутью безопасности кода.
Нуль на конце плох не тем, что сервис "упадёт", а тем, что злоумышленник
может незаметно внедрить свой малварь на место того нуля.
Уважаемым имбеддерам то не грозит, потому оне не ведают, а между тем
у всеми любимого луниха есть проблема, которую маздай умеет решать
(правда болшой кровею). Время рассудит.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 19 2011, 20:07
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (svss @ Aug 19 2011, 23:00) *
ни половина дискутёров не разобрались
с сутью безопасности кода.

Я Вас умоляю, не надо нести в массы "откровения" почерпнутые в глянцевых журналах для малолетних "хакеров".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
svss
сообщение Aug 19 2011, 20:19
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Цитата(zltigo @ Aug 20 2011, 03:07) *
Я Вас умоляю, не надо нести в массы "откровения" почерпнутые в глянцевых журналах для малолетних "хакеров".

Кому что нравится, тот о том и. Я читаю MSDN.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Aug 19 2011, 20:23
Сообщение #19


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Почему это
Цитата
Уважаемым имбеддерам то не грозит, потому оне не ведают
???
Не, ну канеш если это вброс такой - тогда понятно. Вопросов нет.

Вы уж простите, но кажется вам подсунули какой-то неправильный MSDN. Там просто таки целый список нулл терминэйтэд функций найти можно...
В общем слабоват вброс... Никуда не гдиццо ))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Aug 20 2011, 01:03
Сообщение #20


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (svss @ Aug 20 2011, 05:00) *
Уважаемым имбеддерам то не грозит, потому оне не ведают,.

Еще как грозит rolleyes.gif Микроконтроллеры могут код из ОЗУ выполнять laughing.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
svss
сообщение Aug 20 2011, 05:08
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Цитата(sigmaN @ Aug 20 2011, 03:23) *
нулл терминэйтэд функций найти можно... В общем слабоват вброс...

(Да, от обиды, говорят мыльные пузыри лопаются..) Это я не Вам, так - к слову.
Переведите, пожалуйста, если можете, на человеческий язык "нулл терминэйтед функций" - и ладно.

Я, собственно, зашёл сюда поглядеть, не придумал ли SSerge причину, отчего в языке может не быть строк.
Молчит, стало быть, тоже обижается. А ведь есть ответ - слово из трёх букв.


Так вот, WDM прямо требует не использовать текстовые строки.
(Кто не знает, исходники WDM/WDF драйверов - процентов на 70 - C/C++)
Вместо языковых строковых констант используется макро UNICODE_STRING


Что до имбеддеров (haker_fox меня понял, спасибо), то я им был, я их есть и, даст Бог,
какое-то время буду. По совместительству.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 20 2011, 10:15
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (svss @ Aug 20 2011, 07:08) *
Вместо языковых строковых констант используется макро UNICODE_STRING

Как особо "продвинутому" читателю MSDN, Вам будет очень полезным знать, что "макро UNICODE_STRING" это не макро, а структура.
Причем эта структура не содержит в себе ни "строковой константы", ни какой-либо строки вообще.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SSerge
сообщение Aug 20 2011, 11:07
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(svss @ Aug 20 2011, 12:08) *
Я, собственно, зашёл сюда поглядеть, не придумал ли SSerge причину, отчего в языке может не быть строк.
Молчит, стало быть, тоже обижается. А ведь есть ответ - слово из трёх букв.

Да разве-ж то строки? sm.gif
Так, инициализаторы массивов, да и те какие-то недоделанные.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Aug 20 2011, 11:19
Сообщение #24


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Цитата
Переведите, пожалуйста, если можете, на человеческий язык "нулл терминэйтед функций" - и ладно.
ну в смысле принимающих строку с завершающим нулем как параметр ))


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
777777
сообщение Aug 21 2011, 11:57
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(svss @ Aug 20 2011, 00:00) *
К сожалению ни аффтар статьи, ни половина дискутёров не разобрались
с сутью безопасности кода.

Вы также входите в число этих дискутеров.

Цитата(svss @ Aug 20 2011, 00:00) *
Нуль на конце плох не тем, что сервис "упадёт", а тем, что злоумышленник
может незаметно внедрить свой малварь на место того нуля.

Это называется "слышал звон, да не знаю где он". А если строка будет начинаться с длины, то злоумышленник не может незаметно ее заменить?

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

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

Сообщение отредактировал 777777 - Aug 22 2011, 06:06
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Aug 22 2011, 04:03
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



Цитата(Rst7 @ Aug 19 2011, 16:07) *
Автор статьи вообще мало что понимает в этих самых компьютерах.

Поделитесь копирайтом на фразу? sm.gif Автор широко известен в узких кругах своими безапелляционными заявлениями. А как программист, он вроде и ничего.

Вот выдержка с его домашней страницы.
Цитата
Partial highlights:

Wrote src/release/Makefile
Release engineer for FreeBSD 2.X series
Rewrote the VFS namecache
Cleaned up vnode object model
Usable sysctls
MD5 based password scrambler
Phkmalloc
Jails
Defined sbufs for safe string handling
DEVFS and dynamic device support
GEOM, modular disk transformations.
GBDE , disk encryption you can actually use.
Numerous more or less weird device drivers
Tons of other stuff I've forgotten now


Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 22 2011, 06:59
Сообщение #27


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
А как программист, он вроде и ничего.


Ага-ага. С такими-то заявками.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
halfdoom
сообщение Aug 22 2011, 08:52
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072



Ну, дядя в возрасте, может перегрелся.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 22 2011, 09:02
Сообщение #29


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Ну, дядя в возрасте, может перегрелся.


Отож. Лучше уж что-то более годное почитать. Вот, например, рекомендую - http://russian.joelonsoftware.com/index.html


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
svss
сообщение Aug 25 2011, 13:55
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 19-12-08
Из: Новосибирск
Пользователь №: 42 594



Цитата(zltigo @ Aug 20 2011, 17:15) *
"макро UNICODE_STRING" это не макро

DECLARE_CONST_UNICODE_STRING
DECLARE_UNICODE_STRING_SIZE

Я знаю, что кратко - не всегда ясно. Прошу прощения.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016