Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Aiemmassa pilviaiheita käsittelevässä materiaalissamme me kertoi, kuinka suojella IT-resursseja julkisessa pilvessä ja miksi perinteiset virustorjuntaohjelmat eivät täysin sovellu näihin tarkoituksiin. Tässä postauksessa jatkamme pilviturvallisuuden aihetta ja puhumme WAF:n kehityksestä ja siitä, mikä on parempi valita: laitteisto, ohjelmisto vai pilvi. 

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Mikä on WAF

Yli 75 % hakkerihyökkäyksistä kohdistuu verkkosovellusten ja verkkosivustojen haavoittuvuuksiin: tällaiset hyökkäykset ovat yleensä näkymättömiä tietoturvainfrastruktuurille ja tietoturvapalveluille. Verkkosovellusten haavoittuvuuksiin liittyy puolestaan ​​käyttäjätilien ja henkilötietojen, salasanojen ja luottokorttinumeroiden vaarantumis- ja petosriski. Lisäksi verkkosivuston haavoittuvuudet toimivat hyökkääjien pääsypisteenä yritysverkkoon.

Web Application Firewall (WAF) on suojaava näyttö, joka estää hyökkäykset verkkosovelluksiin: SQL-injektio, sivustojen välinen komentosarja, koodin etäsuoritus, raaka voima ja valtuutuksen ohitus. Mukaan lukien hyökkäykset, jotka hyödyntävät nollapäivän haavoittuvuuksia. Sovellusten palomuurit tarjoavat suojaa valvomalla verkkosivujen sisältöä, mukaan lukien HTML, DHTML ja CSS, ja suodattamalla mahdollisesti haitallisia HTTP/HTTPS-pyyntöjä.

Какими были первые решения?

Ensimmäiset yritykset luoda Web Application Firewall tehtiin jo 90-luvun alussa. Ainakin kolmen insinöörin tiedetään työskennelleet tällä alalla. Ensimmäinen on tietojenkäsittelytieteen professori Gene Spafford Purduen yliopistosta. Hän kuvasi välityspalvelinsovelluksen palomuurin arkkitehtuuria ja julkaisi sen vuonna 1991 kirjassa "UNIX-suojaus käytännössä".

Toinen ja kolmas olivat tietoturva-asiantuntijat William Cheswick ja Marcus Ranum Bell Labsista. He kehittivät yhden ensimmäisistä sovellusten palomuuriprototyypeistä. Sen jakeli DEC - tuote julkaistiin nimellä SEAL (Secure External Access Link).

Но SEAL не являлся полноценным WAF-решением. Он представлял собой классический сетевой файрвол с расширенной функциональностью — возможностью блокировать атаки на FTP и RSH. По этой причине первым WAF-решением сегодня считается продукт компании Perfecto Technologies (позже Sanctum). В 1999 году она esitetty AppShield-järjestelmä. Tuolloin Perfecto Technologies kehitti tietoturvaratkaisuja sähköiseen kaupankäyntiin ja verkkokaupoista tuli heidän uuden tuotteensa kohdeyleisö. AppShield pystyi analysoimaan HTTP-pyyntöjä ja estettyjä hyökkäyksiä dynaamisten tietoturvakäytäntöjen perusteella.

Noin samaan aikaan kuin AppShield (vuonna 2002), ensimmäinen avoimen lähdekoodin WAF ilmestyi. Hän tuli ModSecurity. Se luotiin WAF-tekniikoiden popularisoimiseksi, ja IT-yhteisö tukee sitä edelleen (tässä se on arkisto GitHubissa). ModSecurity estää hyökkäykset sovelluksiin, jotka perustuvat standardiin säännöllisiin lausekkeisiin (allekirjoituksiin) - työkalut pyyntöjen tarkistamiseen kuvioiden perusteella - OWASP-ydinsääntösarja.

В итоге разработчикам удалось добиться своей цели — на рынке начали появляться новые WAF-решения, в том числе построенные на базе ModSecurity.

Kolme sukupolvea on jo historiaa

On tapana erottaa kolme WAF-järjestelmien sukupolvea, jotka ovat kehittyneet tekniikan kehityksen myötä.

