• Tidak ada hasil yang ditemukan

В Е С Т Н И К - aues.kz

N/A
N/A
Protected

Academic year: 2023

Membagikan "В Е С Т Н И К - aues.kz"

Copied!
14
0
0

Teks penuh

(1)

ДАУКЕЕВА»

ISSN 2790-0886

В Е С Т Н И К

АЛМАТИНСКОГО УНИВЕРСИТЕТА ЭНЕРГЕТИКИ И СВЯЗИ

Учрежден в июне 2008 года

Тематическая направленность: энергетика и энергетическое машиностроение, информационные, телекоммуникационные и космические технологии

1 (60) 2023

Импакт-фактор - 0.095

Научно-технический журнал Выходит 4 раза в год

Алматы

(2)

о постановке на переучет периодического печатного издания, информационного агентства и сетевого издания

№ KZ14VPY00024997 выдано

Министерством информации и общественного развития Республики Казахстан

Подписной индекс – 74108

Бас редакторы – главный редактор Стояк В.В.

к.т.н., профессор

Заместитель главного редактора Жауыт Алгазы, доктор PhD Ответственный секретарь Шуебаева Д.А., магистр

Редакция алқасы – Редакционная коллегия

Главный редакторСтояк В.В., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Заместитель главного редактораЖауыт А., доктор PhD, ассоциированный профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Сагинтаева С.С., доктор экономических наук, кандидат физико-математических наук, профессор математики, академик МАИН;

Ревалде Г., доктор PhD, член-корреспондент Академии наук, директор Национального Совета науки, Рига, Латвия;

Илиев И.К., доктор технических наук, Русенский университет, Болгария;

Белоев К., доктор технических наук, профессор Русенского университета, Болгария;

Обозов А.Д., доктор технических наук, НАН Кыргызской Республики, заведующий Лабораторией «Возобновляемые источники энергии», Кыргызская Республика;

Кузнецов А.А., доктор технических наук, профессор Омского государственного технического университета, ОмГУПС, Российская Федерация, г. Омск;

Алипбаев К.А., PhD, доцент Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Зверева Э.Р., доктор технических наук, профессор Казанского государственного энергетического университета, Российская Федерация, г. Казань;

Лахно В.А., доктор технических наук, профессор Национального университета биоресурсов и природопользования Украины, кафедра компьютерных систем, сетей и кибербезопасности, Украина, Киев;

Омаров Ч.Т., кандидат физико-математических наук, директор Астрофизического института имени В.Г. Фесенкова, Казахстан;

Коньшин С.В., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Тынымбаев С.Т., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан.

За достоверность материалов ответственность несут авторы.

При использовании материалов журнала ссылка на «Вестник АУЭС» обязательна.

(3)

88

ИНФОРМАЦИОННЫЕ,

ТЕЛЕКОММУНИКАЦИОННЫЕ И КОСМИЧЕСКИЕ ТЕХНОЛОГИИ

УДК 004.056.53 https://doi.org / 10.51775/2790-0886_2023_60_1_88 WEB ҚОСЫМШАЛАРЫН SQL ШАБУЫЛДАРЫНАН ҚОРҒАУДЫ

ЖҮЗЕГЕ АСЫРУ

М.М. Коккоз ⃰, Ж. Сайлауқызы, О.Е. Жамбаева, Е.М. Жекей

«Әбілқас Сағынов атындағы Қарағанды техникалық университеті» КЕАҚ, Қарағанды, Қазақстан e-mail: makhabbat_k@bk.ru, s_k_zhuldiz@mail.ru, fokus_1313@mail.ru, ergazi1999@mail.ru

Аңдатпа. Ақпараттық дәуірдің басталуымен WEB қосымшалары адамдардың өмірі мен жұмысына қарқынды леппен енді, ал желіге негізделген қолданбалы бағдарламалар интернетті басқару, объектілерді бақылау және басқа да әртүрлі салаларда толығымен қолданыла бастады. Заманауи Интернетте кез-келген ақпарат пен деректер WEB-қызметке мұқтаж. Қазіргі уақытта Интернет, бағдарламалар және WEB- қосымшаларға негізделген деректер кеңінен қолданылады, олар желілік хакерлердің шабуылына ұшырайды.

Заманауи зерттеулерге сүйенсек, қауіптердің 75%-ы WEB қосымшаларына байланысты екені айқын. Бұл қауіпсіздік тәуекелдері тиісті салаларда үлкен шығындарға әкеледі.

