Leave a comment

vadim_proskurin January 27 2006, 08:51:45 UTC
встречаются ляпы ... иногда явные (типа рассуждений про отсутсвие DNS записей)
Здесь ляпа не вижу. Да, кровавая гэбня проявила неоправданную паранойю, закрывая свой DNS от внешних запросов, но ляпа как такового не вижу.

типа доступности CreateProcess из игрового движка
Мне прекрасно знакома связка элементалов OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread. Но это же художественная книга, а не учебник для дровосеков :-)

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

упоменание OLE-интерфейса
Тоже не понял, где ляп.

предположение о том что субъект == процесс
Это не ляп, это научная школа Андрея Щербакова. Читайте умные книжки :-)

Почему Вы это не стали править - не было "консультантов" или просто не было времени?
Потому что это художественная книжка. Там же написано в конце:

Описания хакерской деятельности имеют примерно такое же отношение к реальности, как и подвиги Джеймса Бонда.

Reply

vadim_proskurin January 28 2006, 00:13:22 UTC
встречаются ляпы ... иногда явные (типа рассуждений про отсутсвие DNS записей)
Здесь ляпа не вижу. Да, кровавая гэбня проявила неоправданную паранойю, закрывая свой DNS от внешних запросов, но ляпа как такового не вижу.

Наверное, я неправильно выразился .... ну не было DNS записи ... ну и что? В общем-то встречается достаточно часто.

типа доступности CreateProcess из игрового движка
Мне прекрасно знакома связка элементалов OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread. Но это же художественная книга, а не учебник для дровосеков :-)

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

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

Не все объекты «Окон» используют счетчики ссылок - это в частности не справедливо для процессов и GDI объектов. Скорее описанное Вами напоминает поведение COM объектов. А для Вашего мира сброс счетчика в 0 скорее должен привести к “архивированию” последней версии ... было бы логично иметь явную функцию разрушению.

упоменание OLE-интерфейса
Тоже не понял, где ляп.

Тут нет явного ляпа - просто весь Ваш мир построен на “OLE-подобном” интерфейсе, как Вы это назвали. В том смысле что разные субъекты/объекты должны уметь узнавать друг о друге все «на лету», так что странно что ОЛЕ удивило героя.

предположение о том что субъект == процесс
Это не ляп, это научная школа Андрея Щербакова. Читайте умные книжки :-)
Я уже вышел из возраста когда читают умные книжки ;-) Очень маловероятно, что субъект это процесс в смысле виндовс. Очень уж неудобно было бы моделировать «такое» нативными процессами.

Почему Вы это не стали править - не было "консультантов" или просто не было времени?

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

Описания хакерской деятельности имеют примерно такое же отношение к реальности, как и подвиги Джеймса Бонда.

Спасибо за книжку ;-)

Reply

igornys January 28 2006, 00:24:08 UTC
"Приобрел сомнительную славу в русском Интернете, придумав атаку AdminTrap на Windows NT." Теперь понятно, почему все убегают по NPFS :-)

Respect :-)

Reply

vadim_proskurin January 28 2006, 09:45:56 UTC
Не только убегают :-) Фокус, который Уриэль провел с Олорином в самом начале первой книги - AdminTrap в чистом виде :-)

Reply

igornys January 28 2006, 17:36:01 UTC
Да, я это понял, когда прочитал Вашу статью (после написания поста) особенно вспомнив, что админ должен появиться после перезагрузки сервера

Reply

vadim_proskurin January 28 2006, 18:50:06 UTC
админ должен появиться после перезагрузки сервера
Нет, он сразу появляется. Собственно, создание админа - это просто демонстрация, по жизни там подразумевается запуск системного шелла, например, через связку элементалов, упомянутую ближе к началу ветки.

Reply

igornys January 28 2006, 20:04:34 UTC
Это у меня проблемы с русским ;-) Имелось в виду, что захват админа вроде бы проще осуществить на заново загруженном сервере, иначе больше вероятность того, что "трубы" пойдут "куда надо", а не к Вам (предполагая что каналы named pipes переиспользуются) ... разве что Вы нашли какой-нибудь другой способ "отключать" трубы, порождаемые "настоящим" сервером кроме их "brute force" захвата, кот. неизбежно приводит к высокой загрузке системы.

