Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Үүлэн сэдвүүдийн өмнөх материалдаа бид гэж хэлсэн, нийтийн үүлэн дэх мэдээллийн технологийн нөөцийг хэрхэн хамгаалах, уламжлалт антивирус яагаад эдгээр зорилгод бүрэн тохирохгүй байна вэ? Энэ нийтлэлд бид үүлний аюулгүй байдлын сэдвийг үргэлжлүүлж, WAF-ийн хувьсал, юуг сонгох нь дээр вэ: техник хангамж, програм хангамж эсвэл үүлний талаар ярих болно. 

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

WAF гэж юу вэ

Хакерын халдлагын 75 гаруй хувь нь вэб программууд болон вэб сайтуудын эмзэг байдалд чиглэгддэг: ийм халдлага нь мэдээллийн аюулгүй байдлын дэд бүтэц, мэдээллийн аюулгүй байдлын үйлчилгээнд ихэвчлэн үл үзэгддэг. Вэб програмын эмзэг байдал нь эргээд хэрэглэгчийн бүртгэл, хувийн мэдээлэл, нууц үг, зээлийн картын дугаар зэрэгт халдах, залилан мэхлэх эрсдэлийг дагуулдаг. Нэмж дурдахад, вэбсайт дахь эмзэг байдал нь халдагчдад корпорацийн сүлжээнд нэвтрэх цэг болдог.

Вэб програмын галт хана (WAF) нь вэб програмын халдлагыг блоклодог хамгаалалтын дэлгэц юм: SQL тарилга, сайт хоорондын скрипт, алсын код гүйцэтгэх, бүдүүлэг хүч, зөвшөөрлийг тойрч гарах. Үүний дотор тэг өдрийн эмзэг байдлыг ашигладаг халдлага. Хэрэглээний галт хана нь HTML, DHTML, CSS зэрэг вэб хуудасны агуулгыг хянаж, хортой HTTP/HTTPS хүсэлтийг шүүж хамгаалдаг.

Эхний шийдвэрүүд юу байсан бэ?

Вэб програмын галт хана үүсгэх анхны оролдлогууд 90-ээд оны эхээр хийгдсэн. Энэ салбарт дор хаяж гурван инженер ажиллаж байсан гэдэг. Эхнийх нь Пердюгийн их сургуулийн компьютерийн шинжлэх ухааны профессор Жен Спаффорд юм. Тэрээр прокси бүхий програмын галт ханын архитектурыг тайлбарлаж, 1991 онд номондоо хэвлүүлсэн "UNIX аюулгүй байдал практикт".

Хоёр, гурав дахь нь мэдээллийн аюулгүй байдлын мэргэжилтэн Уильям Чесвик, Белл лабораторийн Маркус Ранум нар байв. Тэд анхны хэрэглээний галт ханын прототипүүдийн нэгийг боловсруулсан. Үүнийг DEC тараасан - бүтээгдэхүүнийг SEAL (Secure External Access Link) нэрээр гаргасан.

Гэхдээ SEAL нь бүрэн хэмжээний WAF шийдэл биш байсан. Энэ бол FTP болон RSH дээрх халдлагыг хаах чадвартай, дэвшилтэт функц бүхий сонгодог сүлжээний галт хана байсан. Ийм учраас өнөөдөр анхны WAF шийдэл нь Perfecto Technologies (хожим Sanctum) компанийн бүтээгдэхүүн гэж тооцогддог. 1999 онд тэр танилцуулсан AppShield систем. Тухайн үед Perfecto Technologies цахим худалдааны мэдээллийн аюулгүй байдлын шийдлүүдийг боловсруулж байсан бөгөөд онлайн дэлгүүрүүд шинэ бүтээгдэхүүнийхээ зорилтот үзэгчид болжээ. AppShield нь мэдээллийн аюулгүй байдлын динамик бодлогод тулгуурлан HTTP хүсэлт болон хаагдсан халдлагуудад дүн шинжилгээ хийх боломжтой болсон.

AppShield-тэй ижил үед (2002 онд) анхны нээлттэй эхийн WAF гарч ирэв. Тэр болсон Модны аюулгүй байдал. Энэ нь WAF технологийг сурталчлах зорилгоор бүтээгдсэн бөгөөд мэдээллийн технологийн нийгэмлэгийн дэмжлэгийг авсаар байна (энд байна GitHub дээрх репозитор). ModSecurity нь ердийн илэрхийлэл (гарын үсэг) -ийн хэв маягт суурилсан хүсэлтийг шалгах хэрэгсэл - програмын халдлагыг блоклодог. OWASP үндсэн дүрмийн багц.

