Сайтлар қандай бузилади? Бузиш ҳаракатларидан қандай ҳимояланиш мумкин?

Бугун замонавий технологиялар тез суръатда ривожланиб бораётган бир пайтда маълумотлар алмашинувининг ҳажми ҳам тобора кенгайиб бормоқда. Уларни ҳимоясини таъминлаш бўйича чора кўриш ҳам ҳозирги таҳликали замонда мураккаб вазифага айланиб бормоқда. Фойдаланувчилар маълумотларининг четга чиқиб кетиши, бузилган иловалар ва серверларга уюштирилган муваффақиятли ҳужумлар ҳақида кўпчилигимиз ва кўплаб марталаб эшитганмиз. Ушбу ҳужумлар қандай амалга оширилади ва улардан қандай ҳимояланиш мумкин? Нима сабабдан бу ҳолат юз беради, нега баъзи компанияларга доим ҳужум уюштирилади, баъзиларда эса бу борада муаммо бўлмайди.

Келинг, мақоламиз давомида хакерлар қандай тамойиллар асосида ишлашларини ва улардан қандай ҳимояланиш мумкинлигини кўриб чиқамиз.

Бузиш алгоритми 

Асосий фактни унутманг – бузиб бўлмайдиган тизимнинг ўзи йўқ. Гап бунга қанча вақт кетишига боғлиқ, холос. Шунинг учун сиз ҳимояни шундай ташкил этишингиз керакки, уни четлаб ўтиш жуда узоқ вақтни эгалласин, бу эса сизнинг сайтингизга ҳужум қилиш шунчаки фойдасиз эканлигини англатади.

Одатдаги бузиш алгоритми қуйидаги кўринишга эга:

— бузғунчилик ҳаракатларини амалга оширмасдан кириш ҳуқуқига эга бўлишга уриниш;

— бузғунчиликнинг барча маълум усулларини қўллаш;

— қўпол куч ишлатиш;

— ўз инструментини ишлаб чиқиш;

— бошқа ёндашув ўйлаб топиш ва алгоритмни қайтадан бошлаш.

Тушунарлироқ бўлиши учун, бузғунчининг ҳар бир қадамини кўриб чиқамиз ва улар ҳар бир босқичда қандай ҳаракатлари амалга оширишини кузатамиз.

Бузишдан мақсад

Дейлик, хакер исталган фойдаланувчининг аккаунтидан сайтга кириш ҳуқуқига эга бўлмоқчи.

1-қадам — ижтимоий муҳандислик

Энг яхши бузғунчилик ҳаракати — бу содир бўлмаган бузғунчилик ҳаракати. Лекин қандай қилиб хакерликсиз сайтга кириш мумкин? Албатта, фойдаланувчининг кириш маълумотларини ўзи томонидан берилишига кўндириш керак. Ушбу усул ижтимоий муҳандислик деб аталади ва унинг турлари қуйидагилар бўлиб ҳисобланади:

биринчи ва энг кўп тарқалган турига маъмурият номидан келадиган хабарлар киради, яъни фойдаланилаётган сайтнинг гўёки расмий вакили томонидан қуйидаги кўринишдаги сохта хат юборилади.

“Ассалому алайкум, %фойдаланувчи номи%!

Cизнинг аккаунтингизга нисбатан бузғунчилик ҳаракатларини амалга оширишга уринишлар содир бўлди. Биз ушбу урнишларни бартараф этишга улгурдик, бироқ хавфсизлик ҳолатини сақлаб қолиш мақсадида Сиз томонингиздан ўз аккаунтингизнинг пароль ва логинларини тақдим этишингиз зарур. Тушунишингиз ва ҳамкорлик қилишингизга умид қилиб қоламиз.

Ҳурмат билан, “Сайт-номи.уз” хавфсизлик бўлими бошлиғи”

Одатда бундай хабарни олган одам ваҳимага тушади. Бироқ ҳис-туйғуларни четга суриб, соғлом ақл билан фикрлайдиган бўлса, фирибгарлар найранг уюштираётганини илғаб олиш мумкин бўлади.

Ижтимоий муҳандисликликнинг яна бир турига кўзда ташланмайдиган мулоқотлар киради. Бу ҳолатда, тўсатдан Сиз билан танишишни хоҳловчи инсон ёзишни бошлайди. Ўртада дўстона мулоқот пайдо бўлади, ушбу мулоқот давомида қўштирноқ ичидаги дўстингиз Сиздан ҳаётингизнинг ҳар бир икир-чикирлари ҳақида: аслида қаердан эканлигингиз, хоббингизни қанақалиги, қандай ҳайвонларни ёқтиришингиз ва шу каби бошқа маълумотларни олишни истайди. Ушбу маълумотлар нимага керак бўлишини тушуниш қийин эмас. Албатта, улардан Сизнинг профилингизга кириш ҳуқуқини берувчи код сўзини билиб олиш учун фойдаланилади.

