C, PHP, VB, .NET

Дневникът на Филип Петров


* Forced Browsing – лош контрол над привилегии

Публикувано на 06 декември 2008 в раздел ОСУП.

"Forced Browsing" или още "Forceful Browsing" е атака, която цели достъпване на ресурси, които би трябвало да бъдат защитени. Почти винаги причина за такава атака е лош дизайн на правата на достъп за приложението. Принципът за защита е само един - ако например искаме да автентикираме един потребител и да проверим дали е администратор или не, то ние НЕ трябва да разчитаме на информация подадена от него. Винаги извършвайте проверките на страната на сървъра. Следното видео демонстрира с пример ефекта от лошо управление на правата на достъп:
forceful_browsing video

Както се вижда от видеото Forced Browsing включва в себе си и един друг елемент - сканиране на приложението. Това е изключително труден за предотвратяване проблем. В никакъв случай не разчитайте на това, че атакуващия няма да влезе във вашия административен панел, понеже не знае адреса му!

При създаване на система с привилегии използвайте следните препоръки:

1. Винаги правете проверката на страната на сървъра и не разчитайте на клиента да се "самоавторизира".

2. При преминаване между страници, изискващи различни права на достъп, винаги изисквайте допълнителна автентикация. Не разчитайте на предварително инициализираната сесия (тя може да е фиксирана или открадната).

3. Избягвайте използването на GET заявки, когато става дума за важна информация. Те са значително по-лесни за атака със скенери.

4. Не използвайте тривиални имена на важните файлове и раздели в системата (config.php, /admin, /logs, /system, ...). Затруднете атакуващият колкото се може повече.

5. Въведете защити срещу brute force атаки, като блокирате атакуващите след определен брой заявки. Ще разгледаме такива техники при изследването на един по-тежък проблем - Denial Of Service атаките.

Ясно е, че когато използваме комерсиални приложения, то сканирането не е проблем с който трябва да се борим, защото атакуващият най-вероятно е запознат в детайли със самото приложение още преди да предприеме атака. При системи с отворен код обаче си заслужава поне да промените имената на важни директории, файлове и пътища. По този начин не решавате проблемите (дупките в сигурността остават отворени), но поне ще изолирате системата си от най-елементарните автоматизирани атаки.

 



2 коментара


  1. Абе човек какви са тия детски видеа дето гледаш?! Два часа се размятат някакви кашони напред-назад... нещо което може да се визуализира за 1 секунда се визуализира 15 секунди. Голяма загуба на време...

Добави коментар

Адресът на електронната поща няма да се публикува


*