Веб-қосымшаларды құру құралдары (Интернет, frame relay)


Веб-қосымшалар қауіпсіздігінің осалдықтары мен қауіптерін жіктеу және сипаттау



бет5/19
Дата11.01.2023
өлшемі1,31 Mb.
#60965
1   2   3   4   5   6   7   8   9   ...   19
1.5 Веб-қосымшалар қауіпсіздігінің осалдықтары мен қауіптерін жіктеу және сипаттау
Веб-қосымшаның қауіпсіздігіне қандай әдіспен талдау жүргізу керек екенін анықтамас бұрын, алдымен ықтимал қауіп-қатерлер мен осалдықтарды зерттеу қажет. Web Application Security Consortium Threat Classification жүйесі бойынша тиісті қауіптерге сәйкес 6 сыныптарды біріктіре отырып, осалдықтардың өзекті түрлерін және оларды пайдаланатын шабуылдарды жіктейміз және сипаттаймыз:

  • ақпаратты жария ету;

  • аутентификация;

  • авторизация;

  • клиенттерге шабуылдар;

  • кодты орындау;

  • логикалық шабуылдар.

Trustwave мәліметтері бойынша, көптеген компаниялар веб - бағдарламаларға шабуыл жасау қаупін дұрыс бағалай алмайды, олардың 66% - ы осалдықтарға өздерінің веб-бағдарламаларының тек 25% - ын ғана сынақтан өткізді. Бұл ретте фирмалардың 20% бұл процестің еңбек сыйымдылығы мен ұзақтығына байланысты тестілеу өткізбейді, ал40% өзінің веб- бағдарламаларының тек 5% ғана тестілейді.
Бұл жіктеу веб-қосымшаның қауіпсіздігін талдауды барынша жеделдету және жеңілдету және өзекті осалдықтар мен танымал шабуылдарға назар аудару үшін ұсынылады.
Осындай жіктеуді енгізудің орындылығы қазіргі кезде мұндай жіктеу жоқ болғандықтан, веб-қосымшалардың инфрақұрылымын дамыту есебінен осалдықтар мен шабуылдардың негізі ғана бар, олардың кейбіреулері қазір қолданылмайды немесе осалдықтар өздерінің өзектілігін жоғалтты.
Ақпаратты ашу
Бұл бөлім веб-бағдарлама туралы қосымша ақпарат алуға бағытталған шабуылдарды ұсынады. Осы осалдықтарды пайдаланған кезде құқық бұзушы қандай бағдарламалық жасақтаманың таратылуын, жаңартуларды, серверді және клиенттік нұсқасын орнатуды анықтау мүмкіндігіне ие болады. Кейбір жағдайларда, ұрланған ақпаратта уақытша файлдар мен сақтық көшірмелер болуы мүмкін. Көптеген веб-серверлер деректердің үлкен көлеміне рұқсат береді, сондықтан қызметтік ақпараттың көлемін азайту қажет. Шабуылдаушы, егер ол үлкен білім көлеміне ие болса, веб - бағдарламаны бұзып алуы оңай болады.
Директорияларды индекстеу.
Клиент веб-бағдарламаның басты бетін сұрағанда, ол, әдетте, домен атауын файл атаусыз көрсетеді, яғни сервер автоматты түрде директорияда әдепкі файлдарды табады және жауапты жасайды, бірақ мұндай файлдар жоқ болса, пайдаланушы жауап ретінде веб-сервердегі директориядан файлдар тізімін ала алады.
Мұндай жағдайда құқық бұзушы еркін қол жеткізуге арналмаған мамандандырылған деректерге қол жеткізуге мүмкіндігі бар.
Жиі веб-бағдарламалардың әкімшілері гиперсілтеме жоқ болса, ол пайдалануышыларға көрінбейді деп пайымдай отырып, "жасыру арқылы қауіпсіздікті" есептейді.
Қазіргі заманғы осалдық сканерлері сұраныстардың нәтижелері негізінде сканерленетін тізімге файлдар мен директорияларды динамикалық түрде қосуға мүмкіндігі бар. Каталогтар тізіміне немесе «robots.txt» мазмұнына сүйене отырып, сканер жасырын файлдар мен каталогтарды таба алады. Сыртқы, анықтамалықтарды қауіпсіз индекстеу, веб-қосымшаға шабуылдауға қолданылатын құпия ақпараттың ағып кетуіне әкелуі мүмкін.
Бағдарламаны идентификациялау.
Сервер мен клиенттің операциялық жүйелері, браузерлері мен веб- серверлері туралы ақпарат алу үшін шабуылдаушы бағдарламалардың нұсқаларын идентификациялауды пайдаланады. Бұл шабуыл деректер қорының сервері немесе каталог қызметі сияқты басқа веб-қолданбаның құрамдас бөліктеріне де бағытталуы мүмкін.
Әдетте мұндай шабуылдар веб-қосымшаның серверімен ұсынылатын әр түрлі деректерді талдау арқылы орындалады:

  • соокіе мәні;

  • HTTP жауап тақырыптары;

  • каталог құрылымы;

  • веб-қосымшаларды әзірлеуді қолдау интерфейстері;

  • серверді басқару интерфейстері;

  • HTTP протоколын іске асыру ерекшеліктері;

  • сервер пайдаланатын файл кеңейтілімдері.