Зерттеу мақсаты - SQL инъекциялық шабуылдарына қарсы тиімді қорғаныс әдістерін таңдау және талдау жүргізу үшін Web қосымшасын әзірлеу болып табылады. SQL инъекциясы немесе SQLi – шабуылдаушыға дерекқорды басқару және ықтимал құнды ақпаратқа қол жеткізу үшін құрылымдық сұрау тілінде (SQL) зиянды код бөлігін пайдалануға мүмкіндік беретін осалдық болып табылады. Осындай осалдықтарға негізделген шабуылдар ең көп таралған және қауіпті болып табылады, сонымен қатар олар кез-келген WEB қосымшасына бағытталуы мүмкін.

Жұмыстың ғылыми жаңалығы SQL шабуылдарына қарсы қорғаудың әртүрлі әдістері зерттелгендгімен, айқындалады. Талдау нәтижесінде қорғаудың ең ұтымды және тиімді әдістерінің бірі болып, алдын ала дайындалған операторлар және параметрленген сұраулар екендігі анықталды. Дайындалған операторды пайдалану сұранысты тікелей параметрлеуге мүмкіндік береді. Сұраныстарды параметрлеу - бұл орындалатын SQL операторларын динамикалық түрде қалыптастыруға мүмкіндік беретін арнайы әдіс.

Сонымен қатар, WEB қосымшасындағы пайдаланушылардың құпия деректерін сақтау және қосымшаның қауіпсіздік деңгейін арттыру үшін - bcrypt функциясы арқылы хэштеу қолданылды.

Түйін сөздер: WEB қосымшалар, WEB осалдықтар, ақпараттық қауіпсіздік, SQL, SQL инъекциялары.

Кіріспе

Соңғы жылдары WEB-технологияның жетістіктері интернетте жұмыс істейтін WEB- қосымшалардың (бағдарламалардың) көбеюіне әкелді. WEB-қосымшасы - кез-келген операциялық жүйеде WEB-браузер арқылы өз пайдаланушыларына интерфейс ұсынатын және онлайн-банкинг, интернет арқылы электрондық пошта, әлеуметтік медиа және басқалары сияқты күнделікті негізгі операцияларға қызмет көрсететін бағдарламалық жасақтама жүйесі болып табылады. Қызмет кез- келген адамға қолжетімді болғандықтан, WEB-қосымшалардың адамдарға беретін маңызды артықшылықтарының бірі - оған кез-келген жерден қол жеткізуге болады. Дүние жүзіндегі көптеген пайдаланушыларды қамтамасыз ету үшін WEB-қосымшалар базасында көптеген деректер сақталады, өйткені көптеген деректер мен ақпарат, соның ішінде WEB-сервер дерекқорындағы құпия және жеке деректер, сондай-ақ WEB-сайттың өзіне тиесілі деректері күн сайын WEB-қосымшалар арқылы шығарылады.

2021 жылғы осалдық статистикасы есебіне сәйкес, SQL-ді WEB-қосымшаларға енгізу 2020 жылы ішкі немесе қоғамдық емес жүйелер үшін ең көп таралған маңызды тәуекел осалдықтарының 12% құрайды, ал 42% жағдайын Интернетке немесе жалпыға қол жетімді жүйелерге бағытталған

(4)

89

осалдықтар құрайтыны туралы хабарланады [1]. SQL инъекциялық пайдаланулар 2021 жылы ең көп таралған толық стек осалдықтарының 2,2% құрайды, ал жалпыға қолжетімді интернет жүйелерінің расталмаған бағалауларынан табылған осалдықтар SQL инъекциялық шабуылдарын қоса алғанда, WEB-қолданбаларға қатысты осалдықтардың 20,3% құрайды. Соңғы 20 жылда SQL инъекциялық шабуылдарының көпшілігі ірі корпорациялардың, кәсіпорындардың және әлеуметтік медиа платформаларының WEB-сайттарына бағытталған. Осы шабуылдардың кейбіреулері деректердің қатты бұзылуына әкелді (1-сурет).

1-сурет - SQL инъекциясының ең көп таралған маңызды осалдық көрсеткіші

SQL инъекциясына қатысты мәселе алғаш рет пайда болғаннан бері жыл сайын бірнеше жағдай тіркеле бастады. Алғаш рет SQL инъекциясының шабуылы 2002 жылдың наурызында анықталды.

