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 секунди. Голяма загуба на време…

  2. Това му е хубавото на интернета – ако искаш гледаш, ако искаш не гледаш.

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

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


*