Re[8]: security и safety - разные вещи!
От: Pavel Dvorkin Россия  
Дата: 31.10.08 13:14
Оценка:
Здравствуйте, Sinclair, Вы писали:

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

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

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


Зачем же извлекать ? Пустите хорошего хакера минут на 10 к компьютеру и забудьте отключить флоппи-дисковод. Reset (или Power OFF) , BIOS Setup, далее все ясно.
With best regards
Pavel Dvorkin
Re[9]: security и safety - разные вещи!
От: prVovik Россия  
Дата: 31.10.08 13:37
Оценка: +1 -2
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Зачем же извлекать ? Пустите хорошего хакера минут на 10 к компьютеру и забудьте отключить флоппи-дисковод. Reset (или Power OFF) , BIOS Setup, далее все ясно.


Зачем так сложно? Берём системный блок и об стену его — гораздо проще надёжнее, чем с дискетами возиться!
лэт ми спик фром май харт
Re[9]: P.S.
От: minorlogic Украина  
Дата: 31.10.08 13:57
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Как раз наоборот: практика показала, что управляемые процессоры катастрофически неэффективны. Сингулярити показывает офигительный отрыв в производительности от линуксов и винды на том же железе, как раз за счет отказа от тех фич процессора, которые относятся к "управляемости".


Раскижите подробнее? Я смотрел на сингулярити но не нашел ничего чтобы указывало на ее быстроту по сравнению с вин линь.
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[9]: P.S.
От: CreatorCray  
Дата: 31.10.08 14:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Сингулярити показывает офигительный отрыв в производительности от линуксов и винды на том же железе, как раз за счет отказа от тех фич процессора, которые относятся к "управляемости".

Где это можно посмотреть?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Сказка о циничном ученом, простреленных ногах разраб
От: GarryIV  
Дата: 31.10.08 14:25
Оценка: -1 :))
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>>>А что еще? Мы ведь сейчас не о потенциальных потерях говорим, а о фактических?


IID>>Почему же только о фактических ? С твоих же слов: Успешных атак, повлекших за собой ущерб. Потенциальный ущерб — тоже ущерб.


KV>Ок, "повлекших за собой нанесение ущерба". Так лучше?



О которых узнало руководство
WBR, Igor Evgrafov
Re[10]: security и safety - разные вещи!
От: prVovik Россия  
Дата: 31.10.08 14:28
Оценка:
Здравствуйте, prVovik, Вы писали:

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


Интересно узнать, с чем не согласен vayerx?
лэт ми спик фром май харт
Re[11]: security и safety - разные вещи!
От: vayerx  
Дата: 31.10.08 14:41
Оценка: -2
Здравствуйте, prVovik, Вы писали:

V>>Зачем так сложно? Берём системный блок и об стену его — гораздо проще надёжнее, чем с дискетами возиться! :maniac:

V>Интересно узнать, с чем не согласен vayerx?

если у тебя аргументы закончились, рекомендую перейти еще раз по приведенной ранее эксклюзивной ссылке
Re[12]: security и safety - разные вещи!
От: prVovik Россия  
Дата: 31.10.08 14:45
Оценка: +1 -1
Здравствуйте, vayerx, Вы писали:

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


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


P.S.: Ты бы ещё рассказал нам про уязвимость управляемых платформ перед ректальным криптоанализом
лэт ми спик фром май харт
Re[9]: P.S.
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 31.10.08 17:47
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Как раз наоборот: практика показала, что управляемые процессоры катастрофически неэффективны. Сингулярити показывает офигительный отрыв в производительности от линуксов и винды на том же железе, как раз за счет отказа от тех фич процессора, которые относятся к "управляемости".


Ты имеешь в виду то, что Singularity не переключает кольца защиты? Если так, то это верно, но только не надо обобщать, "управляемый процессор" в версии интел неэффективен только из-за особеностей реализации. В общем-то, частный случай, если разобраться.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: security и safety - разные вещи!
От: gear nuke  
Дата: 02.11.08 05:01
Оценка: +1
Здравствуйте, kochetkov.vladimir,

GN>>В общем, дотнет — это хорошо. Действительно не позволяет выстрелить себе в ноги, но зачем это преподносить, как невозможность прострела ног кем-то еще? Подобные допущения в secutity могут оказаться серьёзной ошибкой.