Осалдықтың нәтижесінде 200 000-нан астам жеке жазбалар анықталды, бұл URL мекенжайы бар кез келген пайдаланушыға WEB-сайттың дерекқорынан алынған әрбір клиенттің атын, несие картасының нөмірін және жарамдылық мерзімі жайлы ақпаратты алуға мүмкіндік берді.

2019 жылдың тамызында АҚШ Әділет министрлігі тарапынан американдық азамат Альберто Гонсалеске және аты аталмаған екі ресейлікке Heartland төлем жүйесі мен 7-Eleven дүкендер желісін қоса алғанда, несиелік және дебеттік карталары бар 130 миллион төлем жүйесінің деректерін ұрлады деген айып тағылды. Бұл Америка тарихындағы жеке куәлікті ұрлаудың ең үлкен оқиғасы деп саналады [2].

Бұрынғы WEB-портал Yahoo да үлкен деректердің бұзылуының құрбаны болды. Шабуыл үшін жауапкершілікті өз мойнына алған хакерлер тобы толық мәтін ретінде 450 000-нан астам Кіру/

Тіркелу деректерін ұрлады. Олар Yahoo қосалқы доменіне қол жеткізу үшін union негізіндегі SQL инъекциясын қолданды деп мәлімдеді. Мұндай шабуыл түрі пайдаланушы ақпарат енгізетін іздеу өрісі тексерілмейтін, нашар жасалған WEB-қосымшаларға бағытталған болып табылады.

SQL инъекциясы және басқа осалдықтар 2019 жылдың қаңтарында танымал онлайн жекпе-жек ойыны Fortnite-та табылды [3]. Fortnite-та SQL инъекциясының кемшіліктері, сайтаралық сценарий қатесі (XSS), WEB-қосымшалардың брандмауэрін айналып өту мәселесі және ең бастысы OAuth есептік жазбасын басып алудың осалдығы анықталды. Бұзушылық шабуылдаушыларға ойын барысында ойыншылардың байланыстары мен әңгімелерін көруге мүмкіндік береді. Бұл шабуыл

Бүкіл стек бойынша

Интернетке жол алатын жалпыға қол жетімді жүйе

(5)

90

шабуылдаушылар пайдалана алатын пайдаланушының құпиялылығының айтарлықтай бұзылуына әкеледі.

Жоғарыда аталған жағдайлар SQL-инъекция шабуылдарынан қорғану әдістерінің ұтымдылығының одан әрі жетілдіруіне әкелді.

Әдістер

SQL инъекцияға бағытталған шабуылдардың алдын алуына бағытталған бірнеше амалдар бар.

Жалпы қорғанудың ең танымал түріне деректерді өңдеу процедурасын жатқызуға болады.

Алайда, қазіргі уақытта бұл жеткіліксіз әдіс болып табылады. Ең алдымен өңдеуге түсетін ақпарат көзі қайдан келгенін, оның түпкі көзін анықтау керек. Келіп түсетін ақпаратты бақылаудың бірнеше әдісі бар:

- $ _SERVER['HTTP_REFERER'] ішінде тексеру;

- форма ішінде жасырын өріс жасау;

- форма атын көрсету;

- жіберу түймесінің атын анықтау.

Жалпы қорғаудан бөлек, WEB-қосымшаларды қорғаудың тағы бір әдісіне PDO технологиясын қолдануды жатқызады [4-5]. PDO және плейшолдерлердің көмегімен инъекция қаупін едәуір азайтуға болады, себебі деректер мен сұрау бөлек жіберіледі. Алдымен базаға қосылу жасалады, содан кейін сұраныс дайындалады, содан кейін айнымалылар бөлек көрсетіледі, соңында сұраныс орындалады (Сурет - 2).

2-сурет - PDO технологиясын қолдану мысалы

Келесі қарастыратын қорғау тәсілі - дерекқор пайдаланушыларының өкілеттіктерін шектеу. Бұл әдіс SQL шабуылдарының алдын алуына арналған ұтымды процедура болып есептеледі. Жоғарыда айтылғандай, SQL инъекцияларын қолданатын шабуылдардың бірнеше түрі бар. Олардың кейбіреулері басқаларға қарағанда қауіпті. Мысалы, SQL сұрау "SELECT * FROM USER WHERE USERID = '" + USERID + "'" болып көрінетінін елестетіп көрейік. " "foo' OR '1'='1 " инъекциясы барлық пайдаланушыларға қол жеткізуге мүмкіндік береді және бұл өте қауіпті шабуыл болып келеді. Алайда, "'; UPDATE message SET password = 'EVIL” инъекцияcы одан да үлкен мәселелерге әкеледі, себебі шабуылдаушы бұл жағдайда барлық жазбаларды өзгерте алады.