Аутентификация
Бұл қауіптер класында веб-серверлерді аутентификациялауды іске асыруда осалдықтарды айналып өтуге және пайдалануға бағытталған шабуылдар сипатталады.
Brute force - автоматты іріктеу процесі, құпия сөзді, пайдаланушының атын, шифрлау кілтін және т.б. табу мақсатында қолданылады.
Көптеген жүйелер кішкене парольдерді немесе шифрлау кілттерін қолдануға мүмкіндік береді, және жиі қолданушылар парольдік сөздердің сөздіктерінде оңай табылатын сөз тіркестерін қолданады.
Осы фактіні назарға ала отырып, қаскүнем сөздіктерді пайдалана алады және ондағы комбинациялардың көптеген санын құпия сөз орнына қолдануға тырысады.
Таңдаудың екі түрі болады: тура және кері. Тура таңдау кезінде бір пайдаланушы аты үшін әр түрлі құпия сөздерді тестілейді. Тура таңдауға қарағанда, кері таңдау пайдаланушылардың әр түрлі аттары іріктеледі, ал пароль тұрақты болып қалады. Танымалдығына және жоғары тиімділігіне қарамастан, таңдау бірнеше сағаттан бірнеше айға дейін өте көп уақыт алады.
Жеткіліксіз аутентификация
Бұл осалдылық, егер веб-сервер шабуылшыға маңызды ақпаратқа немесе сервердің функцияларына тиісті аутентификация болмаған жағдайда қол жеткізуге мүмкіндік берсе пайда болады. Веб бағдарламаны әкімшілеу интерфейстері осы осалдықтың бірден-бір мысалы болады.
Мұндай компоненттер тиісті аутентификациясыз қол жетімді болмауы керек. Аутентификацияны пайдаланбау үшін кейбір ресурстар сервердің негізгі беттерінде немесе басқа қол жетімді ресурстарда көрсетілмейтін мекенжайда «жасырын» болады. Бірақ мұндай тәсіл "жасыру арқылы қауіпсіздік" қана, сондықтан бұл да осалдыққа жатқызылады. Қаскүнем беттің мекенжайын білмейтініне қарамастан, мұндай бет Интернет арқылы да қол жетімді екенін түсіну маңызды.
Қажетті URL стандартты файлдар мен директораларды (/admin/ ұқсас) таңдау арқылы, айқас сілтемелер журналын, қате туралы хабарларды немесе қарапайым құжаттаманы оқу арқылы анықтауға болады.
Авторизация
Бұл класс қолданба, қызмет немесе пайдаланушы әрекеттерді жасау үшін қажетті рұқсаттарға ие болуын анықтау мақсатында веб-сервер пайдаланатын әдістерге негізделген шабуылдарға арналған. Кейбір веб- бағдарламалар тек арнайы рұқсаты бар қолданушыларға ғана бағдарламаның кейбір мүмкіндіктеріне қол жетімділікті ашады. Ал, басқа қолданушыларға ол мүмкіндіктер жабық болу керек. Қаскүнем әртүрлі техникаларды қолдану арқылы өздерінің қол жетімділіктерін арттыра отырып, қорғалған ресурстарға қол жеткізуі мүмкін.
Жеткіліксіз авторизация
Егер веб-сервер зиянкестерге басқалардан бұғатталған маңызды функционалға және деректерге қол жетімділік берсе, осы жағдайда жеткіліксіз авторизация пайда болады. Пайдаланушы аутентификациядан сәтті өткен болса да, сервердің барлық функционалы мен мазмұнына қол жеткізбеуі тиіс. Қолжетімділікті шектеу механизмі іске асырылуы тиіс.
Авторизациялау үрдісі пайдаланушы, бағдарлама немесе қызмет жасай алатын әрекеттерді анықтайды. Маңызды веб-қолданбалар тек әкімшіге қол жетімді болуы керек. Бұл қауіпсіздік саясатына сәйкес пайдаланушының іс- әрекетін шектеуі тиіс және қол жеткізу ережелерін дұрыс құру арқылы ұйымдастырылған болуы керек.
Сессия таймаутының болмауы
Қаскүнем егер сессия таймауты қарастырылмаса, идентификатор және есептік деректер үшін ескі мәліметтерді авторизациялау үшін пайдалануға мүмкіндігі пайды болады. Осыған байланысты идентификациялық деректерді ұрлаумен байланысты шабуылдар үшін сервердің қорғалмауы артады. Веб - серверлер пайдаланушылардың сұраныстарын анықтау мақсатында сессия идентификаторларын қолданады, өйткені HTTP протоколы сессияны ешқандай бақыламайды. Пайдаланушылардың бір тіркеу жазбасымен қатар кіруін болдырмау үшін әрбір идентификатордың құпиялылығы қамтамасыз етілуі тиіс. Ұрланған идентификатор пайдаланушының деректеріне қол жеткізу немесе алаяқтық транзакцияларды жүзеге асыру мақсатында қолданылуы мүмкін. Егер веб-серверде сессия таймауты болмаса, онда бұл барлық шабуылдардың мүмкіндігін арттырады. Қаскүнем желілік анализатордың көмегімен немесе сайтаралық скриптинг түрінің осалдығын пайдалану арқылы сессия идентификаторына қол жеткізе алады.
Қолданушыларға шабуыл
Бұл шабуылдар классы веб-сервердің пайдаланушыларына жасалған шабуылдар түрін білдіреді. Веб-бағдарламаны қолдану кезінде веб-сервер мен пайдаланушы арасында сенімді қарым-қатынас орнатылады. Пайдаланушы веб-сервердің қауіпсіз екеніне сеніп, оның тарапынан ешқандай шабуылдарды күтпейді. Қаскүнем осы мүмкіндікті пайдаланып шабуылды ұйымдастырады.
Сайтаралық сценарийді орындау
Cross-Site Scripting (XSS) - веб-бағдарламаға шабуылдың бұл түрі веб- жүйе арқылы шығарылған бетке зиянды кодты кірістіруден тұрады. Пайдаланушы бұл бетті ашқанда, кірістірілген код дереу орындалады және шабуылдаушының веб-серверімен өзара әрекеттеседі.
Кірістірілген зиянды код қаскүнемге кіру үшін пайдаланушының авторизациясын қолдана алады немесе пайдаланушы авторизациялау деректерін ала алады.
Зиянды кодты сайт бетіне веб-сервердегі осалдық немесе пайдаланушы компьютеріндегі осалдық арқылы кірістіруге болады.
XSS шабуылдарының 3 нұсқасы бар:

  • тұрақты (сақталатын) XSS. Java script серверде немесе сайтта сақталады;

  • тұрақты емес (көрсетілетін) XSS. Пайдаланушы арнайы сілтемеге басқан кезде орындалады;

  • DOM моделіндегі XSS. Ол зиянкестердің серверге деректерді жіберуіне негізделген.