KV>Где я преподносил выделенное? Можно меня ткнуть в мое же сообщение, из которого следует такой вывод? На будущее, чтобы научился более понятно свои мысли высказывать.


Исходное сообщение
Автор: kochetkov.vladimir
Дата: 29.10.08
, например, такая цитата:

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


Вот твоё определение "прострела ног":

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

И в то же время известна книжка "Enough Rope to Shoot Yourself in the Foot", которая содержит описание более 100 проблем языков C и С++.

В исходном сообщении все проблемы почему-то сводится с исполнению данных, как кода, и в результате ругается почему-то только одна архитектура. Как же на счёт LISP? Почему существуют парсеры JSON на JavaScript? Наличие JIT в дотнете явлется достаточным для homoiconity. Как осуществлять контроль компонентов, если цифровая подпись даёт гарантии не более чем "этот код подписан приватным ключём такого-то производителя", но никаких относительно самого кода?

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


Речь была об обратном — технология преподносилась как защита от malware, но на самом деле таковой не является и достаточнах гарантий не даёт.

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


Конечно должен думать, но сможет ли он правильно определить во всех случаях, какие данные следует считать неожиданными? Почему под ними подразумевается входная строка для sprintf, а не, например, UUID-генератор в ОС Windows
Автор(ы): Николай Денищенко
Дата: 29.08.2008
В статье исследуется механизм работы WinAPI-функции UuidCreate, работающей в роли UUID-генератора в ОС Windows, а также вопрос применимости его в качестве генератора псевдослучайных чисел. Разбираются версии библиотеки rpcrt4.dll, входящие в ОС Windows XP, Vista и Windows Server 2008.
?

GN>>Никого же не удивляет, что usability занимаются специально подготовленные люди? Вот и безопасностью (где, кстати, самое слабое звено всегда было и будет — человеческий фактор, а не дыры в софте) пусть занимаются специалисты.


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


С другой стороны, по той же приземлённой аналогии — если разработчику запретить ходить в туалет кроме строго определённых часов, то он сменит работу.

KV>Это не крик души. Исходный вариант этого текста был совершенно не обиден и менее эмоционален. Но запости я его сюда, и что? Понаставили бы оценок, плюсов/минусов и забыли. А так, получилось хоть как-то, хоть кого-то расшевелить


Получилось

GN>>чем взвешенный анализ векторов атак на конкретный софт.


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


В предложении "спрос рождает предложение" подлежащее на последнем месте, на самом деле
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[4]: Сказка о циничном ученом, простреленных ногах разрабо
От: Константин Б. Россия  
Дата: 03.11.08 05:39
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

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

L>>Можно ссылки на прецендерты таких хаков? А то я не слышал о таком, интересно почитать.

PD>Насчет прецедентов — не знаю, а вмешаться в процесс — раз плюнуть. Вот тебе простой пример.

PD>Создаем WinForms приложение, бросаем на форму листбокс, в него добавляем 2 строки — "Hello" и "World". Имя формы меняем на "CrackTest". Запускаем. имеем листбокс с этими двумя строчками
PD>Создаем консольное Win32 приложение и пишем в нем, например, так
PD>...
PD>Смотрим на листбокс и обнаруживаем там нечто интересное :-)
Под вистой и 2008 сервером работать не будет. Ибо нельзя слать сообщения привелегированным процессам.(Непривелегированые нам как бы ломать незачем, ведь так?). В XP тоже есть чем защититься: разделить систему на гуй и неинтерактивную службу, отдельный Desktop и WindowStation и т.д.

PD>Чтобы поменять строчки в коллекции, мне придется потрудиться немного больше. Поставить хук, открыть процесс, остановить его , просканировать его память и поменять там то, что надо. За 5 минут не напишу, но, в общем, ничего сложного нет.

Ну это вообще безобразие. Кто вам даст просто так открыть процесс и его память если у вас нет на то прав? А если есть права, то нафига ломать процесс, если можно заняться непосредственно вредоносными действиями? Как вам тут заметили еще можно и шнур из розетки выдернуть...
Re: Буду краток (©)
От: Roman Odaisky Украина  
Дата: 03.11.08 09:24
Оценка:
1. Среда исполнения — Java, .NET, Python, Perl и т. д. — конечна, а возможные программы бесконечны. Возможно проверить среду на отсутствие некоторых видов ошибок, и все программы в этой среде станут невосприимчивы к ним.
2. Что не является настолько веским преимуществом, чтобы всё бросить и начать писать управляемые программы.
3. Тем более, что и в неуправляемых программах можно с пользой для дела использовать бит NX в виде W^X, PaX и т. п.
4. Впрочем, с убиением об стенку программных патентов в США в прошлый четверг уже становится возможным использовать .NET в серьезных целях для тех задач, в которых преимущества данной технологии перевешивают недостатки.
До последнего не верил в пирамиду Лебедева.
Re[9]: security и safety - разные вещи!
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 05.11.08 07:04
Оценка: +4
Pavel Dvorkin,

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

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

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


