Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт апр 18, 2024 19:22

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 00:06 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
Так, еще раз перефразирую, чтобы избежать размывания примера.

В память загружен вирус с адреса 100. Есть варианты:
1) Процессор аппаратно не может перейти к адресу 100.
2) Язык запрещает переход к адресу 100.
3) Процессор может перейти к адресу 100, и язык не запрещает переход, но в программе нет ни одного такого перехода, в том числе любым косвенным путем (нет запроса адреса от пользователя, нет фрагментов кода вида push 100 ret), и вообще нет ни одного варианта попадания управления туда.
В каком случае запустится вирус?

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

Хищник писал(а):
Следовательно, от вредоносного кода требуется еще один шаг - не просто писать за пределы программы, а сначала сломать индексацию, и уж только потоооом....

вот виртуальная машина и не должна позволять ломать что-либо, в том числе индексацию.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 00:09 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
mOleg писал(а):
прикол как раз в том, что вредоносный код може быть запущен, но вреда причинить не может.

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 08:53 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
mOleg писал(а):
абсолютно не согласен.
Виртуальные машины позволяют реализовать безопасные интерфейсы, в которых "нагаженный код" не приведет к фатальным результатам.


Т.е. любое нагромождение когда (сгенерированное рандомно, например) будет исполнять нечто осмысленное?

если нет, то
WingLion писал(а):
можно нагадить в коде так, что он не будет исполняться адекватно.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 11:19 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Хищник писал(а):
mOleg писал(а):
прикол как раз в том, что вредоносный код може быть запущен, но вреда причинить не может.

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

Ты не о том говоришь. Я спрашиваю, будет ли правильно работать программа на языке, если язык не запрещает что-то ломать, но программа ничего не ломает.
интересно, если это защ. ВМ, то код не машинный - массив адресов

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 11:41 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
интересно, если это защ. ВМ, то код не машинный - массив адресов

А по адресам? Другие адреса? Рано или поздно все равно дойдем до примитивов в машинном коде, и вот тут-то и начнется самое интересное.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 11:57 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
по адресам маш. код, но прыжок на него - только после range check

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 01, 2008 14:57 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
по адресам маш. код, но прыжок на него - только после range check

Т.е. просто накручиваем количество вопросов "пароль?" :) Тут два варианта - либо пропихиваемся в диапазон адресов, считающихся правильными, либо ломаем механизм проверки, чтобы он считал правильным и наш адрес. Это классический вопрос: "кто будет сторожить сторожей?".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 03, 2008 23:00 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
Т.е. любое нагромождение когда (сгенерированное рандомно, например) будет исполнять нечто осмысленное?

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

WingLion писал(а):
если нет, то
WingLion писал(а):можно нагадить в коде так, что он не будет исполняться адекватно.

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

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 03, 2008 23:05 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Хищник писал(а):
вопрос писал(а):интересно, если это защ. ВМ, то код не машинный - массив адресов
А по адресам? Другие адреса? Рано или поздно все равно дойдем до примитивов в машинном коде, и вот тут-то и начнется самое интересное.

Хищник опять уперся и не хочет думать.
Я уже описывал вариант ВМ, в которой код просто не имеет возможности получить управление, и вообще не работает с реальными адресами.
(поэтому повторяться не хочется)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 03, 2008 23:20 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
да, мне не совсем понятно, как прыгнуть куда-то не туда, если программа содержит только номера ссылок на код, который в принципе не содержит прыжков не туда... :shock:

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Чт дек 04, 2008 22:32 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
да, мне не совсем понятно, как прыгнуть куда-то не туда, если программа содержит только номера ссылок на код, который в принципе не содержит прыжков не туда...

Именно!
А ограничение на выход за пределы массива ссылок тоже просто делается, примерно так:

AND index , #size \ #size - размер массива ссылок = 2^x-1, например 0xFFFF
JMP [index+base] \ base - базовый адрес списка ссылок

при этом еще не заполненные ссылки могут указывать на ABORT , который будет ловить такие ошибки.
причем такая методика реализуема даже на обычной ФВМ, если же затачивать ФВМ под безопасное исполнение, можно сделать еще надежнее.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Защищенность FVM ( Форт виртуальной машины )
СообщениеДобавлено: Чт фев 02, 2012 19:07 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Форт транслятор легко пропускает использование
слов I LEAVE UNLOOP вне контекста использования
DO ... LOOP цикла.
Во время исполнения обычно приводит к краху системы, но
бывает и не приводит:). Транслятор должен реагировать и
на такие попытки неправомерного использования слов.

P.S. Возможно этот момент уже затрагивался в обсуждении про
безопасность и защищённость Форт систем.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Защищенность FVM ( Форт виртуальной машины )
СообщениеДобавлено: Чт фев 02, 2012 20:04 
Kopa писал(а):
Возможно этот момент уже затрагивался в обсуждении про безопасность и защищённость Форт систем.
1. Т.к. Forth не имеет синтаксиса, то этого не избежать.
2. Т.к. синтаксический анализ доказуемо не может обеспечить безопасности кода, то это не страшно.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Защищенность FVM ( Форт виртуальной машины )
СообщениеДобавлено: Чт фев 02, 2012 20:34 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
gudleifr писал(а):
Kopa писал(а):
Возможно этот момент уже затрагивался в обсуждении про безопасность и защищённость Форт систем.
1. Т.к. Forth не имеет синтаксиса, то этого не избежать.


Ну и что?
Контроль синтаксиса необходим только в силу обеспечения контроля семантического уровня Форт системы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Защищенность FVM ( Форт виртуальной машины )
СообщениеДобавлено: Чт фев 02, 2012 20:40 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
Kopa писал(а):
Форт транслятор легко пропускает использование слов I LEAVE UNLOOP вне контекста использования

Не всякий Форт транслятор это допускает.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 60 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB