2010-01-03 3 views
12

Я хочу узнать больше о песочнице. Не только об этом. Я хочу узнать, что я смогу написать простую песочницу.Хотите узнать о песочнице

Удивительно, но нет никакой информации. Даже статья в Википедии не хороша.

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

+1

http://stackoverflow.com/questions/1590337/using-the-google-chrome-sandbox – claws

+0

У членов http://sandboxing.org могут быть некоторые полезные советы для вас. – 2010-01-07 15:50:21

+0

Прочтите http://syprog.blogspot.in/2012/03/faking-kernel32dll-amateur-sandbox.html и http://www.fr33project.org/papers/p65_0x0a_phook%20-%20The%20PEB%20Hooker_by_Shearer%20and % 20Dreg.txt – claws

ответ

1

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

В Tcl основной механизм для создания ведомых переводчиков:

interp create -safe sandbox 
interp eval sandbox $set_up_code 
set result [interp eval sandbox $unsafe_code] 
7

читать о API подсекать, например Sandboxie крюков ядро ​​Windows, чтобы фильтровать все апи вызовы файловой системы и перенаправляет это приводит к песочнице, вы может зацепить API, и фильтровать его, передать только допустимые параметры, ошибки возврата недействительных вызовов

для API перекинув вы найдете множество материалов в сети, попробуйте на codeproject.com

+1

+1 для песочницы, мне нравится эта программа ... По крайней мере, я сделал, прежде чем получил Win64 :( –

3

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

Как правило, это «нечто» - это уже существующий язык, такой как Java или JavaScript, или C#, или собственный код. Java имеет «песочницу» apis для апплетов и т. Д., А .NET имеет разные уровни доверия, JavaScript имеет границы, наложенные на нее интерпретаторами (браузерами).

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

У вас есть такой язык? Что конкретно вы хотите узнать?

+0

ooooh .. Тогда я не нахожусь все ссылаются на песочницу на языке, которая ограничивает то, что пользователи могут писать. Я имею в виду песочницу, которая находится в хроме, которая ограничивает доступ к системным ресурсам. Как и антивирусная песочница, которая позволяет приложению запускаться, но перехватывает каждую вредоносную попытку и сообщает пользователь. – claws

+2

claws: Это то же самое: антивирус просто пытается посмотреть, какая функция вызывает собственное приложение, и пытается решить, является ли он «законным». Вы знаете, что вам может понравиться, Aspect Orientated Программирование. C# как «PostSharp», Java также имеет структуру. Он позволяет вам перехватывать все виды вызовов функций, а затем выполнять различные действия в этих точках. Это может позволить вам изучить идею (но это не настоящая «песочница»). Если вы хотите узнать о концепции безопасности (то есть, как это делается), посмотрите на уровни доверия .NET (но будьте готовы к очень скучной: P). Надеюсь это поможет. –

2

Это очень зависит от того, что вы хотите изолировать. Если это полномасштабная система с несколькими интерфейсами/доступные языки, вы действительно не хотите, чтобы заново изобретать колесо, но запустить виртуальную машину в VirtualBox, QEmu или some other alternative

В любом случае, песочница И.С., по крайней мере на каком-то уровне виртуализация системы, в которой вы «должны быть», работает ...

Если вам нужны приложения для песочницы для одного (интерпретируемого) языка, изменение звука интерпретатора как разумного подхода.

+0

'sandboxie' - это программное обеспечение, которое точно описывает то, что я имел в виду. – claws

1

На днях я написал overview of the ways of sandboxing within Linux, который ссылается на множество ссылок на различные техники. Подобные методы применимы и в других операционных системах. Я надеюсь, что это будет полезно - я не мог найти много всесторонне документированных.

+0

Спасибо за эту ссылку. – claws

Смежные вопросы