Пенетрационо тестирање (), познато као пен тестирање или етичко хаковање, представља овлашћени сајбер напад на рачунарске системе и мреже. Циљ пенетрационог тестирања је откривање рањивости (грешака) система које би потенцијални хакери могли искористити у лоше сврхе као што је приступ бази података, крађа лозинки и идентитета и још много горе. Пенетрационим тестирањем се баве људи који се називају „Пенетрациони тестери” (енг. Penetration tester, Pen tester). У данашње време, велики број компанија је окренут пословању путем Интернета и све више и више се користи како међу компанијама и предузећима, тако и међу људима који користе разне услуге. Самим тим се појављују и криминалци који траже нове начине како би на илегалан начин доспели до ствари за које немају дозвољен приступ. То су такозвани хакери. Пенетрациони тестери су генерално хакери, али који се баве легалним хаковањем тако што добију дозволу од одређене компаније, предузећа или других да могу да пробају да продру у њихове системе и уколико успеју да пронађу било какве начине и грешке које могу довести до тога, они то требају пријавити како би се ти проблеми решили и како би сами подаци и системи били безбеднији.

Историја Још давне 1965. године рачунарски стручњаци су упозоравали владу и бизнис да би све већа могућност рачунара да размењују податке и информације путем комуникационих линија неизбежно довела до покушаја да се продре у комуникационе линије и добије приступ тим подацима и информацијама које се размењују. На годишњој рачунарској конференцији (), која се одржала 1967. године, окупило се више од 15 000 стручњака за рачунарску безбедност и расправљали о могућим проблемима који се могу десити комуникационим системима.

Идеја о тестирању рачунарских система како би се осигурао њихов интегритет се појавила код великих корпорација као што је на пример РАНД Корпорација () која је прва идентификовала ову претњу у комуникационим системима која и дан данас траје. Корпорација РАНД је у сарадњи са Агенцијом за напредне истраживачке пројекте (енг.ARPA) у САД, направила суштински извештај у коме се расправљало о безбедносним проблемима и предложеним политичким и техничким разматрањима која и данас представљају основу за мере безбедности. Из овог извештаја су затим владине организације почеле са стварањем тимова који ће се бавити тестирањм система и проналажењем рањивости како би их заштитили од злонамерног хаковања (енг. black hat hacking). Након првих напада системи сз веома брзо престали са радом и тада су дошли до закључка да се треба уложити много више како у безбедност самих система тако и у само пенетрационо тестирање ради даљих вршења тестова.

Методологија Методологија пенетрационог тестирања представља начин на који је тест организован и извршен. Ове методологије не морају бити стриктне у смислу да се мора поштовати одређени начин рада, већ организације могу саме организовати по свом избору. У неким тренуцима ово може бити корисно зато што се тест не обавља увек на истим системима. То могу бити веб апликације, мобилне апликације, сервери, мреже и остало и зато је потребно користити различите алате и технике напада. Ипак поред свега тога постоје и методологије које су светски признате и користи их велики број организација. Неке од њих су:

ОССТММ (OSSTMM — Open Source Security Testing Methodology Manual) ОВАСП (OWASP - Open Web Application Web Security Project) НИСТ (NIST — National Institute of Standards and Technology)

ПТЕС (PTES — Penetration Testing Execution Standard)

ОССТММ Представља једну од најпрепознатљивијих методологија пенетрационог тестирања у индустрији. Рецензирана је и одржава је Институт за безбедност и отворене методологије АЈСЕКОМ (). ОССТММ омогућава компанијама да прилагоде тестове својим потребама истовремено омогућавајући програмерима приступ сигурнијим деловима свог окружења за развој. ОССТММ садржи провере како би се осигурало поштовање прописа и закона. Са комбинацијом техничког правца, прилагодљивости за различите типове окружења и широком подршком за неколико типова организација, ОССТММ представља универзалну методу за пенетрационо тестирање.

OВАСП мини|371x371пиксел|ОВАСП конференција Представља скуп стандарда и смерница за безбедност веб апликација и често је користе почетници у области пенетрационог тестирања. ОВАСП поседује и неколико сопствених ресурса за побољшавање безбедности веб апликација пружајући такође компанијама листу категорија рањивости веб апликација као и начине за њихово ублажавање и отклањање. ОВАСП садржи „листу”, ОВАСП ТОП 10 (енг. Owasp Top 10), у којој се наводе 10 најпознатијих рањивости веб апликација, и не само то већ садржи и упутства и правила која помажу самом тестирању и начину рада. Ту спадају:

Инјекција (Injection) Неисправна аутентификација (Broken Authentication) Излагање осетљивих података (Sensitive Data Exposure) КСМЛ екстерни ентитет (XML External Entity) Неисправна контрола приступа (Broken Access Control) Безбедносна погрешна конфигурација (Security Misconfiguration) Крос-сајт скриптинг (Cross-site scripting) Небезбедна десеријализација (Insecure Deserialization) Компоненете са познатим рањивостима (Components with Known Vulnerabilities) Недовољно евидентирање и праћење (Insufficent Logging and Monitoring)

Инјекција Инјекција sе дешава када нападач успе да продре у неисправан програм у коме може да унесе сопствени злонамерни код који ће му омогућити приступ информацијама и подацима на илегалан начин. У ове нападе спадају: СКЛ инјекција (SQL Injection), Инјекција команди (Command Injection), ЛДАП инјекција (LDAP Injection) и ЦРЛФ инјекција (CRLF Injection).

Неисправна аутентификација Неисправна аутентификација представља рањивости које нападачи користе како би се лажно представили као корисници на мрежи. Неисправна аутентификација се односи на две рањивости и то на управљање сесијама и управљање акредитивима. Оба су карактерисана као неисправна аутентификација зато што нападачи могу да користе било који начин да се представе као одређени корисник.