SQL шабуылдарынан қорғанудың тағы бір өзекті әрі жаңа тәсілі ретінде - ECC және AES негізіндегі гибридті шифрлау сұлбасын қолдану болып келеді [4]. Бұл сұлба эллиптикалық қисықтардағы криптожүйе, яғни ашық кілтті криптожүйе ретінде анықталады. Дискретті логарифм мәселесіне немесе соңғы өрістердегі үлкен бүтін сандарды факторизациялау мәселесіне негізделген дәстүрлі ашық кілт алгоритмдерімен салыстырғанда, эллиптикалық қисықтардағы криптография жоғары қауіпсіздіктің, жоғары жылдамдықтың, қысқа кілттің артықшылықтарына ие, сонымен қатар жұмсалатын ресурстарды аз алады. Аталған сұлбасы желідегі деректерді беру қауіпсіздігін тиімді қамтамасыз ете алады, алайда SQL инъекцияның қаупіне төзімділігі төмен болып келеді.

Қолданба үшін дерекқорда пайдаланушыны құрған кезде оның өкілеттіктері туралы ойлану керек. Қолданбаға барлық дерекқорларды оқу, жазу және жаңарту мүмкіндігі қажет пе? Ол кестелерге қатысты TRUNCATE және DROP командаларын орындауға құқылы болуы керек пе? Егер пайдаланушы дерекқормен жұмыс істеу кезінде қосымшаның өкілеттіктерін өзі шектесе, онда SQL инъекцияларынан болатын зиянды азайтуға болады. Қолданба үшін бірнеше дерекқорды құру және оларға белгілі бір рөлдерді тағайындау дұрыс тәжірибе болып табылады. Қауіпсіздік мәселелері тізбекті реакцияның әсерін тудырады, сондықтан ауыр зардаптардың алдын алу үшін тізбектің барлық байланыстарын бақылау қажет.

(6)

91

WEB-қосымшаларды қорғау мақсатында жоғарыда қарастырылған әдістерді қолдану өте пайдалы іс-әрекет болып табылады. Алайда, SQL шабуылдарынан қорғануға жоғары ұтымдылықты беретін тәсіл ретінде – алдын ала дайындалған операторлар мен сұраныстарды параметрлеу әдісі пайдаланылады.

Көптеген бағдарламалау тілдері SQL инъекцияларының алдын алуға көмектесетін функционалдылықты қамтамасыз етеді. SQL сұрауларын жасау кезінде сұрауларды орналастыру үшін алдын ала дайындалған SQL мәлімдемелерін пайдалануға болады [5-6]. Дайындалған операторды қолдану сұранысты параметрлеуге мүмкіндік береді. Сұраныстарды параметрлеу - орындалатын SQL операторларын динамикалық түрде қалыптастыруға мүмкіндік беретін арнайы әдіс. Оның жұмыс істеу принципі мынандай: Белгілі бір плейсхолдерлермен (толтырғыш белгілерімен) негізгі сұрақ жасалады, содан кейін пайдаланушы енгізген параметрлер сол плейсхолдерлерге қауіпсіз тіркеледі.

Дайындалған оператор мен параметрленген сұрауларды қолданудың арқасында дерекқордың өзін-өзі экрандауға мүмкіндік беретін әрекет жасалады. Ең алдымен, плейсхолдерлері бар сұрау жолының негізінде осы сұранысты орындау жоспары құрылады. Екінші қадамда "сенімсіз"

параметрлер дерекқорға жіберіледі. Бірақ орындалу жоспары жасалғандықтан, бұл параметрлер енді ештеңеге әсер ете алмайды. Аталған әдіс сонымен қатар инъекция мүмкіндігін болдырмайды.

Java жәнеPython тілінде алдын ала дайындалған операторлар мен сұраныстарды параметрлеуді қолдану 3, 4-суреттерде көрсетілген.

3-сурет – Java тіліндегі алдын ала дайындалған операторлар мен сұраныстарды параметрлеу мысалы

