Здравствуйте, luckych, Вы писали:
L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода. L>Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту? L>
Чтобы зловредные код не мог ничем навредить нужно запускать скомпилированное приложение под специально для этого созданным (с необходимыми вам правами/запретами) пользователем. Вобщем-то .NET здесь ни при чем...
Konstantin Trunin http://blog.trunin.com — эффективное управление людьми, проектами, собой
Re: Насколько серьезно реализована безопасность с .NET Frame
Здравствуйте, luckych, Вы писали:
L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода. L>Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту? L>
Есть такая вещь как Code Access Security. По идее, все критические классы в BCL должны иметь соответсвующие Permission, которыми можно было бы контролировать те или иные действия (создание объектов, обращение к его свойством). Но в жизни это чуточку не так
Здравствуйте, luckych, Вы писали:
L>Может у кого есть идеи или кто-то уже сталкивался с реализацией "песочницы" для C++??
есть такой объект ядра (начиная с Win2K) job, он позволяет объединять процессы в группы и делать для них песочницу.
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Насколько серьезно реализована безопасность с .NET Framework
Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи. Задачи в основном алгоритмические, с использованием массивов, циклов, строк. Есть идея реализовать все это на .NET без использования unmanaged кода.
Вопрос, насколько эффективно можно реализовать защиту такого приложения от всяческих попыток подсовывания зловредного кода и т.п. Позволяют ли внутренние средства обеспечения безопасности .NET эффективно реализовать такую защиту?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
Почитал немного про Code Access Security — прозрел.
Konstantin Trunin http://blog.trunin.com — эффективное управление людьми, проектами, собой
Насколько серьезно реализована безопасность с .NET Framework
От:
Аноним
Дата:
22.03.05 19:41
Оценка:
> Необходимо написать движок, который — бы принимал готовые решения .... компилировал их ... Есть идея реализовать все это на .NET .... насколько эффективно можно реализовать защиту .... от всяческих попыток подсовывания зловредного кода и т.п.
Можно анализировать сборки с помощью FxCop (специальная система от microsoft). Для анализа используются наборы правил. Правила можно добавлять. В соответствии с правиласми, FxCop в сборках найдет все куски кода в которых есть нарушения правил.
Изините, если я неправильно понял, но почему нельзя генерить этот код в assembly и грузить уже в браузер ( IE ) а на сервере ничего и не выполнять
Наверное не в кассу сказанул
Re: Насколько серьезно реализована безопасность с .NET Frame
Действительно, хорошая идея проверять все полученные сборки данным способом. Нужно попробовать!
Спасибо!
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
Здравствуйте, Mika Soukhov, Вы писали:
MS>Есть такая вещь как Code Access Security. По идее, все критические классы в BCL должны иметь соответсвующие Permission, которыми можно было бы контролировать те или иные действия (создание объектов, обращение к его свойством). Но в жизни это чуточку не так
Здравствуйте, Chardex, Вы писали:
C>Изините, если я неправильно понял, но почему нельзя генерить этот код в assembly и грузить уже в браузер ( IE ) а на сервере ничего и не выполнять C>Наверное не в кассу сказанул
Сборка должна запускаться на сервере для прогонки тестов с разными входными параметрами чтобы понять насколько качественно решение.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Насколько серьезно реализована безопасность с .NET Frame
Здравствуйте, luckych, Вы писали:
L>Есть необходимость написать приложение для проведения олимпиад через Web. Необходимо написать движок, который — бы принимал готовые решения (исходные коды на C++, C#, Java(J#), VB), компилировал их, выполнял, и получал на выходе резульат решения какой-то тестовой задачи.
Кстати интересная задача, надо подумать. Я так понимаю чисто CAS здесь не обойтись, будет ведь и неуправляемый код (тотже С++).
Еще, я так понимаю, надо конролировать и ограничивать использование ресурсов (память, время, что-то еще?). Если со временем все понятно, то как в том же .NET контролировать использование памяти? Смотреть на размер поколений GC? Как то не очень правильно. Если памяти на компе довольно таки много, то в поколениях может скопиться много неиспользуемого мусора. Вызывать периодически сборку мусора — подстава дотнетчикам для завала по времени
В целом, думается для каждой платформы надо будет писать свою песочницу...
... << RSDN@Home 1.1.4 beta 4 rev. 0>>
Re[2]: Насколько серьезно реализована безопасность с .NET Fr
Здравствуйте, SiAVoL, Вы писали:
SAV>Кстати интересная задача, надо подумать. Я так понимаю чисто CAS здесь не обойтись, будет ведь и неуправляемый код (тотже С++). SAV>Еще, я так понимаю, надо конролировать и ограничивать использование ресурсов (память, время, что-то еще?). Если со временем все понятно, то как в том же .NET контролировать использование памяти? Смотреть на размер поколений GC? Как то не очень правильно. Если памяти на компе довольно таки много, то в поколениях может скопиться много неиспользуемого мусора. Вызывать периодически сборку мусора — подстава дотнетчикам для завала по времени SAV>В целом, думается для каждой платформы надо будет писать свою песочницу...
Да, очень похоже на то что для каждого языка будет своя песочница. На данный момент самые серьезные проблемы представляет песочница на C++. Пока нет четкого представления как именно необходимо ее реализовывать чтобы обеспечить безопасность на должном уровне.
Может у кого есть идеи или кто-то уже сталкивался с реализацией "песочницы" для C++??
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[4]: Насколько серьезно реализована безопасность с .NET Fr
Здравствуйте, SiAVoL, Вы писали:
SAV>есть такой объект ядра (начиная с Win2K) job, он позволяет объединять процессы в группы и делать для них песочницу.
Я кстати щас начал писать .NET обертку для работы с job`ами. Поэтому вопрос, может кто-то уже видел готовую?