Re[12]: Сказка о циничном ученом, простреленных ногах разраб
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 09:44
Оценка:
Здравствуйте, minorlogic, Вы писали:

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


KV>>Если честно, то после этого сообщения я вообще потерял нить твоих рассуждений о добросовестности использования ПО


M>Я говорю , что при проектировании калькулятора не расматривалась задача проверять чек сумму бинаря или другим способом защищать целостность программы.


На рассматривалась, потому что приведенный тобой пример — уязвимость деплоймента, а не девелопмента

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[5]: security и safety - разные вещи!
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.10.08 09:49
Оценка: +3
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Это действительно интересно многим здесь?


Не нужно ориентироваться на многих, просто делайте, что считаете нужным.

KV>Мне не трудно написать на эту тему пару статей, но мне показалось, что это тут нафиг никому "не упало".


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

Так что ждем-с.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.10.08 09:58
Оценка: -1
Здравствуйте, eao197, Вы писали:

E>Рекламируемый вами переход на управляемые платформы (при этом вы не приводите ни одного примера успешной и распространенной полностью управляемой платформы: и Java, и .NET работают над нативными платформами и, значит, не могут быть надежнее того базиса, на котором они построены) вряд ли можно считать панацей. Как и раньше, человек остается самым слабым звеном.

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

ЗЫ. Ваши рассуждения похожи на рассуждения о том что самолет не может летать потому что он тяжелее воздуха.
Re[4]: Сказка о циничном ученом, простреленных ногах разрабо
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 31.10.08 10:03
Оценка:
Здравствуйте, gandjustas, Вы писали:

E>>Рекламируемый вами переход на управляемые платформы (при этом вы не приводите ни одного примера успешной и распространенной полностью управляемой платформы: и Java, и .NET работают над нативными платформами и, значит, не могут быть надежнее того базиса, на котором они построены) вряд ли можно считать панацей. Как и раньше, человек остается самым слабым звеном.

G>Слово верификация вам ни о чем не говорит? На .NET код перед запуском проверяется. Для того чтобы выполнить произволный код в программе на .NET нужна уязвимость в CLR, которых гораздо меньше, чем уязвимостей в программах на неуправляемых языках, и исправляются такие ошибки быстрее.

Код сборки до запуска лежит на диске? Может ли он может быть изменен на диске и последующим исправлением всех контрольных сумм и пр.?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[13]: Сказка о циничном ученом, простреленных ногах разраб
От: minorlogic Украина  
Дата: 31.10.08 10:06
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>На рассматривалась, потому что приведенный тобой пример — уязвимость деплоймента, а не девелопмента


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

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


И у Фон Неймана, не стояло задачи изолировать код от данных. Не потому что злодей , а потому что не стояло такой задачи.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: Сказка о циничном ученом, простреленных ногах разрабо
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.10.08 10:11
Оценка:
Здравствуйте, eao197, Вы писали:

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


E>>>Рекламируемый вами переход на управляемые платформы (при этом вы не приводите ни одного примера успешной и распространенной полностью управляемой платформы: и Java, и .NET работают над нативными платформами и, значит, не могут быть надежнее того базиса, на котором они построены) вряд ли можно считать панацей. Как и раньше, человек остается самым слабым звеном.

G>>Слово верификация вам ни о чем не говорит? На .NET код перед запуском проверяется. Для того чтобы выполнить произволный код в программе на .NET нужна уязвимость в CLR, которых гораздо меньше, чем уязвимостей в программах на неуправляемых языках, и исправляются такие ошибки быстрее.

E>Код сборки до запуска лежит на диске? Может ли он может быть изменен на диске и последующим исправлением всех контрольных сумм и пр.?

Если имеет strong name, то нет. Разве что у злоумышленника будет доступ к ключу, которым подписали исходную сборку.
Re[14]: Сказка о циничном ученом, простреленных ногах разраб
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 31.10.08 10:23
Оценка: 8 (1) +1 :))) :))
Здравствуйте, minorlogic, Вы писали:

M>Во взрослом девелопменте все банально. Для выполнения задачи выбирается подходящее средство, тут не место религиозным спорам.

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

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


KV>>Это-то так, но суть как раз в том, что разрабатывая под неуправляемую платформу, разработчикам приходится думать И об инъекциях бинарного кода, И о более "прикладных" атаках. Честно говоря, я это уже устал повторять.


V>аналогично устал повторять, что защита от атак через code injection — пренебрежимая фигня в сопопставлении с другими проблемами. в "общем" случае, разумеется.


о да, фигня. Компроментация системы (так на секлабе классифицируются уязвимости инъекции бинарного кода), это та еще фигня, самая что ни на есть пренебрежимая.

http://www.securitylab.ru/analytics/351464.php
http://www.securitylab.ru/analytics/358113.php

http://www.securitylab.ru/analytics/360135.php

V>>>чтобы оставить на "сервере закладку" именно code injection не обязателен.

KV>>Но если был code injection, то можно оставить на сервере закладку, в отличии от DoS атаки.

V>а что, кроме DoS'а — никак?


