Сказка о циничном ученом, простреленных ногах разработчиков
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 17:09
Оценка: 271 (26) +4 -7 :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))) :))
Навеяно рассуждениями здесь (в ФП) о прочно засевших в песочницу .NET'a, и преимуществами нативного кода делфи перед управляемым шарповым в КСВ...

Хотите, расскажу вам на ночь сказку?

Жил да был в конце второй половины далекого двадцатого века ученый. Великий ученый, отменный математик и прирожденный физик. Но циничен он был — до жути. Все делал только для науки, и не перед чем ни останавливался. И даже ядерную бомбу, младшими сестрами которой впоследствии были уничтожены миллионы людей, он помогал строить ради науки, не иначе. А в перерывах между строительством ядерной бомбы, он подумывал о создании принципиально новой архитектуры вычислительных систем, наука о которых только-только зарождалась в буйных головах тогдашних гиков. Помыслы его были несомненно чистыми: сделать архитектуру простой, надежной и дешевой. И таки-создал. Да не абы какую, а самую, что ни на есть простую и дешевую, в основе которой лежал принципе хранения данных и кода в единой, совместно разделямой ими памяти. Но мало кто знал, что скрывается за созданием этой архитектуры. А скрывается за ним еще одно его злодеяние, которое совершил Джон по отношению ко всем, ныне существующим разработчикам, пишущим код для систем, построенных по его принципу. Ведь он, ни много ни мало, авансом прострелил обе ноги каждому из них. Бытует мнение, что разработчик впервые простреливает себе ногу, когда допускает свою первую грубую и, в то же время, трудноуловимую ошибку. Как бы не так. Лишь только прийдя в мир систем, построенных по архитектуре Джона, разработчик сразу же получает две, отнюдь не серебряных пули в свои нижние конечности...

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

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

А тут еще производители процессоров подтянулись со своими красивыми, никелированным костылями, призывающими помечать особым образом страницы памяти с данными, дабы процессоры могли понять, что ничего выполнять там не стоит. Но и это как-то не прижилось, да и на проверку — такие костыли оказались совсем кривыми и неудобными

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

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

И вот гикам приходит в голову идея, что промежуточный код ведь можно скомпилировать в самый что ни на есть нативный, процессорный перед первым его выполнением, если иметь гарантии того, что никоим образом код в виде данных в них не попадет, а если и попадет, то выполнится не сможет ну никак. И гики создают матрицу, совершенно отвязанную от фон-Неймановской архитектуры, верифицирующую каждую строчку выполняемого в ней кода, и не допускающую в принципе (by design) конфузов, свойственных предыдущим платформам. А благодаря компиляции промежуточного кода в нативный, скорость программы выполняющейся в матрице, ниже уже совсем не на порядки, а ряде случаев: вообще — быстрее.

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

И что? Думаете праздник там, всеобщее ликование, фейрверки и воздушные шарики? Щас. Нарисовались на горизонтах матрицы всякие Нео с Морфеусами (еле дошли, тяжело ведь с простреленными ногами, да на костылях) и давай бухтеть, что это все иллюзия, обман, что нет бога кроме фон-Неймана и Страуструп пророк его, что так нельзя, а если и можно, то это не даст никаких выгод, что их костыли позволяют ходить на простреленных ногах быстрее, чем целые ноги жителей матрицы. В общем, стали всеобщее ликование всячески портить и праздник своим присуствием отравлять. Для них даже отдельную матрицу сделали, тоже управляемую, чтобы они могли со своими драгоценными костылями туда переселиться и постепенно выкинуть их нафиг. Ан нет, не получилось. Потому как оказалось, что они к костылям за долгое время ходьбы по-просту приросли...

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

И на этом сказка заканчивается и начинается бухтение Нео и Морфеусов... *приглашающий жест рукой*

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 17:25
Оценка: 1 (1) -2 :)
А если серьезно и вкратце, то я не могу понять разработчиков, продолжающих добровольно использовать насквозь дырявые платформы и языки, уповая на собственную внимательность и иллюзорную способность не совершать ошибку.

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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: vayerx  
Дата: 29.10.08 17:43
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>И что? Думаете праздник там, всеобщее ликование, фейрверки и воздушные шарики? Щас. Нарисовались на горизонтах матрицы всякие Нео с Морфеусами (еле дошли, тяжело ведь с простреленными ногами, да на костылях) и давай бухтеть, что это все иллюзия, обман, что нет бога кроме фон-Неймана и Страуструп пророк его, что так нельзя, а если и можно, то это не даст никаких выгод, что их костыли позволяют ходить на простреленных ногах быстрее, чем целые ноги жителей матрицы. В общем, стали всеобщее ликование всячески портить и праздник своим присуствием отравлять. Для них даже отдельную матрицу сделали, тоже управляемую, чтобы они могли со своими драгоценными костылями туда переселиться и постепенно выкинуть их нафиг. Ан нет, не получилось. Потому как оказалось, что они к костылям за долгое время ходьбы по-просту приросли... :maniac:


