link6248 link6249 link6250 link6251 link6252 link6253 link6254 link6255 link6256 link6257 link6258 link6259 link6260 link6261 link6262 link6263 link6264 link6265 link6266 link6267 link6268 link6269 link6270 link6271 link6272 link6273 link6274 link6275 link6276 link6277 link6278 link6279 link6280 link6281 link6282 link6283 link6284 link6285 link6286 link6287 link6288 link6289 link6290 link6291 link6292 link6293 link6294 link6295 link6296 link6297 link6298 link6299 link6300 link6301 link6302 link6303 link6304 link6305 link6306 link6307 link6308 link6309 link6310 link6311 link6312 link6313 link6314 link6315 link6316 link6317 link6318 link6319 link6320 link6321 link6322 link6323 link6324 link6325 link6326 link6327 link6328 link6329 link6330 link6331 link6332 link6333 link6334 link6335 link6336 link6337 link6338 link6339 link6340 link6341 link6342 link6343 link6344 link6345 link6346 link6347 link6348 link6349 link6350 link6351 link6352 link6353 link6354 link6355 link6356 link6357 link6358 link6359 link6360 link6361 link6362 link6363 link6364 link6365 link6366 link6367 link6368 link6369 link6370 link6371 link6372 link6373 link6374 link6375 link6376 link6377 link6378 link6379 link6380 link6381 link6382 link6383 link6384 link6385 link6386 link6387 link6388 link6389

Форум — Ответы     (  К темам )
 ?  Fantom: Алгоритмы — защиты целостности файла? (17-04-2003 12:53:17)
Уважаемые коллеги!
Значит нужны идеи по следующей теме:
Необходимо защитить файл (например, обычный текстовый) от изменения пользователем! Т.е. при определенных условиях я должен знать — лазил ли кто нить в него руками и не менял ли чего?
Можно выставлять контрольную сумму файла, писать ее в реестр, считывать и работать... но тут сразу много вопросо, каким алгоритмом подсчитать эту контрольную сумму (с учетом того, что в файл мона зайти и поменять один символ на другой ну и т.д.), и где и как ее хранить, дабы никто не мог до нее добраться?
Если кто работал по данной теме — киньте идею плиз.

Заранне благодарен за помощь!
 Alexander (17-04-2003 16:22:00)
Где ее хранить — это сам думай. у юзера правов столько же, сколько у тебя, он может сохранить реестр и сравнить потом изменения, так что найдет :)
А считать сумму — обычная циклическая сумма, например 4-байтное число s, берешь из файла по 4 байта b (если в конце остается меньше — добиваешь справа нулями) и пока файл не кончился s += b;
Можешь добавить какой-нибудь сдвиг:
for (i=0;...
s += (b << (i % 24)) ;

где под << я подразумеваю циклический побитный сдвиг.
 Георгий (18-04-2003 12:39:20)
для оценки алгоритмов зашиты необходимо определиться с категорией пользователей, от которых хочется защититься:
1. глупые (никого не хочу обидеть, но это типа домохозяек)
2. не опытные (это когда есть "учебный" или "компьютер для бухгалтерии и интернета")
3. нормальные (обычно могут переустановить ОС и поставить драйвера для железок, подробности функционирования железа и ПО не знают, но знают где и что надо нажать, чтоб получить нечто вроде желаемого результата)
4. опытные (знают что такое файл, реестр, процессор, но в програмировании не понимают)
5. "очень" опытные (они же кулхацкеры) — аналог 4, но обладают большим кол-вом свободного времени и энтузиазмом — потенциально опасны
6. нормальные специалисты — способны отслеживать изменения в системе и делать на основе этого выводы, опасны, но только в том случае если этого будут требовать обстоятельства
7. "программисты" — сами пишут программы и системы защиты — как ни странно опасность низкая — понимают, что если "взломом" зашиты они другого программиста оставят без денег, то сами могут очутиться в аналогичной ситуации
8. "хакеры" — аналог "программистов", но практически лишены моральных устаев — за $$$$ способны разобраться со многими программами, а за $$$$$ или $$$$$$ практически любая защита падёт перед ними
9. "специалисты" — наше управление "Р", работники банков, специализирующиеся на системах защиты информации, разработчики антивирусов — все способны проанализировать практически любую программу, даже аппаратные ключи не спасают от них — защита одна — не попасть в область их интересов. практически не хулиганят благодаря высокой оплате рабочего времени.

и так от кого будем защищаться?
 Fantom (18-04-2003 13:28:35)
Берем по максимуму!
А что полностью защитится нельзя ну эт понятно :)
 Георгий (18-04-2003 15:14:01)
1. использую обычное шифрование
2. использую цифровую подпись — в конец текстового файла пиши число явл. функцией от содержимого файла, тогда при изменения файла не твоей программой функция не совпадёт. едснственная сложность подобрать функцию с хорошим разбросом значений