4-сурет – Python тіліндегі алдын ала дайындалған операторлар мен сұраныстарды параметрлеу мысалы

SQL инъекциядан қорғау әдістерін қолдану үшін, қарапайым WEB-қосымша әзірленді.

WEB-қосымша негізгі 2 бөлімнен тұрады:

- Қарсы алушы элементтер (5-сурет);

- Соңғы жаңалықтар (6-сурет);

- Мәліметтерді өзгерте алуға болатын галерея бөлімі (7-сурет).

(7)

92

5-сурет – Басты бет

6-сурет – «Жаңалықтар» бөлімі

(8)

93

7-сурет – «Галерея» бөлімі

Барлық WEB-қосымша қолданушыларының парольдері bcrypt функциясы арқылы «хэш» түрінде дерекқорда сақталады (8-сурет ).

8-сурет – bcrypt функциясының жұмысы

WEB қосымшаны әзірлеу барысында алдын ала дайындалған операторлар мен сұраныстарды параметрлеуді қолдану әдісі пайдаланылды. Бұл әдіс сұрақ белгісі бар дайындалған операторларды қолданудан тұрады ("?"), яғни пайдаланушы енгізген мәнді қосымшада жасалған сұрауларға «енгізу қажет» болған кезде жүзеге асады. JDBC драйверін іске асыруда қате болмаса, пайдалануға қол сұғылмайтындықтан, бұл әдісті қолдану - өте тиімді болып табылады. 9-суретте WEB-қосымшадағы параметрленген сұранысты пайдаланып деректерді сақтауға арналған сұрау көрсетілген.

(9)

94

9-сурет - параметрленген сұранысты пайдаланып деректерді сақтауға арналған сұрау

9-суретте дерекқор сұранысын орындау үшін Java-да параметрленген сұранысты енгізетін PreparedStatement қолданылды [7-9]. Бұл әдісте бастапқыда деректер қорына (ДҚ) SQL сұраныс дайындалады, содан кейін пайдаланушыға қажетті мәндерді ауыстыру күтіледі. Яғни, осы сұрау арқылы жоғарыда аталған SQL инъекция түрлері іске аса алмайды.

Preparedstatement ДҚ-да сұранысты дайындауға және оны дұрыс пішімдеуге мүмкіндік береді.

PreparedStatement алдын ала құрастырылған SQL мәлімдемесі болып табылады және statement қосалқы интерфейстеріне жатады. Дайындалған оператордың нысандары Statement объектілерімен салыстырғанда кейбір пайдалы қосымша мүмкіндіктерге ие [10].

PreparedStatement артықшылықтары:

- PreparedStatement құрылған кезде SQL сұрауы параметр ретінде беріледі. Бұл дайындалған мәлімдемеде алдын ала құрастырылған SQL сұрауы бар, сондықтан PreparedStatement орындалған кезде ДҚ сұрауды алдын ала құрастырудың орнына жай ғана іске қосуы мүмкін.

- Бірдей PreparedStatement нысандарын бір мезетте қолдануға болады, сонымен қатар олар жұмыс уақытында әртүрлі опцияларды ұсына алады.

- PreparedStatements-тің маңызды артықшылығы - олар SQL инъекциялық шабуылдарының алдын алады.

Нәтижелер

Қолданылған технологиялардың нәтижесін көру мақсатында, сервиске және URL адреске SQL инъекция жасалды (10, 13 - сурет).

(10)

95

10-сурет - Қызметке SQL инъекциясымен сұрау жіберу мысалы

10-суретте қызметке тавтология түрінің белгілі инъекциялық сұранысы жіберілді. Берілетін деректерді өңдемейтін қарапайым қызмет ДҚ-ны одан әрі өңдеу үшін сұранысты жіберіп алады. Бірақ аталған қызметте (11-сурет) идентификатор түрінде қабылданған мән бар, ол Long түріндегі параметрден басқа ешқандай мән қабылдай алмайды. Осыған байланысты, мәнді алған кезде бастапқыда тасымалданатын деректер күтілетін деректер түріне сәйкес келетіні немесе келмейтіні тексеріледі. Егер пайдаланушы белгілі бір жалған деректер түрін, String түрін немесе long деректер типіне сәйкес келмейтін мәнді берсе, бағдарламада қате пайда болады, яғни жазылған код мұндай деректер түрін өңдей алмайды (12-сурет).

(11)

96