KV>Так и ковыляют они и по сей день, искалеченные, хмурые, с вросшими костылями под мышками, и бухтят, бухтят, бухтят... И поняли люди, что не излечить их, и что нужно просто дождаться их есстественного вымирания, и терпеть после этого их не легион, но маленькую горстку, которая будет вынуждена ковылять там, где матрицу при всем желании не развернуть. И продолжили люди свой праздник, и я на нем был, мед да пиво пил... ;)


KV>И на этом сказка заканчивается и начинается бухтение Нео и Морфеусов... *приглашающий жест рукой*


вы забываете, на чем написанна ваша матрица. много ядер видели на управляемых языках? пробовали управлять dma java, c#, etc? безопасность кода не нарушалась? продолжать?
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: FR  
Дата: 29.10.08 17:46
Оценка: :)
Здравствуйте, kochetkov.vladimir, Вы писали:

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


Я правильно понимаю что ты пишешь код исключительно на чем-то подобном этому http://en.wikipedia.org/wiki/Total_functional_programming ?

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


Так делаю пометку "Защищенный код" как планировал углубленно не изучать, также опасно для психики как функциональщина, лучше изучить нормально Хаскель, так как меня уже записали в злобные функциональщики
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: minorlogic Украина  
Дата: 29.10.08 17:47
Оценка: 2 (2) +1 :)
Вернись тыв на сырую землю неужели ты думаешь что если бы была возможность хоть какнить ускорить выполнение декодирования h264 , его бы не переписали на управляемой среде ....


дет сад прямо.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: minorlogic Украина  
Дата: 29.10.08 17:47
Оценка:
Ты и пвравду маньяк4
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: minorlogic Украина  
Дата: 29.10.08 17:49
Оценка: +3
Еще открою вам правду , большинству разработчиков начхать , смогут ли в их ко встроить експлоин. И не потому что они такие ламеры, а потому что ИМ ЭТО НЕ НАДО,
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: SergH Россия  
Дата: 29.10.08 18:13
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Навеяно рассуждениями здесь (в ФП) о прочно засевших в песочницу .NET'a, и преимуществами нативного кода делфи перед управляемым шарповым в КСВ...


Поиск по "гарвардская архитектура" и "принстонская архитектура". Это было ещё в микроконтроллерах.
Делай что должно, и будь что будет
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 29.10.08 18:21
Оценка: +1 :))
Здравствуйте, kochetkov.vladimir, Вы писали:

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


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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re: Сказка о циничном ученом, простреленных ногах разработчи
От: iZEN СССР  
Дата: 29.10.08 18:52
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>И на этом сказка заканчивается и начинается бухтение Нео и Морфеусов... *приглашающий жест рукой*


На Гарвардской архитектуре виртуальные машины невозможны?
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка: -1
Здравствуйте, FR, Вы писали:

FR>Здравствуйте, kochetkov.vladimir, Вы писали:


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


FR>Я правильно понимаю что ты пишешь код исключительно на чем-то подобном этому http://en.wikipedia.org/wiki/Total_functional_programming ?


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

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


FR>Так делаю пометку "Защищенный код" как планировал углубленно не изучать, также опасно для психики как функциональщина, лучше изучить нормально Хаскель, так как меня уже записали в злобные функциональщики


Ну и зря "Защищенный код" вполне полезно почитать даже самым злобным функциональщикам, это совершенно не взаимоисключающие вещи.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка: -2
Здравствуйте, vayerx, Вы писали:

KV>>И на этом сказка заканчивается и начинается бухтение Нео и Морфеусов... *приглашающий жест рукой*


V>вы забываете, на чем написанна ваша матрица. много ядер видели на управляемых языках? пробовали управлять dma java, c#, etc? безопасность кода не нарушалась? продолжать?


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

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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка: -1
Здравствуйте, minorlogic, Вы писали:

M>Вернись тыв на сырую землю неужели ты думаешь что если бы была возможность хоть какнить ускорить выполнение декодирования h264 , его бы не переписали на управляемой среде