Излагање осетљивих податак Излагање осетљивих података се односи на методе преноса података и информација које нису довољно заштићене. Хакери могу искористити те пропусте и доспети до разних приватних ствари. Шифровање података, токенизација и правилно управљање кључевима могу помоћи у смањењу ризика од успешног напада.

КСМЛ екстерни ентитет ИКСМЛ екстерни ентитет представља врсту напада на апликацију која анализира ИКСМЛ улаз. Напад може довести до откривања осетљивих података, фалсификовање захтева на страни сервера, ускраћивања услуге и других утицаја на систем.

Неисправна контрола приступа Ако ограничења приступа нису правилно подешена, нападачи то лако могу преокренути у своју корист. Са неисправном контролом приступа, неовлашћени корисници могу имати приступ осетљивим датотекама и системима а у неким случајевима и подешавањима корисничких привилегија.

Безбедносна погрешна конфигурација Баш као и код неисправне контроле приступа, грешке код безбедносне конфигурације такође представљају велики проблем који нападачима може омогућити брз и лак приступ осетљивим подацима.

Крос-сајт скриптинг Крос-сајт скриптинг представља честу рањивост код веб апликација. Заснива се на томе да нападачи са клијентске стране веб апликације „убаце” злонамерни код који се може извршити на серверу и тако добити одређене привилегије приступа.

Небезбедна десеријализација Небезбедна десеријализација представља врсту рањивости у којој се користе непоуздани и неповерљиви подаци за нападе као што су ДоС (енг. Denial of Service), заобилажење аутентификације и друге. Серијализација је процес који претвара објекте у формате који се касније могу вратити у првобитне објекте. Десеријализација представља процес који узима податке из датотеке или мреже и од њих гради објекат.

Компоненте са познатим рањивостима Компоненте са познатим рањивостима могу представљати велики проблем јер као што и само име каже, њихове рањивости су познате и врло лако се могу искористити, хаковати помоћи аутоматизованих алата. Пример може бити коришћење застарелог система који није ажуриран.

Недовољно евидентирање и праћење Недовољно евидентирање грешака и напада на систему могу довести до безбедносних ризика из разлога што се нападачи ослањају на недостатак праћења и спорије време решавања грешака. Овај проблем се може решити тако што ће се евиденција вршити чешће и надгледати сав рад на систему или мрежи.

НИСТ мини|305x305пиксел|Национални институт за стандарде и технологију — главни лого

Национални институт за стандарде и технологију представља главнз метролошку установу у САД, односно истраживачку агенцију која делује у оквиру федералног Министарства трговине. Основана је 1901. године са тадашњим именом Национални биро за стандарде а данашњи назив је добила 1988. године. НИСТ је одговоран за развој стандарда и смерница укључујићи минималне захтеве за обезбеђивање безбедности информација за све послове и агенције. НИСТ специјална публикација 800-115 садржи најболље праксе за спровођење интерне процесне безбедности.

ПТЕС ПТЕС представља стандард који је развијен од стране стручњака за безбедност информација из различитих индустрија и наставља да се развија. Садржи се од минималне основе за пенетрационо тестирање па све до резултата који укључују извештај. Циљ самог стандарда је да обезбеди квалитетне смернице које ће помоћи при повећању квалитета пенетрационог тестирања. Стандардизација такође помаже организацијама да боље разумеју услуге које плаћају и пенетрационим тестерима даје тачна упутства шта да раде током теста. Према ПТЕС-у, пенетрационо тестирање се састоји од 7 фаза и то:

Интеракција пре ангажовања Начин прикупљања Моделирање претњи Анализа рањивости Експлоатација Након експлоатације Извештавање

Интеракција пре анагажовања Потребно је да пенетрациони тестери прикупе неопходне алате, оперативне системе и софтверске програме за почетак пенетрационог тестирања. Успешност теста зависи од алата који се користе као и од квалитета тестера који врше операцију.

Начин прикупљања Организација пружа тестерима генералне информације али је потребно да тестери сами пронађу додатне информације из јавних извора. Овај корак је посебно користан код пенетрационог тестирања мреже.

Моделирање претњи Моделирање претњи представља структуирани приступ идентификовања и приоритизације потенцијалних претњи систему.

Анализа рањивости Од пенетрационих тестера се очекује да пронађу безбедносне ризике које представљају рањивости система. Анализа рањивости има за циљ да их пронађе пре него што их искористи неко други на злонамеран начин.

Експлоатација Експлоатација представља искоришћавање, то јест нападање претходно пронађених рањивости. Зато је битно квалитетно извршити анализу рањивости.

Након експлоатације Након што је експлоатација извршена, врши се даље нападање како би се утврдило колико далеко се може стићи (да ли може добити администраторске привилегије и слично).

Извештавање У извештају је потребно да се наведу све рањивости које су пронађене, како су пронађене и како су искоришћене. Извештај треба да пружи организацији смернице како да учине систем безбеднијим и да среде рањивости које су пронађене.

Алати за тестирање У данашње време постоји велики број програма који су бесплатни за коришћење и свима су омогућени. Велики број пенетрационих тестера користи софтверске програме (алате) који им помажу при тестирању. Ти алати могу бити направљени од стране индивидуалаца а могу и од организација. Сврха алата је да помогну тестеру да на ефикаснији и бржи начин изврши тестирање. Када би тестер сам морао да прави посебне алате за тестирање система сваки пут када се бави другачијим системом, цео процес би био превише дуг и опет је питање да ли би на крају био тачан и ефикасан. Ови алати су обично направљени од поузданих организација које се дуго баве тиме и признате су у свету. У алате спадају оперативни системи и софтверски алати.

Оперативни системи