Positive Technologies зерттеуіне сәйкес, XSS веб-сайттарға шабуылдар жалпы шабуылдардың 3% -ын құрайды.
Тұрақты XSS - кросс-сайтты сценарийлік шабуылдың ең жойғыш түрі. Шабуылдаушы сайтқа немесе серверге зиянды кодты енгізуді басқарған кезде орындалады. Зиянды код ендірілген сайт бетіне кіру кезінде әр уақытта орындалатын болады. Хабарларды сүзгілеусіз пікір қалдыра алатын форумдар бұл шабуылға классикалық мысал болып табылады.
Тұрақты емес (көрсетілетін) XSS шабуылы ең көп таралған шабуыл есебіндегі XSS болып табылады. Шабуылдың бұл түрі URL немесе HTML түріндегі пайдаланушы ұсынған ақпаратты дұрыс деректерді өңдемей жауапты жасағанда мүмкін болады.
XSS шабуылдарынан қорғану үшін келесі әдістерді пайдалануға болады:

  • кіріс / шығыс деректерін экрандау. Біртаңбалы емес таңбаларды біртаңбалыға алмастыру. «<Және>» таңбалары адам ретінде де, компьютермен де қабылданады. Мысалы, “<” символын жазатын болсақ ол “<” осы символға тең болады, ал егер “>” символын жазатын болсақ ол “>” осы символға тең болады;

  • «ақ тізімдерді» қолдану. Символдарды тек арнайы жолдарда ғана қолданылатын жолдарға теруге рұқсат беру. Сандарды теретін жолға тек сандарды, ал әріптерді теретін жолға тек әріптерді теруге рұқсат беру.