Ensimmäinen sukupolvi. Toimii säännöllisten lausekkeiden (tai kielioppien) kanssa. Tämä sisältää ModSecurityn. Järjestelmäntarjoaja tutkii sovellusten hyökkäystyyppejä ja luo malleja, jotka kuvaavat laillisia ja mahdollisesti haitallisia pyyntöjä. WAF tarkistaa nämä luettelot ja päättää, mitä tehdä tietyssä tilanteessa - estääkö liikenne vai ei.

Esimerkki säännöllisiin lausekkeisiin perustuvasta havaitsemisesta on jo mainittu projekti Perussääntösarja avoin lähdekoodi. Toinen esimerkki - Naxsi, joka on myös avoin lähdekoodi. Säännöllisiä lausekkeita käyttävillä järjestelmillä on useita haittoja, etenkin kun uusi haavoittuvuus havaitaan, järjestelmänvalvojan on luotava lisäsääntöjä manuaalisesti. Suuren IT-infrastruktuurin tapauksessa voi olla useita tuhansia sääntöjä. Monien säännöllisten lausekkeiden hallinta on melko vaikeaa, puhumattakaan siitä, että niiden tarkistaminen voi heikentää verkon suorituskykyä.

Säännöllisillä lausekkeilla on myös melko korkea väärien positiivisten prosenttiosuus. Kuuluisa kielitieteilijä Noam Chomsky ehdotti kielioppiluokitusta, jossa hän jakoi ne neljään ehdolliseen monimutkaisuustasoon. Tämän luokituksen mukaan säännölliset lausekkeet voivat kuvata vain palomuurin sääntöjä, jotka eivät sisällä poikkeamia mallista. Tämä tarkoittaa, että hyökkääjät voivat helposti "huijata" ensimmäisen sukupolven WAF:ia. Yksi tapa torjua tätä on lisätä sovelluspyyntöihin erikoismerkkejä, jotka eivät vaikuta haitallisen tiedon logiikkaan, mutta rikkovat allekirjoitussääntöä.

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Toinen sukupolvi. WAF:ien suorituskyky- ja tarkkuusongelmien kiertämiseksi kehitettiin toisen sukupolven sovelluspalomuurit. Heillä on nyt jäsentimiä, jotka vastaavat tiukasti määriteltyjen hyökkäystyyppien tunnistamisesta (HTML, JS jne.). Nämä jäsentimet toimivat erityisten kyselyitä kuvaavien tunnuksien kanssa (esimerkiksi muuttuja, merkkijono, tuntematon, numero). Mahdollisesti haitalliset merkkisekvenssit sijoitetaan erilliseen luetteloon, jota WAF-järjestelmä tarkistaa säännöllisesti. Tämä lähestymistapa esiteltiin ensimmäisen kerran Black Hat 2012 -konferenssissa C/C++-muodossa libinjektiokirjastot, которая позволяет выявлять SQL-инъекции.

Ensimmäisen sukupolven WAF:eihin verrattuna erikoistuneet jäsentimet voivat olla nopeampia. Ne eivät kuitenkaan ratkaisseet ongelmia, jotka liittyvät järjestelmän manuaaliseen määrittämiseen uusien haitallisten hyökkäysten ilmaantuessa.

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Kolmas sukupolvi. Kolmannen sukupolven tunnistuslogiikan kehitys koostuu koneoppimismenetelmien käytöstä, jotka mahdollistavat tunnistuksen kieliopin saattamisen mahdollisimman lähelle suojattujen järjestelmien todellista SQL/HTML/JS-kielioppia. Tämä ilmaisulogiikka pystyy mukauttamaan Turingin koneen kattamaan rekursiivisesti numeroitavia kielioppeja. Lisäksi aiemmin tehtävä mukautuvan Turingin koneen luominen oli ratkaisematon, kunnes ensimmäiset tutkimukset hermo Turingin koneista julkaistiin.

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

Yhdistämällä kaikki kolme tunnistuslogiikan sukupolvea voidaan piirtää uusi kaavio, jossa kolmatta sukupolvea ilmaisu edustaa punaisella ääriviivalla (kuva 3). Tämä sukupolvi sisältää yhden ratkaisuista, joita toteutamme pilvessä yhdessä verkkosovellusten mukautuvan suojauksen alustan ja Wallarm API:n kehittäjän Onsekin kanssa.

Tunnistuslogiikka käyttää nyt sovelluksen palautetta itsensä virittämiseen. Koneoppimisessa tätä palautesilmukkaa kutsutaan "vahvistukseksi". Tyypillisesti tällaisia ​​vahvistuksia on yksi tai useampia:

  • Sovelluksen vastekäyttäytymisen analyysi (passiivinen)
  • Scan/fuzzer (aktiivinen)
  • Файлы отчетов/процедуры-перехватчики/ловушки (пост фактум)
  • Manuaalinen (esimiehen määrittelemä)

В результате логика обнаружения третьего поколения также решает важную проблему точности. Теперь возможно не только избежать ложных срабатываний и ложных отрицаний, но и обнаружить допустимые истинно отрицательные результаты, такие как обнаружение использования командного элемента SQL в панели управления, загрузка шаблонов веб-страниц, запросы AJAX, связанные с ошибками JavaScript, и другие.

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Seuraavaksi tarkastelemme eri WAF-toteutusvaihtoehtojen teknisiä ominaisuuksia.

Laitteisto, ohjelmisto vai pilvi – mitä valita?

Yksi vaihtoehdoista sovellusten palomuurien toteuttamiseen on laitteistoratkaisu. Tällaiset järjestelmät ovat erikoistuneita laskentalaitteita, jotka yritys asentaa paikallisesti datakeskukseensa. Mutta tässä tapauksessa sinun on ostettava omat laitteet ja maksettava rahaa integraattoreille niiden asentamisesta ja virheenkorjauksesta (jos yrityksellä ei ole omaa IT-osastoa). Samaan aikaan kaikki laitteet vanhentuvat ja muuttuvat käyttökelvottomiksi, joten asiakkaiden on pakko varata laitteistopäivityksiä.

Toinen vaihtoehto WAF:n käyttöönottamiseksi on ohjelmistototeutus. Ratkaisu asennetaan lisäosana joihinkin ohjelmistoihin (esimerkiksi ModSecurity on määritetty Apachen päälle) ja toimii samalla palvelimella sen kanssa. Pääsääntöisesti tällaisia ​​ratkaisuja voidaan ottaa käyttöön sekä fyysisellä palvelimella että pilvessä. Niiden haittana on rajoitettu skaalautuvuus ja toimittajatuki.

Kolmas vaihtoehto on WAF:n määrittäminen pilvestä. Tällaisia ​​ratkaisuja tarjoavat pilvipalveluntarjoajat tilauspalveluna. Yrityksen ei tarvitse ostaa ja konfiguroida erikoislaitteita, vaan nämä tehtävät kuuluvat palveluntarjoajan harteille. Tärkeä asia on, että moderni pilvi-WAF ei tarkoita resurssien siirtymistä palveluntarjoajan alustalle. Sivusto voidaan ottaa käyttöön missä tahansa, jopa paikan päällä.

Почему сейчас все чаще смотрят в сторону облачного WAF, расскажем далее.

Что может WAF в облаке