Т.е. последствия DoS в сравнении с последствиями инъекции кода мы уже не сравниваем?

KV>>>>хз, к чему этот вопрос?

V>>>вопрос к портируемости.
KV>>Это не ко мне.

V>как это не к тебе? ты же ратуешь за эту серебрянную пулю.


За какую именно, и где конкретно?

KV>>>>После этого, мы идем в "Коллеги улыбнитесь" и еще на десяток подобных ресурсов и постим там подготовленную нами строку.

V>>>а зачем так сложно-то? рассылаем коллегам ссылочку "ой! какая классная программка: url"
KV>>От коллег потом можно и в дыню получить, если что

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


В любом случае необходимо обладать определенным авторитетом, чтобы люди (технически-грамотные) взяли и просто так сделали что-нибудь подобное.

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

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


KV>>Но ОК, одна уязвимость засчитана Но она была закрыта 10.07.2007 и теперь ее, увы — нет.

CC>Но одного этого факта достаточно чтобы перестать считать, что managed среда не подвержена атакам, свойственным unmanaged среде.

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


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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: Сказка о циничном ученом, простреленных ногах разрабо
От: prVovik Россия  
Дата: 31.10.08 10:30
Оценка: +1 -3
Здравствуйте, Pavel Dvorkin, Вы писали:

Может ещё по шнур питания из розетки выдернем и продемонстрируем тем самым уязвимость .NET приложений?
лэт ми спик фром май харт
Re[6]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 31.10.08 10:37
Оценка:
Здравствуйте, gandjustas, Вы писали:

E>>Код сборки до запуска лежит на диске? Может ли он может быть изменен на диске и последующим исправлением всех контрольных сумм и пр.?

G>Если имеет strong name, то нет. Разве что у злоумышленника будет доступ к ключу, которым подписали исходную сборку.

Если бы... http://www.codeproject.com/KB/security/StrongNameRemove20.aspx

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

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


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


V>>аналогично устал повторять, что защита от атак через code injection — пренебрежимая фигня в сопопставлении с другими проблемами. в "общем" случае, разумеется.

KV>о да, фигня. Компроментация системы (так на секлабе классифицируются уязвимости инъекции бинарного кода), это та еще фигня, самая что ни на есть пренебрежимая.

по твоему вся задача разработки состоит из обеспечения защиты "от всего на свете".


KV>Т.е. последствия DoS в сравнении с последствиями инъекции кода мы уже не сравниваем?


при чем тут это? ты же про закладки начал говорить. поставить закладку можно не только через code injection.


V>>как это не к тебе? ты же ратуешь за эту серебрянную пулю.

KV>За какую именно, и где конкретно?

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


V>>зачем же отправлять своим непосредственным коллегам? ;) я, вообще, имел в виду коллег из "коллеги улыбнитесь"

KV>В любом случае необходимо обладать определенным авторитетом, чтобы люди (технически-грамотные) взяли и просто так сделали что-нибудь подобное.

а чтобы технически-грамотные люди вставили сомнительную строчку в калькулятор — не надо? ты где-нибудь видель пасхальное яйцо, для активации которого нужно было бы вводить 100+ сомнительных символов?
кроме того, не странно ли будет, если вдруг калькулятор в сеть полезет? в общем, получается, что твой пример с калькулятором получился не очень обоснованным. еще какие-то аргументы?
Re[10]: Сказка о циничном ученом, простреленных ногах разраб
От: prVovik Россия  
Дата: 31.10.08 10:49
Оценка:
Здравствуйте, vayerx, Вы писали:

V>аналогично устал повторять, что защита от атак через code injection — пренебрежимая фигня в сопопставлении с другими проблемами. в "общем" случае, разумеется.


Чем обоснуешь?

Кстати, вот интересные факты на тему, что "не все приложения нуждаются в защите от инъекций":

...Since then, at least two major internet worms have exploited buffer overflows to compromise a large number of systems. In 2001, the Code Red worm exploited a buffer overflow in Microsoft's Internet Information Services (IIS) 5.0 and in 2003 the SQL Slammer worm compromised machines running Microsoft SQL Server 2000.

In 2003, buffer overflows present in licensed Xbox games have been exploited to allow unlicensed software, including homebrew games, to run on the console without the need for hardware modifications, known as modchips.

The PS2 Independence Exploit also used a buffer overflow to achieve the same for the PlayStation 2. The Twilight Hack accomplished the same with the Wii, using a buffer overflow in The Legend of Zelda: Twilight Princess.

лэт ми спик фром май харт
Re[4]: security и safety - разные вещи!
От: Pavel Dvorkin Россия  
Дата: 31.10.08 10:57
Оценка: +1
Здравствуйте, gear nuke, Вы писали:

GN>Суть вот в чем. Выполнение данных возможно из-за "кривости" архитектуры. Это необходимое условие, поэтому на первый взгляд вполне логично: исправляя архитектуру, запрещаем выполнение данных и "решаем проблему".


