Насколько серьезно реализована безопасность с .NET Framework
От: luckych  
Дата: 22.03.05 12:26
Оценка:
Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода.
Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Насколько серьезно реализована безопасность с .NET Frame
От: Mika Soukhov Stock#
Дата: 22.03.05 12:36
Оценка: 2 (1)
Здравствуйте, luckych, Вы писали:

L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода.

L>Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту?
L>

Есть такая вещь как Code Access Security. По идее, все критические классы в BCL должны иметь соответсвующие Permission, которыми можно было бы контролировать те или иные действия (создание объектов, обращение к его свойством). Но в жизни это чуточку не так
Автор: TK
Дата: 08.02.05
.
Re: Насколько серьезно реализована безопасность с .NET Frame
От: Joker3D Россия http://blog.trunin.com
Дата: 22.03.05 12:38
Оценка: -2
Здравствуйте, luckych, Вы писали:

L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода.

L>Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту?
L>

Чтобы зловредные код не мог ничем навредить нужно запускать скомпилированное приложение под специально для этого созданным (с необходимыми вам правами/запретами) пользователем. Вобщем-то .NET здесь ни при чем...
Konstantin Trunin
http://blog.trunin.com — эффективное управление людьми, проектами, собой
Re: Насколько серьезно реализована безопасность с .NET Frame
От: Igor Trofimov  
Дата: 22.03.05 19:15
Оценка: 5 (2)
Ну вообще была такая вещь, как Terrarium. Поищи, там в принципе та же задача стояла и вроде не ломали (или я не слышал?)

Абсолютность безопасности, конечно, под вопросом, как уже тут написали, но вообще возможностей по организации своих "песочниц" в .net очень много.
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
От: Joker3D Россия http://blog.trunin.com
Дата: 22.03.05 19:33
Оценка:
спасибо за минусы

Почитал немного про Code Access Security — прозрел.
Konstantin Trunin
http://blog.trunin.com — эффективное управление людьми, проектами, собой
Насколько серьезно реализована безопасность с .NET Framework
От: Аноним  
Дата: 22.03.05 19:41
Оценка:
> Необходимо написать движок, который — бы принимал готовые решения .... компилировал их ... Есть идея реализовать все это на .NET .... насколько эффективно можно реализовать защиту .... от всяческих попыток подсовывания зловредного кода и т.п.

Можно анализировать сборки с помощью FxCop (специальная система от microsoft). Для анализа используются наборы правил. Правила можно добавлять. В соответствии с правиласми, FxCop в сборках найдет все куски кода в которых есть нарушения правил.

Есть готовые наборы правил, например: "Design Rules", "Performance Rules", "Security Rules", ....


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Насколько серьезно реализована безопасность с .NET Frame
От: Chardex Россия  
Дата: 22.03.05 19:49
Оценка:
Здравствуйте, luckych, Вы писали:

Изините, если я неправильно понял, но почему нельзя генерить этот код в assembly и грузить уже в браузер ( IE ) а на сервере ничего и не выполнять
Наверное не в кассу сказанул
Re: Насколько серьезно реализована безопасность с .NET Frame
От: luckych  
Дата: 23.03.05 06:33
Оценка:
Здравствуйте, Varg, Вы писали:

Действительно, хорошая идея проверять все полученные сборки данным способом. Нужно попробовать!
Спасибо!

V>Можно анализировать сборки с помощью FxCop (специальная система от microsoft). Для анализа используются наборы правил. Правила можно добавлять. В соответствии с правиласми, FxCop в сборках найдет все куски кода в которых есть нарушения правил.


V>Есть готовые наборы правил, например: "Design Rules", "Performance Rules", "Security Rules", ....


V>
данное сообщение получено с www.gotdotnet.ru

V>ссылка на оригинальное сообщение
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
От: luckych  
Дата: 23.03.05 06:33
Оценка:
Здравствуйте, Mika Soukhov, Вы писали:

MS>Есть такая вещь как Code Access Security. По идее, все критические классы в BCL должны иметь соответсвующие Permission, которыми можно было бы контролировать те или иные действия (создание объектов, обращение к его свойством). Но в жизни это чуточку не так
Автор: TK
Дата: 08.02.05
.


Спасибо! Пока это действительно единственная возможность обеспечить изоляцию сборок которые будут присланы учасниками олимпиад. Буду смотреть!
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
От: luckych  
Дата: 23.03.05 06:41
Оценка:
Здравствуйте, Chardex, Вы писали:

C>Изините, если я неправильно понял, но почему нельзя генерить этот код в assembly и грузить уже в браузер ( IE ) а на сервере ничего и не выполнять

C>Наверное не в кассу сказанул

Сборка должна запускаться на сервере для прогонки тестов с разными входными параметрами чтобы понять насколько качественно решение.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Насколько серьезно реализована безопасность с .NET Frame
От: SiAVoL Россия  
Дата: 24.03.05 06:06
Оценка:
Здравствуйте, luckych, Вы писали:

L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи.

Кстати интересная задача, надо подумать. Я так понимаю чисто CAS здесь не обойтись, будет ведь и неуправляемый код (тотже С++).
Еще, я так понимаю, надо конролировать и ограничивать использование ресурсов (память, время, что-то еще?). Если со временем все понятно, то как в том же .NET контролировать использование памяти? Смотреть на размер поколений GC? Как то не очень правильно. Если памяти на компе довольно таки много, то в поколениях может скопиться много неиспользуемого мусора. Вызывать периодически сборку мусора — подстава дотнетчикам для завала по времени
В целом, думается для каждой платформы надо будет писать свою песочницу...
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
От: luckych  
Дата: 24.03.05 08:07
Оценка:
Здравствуйте, SiAVoL, Вы писали:

SAV>Кстати интересная задача, надо подумать. Я так понимаю чисто CAS здесь не обойтись, будет ведь и неуправляемый код (тотже С++).

SAV>Еще, я так понимаю, надо конролировать и ограничивать использование ресурсов (память, время, что-то еще?). Если со временем все понятно, то как в том же .NET контролировать использование памяти? Смотреть на размер поколений GC? Как то не очень правильно. Если памяти на компе довольно таки много, то в поколениях может скопиться много неиспользуемого мусора. Вызывать периодически сборку мусора — подстава дотнетчикам для завала по времени
SAV>В целом, думается для каждой платформы надо будет писать свою песочницу...

Да, очень похоже на то что для каждого языка будет своя песочница. На данный момент самые серьезные проблемы представляет песочница на C++. Пока нет четкого представления как именно необходимо ее реализовывать чтобы обеспечить безопасность на должном уровне.
Может у кого есть идеи или кто-то уже сталкивался с реализацией "песочницы" для C++??
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[3]: Насколько серьезно реализована безопасность с .NET Fr
От: SiAVoL Россия  
Дата: 24.03.05 08:19
Оценка: 1 (1)
Здравствуйте, luckych, Вы писали:

L>Может у кого есть идеи или кто-то уже сталкивался с реализацией "песочницы" для C++??

есть такой объект ядра (начиная с Win2K) job, он позволяет объединять процессы в группы и делать для них песочницу.
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Re[4]: Насколько серьезно реализована безопасность с .NET Fr
От: SiAVoL Россия  
Дата: 29.03.05 12:26
Оценка:
Здравствуйте, SiAVoL, Вы писали:

SAV>есть такой объект ядра (начиная с Win2K) job, он позволяет объединять процессы в группы и делать для них песочницу.

Я кстати щас начал писать .NET обертку для работы с job`ами. Поэтому вопрос, может кто-то уже видел готовую?
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.