11-сурет - HTTP сұрауларын қабылдайтын әдіс

12-сурет - Жіберілген деректерді өңдеу кезіндегі қате мысалы

13-сурет – URL адрес бойынша SQL енгізу

13-суреттегі жеке жаңалық парағаның мекенжай жолына назар аударсақ, онда SQL инъекциясының бар екенін байқауға болады. Бұл жаңалықтың руты келесі - news/{news}/show. Бұл жерде {news} сұраныста келген мәнмен ауысатын параметр. Бұл параметр News::finOrFail($news) функциясында қолданылады. Сонда, егер бағдарлама SQL инъекциядан PDO арқылы қорғалмаған болса WEB-қосымшада келесідей қателік шығушы еді: int типіндегі параметр күтілді. Бірақ, бағдарлама мұндай шабуылдан қорғалғандықтан сұраныс кезінде id параметрімен қоса келген «OR 1=1» жазуын елемейді.

Қорытынды

Зерттеу барысында SQL инъекцияның анықтамасы мен одан қорғану әдістері ұсынылды.

Зерттеу нәтижесіне сүйене отырып, шабуылды екі жолмен болдырмауға болады:

- HTTP сұрауларын бастапқы өңдеу: пайдаланушы немесе шабуылдаушы жіберген мән күтілген мәнге тең екеніне көз жеткізуі керек.

- ДҚ сұраулары үшін PreparedStatement қолданудың артықшылығы ДҚ сұрауларының алдын ала бекітілуінде негізделеді. PreparedStatement шабуылдаушылардың басқа сұрауларын ДҚ-ға жіберу мүмкіндігін жоққа шығарады.

Қорғану әдістерінің ең ұтымды түрінің бірі болып - алдын ала дайындалған операторлар мен сұраныстарды параметрлеуді қолдану болып табылады. Аталған әдістің жұмысының ұтымдылығын көру мақсатында арнайы WEB-қосымша әзірленді.

ӘДЕБИЕТТЕР ТІЗІМІ/ LIST OF REFERENCES

[1] Edgescan's 2021 Vulnerability Stats Report Offers a Snapshot of the Overall State of Cyber Security Globally (2021). Available at: https://www.prnewswire.com/news-releases/edgescans-2021- vulnerability-stats-report-offers-a-snapshot-of-the-overall-state-of-cyber-security-globally-

301228396.html (accessed 16 February 2021)

[2] Albert Gonzalez and the ‘Get Rich or Die Trying’ Crew who stole 130 million credit card numbers (2021). Available at: https://www.blackhatethicalhacking.com/articles/hacking-stories/albert-gonzalez-the- get-rich-or-die-trying-crew-who-stole-130-million-credit-card-numbers/ (accessed 24 February 2021).

(12)

97

[3] Issue 15: Fortnite hack, TLS MITM attacks, SQL injections for NoSQL (2019). Available at:

https://apisecurity.io/issue-15-fortnite-hack-tls-mitm-attacks-sql-injections-for-nosql/ (accessed 24 January 2019

[4] Wang Chen Li Jiaxi Li Zhocheng., DEVELOPMENT OF A HYBRID ENCRYPTION SCHEME BASED ON ECC AND AES // International Journal of Humanities and Natural Sciences. – 2022

[5] SQL Server security best practices (2022). Aviable at: https://learn.microsoft.com/en- us/sql/relational-databases/security/sql-server-security-best-practices?view=sql-server-ver16 (accessed 19 November 2022)

[6] Yongxiang W, On WEB website security optimization. Network Security Technology &

Application,(5):136- 1137, 2014

[7] Linhai Y, Binying H., Research on the content of Web code security artificial audit, Jiangxi Science,(4):536- 538, 2014.

[8] Juan D, Yang X, Yuwei M., Research and design of audit system of security log based on Web application. (10):70-76,2014

[9] Chengyu H. Research on the protection method of Web Java application software, Software Guide,(11):57- 58,2011.

[10] Dongjiao Z, Ping W., Analysis on the security technology of Java Web application program.

Computer fan, (3):48-49, 2016.

РЕАЛИЗАЦИЯ ЗАЩИТЫ WEB-ПРИЛОЖЕНИЙ ОТ АТАК SQL

М.М. Коккоз ⃰, Ж. Сайлауқызы, О.Е. Жамбаева, Е.М. Жекей

