sans top 20 security vulnerabilities software applications
Научите и разумејте САНС-ових 20 критичних безбедносних рањивости у софтверским апликацијама са примерима у овом упутству:
Реч БЕЗ није само обична речничка реч, већ представља СисАдмин , Ревизија , Мрежа , и Сигурност .
У овом упутству научићемо о САНС-ових 20 главних безбедносних слабости које можемо пронаћи у софтверским програмима и шта можемо учинити да их ублажимо.
Шта ћете научити:
- Утицај САН-а на заједницу сајбер безбедности
- Списак САНС-ових 20 главних критичних пропуста у софтверу
- # 1) ЦВЕ-119: Грешка меморије ме успремника
- # 2) ЦВЕ-79: Цросс-сите Сцриптинг
- # 3) ЦВЕ-20: Невалидисана грешка при уносу
- # 4) ЦВЕ-200: Грешка излагања осетљивим информацијама
- # 5) ЦВЕ-125: Грешка читања изван граница
- # 6) ЦВЕ-89: СКЛ убризгавање
- # 7) ЦВЕ-416: Претходно ослобођена меморија
- # 8) ЦВЕ-190: Целобројна грешка при преливању
- # 9) ЦВЕ-352: Фалсификовање захтева за више локација
- # 10) ЦВЕ-22: Прелазак директорија
- # 11) ЦВЕ-78: Ињецтион Цомманд ОС
- # 12) ЦВЕ-787: Грешка при писању изван граница
- # 13) ЦВЕ-287: Грешка у неправилној аутентификацији
- # 14) ЦВЕ-476: Одреференцирање НУЛЛ показивача
- # 15) ЦВЕ-732: Нетачно додељивање дозволе
- # 16) ЦВЕ-434: Неограничено слање датотека
- # 17) ЦВЕ-611: Изложеност информацијама кроз КСМЛ ентитете
- # 18) ЦВЕ-94: Ињекција кода
- # 19) ЦВЕ-798: Тврдо кодирани приступни кључ
- # 20) ЦВЕ-400: Неконтролисана потрошња ресурса
- Често постављана питања
- Закључак
Утицај САН-а на заједницу сајбер безбедности
Према БЕЗ , БЕЗ Институт је основан као истраживачка и образовна организација. Његови разни безбедносни програми су веома свеобухватни и имају позитиван ефекат на преко 165.000 стручњака за безбедност широм света.
С правом можемо рећи да их оваква врста покривености која долази од САНС-а и друге позитивне оцене које добијају чине најпоузданијом и убедљиво највећом организацијом за информатичку обуку и разне безбедносне сертификате на свету.
Овај чланак ће се фокусирати на САНС топ 20 грешака које ваш софтвер могу учинити рањивим на нападе и неке безбедносне контроле које можете применити да бисте ублажили ове грешке. Иако можемо пронаћи више од 20, али разговараћемо о првих 20 рањивости.
Списак САНС-ових 20 главних критичних пропуста у софтверу
- ЦВЕ-119 : Грешка меморије ме успремника
- ЦВЕ-79 : Цросс-сите Сцриптинг
- ЦВЕ-20 : Невалидисана грешка при уносу
- ЦВЕ-200 : Грешка излагања осетљивим информацијама
- ЦВЕ-125 : Грешка читања изван граница
- ЦВЕ-89 : СКЛ Ињецтион
- ЦВЕ-416 : Грешка слободне меморије
- ЦВЕ-190 : Целобројна грешка преливања
- ЦВЕ-352 : Кривотворење захтева за више локација
- ЦВЕ-22 : Прелазак директорија
- ЦВЕ-78 : Ињецтион наредбе ОС
- ЦВЕ-787 : Грешка при писању изван граница
- ЦВЕ-287 : Грешка у неправилној аутентификацији
- ЦВЕ-476 : Преусмеравање НУЛЛ показивача
- ЦВЕ-732 : Нетачно додељивање дозволе
- ЦВЕ-434 : Неограничено слање датотека
- ЦВЕ-611 : Изложеност информација кроз КСМЛ ентитете
- ЦВЕ-94 : Ињекција кода
- ЦВЕ-798 : Тврдо кодирани приступни кључ
- ЦВЕ-400 : Неконтролисана потрошња ресурса
Шта значи појам ЦВЕ?
Тхе Уобичајено набрајање слабости (ЦВЕ) је листа софтверских и хардверских рањивости прихваћена у заједници са идентификационим кодом који се додељује за сваку слабост. Циљ је идентификовати различите недостатке у софтверу и хардверу како би се могле отклонити и ублажити све те недостатке.
# 1) ЦВЕ-119: Грешка меморије ме успремника
Ова мана се обично уводи током фаза архитектуре и дизајна, имплементације и рада СДЛЦ-а.
До овог преливања бафера долази када процес апликације покуша да ускладишти више података него што може да прими у меморију. Будући да међуспремници могу да чувају само неки ниво података и када је тај ниво достигнут и премашен, подаци се преливају на другу меморијску локацију која може оштетити податке који су већ садржани у том баферу.
Овај инцидент се понекад догоди случајно због неке програмске грешке, али накнадни ефекат може бити катастрофалан, јер то може избрисати податке, украсти поверљиве информације, па чак и цела апликација може пасти због преливања бафера.
ка или ба што је боље
Пример у наставку приказује бафер додељен меморијом од 8 бајта. Али, премашио је 2 бајта због више података који су послати на извршење.
(слика извор )
# 2) ЦВЕ-79: Цросс-сите Сцриптинг
Цросс-сите Сцриптинг (КССС) је напад ињекцијом који се обично дешава када злонамерни глумац или нападач убризга злонамерну или штетну скрипту у веб апликацију која се може извршити путем веб прегледача. Једном када се злонамерна скрипта нађе у компромитованом систему, може се користити за обављање различитих злонамерних активности.
Неке од злонамерних активности могу бити у облику преноса приватних података попут колачића који садрже информације о сесији са рачуна жртве на рачунар нападача.
Појава скриптирања на више локација:
- Када се невалидисани и неповерени подаци унесу у веб апликацију путем захтева за веб образац.
- Када веб апликација тренутно изда веб страницу која садржи ове злонамерне податке.
- Током процеса генерисања странице, софтвер не успева да се потврди према подацима који садрже садржај који веб претраживач може да изврши, попут ХТМЛ-а и ЈаваСцрипт-а.
- Жртва несвесно посећује страницу која је генерисана путем веб прегледача, у којој се налази злонамерна скрипта која је убачена употребом непоузданих података.
- Злонамерна скрипта долази са странице коју је послао веб сервер нападача, а угрожени системски прегледач затим наставља да обрађује злонамерну скрипту.
- Ова радња крши смернице веб прегледача о истом пореклу, која предвиђа да скрипте које долазе са једног домена не би требало да имају приступ ресурсима или извршавају код на другом другом домену, осим у свом домену.
(слика извор )
# 3) ЦВЕ-20: Невалидисана грешка при уносу
Апликација прима улаз, али не успева да потврди улаз, да ли има све потребне детаље потребне да би био прихваћен у систем за обраду.
Када постоји санација улаза, ово се може користити за проверу потенцијално опасних улаза како би се осигурало да су улази безбедни за обраду са изворним кодом или када је то улаз потребан за комуникацију са другим компонентама.
Када такви улази нису правилно санирани или потврђени, тада ће то отворити пут нападачу да пошаље злонамерни унос који ће главна апликација великодушно обрадити, а то ће довести до промена у протоку контроле, произвољне контроле ресурса или произвољног кода извршење.
Слике испод показују да добра апликација не би требало да прихвати скрипту или наредбу као улаз. Ако такви уноси нису правилно санирани, апликација ће их обрадити мислећи да је то ваљани захтев.
(слика извор )
# 4) ЦВЕ-200: Грешка излагања осетљивим информацијама
То се догађа када апликација свесно и несвесно излаже поверљиве и осетљиве информације нападачу који нема овлашћење за приступ тим информацијама.
Различите грешке доводе до тога да ове информације буду изложене нападачу. Озбиљност ове грешке варира у зависности од контекста у којем апликација ради, врсте осетљивих информација које се откривају и онога што актер може добити од изложених информација.
Испод су неке осетљиве информације које би могле бити изложене:
- Лични подаци као што су личне поруке, финансијски подаци, подаци о здравственом стању, географски положај или детаљи за контакт
- Детаљи о конфигурацији система и окружење, на пример, оперативни систем и инсталирани пакети
- Пословна евиденција и интелектуална својина
- Детаљи мрежне конфигурације
- Интерно стање апликације
- Метаподаци попут заглавља порука
Понекад у нашим апликацијама или на веб локацијама могу постојати техничке сврабе попут грешке у повезивању базе података, грешке при раду и мрежне грешке.
Ако се са таквим грешкама не поступа правилно током развоја, тј. Када апликација приказује поруку о грешци, могла би да јавности прикаже информације које би нападач могао да користи у злонамерне сврхе као што је слика испод.
# 5) ЦВЕ-125: Грешка читања изван граница
То се обично дешава када апликација чита податке преко нормалног нивоа, било до краја или пре почетка бафера. Ово нападачу даје непривилеговани приступ за читање осетљивих информација са других меморијских локација, што такође може довести до пада система или апликације.
Пад ће се сигурно догодити када код чита податке и мисли да постоји индикатор који зауставља операцију читања попут НУЛЛ-а који се примењује на низ
У следећем коду функција преузима вредност са локације индекса низа, што је заузврат улазни параметар функције.
(слика извор )
Из горњег кода видимо да функција проверава да ли је дати индекс ниже мањи од максималне дужине низа, али не успева да потврди минималну вредност.
Ова невалидација ће довести до прихватања негативне вредности као индекса улазног низа, узрокујући читање ван граница, што заузврат даје приступ осетљивој меморији.
Потребно је верификовати индекс улазног низа ако је унутар максималног и минималног опсега потребног за низ.
Ако сада проверите доњи пример, видећете да изјаву ИФ треба модификовати тако да укључује проверу минималног опсега.
# 6) ЦВЕ-89: СКЛ убризгавање
СКЛ ињекција је облик сигурносне рањивости при чему нападач убризгава код структурираног упита језика (СКЛ) у поље за унос Вебформ-а како би добио приступ ресурсима или променио податке којима није одобрен приступ.
Ова рањивост се може увести у апликацију током фаза дизајнирања, имплементације и рада.
Оно што овај СКЛ упит ради је да неовлашћено затражи од базе података неке информације. У нормалној операцији уноса, веб образац се користи за аутентификацију корисника. Када корисник унесе своје име и лозинку у оквире за текст, ове вредности се убацују у упит СЕЛЕЦТ.
Ако су улазне вредности тачне, кориснику се додељује приступ апликацији или захтеву, али ако су вредности нетачне, приступ ће бити одбијен.
Неки веб обрасци данас немају успостављене механизме за блокирање злонамерног уноса, а нападач може да их користи за слање злонамерних захтева у базу података. Овај појединачни захтев може им одобрити приступ целој бази података која може садржати осетљиве информације.
# 7) ЦВЕ-416: Претходно ослобођена меморија
Овај проблем је узрокован референцирањем меморије након што је објављена, што може озбиљно довести до пада програма. Када користите претходно ослобођену меморију, то може имати негативне последице, попут оштећења важећих података, произвољног извршавања кода, што зависи од времена неисправности.
Два честа узрока су:
- Услови грешке у софтверу и у неким другим изузетним случајевима.
- Нема објашњења који је део програма проузроковао слободну меморију.
У овом случају, меморија се додељује другом показивачу одмах након што се ослободи. Претходни показивач на ослобођену меморију се поново користи и сада указује на негде око нове алокације. Док се подаци промене, то може оштетити кориштену меморију и учинити да се апликација понаша на недефинисан начин.
# 8) ЦВЕ-190: Целобројна грешка при преливању
Када апликација обради прорачун и постоји логична претпоставка да ће резултујућа вредност бити већа од тачне вредности, дешава се преливање целог броја. Овде се целобројна вредност повећава на вредност која се не може сачувати на локацији.
Када се то догоди, вредност ће се превити у врло малу или негативну вредност. Ако се очекује умотавање, онда је то у реду, али може доћи до безбедносних последица ако је премотавање неочекивано. Када се догоди овај сценарио, могао би се назвати критичним, јер се резултат користи за управљање петљама, сигурносне одлуке, алокацију меморије и још много тога.
Ова слабост ће генерално довести до несталног понашања и може довести до пада. Ако је вредност за податке важна него за проток, тада може доћи до једноставног оштећења података. Али ако омотавање доведе до додатних услова као што је преливање међуспремника, тада се може догодити оштећење меморије.
Овај проблем може покренути преливање међуспремника, што нападач може користити за извршавање произвољног кода. Ова целобројна грешка преливања се обично уноси у систем током фаза дизајнирања и примене СДЛЦ-а.
# 9) ЦВЕ-352: Фалсификовање захтева за више локација
То је када веб апликација не верификује у довољној мери ХТТП захтев, без обзира да ли је захтев заправо стизао од правог корисника или не. Веб сервери су дизајнирани да прихвате све захтеве и одговоре на њих.
Претпоставимо да клијент пошаље неколико ХТТП захтева у току једне или неколико сесија. Веб-серверу је веома тешко да зна да ли су сви захтеви били аутентични или не, и обично се обрађује. Нападач може на свој начин приморати клијента да посети посебно направљену веб страницу и сада ће моћи да изврши неке захтеве попут трансфера средстава, промене адресе е-поште и многих других.
Одмах нападач има приступ и моћи ће да украде податке, па чак и да их уништи. Увек могу да задрже свој приступ, а када заврше, могу да угрозе дневник ревизије како би спречили било какву будућу форензичарку која би могла да разоткрије њихов експлоат.
Слика доле приказује нападача који наводи корисника да изврши радње које не намерава да изврши.
# 10) ЦВЕ-22: Прелазак директорија
Прелазак директорија или прелазак путање датотеке је рањивост на веб сигурности која омогућава нападачу да чита произвољне датотеке на серверу који тренутно покреће апликацију.
Те датотеке могу бити код апликације, акредитиви за позадинске системе и датотеке оперативног система. У неком другом сценарију, нападач ће можда моћи писати у ове произвољне датотеке на серверу што би им могло омогућити да модификују податке или понашање апликације, а то ће им дати потпуну контролу над сервером.
(слика извор )
# 11) ЦВЕ-78: Ињецтион Цомманд ОС
Реч је о неправилној санацији посебних елемената која може довести до модификације предвиђене наредбе ОС која се шаље надоле компоненти. Нападач може извршити ове злонамерне наредбе на циљном оперативном систему и може приступити окружењу у којем није требало да чита или мења.
То би увек омогућило нападачу да извршава опасне наредбе директно у оперативном систему.
Кад год се ова рањивост догоди у привилегованом програму, омогућава нападачу да користи наредбе које су дозвољене у окружењу или да позива друге команде са привилегијама које нападач нема, што би могло повећати количину штете која би могла настати.
# 12) ЦВЕ-787: Грешка при писању изван граница
То се дешава када апликација записује податке након краја или прије почетка одређеног бафера.
Када се то догоди, крајњи резултат је обично оштећење података, пад система или апликација. Оно што апликација ради је нека врста аритметике показивача која се користи за референцирање меморијске локације изван граница међуспремника.
# 13) ЦВЕ-287: Грешка у неправилној аутентификацији
То је случај када нападач тврди да има важећи идентитет, али софтвер није успео да верификује или докаже да је тврдња тачна.
Софтвер погрешно валидира корисничке податке за пријаву и као резултат тога, нападач може стећи одређене привилегије у апликацији или открити осетљиве информације које им омогућавају приступ осетљивим подацима и извршавање произвољног кода.
# 14) ЦВЕ-476: Одреференцирање НУЛЛ показивача
Преусмјеравање нулл показивача је када апликација дереференцира показивач који је требао вратити ваљани резултат, умјесто тога враћа НУЛЛ и то доводи до пада. Одреференцирање нулл показивача може се догодити због многих недостатака попут услова расе и неке програмске грешке.
Процеси који се изводе помоћу показивача НУЛЛ обично доводе до неуспеха, а могућност извођења процеса је врло мала. Ово помаже нападачима у извршавању злонамерног кода.
(слика извор )
# 15) ЦВЕ-732: Нетачно додељивање дозволе
Ова рањивост се дешава када апликација додељује дозволе веома важном и критичном ресурсу на такав начин да је злонамерни корисник изложио ресурсу приступ.
Када многим људима дате дозволу за ресурс, то може довести до тога да нападач изложи или измени осетљиве информације. Ако не постоје провере против оваквог приступа додељивању дозвола ресурсима, то може довести до врло катастрофалног краја ако конфигурација програма или неки осетљиви подаци дођу у погрешну руку.
како извршити ддос напад
# 16) ЦВЕ-434: Неограничено слање датотека
Ова рањивост се јавља када апликација не потврди типове датотека пре отпремања датотека у апликацију. Ова рањивост је независна од језика, али се обично јавља у апликацијама написаним на АСП и ПХП језику.
Опасна врста датотеке је датотека која се може аутоматски обрадити у апликацијском окружењу.
Следећи програм приказује отпремање ПХП датотеке. Тип датотеке није верификован и потврђен пре отпремања у директоријуму веброот. Као резултат ове слабости, нападач може отпремити произвољну ПХП датотеку и извршити је директним приступом отпремљеној датотеци.
# 17) ЦВЕ-611: Изложеност информацијама кроз КСМЛ ентитете
Када се КСМЛ документ отпреми у апликацију за обраду и овај документ садржи КСМЛ ентитете са јединственим идентификатором ресурса који се разрешава у други документ на другој локацији која се разликује од предвиђене локације. Ова аномалија може учинити апликацију да у свој излаз приложи нетачне документе.
КСМЛ документи понекад садрже дефиницију типа документа (ДТД), која се користи за дефинисање КСМЛ ентитета и других карактеристика. Кроз ДТД, јединствени идентификатор ресурса може послужити као облик низа замене. Оно што ће КСМЛ парсер учинити је приступити ономе што је садржано у јединственом идентификатору ресурса и увести тај садржај назад у КСМЛ документ за извршење.
(слика извор )
# 18) ЦВЕ-94: Ињекција кода
Постојање синтаксе кода у корисниковим подацима повећава могућност нападача да промени планирано понашање управљања и изврши произвољан код. Ова рањивост се назива „слабостима убризгавања“ и та слабост може учинити да контрола података постане контролисана од стране корисника.
Ова рањивост приказује сценариј у којем софтвер допушта неповерене податке у код и не врши проверу посебних знакова који могу негативно утицати на понашање сегмента кода и синтаксу.
Укратко, нападач би могао да убризга неку врсту произвољног кода и изврши их унутар апликације. Следећи ПХП код показује употребу функције евал () у непоузданим подацима. У доњем коду нападач може да пренесе у код произвољни код параметра „парам“ који ће се затим извршити у софтверу.
Следећи пример објашњава позив на пхпинфо () функцију. Ова рањивост се може даље искористити за извршавање произвољних ОС наредби на циљном софтверу путем позива систем ().
# 19) ЦВЕ-798: Тврдо кодирани приступни кључ
То је случај када се лозинка и приступни кључ тешко кодирају у апликацију директно ради долазне аутентификације и одлазне комуникације са неким спољним компонентама и за шифровање интерних података. Тврдо кодирани детаљи за пријаву обично узрокују рањивост која нападачу отвара пут за заобилажење потврде идентитета коју је конфигурисао администратор софтвера.
Администратору система ће увек бити тешко да открије ову рањивост и поправи је.
Постоје два главна тока ове слабости:
- Долазно : Апликација садржи систем за потврду идентитета који потврђује улазне акредитиве према тврдо кодираним детаљима.
- Одлазни : Апликација се повезује са другим системом и детаљи за повезивање са другим системом су кодирани у систем.
У улазном току увек постоји подразумевани администраторски налог који се креира, а акредитиви за његов приступ биће тешко кодирани у апликацију и повезани са тим подразумеваним администраторским налогом.
Тврдо кодирани детаљи су обично иста ствар при свакој инсталацији апликације и ово нико не може променити или онемогућити. Чак и системски администратори немају право, осим што могу ручно да модификују апликацију. Ако се лозинка икада открије јавности, нападач може имати приступ целој апликацији и може њоме манипулисати у сопствену корист.
Будући да све инсталације апликације имају исту лозинку, чак и када су инсталиране у одвојеним организацијама, то може проузроковати врло масовне нападе преко свих граница организације, на пример, убризгавањем црва у апликацију који ће се ширити около.
Одлазни ток односи се само на предње системе који се аутентификују помоћу позадинске услуге. Позадинска услуга може захтевати хард-код или фиксну лозинку која се лако може открити. Оно што програмер ради је једноставно да кодира те позадинске акредитиве у фронт-енд софтвер. Било који корисник те апликације можда ће моћи да извуче лозинку.
Било који софтвер на страни клијента у који су лозинка и приступни кључ чврсто кодирани обично представља већу опасност од оних који нису тешко кодирани, јер је извлачење лозинке из бинарног система обично врло лако постићи.
# 20) ЦВЕ-400: Неконтролисана потрошња ресурса
Ова рањивост се дешава када апликација не контролише правилно додељивање и одржавање ограниченог ресурса, што омогућава нападачу да може да утиче на количину потрошених ресурса, што ће на крају довести до исцрпљења доступних ресурса.
Дио ограничених ресурса укључује меморију, меморију система датотека, уносе у спремиште базе података и ЦПУ.
Претпоставимо да нападач може да покрене расподелу ових ограничених ресурса и да се не контролише број или величина ресурса, тада би нападач могао да изазове хаос ускраћивањем услуге која троши све расположиве ресурсе.
Када се то догоди, спречило би важеће кориснике да приступе апликацији, што ће увек имати негативан утицај на животну средину. На пример, када меморија апликације пролази кроз напад исцрпљености, то би могло успорити читаву апликацију, као и оперативни систем хоста.
Три различита случаја која могу довести до исцрпљивања ресурса су:
- Недостатак смањења броја додељених ресурса
- Изгубити све референце на ресурс пре достизања фазе гашења
- Неуспешно затварање / враћање ресурса након обраде
Питање исцрпљивања ресурса обично је резултат нетачне примене следећих сценарија:
- Услови грешке и друге изузетне околности.
- Мешовита је реакција око тога који део програма ослобађа ресурс.
Следећи пример помаже да се прикаже природа ове рањивости и опишу методе које се могу користити за ублажавање ризика.
Следећи пример објашњава рањивост:
како приступити апк датотекама на андроид-у
(слика извор )
Овај програм не прати колико је веза успостављено и не ограничава број доступних веза. Форкинг је само један од начина на који нападач узрокује да систем изгуби ЦПУ, процесе или меморију успостављањем великог броја веза.
Оно што нападач ради је да троши све доступне везе, спречавајући друге да даљински приступе систему.
Често постављана питања
П # 1) Шта значи САНС?
Одговор: САНС је скраћеница од СисАдмин, Аудит, Нетворк и Сецурити.
П # 2) Наведите неке примере рањивости.
Одговор: Примери су следећи:
- Софтверске рањивости
- Рањивости заштитног зида
- Мрежне рањивости
- Рањивости оперативног система
- Рањивости веб сервера
- Рањивости базе података
П # 3) Која је разлика између претњи и рањивости?
Одговор: Претња је могућност извршења злонамерног или нежељеног поступка у покушају оштећења рачунарског система или апликације путем постојећих пропуста у систему. Пример: рансомваре.
Рањивости су слабости које постоје у систему које су могле да дозволе нежељени или неовлашћени приступ нападачу да се инфилтрира у организацију. Пример: Погрешна конфигурација заштитног зида.
П # 4) Које су најчешће рањивости?
Одговор: Ово су следећи:
- СКЛ Ињецтион
- Цросс-Сите Сцриптинг
- Погрешна конфигурација безбедности
- Изложеност осетљивим подацима
- Брокен Аутхентицатион
- Управљање сесијама
Закључак
Ова листа САНС-ових топ 20 рањивости није правило или смерница, већ водич који ће нам помоћи како да избегнемо софтверске рањивости. Без обзира да ли смо програмер или стручњак за безбедност, сада је препуштено нама да следимо овај водич о томе шта се може учинити како би се избегла било каква грешка која би могла довести до рањивости у нашој апликацији која глумцу може створити заклон за извршење злонамерног дела.
Препоручено читање
- Испитивање сигурности (Комплетан водич)
- Ацунетик Веб Вулнерабилити Сцаннер (ВВС) Алат за тестирање безбедности (Практични преглед)
- Водич за процену и управљање рањивошћу мреже
- 10 најмоћнијих алата за скенирање процене рањивости 2021
- Процена рањивости и разлика у испитивању пенетрације
- Јенкинс Сецурити: Омогућавање матрице безбедности и безбедности пројекта
- 4 најбоље грешке у цибер безбедности које треба избегавати током тестирања софтвера
- 10 НАЈБОЉИХ софтвера за мрежну сигурност (2021 САМО СЕЛЕКТИВНО)