Ушбу фирибгарлик усулининг учинчи тури фишинг деб аталади. Сизга маълум бир ҳаволага ўтиб, масалан, овоз бериш ёки биронта қизиқ материални кўриш сўралади. Сиз ҳавола орқали кирасиз ва у ерда авторизация учун шаклга дуч келасиз. Ушбу шаклни ўз шахсий маълумотларингиз билан тўлдирганингиздан сўнг хеч нарса содир бўлмайди ва Сиз хайратга қолганингизча сайтдан чиқиб кетасиз. Бироқ хакер ўзи учун керак бўлган нарсани Сиздан олиб бўлган бўлади.

Сиз кирган сайт сохта бўлиб, аслида Сизнинг маълумотларингизни тўплаш учун ҳақиқий сайт дизайни билан бир хил ишлаб чиқилган фирибгарлик қуроли бўлиб ҳисобланади.

Қандай ҳимояланиш мумкин?

Ушбу ҳолатлардан ҳимояланишнинг ягона йўли – бу фойдаланувчиларнинг хабардор бўлиб боришлари. Доимий равишда уларга қуйидагиларни эслатиб бориш зарур:

  • сайт вакиллари аккаунтга кириш учун шахсий маълумотларни сўрамайди;
  • бир марталик пароллар, шунингдек кодли сўзлар ёки хавфсизлик саволларига жавоблар учинчи шахсларга ошкор этилмаслиги керак;
  • реклама ва бошқа ҳаволаларга (айниқса мақолаларга қолдирилган изоҳларда ёки юборилган хабарларда кўрсатилган) кириш ва авторизация қилиш мумкин эмас.

Агар фойдаланувчининг аккаунтига бошқа қурилмадан киришга уриниш бўлаётган бўлса, ушбу уриниш айнан фойдаланувчи томонидан амалга оширилаётганга ишонч ҳосил қилиш зарур, бунинг учун унга тегишли йўриқномани ўз ичига олган хат юборилиши зарур.

2-қадам — маълум заифликлардан фойдаланган ҳолда бузғунчилик қилиш

Дейлик, фойдаланувчини ўзидан унинг маълумотларини олиш имкони бўлмади. Унда кейинги стратегияга ўтилади, яъни сайтдаги заифликларни топиш. Барча сайтларда у ёки бу даражада заифликлар мавжуд бўлади. Бугунги кунда заифликларни топишнинг энг танилган усули — SQL-инъекциядан фойдаланиш ҳисобланади.

SQL қандай қўлланилади? Ҳозирда бизни унинг бир вақтда “;” белгиси билан ажратилган бир нечта сўров юбориш каби хусусияти қизиқтиради.

Масалан: сайт кириш учун “login ” ва “password” сатрлари мавжуд бўлган стандарт шаклга эга. У ҳолда сўров кўпинча тахминан қуйидаги кўринишга эга бўлади:

"SELECT * FROM users WHERE login = ' ". $login . "' AND password = ' " . $password . " ';"

Ўз ишини устаси бўлган хакер эса паролни сўраш сатрига қуйидаги каби ҳар қандай буйруқ-инъекцияни киритиши мумкин:

qwerty'; UPDATE users SET password = '12345' WHERE login = 'user_ login

Натижада сўров қуйидаги кўринишга эга бўлади:

"SELECT * FROM users WHERE login = ' " . $login . "' AND password = 'qwerty'; UPDATE users SET password = '12345' WHERE login = 'user_login ';"

Кўриб турганимиздек, энди бизда иккита сўров мавжуд: биринчиси кўрсатилган маълумотлар бўйича фойдаланувчини қидиради, иккинчиси эса унинг паролини 12345 га ўзгартиради. Инъекция ўз вазифасини уддаласа, хакер учун аккаунтга янги пароль билан киришга имконият яратади.

Қандай ҳимояланиш мумкин?

Фирибгарликнинг ушбу туридан ҳимояланишнинг кўпгина усуллари мавжуд. Улардан бири — “;” белгисининг қўштирноқларини киритишни ёки SQL тилининг асосий сўзларини киритишни тақиқлаш. Бироқ энг ишончли чора бу маълумотлар узатишни сўровдан ажратиб қўйиш ҳисобланади. Бу ҳолда маълумотларни бошқариш тизими (СУБД) буйруқ – инъекцияни сўров элементи сифатида эмас, балки киритилган маълумотларнинг бир қисмидек билади ва бузғунчилика етакловчи буйруқ бажарилмайди.

3-қадам – қўпол куч

Аввалги икки қадам натижа бермади, демак, хакер брутфорсга – паролни излаб топишга мурожаат қилади. Бунда у тасодифий комбинациялар ёрдамида авторизациядан ўтишга уринадиган скриптдан фойдаланади.