и терпеть после этого их не легион, но маленькую горстку, которая будет вынуждена ковылять там, где матрицу при всем желании не развернуть


Как ты думаешь, о чем это я?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Еще открою вам правду , большинству разработчиков начхать , смогут ли в их ко встроить експлоин. И не потому что они такие ламеры, а потому что ИМ ЭТО НЕ НАДО,


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

Ок, зайдем издалека: что именно НАДО разработчикам-не-ламерам? Чтобы написанный ими код работал в соответствии с поставленной задачей?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка:
Здравствуйте, SergH, Вы писали:

SH>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>Навеяно рассуждениями здесь (в ФП) о прочно засевших в песочницу .NET'a, и преимуществами нативного кода делфи перед управляемым шарповым в КСВ...


SH>Поиск по "гарвардская архитектура" и "принстонская архитектура". Это было ещё в микроконтроллерах.


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:28
Оценка:
Здравствуйте, iZEN, Вы писали:

ZEN>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>И на этом сказка заканчивается и начинается бухтение Нео и Морфеусов... *приглашающий жест рукой*


ZEN>На Гарвардской архитектуре виртуальные машины невозможны?


Понятно, с аллегориями в тексте я явно переборщил

На Гарвардской архитектуре невозможны атаки, характерные для фон-Неймановской.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 20:39
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Ты и пвравду маньяк4


Стесняюсь спросить: это почему?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: vayerx  
Дата: 29.10.08 22:35
Оценка: +2
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, vayerx, Вы писали:

V>>вы забываете, на чем написанна ваша матрица. много ядер видели на управляемых языках? пробовали управлять dma java, c#, etc? безопасность кода не нарушалась? продолжать?

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

KV>Зона ответственности за безопасность нашей матрицы лежит на ее разработчиках так же, как она лежит на разработчиках ОС в случае с неуправляемым кодом.

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

что касается уязвимостей, то для каждой задачи должно быть четкое понимание того, что делать желательно, необходимо, не нужно. защита от описанных вами уязвимостей, во-первых, нужна/необходима далеко не везде, а, во-вторых, сами описанные уязвимости являются далеко не самыми опасными из числа возможных. снятие головной боли в их отношении, безусловно, приятно, но не является панацеей от всех возможных ошибок
Re[4]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 29.10.08 23:05
Оценка:
Здравствуйте, vayerx, Вы писали:

V>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>Здравствуйте, vayerx, Вы писали:

V>>>вы забываете, на чем написанна ваша матрица. много ядер видели на управляемых языках? пробовали управлять dma java, c#, etc? безопасность кода не нарушалась? продолжать?

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

KV>>Зона ответственности за безопасность нашей матрицы лежит на ее разработчиках так же, как она лежит на разработчиках ОС в случае с неуправляемым кодом.

V>это потому, что мы, так сказать, по разные стороны баррикад. вы существуете исключительно за счет работы "хромающих на обе ноги Нео и Морфиусов".


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

V>для подавляющей части прикладного софта управляемые языки сейчас вполне подходят. даже для каких-то задач встраимового ПО.

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

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

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


Можешь провести четкую границу, где она нужна, а где нет? Я — не могу

V>а, во-вторых, сами описанные уязвимости являются далеко не самыми опасными из числа возможных.


Перечислишь уязвимости, являющиеся опасней выполнения произвольного кода в контексте атакуемого приложения?

V>снятие головной боли в их отношении, безусловно, приятно, но не является панацеей от всех возможных ошибок


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[5]: Сказка о циничном ученом, простреленных ногах разрабо
От: vayerx  
Дата: 30.10.08 00:24
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, vayerx, Вы писали:


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


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


не заметил. имхо, подобные вещи стоит отдельно выделять в предисловии или эпилоге. ну да ладно, поверю на слово.

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


KV>Можешь провести четкую границу, где она нужна, а где нет? Я — не могу


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


V>>а, во-вторых, сами описанные уязвимости являются далеко не самыми опасными из числа возможных.


KV>Перечислишь уязвимости, являющиеся опасней выполнения произвольного кода в контексте атакуемого приложения?


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


V>>снятие головной боли в их отношении, безусловно, приятно, но не является панацеей от всех возможных ошибок


KV>А я нигде и не утверждал, что это является панацеей. Я лишь говорил о том, что использование управляемых сред позволяет снять головную боль, обусловленную "особенностями" одной конкретной архитектуры вычислительных систем.


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