НАО «Карагандинский технический университет имени Абылкаса Сагинова», Караганда, Казахстан e-mail: makhabbat_k@bk.ru, s_k_zhuldiz@mail.ru, fokus_1313@mail.ru, ergazi1999@mail.ru Аннотация. С наступлением информационной эры WEB-приложения интенсивно вошли в жизнь и работу людей, в то время как сетевые прикладные программы стали полностью использоваться в различных областях, таких как управление интернетом, мониторинг объектов и т. д. В современном интернете любая информация и данные нуждаются в WEB -сервисе. В настоящее время широко используются данные на основе Интернета, программ и WEB-приложений, которые подвергаются атакам сетевых хакеров. Основываясь на современных исследованиях, ясно, что 75% рисков связаны с WEB-приложениями. Плохо разработанные WEB- приложения часто содержат атаки вредоносных программ, особенно атаки SQL-инъекций.

Целью является разработка WEB приложения для проведения анализа и выбора эффективных методов защиты, противодействующих атакам SQL инъекций. SQL-инъекция или SQLi – это уязвимость, которая позволяет злоумышленнику использовать вредоносный фрагмент кода на языке структурированных запросов (SQL) для управления базой данных и доступа к потенциально ценной информации. Атаки, основанные на таких уязвимостях, являются наиболее распространенными и опасными: они могут быть нацелены на любое WEB-приложение.

Научная новизна работы предопределяется тем, что были изучены различные методы защиты против SQL-атак. В результате анализа было обнаружено, что одними из наиболее рациональных и эффективных методов защиты являются: предварительно подготовленные операторы и параметризованные запросы.

Использование подготовленного оператора позволяет напрямую параметризовать запрос. Параметризация запросов — это специальный метод, позволяющий динамически формировать исполняемые операторы SQL.

Новизна также заключается в том, что для сохранности конфиденциальных данных пользователей WEB- приложения, было использовано хэширование через функцию bcrypt.

Ключевые слова: WEB приложения, WEB уязвимости, информационная безопасность, SQL, SQL- инъекции.

(13)

98

IMPLEMENTATION OF PROTECTION OF WEB APPLICATIONS FROM SQL ATTACKS

М.М. Kokkoz ⃰, Zh. Sailaukyzy, О.E. Zhambayeva, E.M. Zhekei

Non-profit JSC «Abylkas Saginov Karaganda Technical University», Karaganda, Kazakhstan e-mail: makhabbat_k@bk.ru, s_k_zhuldiz@mail.ru, fokus_1313@mail.ru, ergazi1999@mail.ru

Abstarct. With the advent of the information age, WEB applications have entered the lives and work of people with intense exclamation, while network applications have become fully used in various fields, such as Internet management, object monitoring, etc. In the modern Internet, any information and data need a WEB service. Currently, Internet-based data, programs and web applications are widely used, which are attacked by network hackers. Based on current research, it is clear that 75% of the risks are associated with WEB applications. These security risks lead to large losses in the relevant areas.

The goal is to develop a WEB application for analyzing and selecting effective protection methods that counteract SQL injection attacks. SQL injection or SQLi is a vulnerability that allows an attacker to use a malicious piece of code in the structured Query language (SQL) to manage a database and access potentially valuable information. Attacks based on such vulnerabilities are the most common and dangerous: they can be targeted at any WEB application.

The scientific novelty of the work is predetermined by the fact that 5 different methods of protection against SQL attacks have been studied and applied. As a result of the analysis, it was found that one of the most rational and effective methods of protection are: pre-prepared operators and parameterized queries. Using a prepared operator allows you to directly parameterize the query. Query parameterization is a special method that allows you to dynamically generate executable SQL statements. The novelty also lies in the fact that hashing through the bcrypt function was used to protect the confidential data of users of the WEB application.

Keywords: WEB applications, WEB vulnerabilities, information security, SQL, SQL injection.

(14)

Басылымның шығыс деректері

Мерзімді баспасөз басылымының атауы «Алматы энергетика және байланыс университетінің Хабаршысы» ғылыми- техникалық журналы

Мерзімді баспасөз басылымының меншік иесі «Ғұмарбек Дәукеев атындағы Алматы энергетика және байланыс университеті»

коммерциялық емес акционерлік қоғамы, Алматы, Қазақстан

Бас редактор Профессор, т.ғ.к., В.В. Стояк

Қайта есепке қою туралы куәліктің нөмірі мен күні және берген органның атауы