Reply

vadim_proskurin January 28 2006, 20:19:40 UTC
Там как раз brute force, только строго дозированный :-) В статье все подробно расписано, можно брать Visual Studio и программировать. Только сначала надо найти NT4 :-)

Reply

vadim_proskurin January 28 2006, 09:44:00 UTC
ну не было DNS записи ... ну и что?
- Это еще ни о чем не говорит, - задумчиво произнес Сссра, - у них может стоять какая-нибудь экзотическая система либо они могли как-то необычно отконфигурировать сетевую среду.

описанный Вами мир предполагает некую «архитектуру» системы и наличие игрового «движка»
"Движком" является сама Windows-подобная ось, точнее, какие-то COM-подобные навороты над ней. Иначе от противоречий не избавиться. Предположение не очень правдоподобное, не отрицаю. Но, как выяснилось, когда пишешь книжку про хакеров, полностью избавиться от бреда невозможно - получается незрелищно, некрасиво и неинтересно. По этому поводу, кстати, много флейма тут.

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

разные субъекты/объекты должны уметь узнавать друг о друге все «на лету», так что странно что ОЛЕ удивило героя
Его удивило то, что процесс передачи знаний можно упростить на несколько порядков, используя более подходящий интерфейс.

Спасибо за книжку ;-)
Пожалуйста ;-)

Reply

igornys January 28 2006, 17:55:04 UTC
Вадим, я не настолько наивен, чтобы ожидать от художественного произведения технической достоверности. И совсем не напрягли детали типа художественного описания реализация перемещаемого кода (независимо от его уместности в данном контексте). Я ведь не удиляюсь тому, что в пару гиг поместился не только код, но и вся память за n-виртуальных лет или всяким там "слепкам души" или тому что вирус может "попортить" все копии виртуального героя (включая ленты, которые хранятся в сейфе :-).

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

Заранее согласен с тем, что все это, скорее, мои проблемы ;-)

Reply

vadim_proskurin January 28 2006, 19:04:54 UTC
Я ведь не удиляюсь тому, что в пару гиг поместился не только код, но и вся память за n-виртуальных лет
Я как-то пробовал посчитать объем памяти, требуемый для программной эмуляции человеческого мозга, получается несколько сотен терабайт. Для виртуальной личности будет меньше на два-четыре порядка, но вы правы, никак не пара гиг. Но уносить действие в далекое будущее очень не хотелось.

или всяким там "слепкам души"
О да, это маразм редчайший. Ну никак не получилось разрешить не помню уже какое противоречие, вот и пришлось ввести в модель рояль в кустах слепок души.

что вирус может "попортить" все копии виртуального героя (включая ленты, которые хранятся в сейфе :-)
Ленты спрятали в сейф уже после того, как вирус их попортил. Раздолбайство, конечно, но что поделать... Бардак неистребим даже в спецслужбах.

Но вот когда появляются описания конкретных вызовов, я сразу становлюсь в стойку - "что, уже запрограммировали????
Пока нет и в ближайшие 150-300 лет вряд ли. Хотя это очень спорная оценка, mat33, например, со мной категорически не согласен. Но если уж вводить в повествование маловероятное (прямо скажем, бредовое) предположение, надо его разукрасить для полного правдоподобия - иначе неинтересно :-)

И вообще, 90-99% читателей в такие тонкости не вникают и им можно вешать лапшу практически неограниченно :-)

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

Reply

igornys January 28 2006, 20:03:06 UTC
В "Лабиринте" как раз "сбои" в компьютерной части меня тоже очень напрягают - и, хотя идея и исполнение гениальные, перечитать не тянет.

Мне ведь не нужно, чтобы было правдоподобно, нужно чтобы было непротеворечиво (в этом смысле перед Вартановым снимаю шляпу)

Reply


Leave a comment

Up