PD>Зачем же извлекать ? Пустите хорошего хакера минут на 10 к компьютеру и забудьте отключить флоппи-дисковод. Reset (или Power OFF) , BIOS Setup, далее все ясно.




Дисциплина "информационная безопасность" имеет смысл на существование (и это всегда оговаривается в учебниках по ИБ) только в предположении об отсутствии физического доступа к оборудованию. Иначе собственно и изучать нечего.

Так что разговоры о биосах, ресете и сброшенных атомных бомбах на электростанции — некорректны.

Аналогия для прояснения моей позиции: во время обсуждения приёмов рукопашного боя, один из участников говорит "а вот я вытаскиваю пистолет и выпускаю в вас всю обойму, ваши действия?". Имеет ли смысл обсуждать подсечки и броски через бедро в таком контексте? Предмет очевидно переходит совсем в другую дисциплину, а именно "самозащита против огнестрельного оружия".
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[10]: P.S.
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.11.08 07:59
Оценка:
Здравствуйте, minorlogic, Вы писали:

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


S>>Как раз наоборот: практика показала, что управляемые процессоры катастрофически неэффективны. Сингулярити показывает офигительный отрыв в производительности от линуксов и винды на том же железе, как раз за счет отказа от тех фич процессора, которые относятся к "управляемости".


M>Раскижите подробнее? Я смотрел на сингулярити но не нашел ничего чтобы указывало на ее быстроту по сравнению с вин линь.

А куда, собственно, смотрел?
Вот основная статья. Советую посмотреть в секцию 6, страницы 31-34.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: P.S.
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.11.08 08:01
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Где это можно посмотреть?
Собственно, в основной статье про нее.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: P.S.
От: CreatorCray  
Дата: 05.11.08 09:04
Оценка:
Здравствуйте, Sinclair, Вы писали:

CC>>Где это можно посмотреть?

S>Собственно, в основной статье про нее.
Я имею в виду конкретные цифры измерений.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: Сказка о циничном ученом, простреленных ногах разрабо
От: Vi2 Удмуртия http://www.adem.ru
Дата: 05.11.08 13:40
Оценка: -1
Здравствуйте, CreatorCray, Вы писали:

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


Ног-то совсем нет, зачем костыли?! Да ещё и руки прострелены.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[3]: Сказка о циничном ученом, простреленных ногах разрабо
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 05.11.08 16:25
Оценка:
Здравствуйте, eao197, Вы писали:

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


KV>>1. Особенность (а отнюдь не просчет) фон-Неймановской архитектуры обусловила существование вирусов и атак инъекций бинарного кода на современных платформах.


E>Что является хорошим примером того, как вирус способен распространятся, мутировать и наносить ущерб без инъекций бинарного кода, за счет использования только обычных средств ОС.


Ок, а червь?

E>Так же показательны примеры вирусов Christmas Tree и Морриса, которые распространялись без использования иньекций бинарного кода.


Насчет первого не скажу, а вот червь Морриса использовал переполнение буфера в finderd:

Исходники червя ->
Файл hs.c ->
Функция "static try_finger(host, fd1, fd2)"

Правда и "обычные средства ОС" там тоже были не на последнем месте, но тем не менее.

KV>>Интересующимся стоит почитать о работах Фреда Коэна и истории создания Core Wars.


E>Почему тогда уже сразу к Darvin не обратиться?


А у меня по ней почти нет инфы (кроме того, что она на два десятка лет раньше появилась и стала прародительницей CW), а CW — сам играл Кроме того, IMHO, до CW интерес у "гиков" к этой теме был так себе.

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


E>Это сильно зависит от условий и обстоятельств.


И, в конечном итоге, определяется по результатам проведения оценки реальных рисков по построенной модели угроз

E>Считаете ли вы, что для всех этих классов приложений нужно использовать серьезную защиту от вредоносных данных?