Биринчи навбатда, энг оммабоп вариантлар синаб кўрилади:

1111;
00000;
12345;
password;
qwerty;
qwerty123 ва ҳок.

Қандай ҳимояланиш мумкин?

Авторизациядан ўтиш уринишлар сонини чеклаб қўйиш зарур.

4-қадам – бузғунчиликнинг ўз усулларини ишлаб чиқиш

Юқорида келтирилган биронта ҳам усул наф бермаса, хакер сайтингизга қайси заифликлар орқали кира олишини тушуниши учун дастурлаш кодини ўрганиш билан шуғулланиши зарур бўлади. Бунда, айниқса, CMS (контентни бошқариш тизими ёки бошқача қилиб айтганда, сайтни ишлаб чиқиш учун “движок”) фойдаланувчилар хавф остида қолади, чунки бузғунчи истаган вақти ўзига “движок” ўрнатиши ва заифликларни ичкаридан ўрганишга имкон яратиши мумкин.

Қандай ҳимояланиш мумкин?

Ҳар доим “движок”ларни энг сўнгги версиялардан фойдаланишга интилиш зарур, улардаги эски бўшлиқлар йўқ қилинган ва янгиларида ҳали топилмаган бўлади.

5-қадам – ёндашувни ўзгартириш

Нуқтали бузғунчилик ҳаракати ҳам натижа бермаганидан сўнг, хакернинг айланма йўл билан боришига тўғри келади. Баъзилар, юқорида биз айтиб ўтган алгоритм ёрдамида сайтнинг хостингига етиб боришга ҳаракат қилишади. Бироқ, умуман бошқача усулда ҳаракат қилиб ҳам кўриш мумкин.

Масалан, сайтда аватар ўрнатиш (яъни тасвир юклаш) имкони бўлса, бузғунчи ушбу тасвир орқали серверга муайян скриптни – ҳеч бўлмаганда файл менежерини юборишга уриниб кўради.

Натижада хакер юкланган файлларга кириш ҳуқуқини қўлга киритиб олади (жумладан, маълумотлар базасига уланиш учун зарур бўлган маълумотларга ҳам).

Қандай ҳимояланиш мумкин?

Сайтингизда ҳар бир HTML-шакл учун иккита-учта текшириш воситаларини ўрнатинг. Мисол учун:

$imageFileType = strtolower(pathinfo(basename($file["name"]), PATHINFO_EXTENSION));

$check = getimagesize($file["tmp_name"]); //Тасвир ўлчамларини олишга уриняпмиз: агар фойдаланувчи тасвир кенгайтмасига эга бўлган биронта скриптни юклашга уринса, false бўлиб қайтарилади.   

if($check !== false) {

        if($imageFileType == "jpg" || $imageFileType == "png"

                 || $imageFileType == "jpeg" || $imageFileType == "gif") {//Кенгайтма текшируви

                 //Файлни юклаш мумкин

       }



}

Шу йўсинда, бузғунчи фақат ҳақиқий график файлларини юклаши мумкин, ундан ташқари хеч қандай ортиқча нарсани юклай олмайди. Шунга қарамасдан, бу ернинг ҳимоясида ҳам заифлик мавжуд: зарар етказувчи скриптни тасвирнинг ичига жойлаштириш мумкин. Бундан ташқари, хакер FTP га уланиш йўли билан сервер скриптларини ўзгартиришга уриниши мумкин. Ва агарда у phpmyadmin да авторизация учун маълумотларни қўлга киритса, унинг ихтиёрига бутун маълумотлар базаси ўтади.

Бироқ, маълумотлар чиқиб кетишидан шифрлаш билан ҳимояланса бўлади. Масалан, паролларни SHA-2 алгоритми билан хешлаш зарур, қимматли шахсий маълумотларни эса Виженер шифри ёки жиддийроқ инструмент ёрдамида кодлаш мумкин. Асосийси, шифрни очиш калитини яхшироқ яшириш лозим.

Киберхавфсизликни хавфсизлик бўйича мутахассислар ва хакерлар ўртасидаги кўринмас уруш деб ҳисоблаш мумкин, бунда биринчилари баррикадаларни мустаҳкамлашга интилишади, иккинчилари эса уларни четлаб ўтиш йўлларини топишади.

Шундай қилиб, агар Сиз хакерлар эътиборини қозониш салоҳиятига эга бўлган йирик компанияда ишлаётган бўлсангиз, уларнинг бузғунчилик усулларидан сайтингизни ҳимоя қилиш учун кўп вақт ва куч сарфлашингиз зарур.

Шоҳруҳ Раҳмат,
“Ахборот технологиялар ва ахборот ресурсларини ривожлантириш
маркази” давлат унитар корхонаси, Лойиҳалар бажарилишини
назорат ва таҳлил қилиш бўлими бошлиғи