Отмечу в скобках, что исполнение данных может быть нормальным явлением. И вообще, что-то мне не нравится это направление обсуждения. Есть атрибуты страницы, их можно менять, в частности, разрешать или запрещать исполнение, VirtualProtect, PAGE_EXECUTE. И тот факт. что этим пользуются злоумышленники, еще не причина, чтобы саму идею хоронить. Как иначе будут работать программы, у которых зашифрован код (не .net, нативные) ? Как писать самомодифицирующийся код ?
With best regards
Pavel Dvorkin
Re[11]: Сказка о циничном ученом, простреленных ногах разраб
От: vayerx  
Дата: 31.10.08 11:01
Оценка:
Здравствуйте, prVovik, Вы писали:

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

V>>аналогично устал повторять, что защита от атак через code injection — пренебрежимая фигня в сопопставлении с другими проблемами. в "общем" случае, разумеется.

V>Чем обоснуешь?


случается, редко, конечно, но все же встречается крохотная часть кода, посвещенная непосредственно предметной области. вы же не будете утверждать, что весь софт пишется исключительно для веба или "около веба"? примеры с калькулятором кажутся неубедительными и по их поводу я уже говорил выше.
Re[12]: Сказка о циничном ученом, простреленных ногах разраб
От: prVovik Россия  
Дата: 31.10.08 11:12
Оценка:
Здравствуйте, vayerx, Вы писали:

V>>Чем обоснуешь?


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


Ну я же ниже пример приводил. Ок, продублирую ещё раз:

In 2003, buffer overflows present in licensed Xbox games have been exploited to allow unlicensed software, including homebrew games, to run on the console without the need for hardware modifications, known as modchips.

The PS2 Independence Exploit also used a buffer overflow to achieve the same for the PlayStation 2. The Twilight Hack accomplished the same with the Wii, using a buffer overflow in The Legend of Zelda: Twilight Princess.


Казалось бы, "железный" софт, с внешним миром контактирует по минимуму, это вам не веб-сервер какой, ан вот оно как вышло.

P.S.: Если кто-то найдёт в моем сообщении призыв писать софт для Xbox на .NET'e, пусть сходит к офтальмологу.
лэт ми спик фром май харт
Re[5]: security и safety - разные вещи!
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.10.08 11:14
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Отмечу в скобках, что исполнение данных может быть нормальным явлением. И вообще, что-то мне не нравится это направление обсуждения. Есть атрибуты страницы, их можно менять, в частности, разрешать или запрещать исполнение, VirtualProtect, PAGE_EXECUTE. И тот факт. что этим пользуются злоумышленники, еще не причина, чтобы саму идею хоронить. Как иначе будут работать программы, у которых зашифрован код (не .net, нативные) ? Как писать самомодифицирующийся код ?

Ну, для начала необходимо понять, для чего необходимы шифрованные программы (и не противоречит ли их использование вопросам безопасности), и для чего необходим самомодифицирующийся код.
Вот, к примеру, singularity. Там в принципе невозможна ни модификация кода, ни исполнение данных. И ничего, всё работает. Хочешь породить новый код — порождай; он пройдет верификацию и будет запущен. Не пройдет верификацию — не будет запущен.
Аппаратная защита от исполнения данных, равно как и аппаратная изоляция процессов, штука очень дорогостоящая. В смысле ресурсов. Поэтому всегда есть искушение ее обойти или не использовать. А в полностью верифицируемой среде можно устранить как неэффективность из-за лишних проверок, так и возможность эти проверки обойти.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: security и safety - разные вещи!
От: Pavel Dvorkin Россия  
Дата: 31.10.08 11:18
Оценка: +1
Здравствуйте, Pavel Dvorkin, Вы писали:

Подумал и решил уточнить.

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

Совсем не вирус. Во времена OS-360 в задаче надо было указывать время, по истечении которого она автоматически снималась. Но в зависимости от заказанного времени задача отправлялась либо в высокоприоритетную очередь, либо в очередь более низкого приоритета.

Однажды я поставил время, равное 0 Пользоваться этой дырой я не стал — неудобно перед другими было.
With best regards
Pavel Dvorkin
Re[5]: Сказка о циничном ученом, простреленных ногах разрабо
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.10.08 11:18
Оценка:
Здравствуйте, eao197, Вы писали:

E>Код сборки до запуска лежит на диске? Может ли он может быть изменен на диске и последующим исправлением всех контрольных сумм и пр.?

Кода сборки до запуска не существует. На диске лежит промежуточный код; при его компиляции происходит верификация, которая гарантирует отсутствие таких вещей, как исполнение "неожиданного" кода.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Сказка о циничном ученом, простреленных ногах разраб
От: Lloyd Россия  
Дата: 31.10.08 11:19
Оценка:
Здравствуйте, vayerx, Вы писали:

V>>>начнем с "банального" sql injection — никак не зависит от архитектуры фон-Неймана. реализация значительно проще code injection.

L>>ну вообще-то sql injection — это тоже в своем роде code injection

V>вы еще скажите, что она жестко завязанна на фон-Неймана


Да не, я просто как обычно к словам придрался.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.