Үүний үр дүнд хөгжүүлэгчид зорилгодоо хүрч чадсан - WAF-ийн шинэ шийдлүүд, тэр дундаа ModSecurity дээр суурилсан загварууд зах зээл дээр гарч эхэлсэн.

Гурван үе аль хэдийн түүх болсон

Технологийн хөгжлөөр хөгжиж ирсэн WAF системийг гурван үеийг ялгах нь заншилтай байдаг.

Эхний үе. Тогтмол хэллэгүүдтэй (эсвэл дүрмийн дагуу) ажилладаг. Үүнд ModSecurity орно. Системийн үйлчилгээ үзүүлэгч нь програмууд руу чиглэсэн халдлагын төрлийг судалж, хууль ёсны болон болзошгүй хорлонтой хүсэлтийг дүрсэлсэн загваруудыг үүсгэдэг. WAF нь эдгээр жагсаалтыг шалгаж, тодорхой нөхцөл байдалд юу хийхээ шийддэг - замын хөдөлгөөнийг хаах эсэх.

Тогтмол илэрхийлэлд суурилсан илрүүлэх жишээ бол аль хэдийн дурдсан төсөл юм Үндсэн дүрмийн багц нээлттэй эх сурвалж. Өөр нэг жишээ - Накси, энэ нь бас нээлттэй эх сурвалж юм. Тогтмол илэрхийлэл бүхий системүүд нь хэд хэдэн сул талуудтай байдаг, ялангуяа шинэ эмзэг байдал илэрсэн тохиолдолд администратор нэмэлт дүрмийг гараар үүсгэх шаардлагатай болдог. Томоохон хэмжээний мэдээллийн технологийн дэд бүтцийн хувьд хэдэн мянган дүрэм байж болно. Ийм олон тогтмол илэрхийллийг удирдах нь нэлээд хэцүү бөгөөд тэдгээрийг шалгах нь сүлжээний гүйцэтгэлийг бууруулдаг гэдгийг дурдахгүй.

Тогтмол хэллэгүүд бас нэлээд өндөр хуурамч эерэг хувьтай байдаг. Алдарт хэл шинжлэлийн эрдэмтэн Ноам Хомски дүрмийн ангиллыг санал болгож, тэдгээрийг дөрвөн нөхцөлт түвшний нарийн төвөгтэй байдалд хуваасан. Энэ ангиллын дагуу ердийн илэрхийлэл нь зөвхөн загвараас хазайлтгүй галт ханын дүрмийг дүрсэлж болно. Энэ нь халдагчид эхний үеийн WAF-ыг хялбархан "хуурч" чадна гэсэн үг юм. Үүнтэй тэмцэх нэг арга бол програмын хүсэлтэд хортой өгөгдлийн логикт нөлөөлөхгүй, харин гарын үсэг зурах дүрмийг зөрчсөн тусгай тэмдэгтүүдийг нэмэх явдал юм.

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Хоёр дахь үе. WAF-ийн гүйцэтгэл, нарийвчлалын асуудлыг тойрч гарахын тулд хоёр дахь үеийн хэрэглээний галт ханыг боловсруулсан. Тэд одоо хатуу тодорхойлсон халдлагын төрлийг (HTML, JS гэх мэт) тодорхойлох үүрэгтэй задлан шинжлэгчтэй болсон. Эдгээр задлагч нь асуулга (жишээ нь, хувьсагч, мөр, үл мэдэгдэх, тоо) дүрсэлсэн тусгай токенуудтай ажилладаг. Хортой байж болзошгүй токенуудын дарааллыг WAF систем тогтмол шалгадаг тусдаа жагсаалтад оруулсан болно. Энэ аргыг анх Black Hat 2012 бага хурал дээр C/C++ хэлбэрээр харуулсан libinjection номын сангууд, энэ нь танд SQL тарилгыг илрүүлэх боломжийг олгодог.