Сайтаралық жалған сұраныс жасау.
Кросс-сайтты сұраныстарды жалған ету (CSRF) - HTTP хаттамасының кемшіліктерін пайдаланатын веб-торапқа кірушілерге жасалған шабуыл түрі. Егер қолданушы шабуыл жасаған сайтқа кірсе, онда сұраныс басқа серверге (мысалы, төлем жүйесінің серверіне) жасырын түрде басқа зиянды әрекетті орындауға жіберіледі (мысалы, шабуылдаушының шотына ақша аудару). Бұл шабуылды жүзеге асыру үшін қолданушы сұраныс жіберілген серверде аутентификациядан өткен болуы керек және бұл сұраныс пайдаланушыдан ешқандай растауды талап етпеуі керек (шабуыл жасайтын скриптті жасыруға болмайды, яғни, шабуылдайтын скрипт оған қарсы әрекет жасай алмайды сол себепті шабуыл іске аспай қалады.
SQL операторларын орындау
SQL операторларын орындау - дерекқорлармен жұмыс істейтін веб- сайттарды және бағдарламаларды бұзудың танымал әдістерінің бірі. Бұл шабуыл сұранысқа SQL-кодтың ендірілуімен жүзеге асады.
SQL инъекциясы, пайдаланылатын ДҚБЖ түріне және орналастыру шарттарына байланысты, зиянкестерге дерекқордың сұранымдарын жасауға мүмкіндік береді (мысалы, кез келген кестелердің мазмұнын оқу, деректерді жою, өзгерту немесе қосу), жергілікті файлдарды оқу және / немесе жазу мүмкіндігін алу шабуылдаған серверде ерікті командаларды орындайды.
Бұл шабуыл SQL сұраныстарында пайдаланылатын кіріс деректерін дұрыс өңдемеу кезінде мүмкін болады. Мысалы, келесі түрдегі тестілік сайт бар делік [А1.7 - сурет].
http://осал_сайт/movies/php?id=1
Егер сұранысты «?id=1'» немесе «?id=1"» түрінде өзгертсек, онда суреттегідей [А1.6-сурет] қателік шығарады. Демек, бұл сайт SQL injection шабуылына қарсы қорғалмаған.
SQL шабуылдарынан қорғау үшін, SQL сұраныстарды құру үшін пайдаланылатын кіріс параметрлерін сүзгілеуді пайдаланады:

  • сандық параметрлердің дұрыстығын тексеру. PHP-де сандық параметрлердің дұрыстығын тексеру үшін is_numeric (n) функциясын пайдалана аласыз;

  • қатарлардың параметрлерінің дұрыстығын тексеру

  • символдарды экрандау. PHP серверлі тілінде addslashes (Sstring); және mysql_real_escape_string($str) функцияларын пайдалануға болады.

Логикалық шабуылдар
Бұл шабуыл түрлері веб-бағдарламаның логикалық функионалдығына немесе қолдану функциясына бағытталған. Веб-бағдарламаның кейбір міндеттерді орындау үшін пайдаланушыдан кезекпен дұрыс орындауды талап етуге мүмкіндігі бар. Шабуылдаушы осы механизмдерді өз мақсаттарында айналып өтуге және қолдануға қабілетті.
Қызмет көрсетуден бас тарту
Қызмет көрсетуден бас тарту (DoS) шабуылы - есептеу жүйесіне қарсы шабуыл. Барлық желілік құрылғыларда бір уақытта өңделетін сұраныстар саны бойынша шектеулер бар. Бұдан басқа, сервер Интернетпен байланысатын арнада өткізу қабілеті шектеулі. Сұраныстар саны шектік мәндерден асса, төмендегі сияқты мәселелер орын алады:

  • сұраныстарға жауап әдеттегіден әлдеқайда баяу қалыптасады;

  • кейбір пайдаланушылар, мүмкін, барлығы кері жауапсыз қалады.

Қалаған ресурсқа тым көп сұраныстар жіберу үшін, шабуылдаушылар
ботнетті (трояндық вирустармен зарарланған компьютерлердің зомби желісі) пайдаланады. Бұл шабуыл Distributed Denial of Service (DDoS) атпен белгілі. Оның айырмашылығы мынадай: DoS-шабуыл бір компьютерден шықса, онда DDoS-шабуыл бірнеше компьютерден келеді. Компьютер иелері көбінесе олардың компьютері осы шабуылға қатысы бар деп күдіктенбейді. [Б1.3- суретте] DDOS шабуылының орындалу сұлбасы көрсетілген.


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   19




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет