Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Ninu awọn ohun elo iṣaaju wa lori awọn koko-ọrọ awọsanma, a so funBii o ṣe le daabobo awọn orisun IT ni awọsanma gbangba ati idi ti awọn antivirus ibile ko dara fun awọn idi wọnyi. Ninu ifiweranṣẹ yii, a yoo tẹsiwaju koko-ọrọ ti aabo awọsanma ati sọrọ nipa itankalẹ ti WAF ati kini o dara lati yan: hardware, software tabi awọsanma. 

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Kini WAF

Diẹ sii ju 75% ti awọn ikọlu agbonaeburuwole ni ifọkansi si awọn ailagbara ti awọn ohun elo wẹẹbu ati awọn oju opo wẹẹbu: iru awọn ikọlu nigbagbogbo jẹ alaihan si awọn amayederun aabo alaye ati awọn iṣẹ aabo alaye. Awọn ailagbara ninu awọn ohun elo wẹẹbu gbe, lapapọ, awọn eewu ti adehun ati jibiti ti awọn akọọlẹ olumulo ati data ti ara ẹni, awọn ọrọ igbaniwọle, ati awọn nọmba kaadi kirẹditi. Ni afikun, awọn ailagbara ninu oju opo wẹẹbu ṣiṣẹ bi aaye titẹsi fun awọn olukapa sinu nẹtiwọọki ajọ.

Firewall Ohun elo Wẹẹbu (WAF) jẹ iboju aabo ti o ṣe idiwọ ikọlu lori awọn ohun elo wẹẹbu: abẹrẹ SQL, iwe afọwọkọ aaye, ipaniyan koodu latọna jijin, agbara iro ati ipasẹ aṣẹ. Pẹlu awọn ikọlu ti o lo awọn ailagbara ọjọ-odo. Awọn ogiri ohun elo pese aabo nipasẹ ṣiṣe abojuto akoonu oju-iwe wẹẹbu, pẹlu HTML, DHTML, ati CSS, ati sisẹ awọn ibeere HTTP/HTTPS irira.

Kini awọn ipinnu akọkọ?

Awọn igbiyanju akọkọ lati ṣẹda Ogiriina Ohun elo Wẹẹbu ni a ṣe pada ni ibẹrẹ awọn ọdun 90. O kere ju awọn onimọ-ẹrọ mẹta ni a mọ pe wọn ti ṣiṣẹ ni aaye yii. Akọkọ jẹ ọjọgbọn imọ-ẹrọ kọnputa Gene Spafford lati Ile-ẹkọ giga Purdue. O ṣe apejuwe faaji ti ogiriina ohun elo aṣoju ati gbejade ni ọdun 1991 ninu iwe naa "Aabo UNIX ni Iṣeṣe".

Awọn keji ati kẹta wà alaye aabo ojogbon William Cheswick ati Marcus Ranum lati Bell Labs. Wọn ṣe idagbasoke ọkan ninu awọn apẹrẹ ogiriina ohun elo akọkọ. O ti pin nipasẹ DEC - ọja naa ti tu silẹ labẹ orukọ SEAL (Ọna Wiwọle Ita Ita to ni aabo).

Ṣugbọn SEAL kii ṣe ojutu WAF ti o ni kikun. O jẹ ogiriina nẹtiwọọki Ayebaye pẹlu iṣẹ ṣiṣe ilọsiwaju - agbara lati dènà awọn ikọlu lori FTP ati RSH. Fun idi eyi, ojutu WAF akọkọ loni ni a gba pe o jẹ ọja ti Perfecto Technologies (nigbamii Sanctum). Ni ọdun 1999 o gbekalẹ AppShield eto. Ni akoko yẹn, Awọn Imọ-ẹrọ Perfecto n dagbasoke awọn solusan aabo alaye fun iṣowo e-commerce, ati awọn ile itaja ori ayelujara di olugbo ibi-afẹde ti ọja tuntun wọn. AppShield ni anfani lati ṣe itupalẹ awọn ibeere HTTP ati awọn ikọlu dina ti o da lori awọn ilana aabo alaye ti o ni agbara.

Ni akoko kanna bi AppShield (ni ọdun 2002), orisun ṣiṣi akọkọ WAF han. O di ModAabo. A ṣẹda rẹ pẹlu ero ti ikede awọn imọ-ẹrọ WAF ati pe agbegbe IT tun ni atilẹyin (nibi o wa ibi ipamọ lori GitHub). ModSecurity ṣe idiwọ ikọlu lori awọn ohun elo ti o da lori ipilẹ boṣewa ti awọn ikosile deede (awọn ibuwọlu) - awọn irinṣẹ fun ṣayẹwo awọn ibeere ti o da lori awọn ilana - OWASP Core Ofin Ṣeto.

Bi abajade, awọn olupilẹṣẹ ṣakoso lati ṣaṣeyọri ibi-afẹde wọn - awọn solusan WAF tuntun bẹrẹ si han lori ọja, pẹlu awọn ti a ṣe lori ipilẹ ModSecurity.

Awọn iran mẹta jẹ itan-akọọlẹ tẹlẹ

O jẹ aṣa lati ṣe iyatọ awọn iran mẹta ti awọn eto WAF, eyiti o ti wa pẹlu idagbasoke imọ-ẹrọ.

Akọkọ iran. Ṣiṣẹ pẹlu awọn ikosile deede (tabi awọn girama). Eyi pẹlu ModSecurity. Olupese eto ṣe iwadi iru awọn ikọlu lori awọn ohun elo ati ṣe ipilẹṣẹ awọn ilana ti o ṣapejuwe ẹtọ ati awọn ibeere irira. WAF ṣayẹwo awọn atokọ wọnyi ati pinnu kini lati ṣe ni ipo kan pato - lati dènà ijabọ tabi rara.

Apeere ti wiwa ti o da lori awọn ikosile deede jẹ iṣẹ akanṣe ti a mẹnuba tẹlẹ Mojuto Ofin Ṣeto ìmọ orisun. Apẹẹrẹ miiran - Naxsi, eyiti o tun jẹ orisun ṣiṣi. Awọn ọna ṣiṣe pẹlu awọn ikosile deede ni nọmba awọn aila-nfani, ni pataki, nigbati a ba rii ailagbara tuntun, oluṣakoso ni lati ṣẹda awọn ofin afikun pẹlu ọwọ. Ninu ọran ti amayederun IT ti o tobi, ọpọlọpọ awọn ofin le wa. Ṣiṣakoso ọpọlọpọ awọn ikosile deede jẹ ohun ti o ṣoro pupọ, kii ṣe lati darukọ otitọ pe ṣayẹwo wọn le dinku iṣẹ nẹtiwọọki.

Awọn ikosile deede tun ni oṣuwọn rere eke ti o ga julọ. Onimọ-ede olokiki Noam Chomsky dabaa ipinsi awọn girama ninu eyiti o pin wọn si awọn ipele ipo ipo mẹrin ti idiju. Gẹgẹbi ipinya yii, awọn ikosile deede le ṣe apejuwe awọn ofin ogiriina nikan ti ko kan awọn iyapa lati apẹrẹ. Eyi tumọ si pe awọn ikọlu le ni irọrun “aṣiwere” iran akọkọ WAF. Ọna kan lati dojuko eyi ni lati ṣafikun awọn ohun kikọ pataki si awọn ibeere ohun elo ti ko ni ipa lori ọgbọn ti data irira, ṣugbọn rú ofin ibuwọlu naa.

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Iran keji. Lati yika iṣẹ ṣiṣe ati awọn ọran deede ti awọn WAF, awọn ogiri ohun elo iran keji ni idagbasoke. Wọn ti ni awọn olutọpa ti o ni iduro fun idamo awọn iru ikọlu ti o muna (lori HTML, JS, ati bẹbẹ lọ). Awọn parsers wọnyi n ṣiṣẹ pẹlu awọn ami pataki ti o ṣe apejuwe awọn ibeere (fun apẹẹrẹ, oniyipada, okun, aimọ, nọmba). Awọn ilana ami irira ti o ṣeeṣe ni a gbe sinu atokọ lọtọ, eyiti eto WAF n ṣayẹwo nigbagbogbo lodi si. Ọna yii ni akọkọ han ni Black Hat 2012 apejọ ni irisi C / C ++ libinjection ikawe, eyiti o fun ọ laaye lati ṣawari awọn abẹrẹ SQL.

Ti a fiwera si awọn WAF ti iran akọkọ, awọn olutọpa amọja le yiyara. Sibẹsibẹ, wọn ko yanju awọn iṣoro ti o nii ṣe pẹlu atunto eto pẹlu ọwọ nigbati awọn ikọlu irira tuntun han.

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Iran kẹta. Awọn itankalẹ ni ọgbọn iwari iran-kẹta oriširiši ti awọn lilo ti ẹrọ eko awọn ọna ti o jẹ ki o ṣee ṣe lati mu awọn erin girama bi sunmo bi o ti ṣee si awọn gidi SQL/HTML/JS girama ti awọn eto aabo. Imọye wiwa yii ni anfani lati ṣe adaṣe ẹrọ Turing kan lati bo awọn girama ti ko lera leralera. Pẹlupẹlu, ni iṣaaju iṣẹ-ṣiṣe ti ṣiṣẹda ẹrọ Turing ti o ni iyipada ko ṣee yanju titi awọn iwadii akọkọ ti awọn ẹrọ Turing ti iṣan ti a tẹjade.

Ẹkọ ẹrọ n pese agbara alailẹgbẹ lati ṣe deede ilo-ọrọ eyikeyi lati bo eyikeyi iru ikọlu laisi ọwọ ṣiṣẹda awọn atokọ ibuwọlu bi o ṣe nilo ni wiwa iran akọkọ, ati laisi idagbasoke awọn ami-ami tuntun / awọn parsers fun awọn iru ikọlu tuntun bii Memcached, Redis, Cassandra, awọn abẹrẹ SSRF , bi o ṣe nilo nipasẹ ilana iran keji.

Nipa apapọ gbogbo awọn iran mẹta ti ọgbọn idanimọ, a le ya aworan tuntun kan ninu eyiti iran kẹta ti wiwa jẹ aṣoju nipasẹ ila-pupa (Aworan 3). Iran yii pẹlu ọkan ninu awọn ojutu ti a n ṣe imuse ninu awọsanma papọ pẹlu Onsek, olupilẹṣẹ ti Syeed fun aabo adaṣe ti awọn ohun elo wẹẹbu ati Wallarm API.

Imọye wiwa ni bayi nlo esi lati inu ohun elo lati tunse funrararẹ. Ninu ẹkọ ẹrọ, yipo esi yii ni a pe ni “imudaniloju.” Ni deede, awọn oriṣi ọkan tabi diẹ sii ti iru imuduro bẹẹ wa:

  • Atupalẹ ti ihuwasi esi ohun elo (palolo)
  • Ṣiṣayẹwo/fuzzer (lọwọ)
  • Jabọ awọn faili / awọn ilana interceptor / awọn ẹgẹ (lẹhin otitọ)
  • Afọwọṣe (ti a ṣalaye nipasẹ alabojuto)

Bi abajade, ọgbọn wiwa iran-kẹta tun n ṣalaye ọran pataki ti deede. O ṣee ṣe ni bayi kii ṣe lati yago fun awọn idaniloju eke nikan ati awọn odi eke, ṣugbọn lati rii awọn odi otitọ ti o wulo, gẹgẹbi wiwa ti lilo ipin aṣẹ SQL ni Igbimọ Iṣakoso, ikojọpọ awoṣe oju-iwe wẹẹbu, awọn ibeere AJAX ti o ni ibatan si awọn aṣiṣe JavaScript, ati awọn miiran.

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Nigbamii ti, a yoo ṣe akiyesi awọn agbara imọ-ẹrọ ti ọpọlọpọ awọn aṣayan imuse WAF.

Hardware, sọfitiwia tabi awọsanma - kini lati yan?

Ọkan ninu awọn aṣayan fun imuse awọn ogiriina ohun elo jẹ ojutu ohun elo kan. Iru awọn ọna ṣiṣe jẹ awọn ẹrọ iširo amọja ti ile-iṣẹ kan fi sori ẹrọ ni agbegbe ni ile-iṣẹ data rẹ. Ṣugbọn ninu ọran yii, o ni lati ra ohun elo tirẹ ki o san owo si awọn olupilẹṣẹ fun iṣeto rẹ ati ṣatunṣe rẹ (ti ile-iṣẹ ko ba ni ẹka IT tirẹ). Ni akoko kanna, eyikeyi ohun elo di igba atijọ ati ki o di aimọ, nitorinaa awọn alabara fi agbara mu lati ṣe isuna fun awọn iṣagbega ohun elo.

Aṣayan miiran fun gbigbe WAF kan jẹ imuse sọfitiwia kan. Ojutu naa ti fi sori ẹrọ bi afikun fun sọfitiwia kan (fun apẹẹrẹ, ModSecurity ti tunto lori oke Apache) ati ṣiṣe lori olupin kanna pẹlu rẹ. Bi ofin, iru awọn solusan le wa ni ransogun mejeeji lori olupin ti ara ati ninu awọsanma. Alailanfani wọn jẹ iwọn iwọn ati atilẹyin ataja.

Aṣayan kẹta ni eto WAF lati inu awọsanma. Iru awọn solusan ni a pese nipasẹ awọn olupese awọsanma bi iṣẹ ṣiṣe alabapin. Ile-iṣẹ ko nilo lati ra ati tunto ohun elo amọja; awọn iṣẹ ṣiṣe wọnyi ṣubu lori awọn ejika ti olupese iṣẹ. Koko pataki kan ni pe WAF awọsanma ode oni ko tumọ si iṣilọ ti awọn orisun si pẹpẹ ti olupese. Aaye naa le wa ni ransogun nibikibi, paapaa lori ile-ile.

A yoo ṣe alaye siwaju sii idi ti awọn eniyan n pọ si ni wiwa si ọna awọsanma WAF.

Kini WAF le ṣe ninu awọsanma

Ni awọn ofin ti awọn agbara imọ-ẹrọ:

  • Olupese jẹ iduro fun awọn imudojuiwọn. WAF ti pese nipasẹ ṣiṣe alabapin, nitorina olupese iṣẹ ṣe abojuto ibaramu ti awọn imudojuiwọn ati awọn iwe-aṣẹ. Awọn imudojuiwọn ibakcdun ko nikan software, sugbon tun hardware. Olupese ṣe igbesoke ọgba-itura olupin ati ṣetọju rẹ. O tun jẹ iduro fun iwọntunwọnsi fifuye ati apọju. Ti olupin WAF ba kuna, a darí ijabọ lẹsẹkẹsẹ si ẹrọ miiran. Pinpin ijabọ onipin gba ọ laaye lati yago fun awọn ipo nigbati ogiriina ba kuna ipo ṣiṣi silẹ - ko le koju ẹru naa ati dawọ awọn ibeere sisẹ.
  • Foju patching. Awọn abulẹ foju ṣe ihamọ iraye si awọn ẹya ti o gbogun ti ohun elo titi ti olupilẹṣẹ yoo tilekun ailagbara naa. Bi abajade, alabara ti olupese awọsanma gba aye lati duro ni idakẹjẹ titi ti olupese eyi tabi sọfitiwia naa ṣe atẹjade “awọn abulẹ” osise. Ṣiṣe eyi ni yarayara bi o ti ṣee ṣe jẹ pataki fun olupese software naa. Fun apẹẹrẹ, ninu pẹpẹ Wallarm, module sọfitiwia lọtọ jẹ iduro fun patching foju. Alakoso le ṣafikun awọn ikosile deede aṣa lati dènà awọn ibeere irira. Eto naa jẹ ki o ṣee ṣe lati samisi diẹ ninu awọn ibeere pẹlu asia “Data Asiri”. Lẹhinna awọn paramita wọn jẹ boju-boju, ati labẹ ọran kankan ti wọn gbejade ni ita agbegbe iṣẹ ogiriina.
  • Agbegbe ti a ṣe sinu ati ọlọjẹ ailagbara. Eyi n gba ọ laaye lati pinnu ominira awọn aala nẹtiwọọki ti awọn amayederun IT nipa lilo data lati awọn ibeere DNS ati ilana WHOIS. Lẹhinna, WAF ṣe atupale laifọwọyi awọn iṣẹ ti n ṣiṣẹ inu agbegbe (ṣe wiwakọ ibudo). Ogiriina naa lagbara lati ṣawari gbogbo awọn iru awọn ailagbara ti o wọpọ - SQLi, XSS, XXE, ati bẹbẹ lọ - ati idamo awọn aṣiṣe ni iṣeto ni sọfitiwia, fun apẹẹrẹ, iraye si laigba aṣẹ si awọn ibi ipamọ Git ati BitBucket ati awọn ipe ailorukọ si Elasticsearch, Redis, MongoDB.
  • Awọn ikọlu jẹ abojuto nipasẹ awọn orisun awọsanma. Gẹgẹbi ofin, awọn olupese awọsanma ni iye nla ti agbara iširo. Eyi n gba ọ laaye lati ṣe itupalẹ awọn irokeke pẹlu iṣedede giga ati iyara. Iṣupọ ti awọn apa àlẹmọ ti wa ni ransogun sinu awọsanma, nipasẹ eyiti gbogbo awọn ijabọ kọja. Awọn apa wọnyi ṣe idiwọ awọn ikọlu lori awọn ohun elo wẹẹbu ati firanṣẹ awọn iṣiro si Ile-iṣẹ atupale. O nlo awọn algoridimu ikẹkọ ẹrọ lati ṣe imudojuiwọn awọn ofin idinamọ fun gbogbo awọn ohun elo to ni aabo. Awọn imuse ti iru eto ti wa ni han ni Ọpọtọ. 4. Iru awọn ofin aabo ti a ṣe deede dinku nọmba awọn itaniji ogiriina eke.