Эхний үеийн WAF-тай харьцуулахад тусгай задлан шинжилэгчид илүү хурдан ажиллах боломжтой. Гэсэн хэдий ч тэд шинэ хортой халдлага гарч ирэх үед системийг гараар тохируулахтай холбоотой бэрхшээлийг шийдэж чадаагүй юм.

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Гурав дахь үе. Гурав дахь үеийн илрүүлэх логикийн хувьсал нь илрүүлэлтийн дүрмийг хамгаалагдсан системийн бодит SQL/HTML/JS дүрэмд аль болох ойртуулах боломжийг олгодог машин сургалтын аргуудыг ашиглахаас бүрддэг. Энэхүү илрүүлэх логик нь Тьюрингийн машиныг рекурсив тоолж болох дүрмүүдийг хамрах боломжтой. Түүгээр ч барахгүй, урьд нь дасан зохицох чадвартай Тьюрингийн машин бүтээх ажил нь мэдрэлийн Тьюрингийн машинуудын анхны судалгааг нийтлэх хүртэл шийдэгдээгүй байсан.

Машины сургалт нь эхний үеийн илрүүлэхэд шаардлагатай гарын үсгийн жагсаалтыг гараар үүсгэхгүйгээр, мөн Memcached, Redis, Cassandra, SSRF тарилга зэрэг шинэ төрлийн халдлагын шинэ токенизатор/шинжилгээчийг боловсруулахгүйгээр ямар ч төрлийн халдлагыг хамрахын тулд ямар ч дүрмийн дасан зохицох онцгой чадварыг олгодог. , хоёр дахь үеийн аргачлалын шаардлагын дагуу.

Илрүүлэх логикийн бүх гурван үеийг нэгтгэснээр бид гурав дахь үеийн илрүүлэлтийг улаан тоймоор дүрсэлсэн шинэ диаграммыг зурж болно (Зураг 3). Энэ үе нь вэб программуудыг дасан зохицох хамгаалалтын платформ болон Wallarm API-ийн хөгжүүлэгч Onsek-тэй хамтран үүлэн дээр хэрэгжүүлж буй шийдлүүдийн нэгийг агуулдаг.

Илрүүлэх логик нь одоо өөрөө өөрийгөө тохируулахын тулд програмын санал хүсэлтийг ашигладаг. Машины сургалтын хувьд энэ санал хүсэлтийн гогцоог "арматур" гэж нэрлэдэг. Ихэвчлэн ийм арматурын нэг буюу хэд хэдэн төрөл байдаг:

  • Хэрэглээний хариу үйлдэлд дүн шинжилгээ хийх (идэвхгүй)
  • Scan/fuzzer (идэвхтэй)
  • Файлууд / таслан зогсоох журам / урхины талаар мэдээлэх (баримт дууссаны дараа)
  • Гарын авлага (хянагч тодорхойлсон)

Үүний үр дүнд гурав дахь үеийн илрүүлэх логик нь үнэн зөв байдлын чухал асуудлыг авч үздэг. Одоо зөвхөн худал эерэг болон худал сөрөг үр дагавраас зайлсхийх төдийгүй хяналтын самбар дахь SQL командын элементийн хэрэглээг илрүүлэх, вэб хуудасны загвар ачаалах, JavaScript алдаатай холбоотой AJAX хүсэлт болон бусад хүчин төгөлдөр үнэн сөрөгийг илрүүлэх боломжтой боллоо.

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Дараа нь бид WAF-ийг хэрэгжүүлэх янз бүрийн хувилбаруудын технологийн чадавхийг авч үзэх болно.

Техник хангамж, програм хангамж эсвэл үүл - юу сонгох вэ?

Хэрэглээний галт ханыг хэрэгжүүлэх сонголтуудын нэг бол техник хангамжийн шийдэл юм. Ийм систем нь тухайн компани өөрийн мэдээллийн төвд дотооддоо суулгадаг тусгай тооцоолох төхөөрөмж юм. Гэхдээ энэ тохиолдолд та өөрийн тоног төхөөрөмж худалдан авч, интеграторуудад үүнийг тохируулах, дибаг хийх мөнгө төлөх шаардлагатай (хэрэв компани өөрийн мэдээллийн технологийн хэлтэсгүй бол). Үүний зэрэгцээ аливаа тоног төхөөрөмж хуучирч, ашиглах боломжгүй болдог тул хэрэглэгчид техник хангамжийг шинэчлэхэд зориулж төсөвлөхөөс өөр аргагүй болдог.

