ОВАСП или Опен Веб Сецурити Пројецт је непрофитна добротворна организација усредсређена на побољшање сигурности софтвера и веб апликација.
Организација објављује листу главних рањивости веб заштите на основу података различитих безбедносних организација.
Рањивости веб безбедности имају приоритет у зависности од искористивости, детективности и утицаја на софтвер.
- Експлоатабилност -
Шта је потребно за искоришћавање сигурносне рањивости? Највећа искористивост када је за напад потребан само веб прегледач, а најмања напредни програми и алати.
- Откривост -
Колико је лако открити претњу? Највише су информације приказане на УРЛ-у, обрасцу или поруци о грешци, а најмање изворни код.
- Утицај или штета -
Колика ће бити штета ако се сигурносна рањивост изложи или нападне? Највећи је потпуни пад система, а најнижи је уопште ништа.
Главни циљ ОВАСП Топ 10 је да едукује програмере, дизајнере, менаџере, архитекте и организације о најважнијим безбедносним рањивостима.
Топ 10 безбедносних пропуста према ОВАСП Топ 10 су:
- СКЛ Ињецтион
- Цросс Сите Сцриптинг
- Прекинута аутентификација и управљање сесијама
- Небезбедне референце директних објеката
- Кривотворење захтева за више локација
- Погрешна конфигурација безбедности
- Несигурно криптографско складиште
- Није ограничен приступ УРЛ-у
- Недовољна заштита транспортног слоја
- Неоснована преусмеравања и прослеђивања
СКЛ Ињецтион
Опис
Ињецтион је сигурносна рањивост која омогућава нападачу да мијења позадинске СКЛ изразе манипулишући подацима које је доставио корисник.
До убризгавања долази када се кориснички унос пошаље тумачу као део наредбе или упита и превари тумача да извршава ненамерне наредбе и даје приступ неовлашћеним подацима.
СКЛ наредба која када се извршава путем веб апликације такође може изложити позадинску базу података.
Импликација
- Нападач може убризгати злонамерни садржај у рањива поља.
- Осетљиви подаци попут корисничких имена, лозинки итд. Могу се читати из базе података.
- Подаци базе података могу се мењати (Уметни / Ажурирај / Избриши).
- Администраторске операције могу се извршити на бази података
Рањиви објекти
- Поља за унос
- УРЛ адресе у интеракцији са базом података.
Примери:
- СКЛ убризгавање на страницу за пријаву
Пријављивање у апликацију без ваљаних акредитива.
Доступно је важеће корисничко име, а лозинка није доступна.
УРЛ за тестирање: хттп : //демо.тестфире.нет/дефаулт.аспк
Корисничко име: сјонес
Лозинка: 1 = 1 'или пасс123
СКЛ упит креиран и послат Интерпретеру као на доле
СЕЛЕЦТ * ФРОМ Усерс ВХЕРЕ Усер_Наме = сјонес АНД Пассворд = 1 = 1 'или пасс123;
Препоруке
- Бела листа уноса поља за унос
- Избегавајте приказивање детаљних порука о грешкама које су корисне нападачу.
Цросс Сите Сцриптинг
Опис
Цросс Сите Сцриптинг је такође кратко познат и као КССС.
КССС рањивости циљају скрипте уграђене у страницу које се извршавају на клијентској страни, односно корисничком прегледачу, а не на серверској страни. До ових грешака може доћи када апликација узима неповерене податке и шаље их веб прегледачу без одговарајуће провере ваљаности.
Нападачи могу да користе КССС за извршавање злонамерних скрипти на корисницима у овом случају прегледачима жртава. Будући да прегледач не може знати да ли је скрипта поуздана или не, скрипта ће се извршити и нападач може да отме колачиће сесије, упропасти веб локације или преусмери корисника на нежељене и злонамерне веб локације.
КССС је напад који нападачу омогућава извршавање скрипти на жртвином прегледачу.
Импликација:
- Користећи ову сигурносну рањивост, нападач може убризгати скрипте у апликацију, може украсти колачиће сесије, покварити веб локације и покренути малвер на жртвиним машинама.
Рањиви објекти
- Поља за унос
- УРЛ адресе
Примери
1. хттп: //ввв.вулнераблесите.цом/хоме?"< сцрипт > алерт(" ксс") сцрипт >
Горња скрипта када се покрене у прегледачу, приказаће се оквир са поруком ако је локација осетљива на КССС.
Озбиљнији напад се може извршити ако нападач жели да прикаже или ускладишти колачић сесије.
2. хттп://демо.тестфире.нет/сеарцх.аспк ? тктСеарцх <ифраме > <срц = хттп://гоогле.цом видтх = 500 хеигхт 500> ифраме>
Горња скрипта када се покрене, прегледач ће учитати невидљиви оквир који показује на хттп://гоогле.цом .
Напад се може учинити озбиљним покретањем злонамерне скрипте у прегледачу.
Препоруке
- Поља за унос на белој листи
- Улазно излазно кодирање
Прекинута аутентификација и управљање сесијама
Опис
Веб локације обично креирају колачић сесије и ИД сесије за сваку важећу сесију, а ови колачићи садрже осетљиве податке попут корисничког имена, лозинке итд. Када се сесија заврши одјавом или нагло затвори прегледач, ови колачићи би требало да буду неважећи, тј. За сваку сесију требало би да постоји нови колачић.
Ако колачићи нису неваљани, осетљиви подаци ће постојати у систему. На пример, корисник који користи јавни рачунар (Цибер Цафе), колачићи осетљиве веб локације седе на систему и изложени су нападачу. Нападач користи исти јавни рачунар након неког времена, осетљиви подаци су угрожени.
На исти начин, корисник који користи јавни рачунар, уместо да се одјави, нагло затвара прегледач. Нападач користи исти систем, када претражује исту рањиву локацију, отвориће се претходна сесија жртве. Нападач може учинити све што жели од крађе података о профилу, података о кредитној картици итд.
Требало би проверити како би се утврдила снага аутентификације и управљања сесијама. Кључеви, токени сесија, колачићи треба правилно применити без угрожавања лозинки.
Рањиви објекти
- ИД-ови сесија изложени на УРЛ-у могу довести до напада фиксације сесије.
- ИД-ови сесија су исти пре и после одјаве и пријаве.
- Временска ограничења сесије нису правилно примењена.
- Апликација додељује исти ИД сесије за сваку нову сесију.
- Аутентификовани делови апликације заштићени су ССЛ-ом, а лозинке се чувају у хешираном или шифрованом формату.
- Ниско привилеговани корисник може поново користити сесију.
Импликација
- Користећи ову рањивост, нападач може да отме сесију, стекне неовлашћен приступ систему који омогућава откривање и модификовање неовлашћених информација.
- Сесије се могу високо подићи користећи украдене колачиће или сесије користећи КССС.
Примери
- Апликација за резервацију авио-компанија подржава преписивање УРЛ адреса, стављајући ИД-ове сесија у УРЛ:
хттп://Екамплес.цом/сале/салеитемс;јсессионид=2П0ОЦ2оЈМ0ДПКССНКПЛМЕ34СЕРТБГ/дест =Малдиви (Продаја карата за Малдиве)
Потврђени корисник странице жели да обавести своје пријатеље о продаји и пошаље им е-поруку. Пријатељи добијају ИД сесије и могу се користити за неовлашћене измене или злоупотребу сачуваних података о кредитној картици.
- Апликација је рањива на КССС, којим нападач може приступити ИД-у сесије и може се користити за отмицу сесије.
- Временска ограничења за апликације нису правилно постављена. Корисник користи јавни рачунар и затвара прегледач уместо да се одјави и оде. Нападач користи исти прегледач нешто касније и сесија је потврђена.
Препоруке
- Сви захтеви за потврду идентитета и управљање сесијама треба да буду дефинисани према ОВАСП стандарду за безбедност апликација.
- Никада не излажите никакве акредитиве у УРЛ-овима или евиденцијама.
- Такође треба уложити снажне напоре како би се избегле КССС мане које се могу користити за крађу ИД-ова сесија.
Небезбедне референце директних објеката
Опис
Појављује се када програмер изложи референцу на интерни објекат имплементације, као што је датотека, директоријум или кључ базе података, у УРЛ-у или као параметар ФОРМ. Нападач може користити ове информације за приступ другим објектима и може створити будући напад за приступ неовлашћеним подацима.
Импликација
- Користећи ову рањивост, нападач може добити приступ неовлашћеним унутрашњим објектима, може изменити податке или угрозити апликацију.
Рањиви објекти
- У УРЛ-у.
Примери:
Промена „корисничког броја“ у следећем УРЛ-у може учинити нападача да прегледа информације других корисника.
хттп: //ввв.вулнераблесите.цом/усерид=123 Измењено у хттп://ввв.вулнераблесите.цом/усерид=124
Нападач може прегледати друге информације променом вредности корисничког ИД-а.
Препоруке:
- Спровести провере контроле приступа.
- Избегавајте излагање референци на објекте у УРЛ-овима.
- Потврдите овлашћење за све референтне објекте.
Кривотворење захтева за више локација
Опис
Кривотворење захтева за више локација је фалсификовани захтев са више локација.
ЦСРФ напад је напад који се јавља када злонамерна веб локација, е-пошта или програм доведу до тога да прегледач корисника изврши нежељену радњу на поузданој веб локацији за коју је корисник тренутно потврђен.
ЦСРФ напад присиљава пријављени прегледач жртве да пошаље фалсификовани ХТТП захтев, укључујући колачић сесије жртве и било које друге аутоматски укључене информације за потврду идентитета, рањивој веб апликацији.
Нападач ће жртви послати везу када корисник кликне на УРЛ када се пријави на оригиналну веб локацију, а подаци ће бити украдени са веб локације.
Импликација
- Коришћење ове рањивости као нападача може променити информације о корисничком профилу, променити статус, створити новог корисника у име администратора итд.
Рањиви објекти
- Страница корисничког профила
- Обрасци корисничког налога
- Страница пословне трансакције
Примери
Жртва је пријављена на веб страницу банке користећи важеће акредитиве. Добија пошту од нападача рекавши "Кликните овде да бисте донирали $ 1 за узрок."
Када жртва кликне на њу, створиће се важећи захтев за донирање 1 УСД на одређени рачун.
хттп://ввв.вулваблебанк.цом/трансфер.до?аццоунт=цаусе&амоунт=1
Нападач бележи овај захтев и креира испод захтева и уграђује се у дугме говорећи „Подржавам узрок“.
хттп://ввв.вулваблебанк.цом/трансфер.до?аццоунт=Аттацкер&амоунт=1000
Будући да је сесија потврђена, а захтев долази преко веб странице банке, сервер би нападачу пребацио 1000 долара.
Препорука
- Обавезујте присуство корисника током извођења осетљивих радњи.
- Примените механизме као што су ЦАПТЦХА, поновна потврда идентитета и јединствени токени захтева.
Погрешна конфигурација безбедности
Опис
Конфигурација безбедности мора бити дефинисана и примењена за апликацију, оквире, сервер апликација, веб сервер, сервер базе података и платформу. Ако су правилно конфигурисани, нападач може имати неовлашћен приступ осетљивим подацима или функцијама.
Понекад такве мане резултирају потпуним компромисом система. Ажурирање софтвера такође представља добру сигурност.
Импликација
- Користећи ову рањивост, нападач може набројати основну информацију о технологији и верзији сервера апликација, информацијама о базама података и добити информације о апликацији за покретање још неколико напада.
Рањиви предмети
- УРЛ
- Поља обрасца
- Поља за унос
Примери
- Администраторска конзола сервера апликација се аутоматски инсталира и не уклања. Подразумевани рачуни се не мењају. Нападач се може пријавити са подразумеваним лозинкама и може добити неовлашћени приступ.
- Списак директорија није онемогућен на вашем серверу. Нападач открива и може једноставно навести директоријуме како би пронашао било коју датотеку.
Препоруке
- Јака архитектура апликације која пружа добро раздвајање и сигурност између компонената.
- Промените подразумевана корисничка имена и лозинке.
- Онемогућите спискове директорија и примените провере контроле приступа.
Несигурно криптографско складиште
Опис
Несигурна криптографска меморија је честа рањивост која постоји када се осетљиви подаци не чувају сигурно.
Подаци о кориснику, подаци о профилу, подаци о здрављу, подаци о кредитним картицама итд. Спадају у информације о осетљивим подацима на веб локацији.
Ови подаци ће се чувати у бази података апликација. Када се ови подаци неправилно чувају ако се не користи шифровање или хеширање *, они ће бити рањиви за нападаче.
(* Хасхинг је трансформација знаковних низова у краће низове фиксне дужине или кључа. Да би се дешифровао низ, алгоритам који се користи за формирање кључа требао би бити доступан)
Импликација
- Користећи ову рањивост, нападач може украсти, модификовати такве слабо заштићене податке да би извршио крађу идентитета, превару са кредитном картицом или друга кривична дела.
Рањиви предмети
- База података апликација.
Примери
У једној од банкарских апликација база података лозинки користи неслане хешеве * за чување свих лозинки. Грешка у СКЛ убризгавању омогућава нападачу да преузме датотеку лозинке. Сва неслана хеширања могу се за кратко време форсирати, док би сланим лозинкама требале хиљаде година.
(* Неслано хеширање - сол је случајни податак који се додаје изворним подацима. Сол се додаје лозинци пре хеширања)
Препоруке
- Осигурајте одговарајуће јаке стандардне алгоритме. Не стварајте сопствене криптографске алгоритме. Користите само одобрене јавне алгоритме као што су АЕС, РСА криптографија јавног кључа и СХА-256 итд.
- Уверите се да су резервне копије ван сајта шифроване, али кључевима се управља и праве се резервне копије одвојено.
Није ограничен приступ УРЛ-у
Опис
Веб апликације проверавају права приступа УРЛ-у пре приказивања заштићених веза и дугмади. Апликације морају да изврше сличне провере контроле приступа сваки пут када приступе овим страницама.
У већини апликација повлашћене странице, локације и ресурси не приказују се привилегованим корисницима.
Интелигентном претпоставком нападач може приступити привилегираним страницама. Нападач може приступити осетљивим страницама, позвати функције и прегледати поверљиве информације.
Импликација
- Коришћењем овог нападача рањивости можете добити приступ неовлашћеним УРЛ-овима, без пријављивања у апликацију и искоришћавања рањивости. Нападач може приступити осетљивим страницама, позвати функције и прегледати поверљиве информације.
Рањиви објекти:
- УРЛ адресе
Примери
- Нападач примећује да УРЛ означава улогу као „/ усер / гетаццоунтс.“ Он се мења као „/ админ / гетаццоунтс“.
- Нападач може УРЛ-у додати улогу.
хттп://ввв.вулнераблсите.цом може се изменити као хттп://ввв.вулнераблесите.цом/админ
Препоруке
- Примените јаке провере контроле приступа.
- Политике аутентификације и ауторизације треба да се заснивају на улогама.
- Ограничите приступ нежељеним УРЛ-овима.
Недовољна заштита транспортног слоја
Опис
Бави се разменом информација између корисника (клијента) и сервера (апликације). Апликације често преносе осетљиве информације попут детаља за потврду идентитета, података о кредитним картицама и токена сесија преко мреже.
Коришћењем слабих алгоритама или коришћењем истеклих или неважећих сертификата или не коришћењем ССЛ-а може се омогућити да комуникација буде изложена непоузданим корисницима, што може угрозити веб апликацију или украсти осетљиве информације.
Импликација
- Користећи ову рањивост веб заштите, нападач може њушкати легитимне корисничке акредитиве и добивајући приступ апликацији.
- Може да украде податке о кредитној картици.
Рањиви предмети
- Подаци послати преко мреже.
Препоруке
- Омогућите безбедни ХТТП и примените пренос акредитива само преко ХТТПС-а.
- Уверите се да је ваш сертификат важећи и да није истекао.
Примери:
1. Апликација која не користи ССЛ, нападач ће једноставно надгледати мрежни саобраћај и посматрати аутентични колачић сесије жртве. Нападач може украсти тај колачић и извршити напад "Човјек у средини".
Неоснована преусмеравања и прослеђивања
Опис
Веб апликација користи неколико метода за преусмеравање и прослеђивање корисника на друге странице у предвиђене сврхе.
Ако приликом преусмеравања на друге странице не дође до ваљане провере, нападачи то могу искористити и могу преусмерити жртве на веб локације са пхисхинг-ом или малваре-ом или користити прослеђивање за приступ неовлашћеним страницама.
Импликација
- Нападач може кориснику послати УРЛ који садржи изворни УРЛ додат са кодираним злонамерним УРЛ-ом. Корисник само видјевши изворни дио УРЛ-а који је послао нападач може га прегледати и постати жртва.
Примери
1. хттп: //ввв.вулнераблесите.цом/логин.аспк?редирецтУРЛ =овнсите.цом
Модифиед то
хттп://ввв.вулнераблесите.цом/логин.аспк?редирецтУРЛ=евилсите.цом
Препоруке
- Једноставно избегавајте коришћење преусмеравања и прослеђивања у апликацији. Ако се користе, немојте укључивати употребу корисничких параметара при израчунавању одредишта.
- Ако се параметри одредишта не могу избећи, уверите се да је наведена вредност важећа и одобрена за корисника.
Овај чланак је дао Прасантхи Еати