Itankalẹ ti Ogiriina Ohun elo Oju opo wẹẹbu: lati awọn ogiriina si awọn eto aabo ti o da lori awọsanma pẹlu ẹkọ ẹrọ

Bayi diẹ nipa awọn ẹya ti awọsanma WAF ni awọn ofin ti awọn ọran ti iṣeto ati iṣakoso:

  • Iyipada si OpEx. Ninu ọran ti awọn WAF awọsanma, idiyele imuse yoo jẹ odo, nitori gbogbo ohun elo ati awọn iwe-aṣẹ ti san tẹlẹ nipasẹ olupese; isanwo fun iṣẹ naa jẹ ṣiṣe nipasẹ ṣiṣe alabapin.
  • Awọn eto idiyele oriṣiriṣi. Olumulo iṣẹ awọsanma le mu ṣiṣẹ ni kiakia tabi mu awọn aṣayan afikun ṣiṣẹ. Awọn iṣẹ ṣiṣe ni iṣakoso lati ọdọ igbimọ iṣakoso kan, eyiti o tun jẹ aabo. O ti wọle nipasẹ HTTPS, pẹlu ẹrọ ijẹrisi ifosiwewe ifosiwewe meji ti o da lori ilana TOTP (Algorithm Ọrọigbaniwọle kan-akoko ti o da lori akoko).
  • Asopọ nipasẹ DNS. O le yi DNS funrararẹ ati tunto ipa-ọna nẹtiwọọki. Lati yanju awọn iṣoro wọnyi ko si iwulo lati gbaṣẹ ati ikẹkọ awọn alamọja kọọkan. Gẹgẹbi ofin, atilẹyin imọ-ẹrọ olupese le ṣe iranlọwọ pẹlu iṣeto.

Awọn imọ-ẹrọ WAF ti wa lati awọn ogiriina ti o rọrun pẹlu awọn ofin ti atanpako si awọn eto aabo eka pẹlu awọn algoridimu ikẹkọ ẹrọ. Awọn ogiriina ohun elo bayi nfunni ni ọpọlọpọ awọn ẹya ti o nira lati ṣe ni awọn ọdun 90. Ni ọpọlọpọ awọn ọna, ifarahan ti iṣẹ-ṣiṣe titun di ṣee ṣe ọpẹ si awọn imọ-ẹrọ awọsanma. Awọn ojutu WAF ati awọn paati wọn tẹsiwaju lati dagbasoke. Gẹgẹ bi awọn agbegbe miiran ti aabo alaye.

Ọrọ naa ti pese sile nipasẹ Alexander Karpuzikov, oluṣakoso idagbasoke ọja aabo alaye ni olupese awọsanma #CloudMTS.

orisun: www.habr.com

Fi ọrọìwòye kun