WAF-г байрлуулах өөр нэг сонголт бол програм хангамжийн хэрэгжилт юм. Энэхүү шийдлийг зарим програм хангамжийн нэмэлт болгон суулгасан (жишээлбэл, ModSecurity нь Apache дээр тохируулагдсан) бөгөөд түүнтэй нэг сервер дээр ажилладаг. Дүрмээр бол ийм шийдлүүдийг физик сервер болон үүлэн дээр байрлуулж болно. Тэдний сул тал бол хязгаарлагдмал өргөтгөх чадвар, үйлдвэрлэгчийн дэмжлэг юм.

Гурав дахь сонголт бол үүлнээс WAF тохируулах явдал юм. Ийм шийдлүүдийг үүлэн үйлчилгээ үзүүлэгчид захиалгын үйлчилгээ болгон өгдөг. Тус компани нь тусгай тоног төхөөрөмж худалдан авах, тохируулах шаардлагагүй; Хамгийн чухал зүйл бол орчин үеийн үүл WAF нь нөөцийг үйлчилгээ үзүүлэгчийн платформ руу шилжүүлэх гэсэн үг биш юм. Сайтыг хаана ч, тэр ч байтугай газар дээр нь байрлуулж болно.

Хүмүүс яагаад үүлэн WAF-ыг улам ихээр хайж байгааг бид цааш нь тайлбарлах болно.

WAF үүлэн дотор юу хийж чадах вэ

Технологийн чадавхийн хувьд:

  • Үйлчилгээ үзүүлэгч нь шинэчлэлтийг хариуцна. WAF нь захиалгаар хангагдсан тул үйлчилгээ үзүүлэгч нь шинэчлэлт, лицензийн хамаарлыг хянадаг. Шинэчлэлтүүд нь зөвхөн програм хангамж төдийгүй техник хангамжид хамаатай. Үйлчилгээ үзүүлэгч нь серверийн паркийг сайжруулж, засвар үйлчилгээ хийдэг. Энэ нь мөн ачааллыг тэнцвэржүүлэх, нөөцлөх үүрэгтэй. Хэрэв WAF сервер амжилтгүй болвол траффик нэн даруй өөр машин руу чиглэгддэг. Траффикийн оновчтой хуваарилалт нь галт хана ажиллахгүй нээлттэй горимд орох нөхцөл байдлаас зайлсхийх боломжийг олгодог - энэ нь ачааллыг даван туулж чадахгүй бөгөөд хүсэлтийг шүүхээ зогсооно.
  • Виртуал засвар. Виртуал засварууд нь хөгжүүлэгч эмзэг байдлыг хаах хүртэл програмын эвдэрсэн хэсгүүдэд хандах хандалтыг хязгаарладаг. Үүний үр дүнд үүлэн үйлчилгээ үзүүлэгчийн үйлчлүүлэгчид энэ эсвэл өөр програм хангамжийн ханган нийлүүлэгч албан ёсны "засвар" нийтлэх хүртэл тайван хүлээх боломжийг олж авдаг. Үүнийг аль болох хурдан хийх нь програм хангамж нийлүүлэгчийн нэн тэргүүний асуудал юм. Жишээлбэл, Wallarm платформ дээр тусдаа програм хангамжийн модуль нь виртуал нөхөөсийг хариуцдаг. Администратор нь хортой хүсэлтийг хаахын тулд өөрчлөн тогтмол илэрхийлэл нэмж болно. Систем нь зарим хүсэлтийг "Нууц мэдээлэл" гэсэн тугаар тэмдэглэх боломжийг олгодог. Дараа нь тэдгээрийн параметрүүд нь далдлагдсан бөгөөд ямар ч тохиолдолд галт хананы ажлын талбайн гадна дамждаггүй.
  • Баригдсан периметр болон эмзэг байдлын сканнер. Энэ нь DNS асуулга болон WHOIS протоколын өгөгдлийг ашиглан мэдээллийн технологийн дэд бүтцийн сүлжээний хил хязгаарыг бие даан тодорхойлох боломжийг танд олгоно. Үүний дараа WAF нь периметр дотор ажиллаж байгаа үйлчилгээнүүдэд автоматаар дүн шинжилгээ хийдэг (портын сканнер хийдэг). Галт хана нь SQLi, XSS, XXE гэх мэт нийтлэг төрлийн бүх төрлийн эмзэг байдлыг илрүүлэх, програм хангамжийн тохиргооны алдаа, тухайлбал, Git болон BitBucket репозиторууд руу зөвшөөрөлгүй хандах, Elasticsearch, Redis, MongoDB руу нэргүй дуудлага хийх зэргийг илрүүлэх чадвартай.
  • Довтолгоог үүлэн нөөцөөр хянадаг. Дүрмээр бол үүлэн үйлчилгээ үзүүлэгчид их хэмжээний тооцоолох хүчин чадалтай байдаг. Энэ нь танд аюул заналхийллийг өндөр нарийвчлалтай, хурдтайгаар шинжлэх боломжийг олгодог. Шүүлтүүрийн зангилааны кластерийг үүлэн дотор байрлуулсан бөгөөд үүгээр дамжуулан бүх урсгал дамждаг. Эдгээр зангилаанууд вэб програмууд руу чиглэсэн халдлагуудыг хааж, статистик мэдээллийг Аналитик төв рүү илгээдэг. Энэ нь бүх хамгаалагдсан програмуудыг хориглох дүрмийг шинэчлэхийн тулд машин сургалтын алгоритмуудыг ашигладаг. Ийм схемийн хэрэгжилтийг Зураг дээр үзүүлэв. 4. Ийм тусгай хамгаалалтын дүрмүүд нь галт ханын хуурамч дохиоллын тоог багасгадаг.