Teknisten ominaisuuksien suhteen:

  • Palveluntarjoaja on vastuussa päivityksistä. WAF toimitetaan tilauksella, joten palveluntarjoaja seuraa päivitysten ja lisenssien merkitystä. Päivitykset eivät koske vain ohjelmistoja, vaan myös laitteistoja. Palveluntarjoaja päivittää palvelinpuiston ja ylläpitää sitä. Se vastaa myös kuormituksen tasapainotuksesta ja redundanssista. Jos WAF-palvelin epäonnistuu, liikenne ohjataan välittömästi toiselle koneelle. Liikenteen järkevä jakautuminen mahdollistaa tilanteiden välttämisen, kun palomuuri siirtyy epäonnistuneeseen avoimeen tilaan - se ei kestä kuormaa ja lopettaa pyyntöjen suodattamisen.
  • Virtuaalinen korjaus. Виртуальные патчи ограничивают доступ к скомпрометированным частям приложения до закрытия уязвимости разработчиком. В результате заказчик облачного провайдера получает возможность спокойно дождаться пока поставщик того или иного программного обеспечения опубликует официальные «заплатки». Сделать это максимально оперативно — приоритет для поставщика ПО. К примеру, в платформе «Валарм» за виртуальный патчинг отвечает отдельный программный модуль. Администратор может добавлять кастомные регулярные выражения для блокировки вредоносных запросов. Система дает возможность отмечать некоторые запросы флагом «Конфиденциальные данные». Тогда их параметры маскируются, а сами они ни при каких условиях не передаются за пределы рабочей зоны файрвола.
  • Sisäänrakennettu kehä- ja haavoittuvuusskanneri. Это позволяет самостоятельно определять сетевые границы ИТ-инфраструктуры, используя данные DNS-запросов и протокола WHOIS. После WAF автоматически анализирует работающие внутри периметра службы и сервисы (выполняет сканирование портов). Файрвол способен обнаруживать все распространённые типы уязвимостей — SQLi, XSS, XXE и др. — и выявлять ошибки в конфигурации ПО, например, несанкционированный доступ к репозиториям Git и BitBucket и анонимные обращения к Elasticsearch, Redis, MongoDB.
  • Атаки мониторятся ресурсами облака. Pääsääntöisesti pilvipalveluntarjoajilla on paljon laskentatehoa. Tämän avulla voit analysoida uhkia erittäin tarkasti ja nopeasti. Pilveen on otettu käyttöön suodatinsolmujen klusteri, jonka läpi kaikki liikenne kulkee. Nämä solmut estävät hyökkäykset verkkosovelluksiin ja lähettävät tilastoja Analytics-keskukseen. Se käyttää koneoppimisalgoritmeja päivittääkseen kaikkien suojattujen sovellusten estosäännöt. Tällaisen järjestelmän toteutus on esitetty kuvassa. 4. Tällaiset räätälöidyt turvallisuussäännöt minimoivat väärien palomuurin hälytysten määrän.

Web Application Firewallin kehitys: palomuurista pilvipohjaisiin suojausjärjestelmiin koneoppimisen avulla

Nyt vähän pilvi WAF:ien ominaisuuksista organisatoristen asioiden ja hallinnan kannalta:

  • Siirtyminen OpExiin. Pilvi-WAF:ien tapauksessa toteutuskustannukset ovat nolla, koska palveluntarjoaja on jo maksanut kaikki laitteistot ja lisenssit, palvelusta maksetaan tilauksella.
  • Eri tariffisuunnitelmat. Pilvipalvelun käyttäjä voi nopeasti ottaa käyttöön tai poistaa käytöstä lisäasetuksia. Toimintoja hallitaan yhdestä ohjauspaneelista, joka on myös turvallinen. Sitä käytetään HTTPS:n kautta, ja siinä on kaksivaiheinen todennusmekanismi, joka perustuu TOTP-protokollaan (Time-based One-Time Password Algorithm).
  • Подключение по DNS. Voit muuttaa DNS:ää itse ja määrittää verkkoreitityksen. Näiden ongelmien ratkaisemiseksi ei tarvitse rekrytoida ja kouluttaa yksittäisiä asiantuntijoita. Pääsääntöisesti palveluntarjoajan tekninen tuki voi auttaa asennuksessa.

WAF-технологии прошли эволюцию от простых сетевых экранов с эмпирическими правилами до комплексных систем защиты с алгоритмами машинного обучения. Сейчас файрволы приложений обладают широким спектром функций, которые были труднореализуемы в 90-х. Во многом появление новой функциональности стало возможно благодаря облачным технологиям. WAF-решения и их компоненты продолжают развиваться. Так же, как и другие сферы ИБ.

Текст подготовил Александр Карпузиков, менеджер по развитию продуктов ИБ облачного провайдера #CloudMTS.

Lähde: will.com

Lisää kommentti