А где грань между грамотным кодированием и дополнительными мерами по организации серьезной защиты? Я вообще-то, о первом.

KV>>В любых других случаях, ваш код не будет работающим.


E>Почему нет варианта об использовании языков с более прозрачной семантикой, чем у C/C++, но компилирующихся в нативный код? Да еще обеспечивающих тотальный контроль за Например, Modula-2, Eiffel, Ada, OCaml, Haskell?


А это меня в тему "С/С++ vs C#" понесло, не обращайте внимания. Хотя ни один из перечисленных языков и не является столь обсуждаемым тут периодически "мейнстримом".

E>Опять же, если обратиться к книге Безрукова, то там есть интересная цитата из тьюринговской лекции Кена Томпсона:

E>

E>Нельзя доверять программам, написанным не вами самими ... Никакой объем верификации исходного текста и исследований не защитит вас от использования ненадежного (untrusted) кода. По мере того как уровень языка, на котором написана программа, снижается, находить эти ошибки становится все труднее и труднее. "Хорошо продуманную" (well installed) ошибку в микрокоде найти почти невозможно.


Вот поэтому мы и приходим к необходимости трезвой оценки рисков и поиску компромиса между "нафиг защиту" и "защитим все на 100%", которая даже в примитивном виде, по факту, редко где встречается

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


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

E>Если вспоминать историю вирусных эпидемий на ПК под управлением ранних версий Макинтошей и Досов, то вирусу нужно было сначала запуститься вручную -- через зараженную программу (или произвести загрузку системы с зараженного носителя). Только после этого вирус мог модифицировать код ОС в памяти (если он был резидентным) или другие файлы/загрузочные сектора. И даже в таких условиях, когда WWW еще не было и основным способом передачи программ были дискеты (по крайней мере в Союзе), вирусы все равно умудрялись устраивать эпидемии.


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

E>Насколько я могу судить, ситуация сильно лучше не стала -- для большой части вирусов до сих пор требуется, чтобы пользователь запустил на исполнение зараженный файл. А дальше вирус может заняться модификацией файлов на диске. И здесь могут не помочь даже электронные подписи, т.к. существуют примеры, когда даже сертификаты умудрялись подменять, сохраняя MD5 подписи. А чтобы исполняемые файлы нельзя было изменить, нужна строгая политика ОС. И если ОС ее не обеспечивает, то переход с C++ на .NET является всего лишь временным улучшением, но не лекарством.


Blaster, Helkern/Slammer и им подобные не изменяли исполняемые файлы. Они вообще не имели тела как такового, но тем не менее, устроили неслабые эпидемии в свое время.

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


E>А я вот хочу задать дилетанский вопрос: почему вообще на x86 под управлением Windows возможны такие вещи, как иньекции бинарного кода? Вроде как давно используется защищенный режим процессора, и управление доступом к страницам памяти. Почему страницы с кодом не защищены от записи и переполнением буфера можно передать управление на иньектированный вредоносный код?


Страницы с кодом могут быть защищены, но это лежит на совести разработчиков, AFAIK Ну, или компиляторов, хотя не уверен. Вот в Google Chrome например, используются NX-биты для защиты его страниц , а (например) в qip — нет. Хотя класс приложений (и риски, связанные с атаками на них) примерно одинаковые

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[2]: Буду краток (©)
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 05.11.08 16:25
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>4. Впрочем, с убиением об стенку программных патентов в США в прошлый четверг уже становится возможным использовать .NET в серьезных целях для тех задач, в которых преимущества данной технологии перевешивают недостатки.


OMG, Рома, ну это-то тут причем?

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[3]: Буду краток (©)
От: Roman Odaisky Украина  
Дата: 05.11.08 17:37
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

RO>>4. Впрочем, с убиением об стенку программных патентов в США в прошлый четверг уже становится возможным использовать .NET в серьезных целях для тех задач, в которых преимущества данной технологии перевешивают недостатки.


KV>OMG, Рома, ну это-то тут причем?


Пока существует только одна реализация для только одной ОС, да еще и несвободная, да еще и патенты мешают изменению этой ситуации, разве можно использовать такую платформу для серьезных проектов? А теперь ничто не мешает допилить Mono до конца. Можно будет выкинуть Flash, заменив ее на Moonlight, и не бояться привязки к платформе. В общем, у .NET большое будущее.
До последнего не верил в пирамиду Лебедева.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.