№ KZ14VPY00024997, күні 17.07.2020,

Қазақстан Республикасының Ақпарат және қоғамдық даму министрлігі

Мерзімділігі Жылына 4 рет (тоқсан сайын)

Мерзімді баспасөз басылымының реттік нөмірі және жарыққа шыққан күні

Жалпы нөмір 60, 1-басылым, 2023 жылғы 31 наурыз

Басылым индексі 74108

Басылым таралымы 200 дана

Баға Келісілген

Баспахана атауы, оның мекен-жайы «Ғұмарбек Дәукеев атындағы Алматы энергетика және байланыс университеті»

КЕАҚ баспаханасы, Байтұрсынұлы көшесі, 126/1 үй, А120 каб.

Редакцияның мекен-жайы 0 5 0 0 1 3 , Алм а т ы қ. , «Ғ ұ м а р бе к Дә ук е ев а т ы н да ғы А л м а т ы эн ер г ет и ка ж ә н е ба й ла н ы с ун и в ер с и т ет і » К ЕА Қ, Б а й т ұ р с ы н ұ лы к- с і , 1 2 6 / 1 ү й , ка б. А 2 2 4 , т е л. : 8 ( 7 2 7 ) 2 9 2 5 8 4 8 , 7 08 8 8 0 7 7 9 9 , e - m a i l : v e s t n i k @ a u e s . k z

Выходные данные

Название периодического печатного издания Научно-технический журнал «Вестник Алматинского университета энергетики и связи»

Собственник периодического печатного издания

Некоммерческое акционерное общество «Алматинский университет энергетики и связи имени Гумарбека Даукеева», Алматы, Казахстан

Главный редактор Профессор, к.т.н., Стояк В.В.

Номер и дата свидетельства о постановке на переучет и наименование выдавшего органа

№ KZ14VPY00024997 от 17.07.2020

Министерство информации и общественного развития Республики Казахстан

Периодичность 4 раза в год (ежеквартально)

Порядковый номер и дата выхода в свет

периодического печатного издания Валовый номер 60, выпуск 1, 31 марта 2023

Подписной индекс 74108

Тираж выпуска 200 экз.

Цена Договорная

Наименование типографии, ее адрес Типография НАО «Алматинский университет энергетики и связи имени Гумарбека Даукеева», ул. Байтурсынулы, дом 126/1, каб. А 120

Адрес редакции 050013, г. Алматы, НАО «Алматинский у ниверситет э нергетики и с вязи имени Гумарбека Даукеева», ул. Байтурсынулы, дом 126/1, каб. А 224, т ел.: 8 (727) 292 58 48, 708 880 77 99, e-mail: vestnik@aues.kz

Issue output

Name of the periodical printed publication Scientific and technical journal "Bulletin of the Almaty University of Power Engineering and Telecommunications"

Owner of the periodical printed publication Non-profit joint-stock company "Almaty University of Power Enginnering and Telecommunications named after Gumarbek Daukeyev", Almaty, Kazakhstan

Chief Editor Professor, candidate of technical sciences Stoyak V.V.

Number and date of the registration certificate and the name of the issuing authority

№ KZ14VPY00024997 from 17.07.2020

Ministry of Information and Social Development of the Republic of Kazakhstan

Periodicity 4 times a year (quarterly)

Serial number and date of publication of a periodical printed publication

Number 60, edition 1, March 31, 2023

Subscription index 74108

Circulation of the issue 200 copies

Price Negotiable

The name of the printing house, its address Printing house of Non-profit joint-stock company "Almaty University of Power Enginnering and Telecommunications named after Gumarbek Daukeyev", 126/1 Baitursynuly str., office A 120, Almaty, Republic of Kazakhstan

Editorial office address 050013, Non-profit joint-stock company "Almaty University of Power Enginnering and Telecommunications named after Gumarbek Daukeyev",

A 2 2 4 , t e l .: 8 (727) 292 58 48, 708 880 77 99, e-mail: vestnik@aues.kz

Referensi

Dokumen terkait

Pada rekomendasi persamaan dasar yang diperoleh dalam penelitian [6], memungkinkan penentuan jumlah blade pengarah yang tergantung dari jumlah blade impeller, ketebalan keliling

Д ля полу­ чения справочной информации о перечне команд СУБД и их структуре следует дать команду .I-IELP.J Для получения справки о конкретной команде, например о команде MODIFY,