Защита приложений и допуск под ключ - C#

skew

Доброго дня, дорогие форумчане. Сегодня предо мной возникла некая необычная задача. На .Net занимаюсь не первый год, но с подобным еще не сталкивался. Суть проекта:- необходимо разработать приложение (можно Windows Forms) задачей которого будет являться защита компьютера от нанесения ему ущерба от сторонних программ. А именно в самом приложении необходимо задавать папки/файлы, которые необходимо защищать и выдавать к ним доступ только определенным приложениям, чтобы никакой другой исполняемый файл или процесс не мог получить к ним доступ или как минимум испортить файл путем перезаписи.- в момент запуска файла необходимо проверять разрешение программы, которая хочет использовать этот файл/папку, на доступ к нему и соответственно выдавать или блокировать данный запрос.Для простого примера:- Берем внешнюю базу данных, например Access, и нужно чтобы файл базы *.mdf могла использовать только заданная программа или список программ, имеющий выданные привилегии. Т.к. сторонник программы могут нанести вред этому файлу вплоть до потери данных, то и возникает необходимость такого проекта. Это был простой наглядный пример.Подскажите в какую сторону смотреть, куда копать? Может имеются какие-то библиотеки или сорсы с похожими задачами.Спасибо за любую помощь.
22 ответа

skew

Испоьзуйте вместо аксесса что-то поприличнее и регулируйте права, например, SQL Express, SQLite и т.д.


skew

skew,Я думаю смотреть надо в сторону организационно - технических мероприятий по защите информации.Если просто - удалять все "лишние" программы, отбирать излишние права у юзеров.В общем гайковёрт вам в руки - и крутите.


skew

Испоьзуйте вместо аксесса что-то поприличнее и регулируйте права, например, SQL Express, SQLite и т.д.
Это просто был пример, это может быть что угодно, мне главное сам процесс защиты организовать


skew

Задача нерешаема:1. Можно внедрится в приложение, которому разрешен доступ к файлу и читать/писать в файл.2. При открытии файла по сети, компу-хранилищу файла неизвестно какой приложение его открывает.


skew

>skew, сегодня, 13:19 [21014865]>...Суть проекта...Посмотри здесь и здесь, может что и подойдет.


skew

Сейчас немного внесу конкретики. Этот проект большой значимости не несет, это что-то похожее на дипломный проект. Все заморочки и методы обхода этой программы пока не интересуют. Главное попытаться показать на примере, что такое возможно было бы сделать. А то что его легко будет обойти и сломать - это уже вопрос другой


skew

Сейчас немного внесу конкретики. Этот проект большой значимости не несет, это что-то похожее на дипломный проект. Все заморочки и методы обхода этой программы пока не интересуют. Главное попытаться показать на примере, что такое возможно было бы сделать. А то что его легко будет обойти и сломать - это уже вопрос другой
А, вопросов больше не имею (ц, Остап Ибрагимович)Системой делайте обрезание+ UAC


skew

skew, повесь хук на файловую систему. Ну и проверяй все вызовы CreateFile.


skew

skew, повесь хук на файловую систему. Ну и проверяй все вызовы CreateFile.
Бугуаааа :)


skew

buser,а чё бугагашного то?) Написать драйвер фильтр на худой конец DLL, внедрить во все процессы и перехватывать API CreateFile.Автору: чистым c# конечно задача не решается


skew

Используйте электронно цифровую подпись на файлах, подписанные файлы легко проверить на достоверность. Изменили их или нет. Для защиты памяти для других приложений, вроде есть API где можно задать области памяти, которые читать нельзя. у менеджера виртуальной памяти. но это не точно :)


skew

Сейчас немного внесу конкретики. Этот проект большой значимости не несет, это что-то похожее на дипломный проект. Все заморочки и методы обхода этой программы пока не интересуют. Главное попытаться показать на примере, что такое возможно было бы сделать. А то что его легко будет обойти и сломать - это уже вопрос другой
Дипломные проект без руководителя и знаний по предмету. Интересно Может на самом деле тестовое задание? Или на испытательный срок?


skew

драйвер фильтр на худой конец DLL,
ага. на c#. ха-ха два раза


skew

для предотвращения несанкционированного доступа к файлу нужно использовать шифрование, для предотвращения несанкционированного изменения файла можно использовать электронно-цифровые подписи, они будут гарантировать то, что файл не был изменен.Закрыть доступ к файлу, на уровне приложения, драйвера, ядра это всё херня, даже ACL не дает ни какой защиты, если злоумышленник работает с файлом на уровне драйвера или ядра, ему просто срать, файл можно прочитать побайтно с физического диска и ни каких ФС и ОС вас не остановят.Шифрование и подписывание файлов, можно даже использовать блок чейн при каждом изменении файла


skew

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


skew

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


skew

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


skew

buser,всё это пустой звук не гарантирующий, что доступ не будет получен. Можно загрузить другую ОС, можно загрузить другой набор драйверов, можно выгрузить драйвер и прочее. Шифрования надежнее в любом случае


skew

Roman Mejtes, см. постановку... сосать можно без дебуг привелегий и доступа к железу... у любой такой задачи есть граничные условия... задачи на разработку аппаратной части не стоит, как я понимаю.


skew

https://ru.wikipedia.org/wiki/Предотвращение_утечек_информацииБрать документацию по ним и читать про функциональность.


skew

Так выкладывайте сюда его код
Была бы идея, код написать нетрудно. Вон, антивирусы всякие тоже следят за своими файлами