Вэб програмын галт ханын хувьсал: галт хананаас эхлээд машин сургалттай үүлэнд суурилсан хамгаалалтын систем хүртэл

Одоо зохион байгуулалтын асуудал, менежментийн хувьд үүлэн WAF-ийн онцлогуудын талаар бага зэрэг:

  • OpEx руу шилжих. Үйлчилгээний төлбөрийг үйлчилгээ үзүүлэгчээс аль хэдийн төлсөн тул үүлэн WAF-ийн хувьд хэрэгжүүлэх зардал тэг байх болно;
  • Өөр өөр тарифын төлөвлөгөө. Клоуд үйлчилгээний хэрэглэгч нэмэлт сонголтуудыг хурдан идэвхжүүлэх эсвэл идэвхгүй болгох боломжтой. Функцуудыг нэг хяналтын самбараас удирддаг бөгөөд энэ нь бас аюулгүй юм. Үүнд HTTPS-ээр ханддаг ба TOTP (Time-based One-Time Password Algorithm) протокол дээр суурилсан хоёр хүчин зүйлийн баталгаажуулалтын механизм байдаг.
  • DNS-ээр дамжуулан холболт. Та DNS-г өөрөө өөрчилж, сүлжээний чиглүүлэлтийн тохиргоог хийж болно. Эдгээр асуудлыг шийдвэрлэхийн тулд бие даасан мэргэжилтнүүдийг элсүүлэх, сургах шаардлагагүй. Дүрмээр бол үйлчилгээ үзүүлэгчийн техникийн дэмжлэг нь тохиргоог хийхэд тусална.

WAF технологиуд нь энгийн дүрэмтэй галт хананаас машин сургалтын алгоритм бүхий хамгаалалтын нарийн төвөгтэй системүүд болж өөрчлөгдсөн. Хэрэглээний галт хана нь одоо 90-ээд онд хэрэгжүүлэхэд хэцүү байсан өргөн хүрээний функцуудыг санал болгож байна. Олон талаараа үүлэн технологийн ачаар шинэ функц гарч ирэх боломжтой болсон. WAF шийдлүүд болон тэдгээрийн бүрэлдэхүүн хэсгүүд үргэлжлэн хөгжиж байна. Мэдээллийн аюулгүй байдлын бусад салбаруудын нэгэн адил.

Текстийг үүлэн үйлчилгээ үзүүлэгч #CloudMTS-ийн мэдээллийн аюулгүй байдлын бүтээгдэхүүн хөгжүүлэх менежер Александр Карпузиков бэлтгэсэн.

Эх сурвалж: www.habr.com

DDoS хамгаалалт, VPS VDS сервер бүхий сайтуудад найдвартай хостинг худалдаж аваарай 🔥 DDoS хамгаалалттай, VPS VDS сервертэй найдвартай вэбсайт хостинг худалдаж аваарай | ProHoster