10 Yleisimmät verkkoturvan haavoittuvuudet

Sisällysluettelo:

Anonim

OWASP tai Open Web Security Project on voittoa tavoittelematon hyväntekeväisyysjärjestö, joka keskittyy parantamaan ohjelmistojen ja verkkosovellusten turvallisuutta.

Organisaatio julkaisee luettelon tärkeimmistä verkkoturvallisuushaavoittuvuuksista, jotka perustuvat tietoturvaorganisaatioiden tietoihin.

Verkkoturvan haavoittuvuudet priorisoidaan hyödynnettävyyden, havaittavuuden ja ohjelmistoihin kohdistuvien vaikutusten mukaan.

  • Hyödynnettävyys -

    Mitä tarvitaan tietoturva-aukkojen hyödyntämiseen? Korkein hyödynnettävyys, kun hyökkäys vaatii vain verkkoselaimen ja alhaisimmat edistyneet ohjelmoinnit ja työkalut.

  • Havaittavuus -

    Kuinka helppoa on havaita uhka? Korkein on URL-osoitteessa, lomake- tai virhesanomassa näkyvä tieto ja alin lähdekoodi.

  • Isku tai vahinko -

    Kuinka paljon vahinkoa aiheutuu, jos tietoturvahaavoittuvuus paljastetaan tai sitä hyökätään? Korkein on täydellinen järjestelmän kaatuminen ja alin ei mitään.

OWASP Top 10: n päätavoitteena on kouluttaa kehittäjiä, suunnittelijoita, johtajia, arkkitehteja ja organisaatioita tärkeimmistä tietoturva-aukoista.

Kymmenen parasta OWASP Top 10 -turvallisuushaavoittuvuutta ovat:

  • SQL-injektio
  • Sivustojen välinen komentosarja
  • Rikki todennus ja istunnon hallinta
  • Epävarmat suorat objektiviitteet
  • Sivustojen välinen pyyntö väärentää
  • Turvallisuuden väärä määritys
  • Epävarma salaus
  • URL-osoitteiden käytön rajoittaminen epäonnistui
  • Riittämätön kuljetuskerroksen suojaus
  • Vahvistamattomat uudelleenohjaukset

SQL-injektio

Kuvaus

Injection on tietoturva-aukko, jonka avulla hyökkääjä voi muuttaa SQL-käskyjä manipuloimalla käyttäjän toimittamia tietoja.

Injektio tapahtuu, kun käyttäjän syötteet lähetetään tulkille osana komentoa tai kyselyä ja huijataan tulkki suorittamaan tahattomat komennot ja annetaan pääsy luvattomiin tietoihin.

SQL-komento, joka web-sovelluksen suorittamana voi myös paljastaa taustatietokannan.

Seuraamus

  • Hyökkääjä voi pistää haitallista sisältöä haavoittuville kentille.
  • Arkaluontoiset tiedot, kuten käyttäjätunnukset, salasanat jne., Voidaan lukea tietokannasta.
  • Tietokannan tietoja voidaan muokata (Lisää / Päivitä / Poista).
  • Hallintatoimet voidaan suorittaa tietokannassa

Haavoittuvat objektit

  • Syöttökentät
  • URL-osoitteet, jotka ovat vuorovaikutuksessa tietokannan kanssa.

Esimerkkejä:

  • SQL-injektio kirjautumissivulla

Kirjautuminen sovellukseen ilman voimassa olevia kirjautumistietoja.

Voimassa oleva käyttäjänimi on käytettävissä ja salasana ei ole käytettävissä.

Testin URL-osoite: http://demo.testfire.net/default.aspx

Käyttäjänimi: sjones

Salasana: 1 = 1 'tai pass123

SQL-kysely luotiin ja lähetettiin tulkkiin alla esitetyllä tavalla

SELECT * FROM Users WHERE Käyttäjänimi = sjones JA salasana = 1 = 1 'tai pass123;

Suositukset

  1. Valkoinen luetteloi syöttökentät
  2. Vältä hyökkääjälle hyödyllisten yksityiskohtaisten virheilmoitusten näyttämistä.

Sivustojen välinen komentosarja

Kuvaus

Sivustojen välinen komentosarja tunnetaan pian myös nimellä XSS.

XSS-haavoittuvuudet kohdistavat sivulle upotetut komentosarjat, jotka suoritetaan asiakaspuolella eli käyttäjän selaimella eikä palvelinpuolella. Nämä puutteet voivat ilmetä, kun sovellus ottaa epäluotettavia tietoja ja lähettää ne verkkoselaimeen ilman asianmukaista vahvistusta.

Hyökkääjät voivat käyttää XSS: ää suorittamaan haitallisia komentosarjoja käyttäjille tässä tapauksessa uhrien selaimissa. Koska selain ei voi tietää, onko komentosarja luotettava vai ei, komentosarja suoritetaan, ja hyökkääjä voi kaapata istuntoevästeet, vahingoittaa verkkosivustoja tai ohjata käyttäjän ei-toivottuihin ja haitallisiin verkkosivustoihin.

XSS on hyökkäys, jonka avulla hyökkääjä voi suorittaa skriptit uhrin selaimessa.

Seuraamus:

  • Hyödyntämällä tätä tietoturvahaavoittuvuutta hyökkääjä voi injektoida komentosarjoja sovellukseen, varastaa istuntoevästeitä, tuhota verkkosivustoja ja suorittaa haittaohjelmia uhrin koneissa.

Haavoittuvat objektit

  • Syöttökentät
  • URL-osoitteet

Esimerkkejä

1. http://www.vulnerablesite.com/home?" < script > alert(" xss") script >

Yllä oleva komentosarja, kun se suoritetaan selaimella, näytetään viestiruutu, jos sivusto on haavoittuvainen XSS: lle.

Vakavampi hyökkäys voidaan tehdä, jos hyökkääjä haluaa näyttää tai tallentaa istuntoevästeitä.

2. http://demo.testfire.net/search.aspx?txtSearch > http://google.com width = 500 korkeus 500>

Yllä oleva komentosarja suoritettaessa selain lataa näkymättömän kehyksen, joka osoittaa osoitteeseen http://google.com .

Hyökkäys voidaan tehdä vakavaksi suorittamalla haitallinen komentosarja selaimessa.

Suositukset

  1. Valkoisen luettelon syöttökentät
  2. Tulo Lähdön koodaus

Rikki todennus ja istunnon hallinta

Kuvaus

Verkkosivustot luovat yleensä istuntokohtaisen evästeen ja istuntotunnuksen jokaiselle kelvolliselle istunnolle, ja nämä evästeet sisältävät arkaluontoisia tietoja, kuten käyttäjänimi, salasana jne. Kun istunto lopetetaan joko kirjautumalla ulos tai selain suljetaan äkillisesti, nämä evästeet tulisi mitätöidä eli jokaiselle istunnolle pitäisi olla uusi eväste.

Jos evästeitä ei mitätöidä, arkaluontoisia tietoja on järjestelmässä. Esimerkiksi julkista tietokonetta (Cyber ​​Cafe) käyttävä käyttäjä, haavoittuvan sivuston evästeet istuvat järjestelmässä ja altistuvat hyökkääjälle. Hyökkääjä käyttää samaa julkista tietokonetta jonkin ajan kuluttua, arkaluontoiset tiedot vaarantuvat.

Samalla tavalla käyttäjä, joka käyttää julkista tietokonetta, kirjautumisen sijaan sulkee selaimen äkillisesti. Hyökkääjä käyttää samaa järjestelmää. Kun selaa samaa haavoittuvaa sivustoa, uhrin edellinen istunto avataan. Hyökkääjä voi tehdä mitä tahansa haluavansa varastamalla profiilitietoja, luottokorttitietoja jne.

Tarkastus on tehtävä todennuksen ja istunnonhallinnan vahvuuden löytämiseksi. Avaimet, istuntotunnukset ja evästeet tulisi toteuttaa oikein vaarantamatta salasanoja.

Haavoittuvat objektit

  • URL-osoitteessa näkyvät istuntotunnukset voivat johtaa istunnon korjaushyökkäykseen.
  • Istunnon tunnukset ovat samat ennen kirjautumista ja kirjautumista.
  • Istunnon aikakatkaisuja ei ole otettu käyttöön oikein.
  • Sovellus määrittää saman istuntotunnuksen jokaiselle uudelle istunnolle.
  • Sovelluksen todennetut osat suojataan SSL: llä ja salasanat tallennetaan tiivistetyssä tai salatussa muodossa.
  • Vähän etuoikeutettu käyttäjä voi käyttää istuntoa uudelleen.

Seuraamus

  • Hyökkääjä voi tätä haavoittuvuutta käyttämällä kaapata istunnon, saada luvaton pääsy järjestelmään, mikä sallii luvattomien tietojen paljastamisen ja muokkaamisen.
  • Istunnot voivat olla korkeatasoisia varastetuilla evästeillä tai XSS-istunnoilla.

Esimerkkejä

  1. Lentoyhtiön varaussovellus tukee URL-osoitteiden uudelleenkirjoittamista asettamalla istuntotunnukset URL-osoitteeseen:

    http://Examples.com/sale/saleitems;jsessionid=2P0OC2oJM0DPXSNQPLME34SERTBG/dest=Maldives (Lippujen myynti Malediiveille)

    Sivuston todennettu käyttäjä haluaa kertoa ystävilleen myynnistä ja lähettää sähköpostin. Ystävät saavat istuntotunnuksen ja heitä voidaan käyttää luvattomiin muutoksiin tai tallennettujen luottokorttitietojen väärinkäyttöön.

  2. Sovellus on haavoittuvainen XSS: lle, jonka avulla hyökkääjä pääsee käyttämään istunnon tunnusta ja jota voidaan käyttää kaappaamaan istunto.
  3. Sovellusten aikakatkaisuja ei ole asetettu oikein. Käyttäjä käyttää julkista tietokonetta ja sulkee selaimen kirjautumisen sijaan ja kävelee pois. Hyökkääjä käyttää samaa selainta jonkin aikaa myöhemmin, ja istunto todennetaan.

Suositukset

  1. Kaikki todennus- ja istunnonhallintavaatimukset tulisi määritellä OWASP-sovelluksen tietoturvatoimintastandardin mukaisesti.
  2. Älä koskaan paljasta mitään URL-osoitteiden tai lokien tunnistetietoja.
  3. Olisi myös pyrittävä välttämään XSS-virheitä, joita voidaan käyttää istuntotunnusten varastamiseen.

Epävarmat suorat objektiviitteet

Kuvaus

Se tapahtuu, kun kehittäjä paljastaa viitteen sisäiseen toteutusobjektiin, kuten tiedosto, hakemisto tai tietokanta-avain URL-osoitteessa tai FORM-parametrina. Hyökkääjä voi käyttää näitä tietoja muiden objektien käyttämiseen ja luoda tulevan hyökkäyksen luvattomien tietojen saamiseksi.

Seuraamus

  • Tämän haavoittuvuuden avulla hyökkääjä voi päästä käsiksi luvattomiin sisäisiin objekteihin, muokata tietoja tai vaarantaa sovelluksen.

Haavoittuvat objektit

  • URL-osoitteessa.

Esimerkkejä:

Käyttäjän tunnuksen muuttaminen seuraavassa URL-osoitteessa voi saada hyökkääjän tarkastelemaan muiden käyttäjien tietoja.

http://www.vulnerablesite.com/userid=123 Muokattu osoitteeksi http://www.vulnerablesite.com/userid=124

Hyökkääjä voi tarkastella muita tietoja muuttamalla käyttäjätunnuksen arvoa.

Suositukset:

  1. Ota käyttöön kulunvalvonnan tarkastukset.
  2. Vältä objektiviittausten paljastamista URL-osoitteissa.
  3. Tarkista kaikkien viiteobjektien valtuutus.

Sivustojen välinen pyyntö väärentää

Kuvaus

Cross site Request Forgery on väärennetty pyyntö, joka tuli cross site -sivustolta.

CSRF-hyökkäys on hyökkäys, joka tapahtuu, kun haitallinen verkkosivusto, sähköposti tai ohjelma saa käyttäjän selaimen suorittamaan ei-toivotun toiminnon luotetulla sivustolla, jolle käyttäjä on tällä hetkellä todennettu.

CSRF-hyökkäys pakottaa kirjautuneen uhrin selaimen lähettämään väärennetyn HTTP-pyynnön, mukaan lukien uhrin istuntoeväste ja kaikki muut automaattisesti sisällytetyt todennustiedot, haavoittuvalle verkkosovellukselle.

Hyökkääjä lähettää linkin uhrille, kun käyttäjä napsauttaa URL-osoitetta kirjautuneena alkuperäiselle verkkosivustolle, tiedot varastetaan verkkosivustolta.

Seuraamus

  • Tämän haavoittuvuuden käyttäminen hyökkääjänä voi muuttaa käyttäjäprofiilin tietoja, muuttaa tilaa, luoda uuden käyttäjän järjestelmänvalvojan puolesta jne.

Haavoittuvat objektit

  • Käyttäjäprofiilisivu
  • Käyttäjätililomakkeet
  • Yritystapahtumasivu

Esimerkkejä

Uhri kirjataan pankin verkkosivustolle käyttämällä voimassa olevia valtakirjoja. Hän saa postia hyökkääjältä, jossa kerrotaan: "Napsauta tätä ja lahjoita $ 1 aiheuttamaan."

Kun uhri napsauttaa sitä, luodaan kelvollinen pyyntö lahjoittaa 1 dollari tietylle tilille.

http://www.vulnerablebank.com/transfer.do?account=cause&amount=1

Hyökkääjä sieppaa tämän pyynnön ja luo pyynnön alapuolelle ja upottaa painikkeeseen, jossa lukee "Tuen syytä".

http://www.vulnerablebank.com/transfer.do?account=Attacker&amount=1000

Koska istunto on todennettu ja pyyntö tulee pankin verkkosivuston kautta, palvelin siirtää 1000 dollaria hyökkääjälle.

Suositus

  1. Anna käyttäjälle läsnäolo arkaluontoisten toimien suorittamisen aikana.
  2. Toteuta mekanismeja, kuten CAPTCHA, uudelleenautentikointi ja yksilölliset pyyntötunnukset.

Turvallisuuden väärä määritys

Kuvaus

Suojauskokoonpano on määritettävä ja otettava käyttöön sovellukselle, kehyksille, sovelluspalvelimelle, verkkopalvelimelle, tietokantapalvelimelle ja alustalle. Jos nämä on määritetty oikein, hyökkääjällä voi olla luvaton pääsy arkaluontoisiin tietoihin tai toimintoihin.

Joskus tällaiset puutteet johtavat täydelliseen järjestelmän vaarantumiseen. Ohjelmiston päivittäminen on myös hyvä turvallisuus.

Seuraamus

  • Hyökkääjä voi tätä haavoittuvuutta hyödyntämällä luetella taustalla olevan tekniikan ja sovelluspalvelimen versiotiedot, tietokantatiedot ja saada tietoja sovelluksesta muutaman uuden hyökkäyksen tekemiseksi.

Haavoittuvat esineet

  • URL
  • Lomakekentät
  • Syöttökentät

Esimerkkejä

  1. Sovelluspalvelimen hallintakonsoli asennetaan automaattisesti eikä poisteta. Oletustilejä ei muuteta. Hyökkääjä voi kirjautua sisään oletussalasanoilla ja saada luvattoman käytön.
  2. Hakemistoluetteloa ei ole poistettu käytöstä palvelimellasi. Hyökkääjä löytää ja voi yksinkertaisesti luetteloida hakemistot löytääkseen minkä tahansa tiedoston.

Suositukset

  1. Vahva sovellusarkkitehtuuri, joka tarjoaa hyvän erotuksen ja turvallisuuden komponenttien välillä.
  2. Vaihda oletuskäyttäjien nimet ja salasanat.
  3. Poista hakemistoluettelot käytöstä ja ota käyttöön pääsynvalvontatarkistukset.

Epävarma salaus

Kuvaus

Turvallinen salaustallennus on yleinen haavoittuvuus, joka esiintyy, kun arkaluontoisia tietoja ei tallenneta turvallisesti.

Käyttäjätiedot, profiilitiedot, terveystiedot, luottokorttitiedot jne. Kuuluvat verkkosivuston arkaluontoisten tietojen alle.

Nämä tiedot tallennetaan sovellustietokantaan. Kun nämä tiedot tallennetaan väärin, kun salausta tai hajautusta ei käytetä *, ne ovat alttiita hyökkääjille.

(* Hajautus on merkkijonojen muuttaminen lyhyemmiksi kiinteän pituisiksi merkkijonoiksi tai avaimeksi. Merkkijonon salauksen purkamiseksi avaimen muodostamiseen käytettävän algoritmin pitäisi olla käytettävissä.)

Seuraamus

  • Tämän haavoittuvuuden avulla hyökkääjä voi varastaa, muokata heikosti suojattuja tietoja henkilöllisyysvarkauksien, luottokorttipetosten tai muiden rikosten tekemiseksi.

Haavoittuvat esineet

  • Sovellustietokanta.

Esimerkkejä

Yhdessä pankkisovelluksessa salasanatietokanta käyttää suolattomia tiivisteitä * kaikkien salasanojen tallentamiseen. SQL-injektiovirhe antaa hyökkääjän hakea salasanatiedoston. Kaikki suolattomat hajautusasiat voidaan pakottaa raakaa hetkessä, kun taas suolatut salasanat vievät tuhansia vuosia.

(* Suolattomat hajautukset - Suola on satunnaisia ​​tietoja, jotka liitetään alkuperäisiin tietoihin. Suola liitetään salasanaan ennen hajautusta)

Suositukset

  1. Varmista asianmukaiset vahvat vakioalgoritmit. Älä luo omia salausalgoritmeja. Käytä vain hyväksyttyjä julkisia algoritmeja, kuten AES, RSA: n julkisen avaimen salaus ja SHA-256, jne.
  2. Varmista, että ulkopuoliset varmuuskopiot on salattu, mutta avaimia hallitaan ja varmuuskopioidaan erikseen.

URL-osoitteiden käytön rajoittaminen epäonnistui

Kuvaus

Verkkosovellukset tarkistavat URL-osoitteiden käyttöoikeudet ennen suojattujen linkkien ja painikkeiden renderointia. Sovellusten on suoritettava samanlaiset kulunvalvontatarkistukset aina, kun näitä sivuja käytetään.

Useimmissa sovelluksissa etuoikeutettuja sivuja, sijainteja ja resursseja ei esitetä etuoikeutetuille käyttäjille.

Älykkään arvauksen mukaan hyökkääjä voi käyttää etuoikeussivuja. Hyökkääjä voi käyttää arkaluontoisia sivuja, käyttää toimintoja ja tarkastella luottamuksellisia tietoja.

Seuraamus

  • Tämän haavoittuvuuden hyökkääjä voi päästä käsiksi luvattomiin URL-osoitteisiin kirjautumatta sovellukseen ja hyödyntämään haavoittuvuutta. Hyökkääjä voi käyttää arkaluontoisia sivuja, käyttää toimintoja ja tarkastella luottamuksellisia tietoja.

Haavoittuvat kohteet:

  • URL-osoitteet

Esimerkkejä

  1. Hyökkääjä huomaa, että URL-osoite osoittaa roolin muodossa "/ user / getaccounts". Hän muokkaa tiedostoa "/ admin / getaccounts".
  2. Hyökkääjä voi liittää roolin URL-osoitteeseen.

http://www.vulnerablsite.com voidaan muokata nimellä http://www.vulnerablesite.com/admin

Suositukset

  1. Toteuta vahvat kulunvalvontatarkastukset.
  2. Todennus- ja valtuutuskäytäntöjen tulisi olla roolipohjaisia.
  3. Rajoita pääsy ei-toivottuihin URL-osoitteisiin.

Riittämätön kuljetuskerroksen suojaus

Kuvaus

Käsittelee tiedonvaihtoa käyttäjän (asiakas) ja palvelimen (sovellus) välillä. Sovellukset lähettävät usein arkaluonteisia tietoja, kuten todennustiedot, luottokorttitiedot ja istuntomerkit verkon kautta.

Käyttämällä heikkoja algoritmeja tai vanhentuneita tai virheellisiä sertifikaatteja tai SSL: n käyttämättä jättäminen voi sallia viestinnän altistumisen epäluotettaville käyttäjille, mikä voi vaarantaa verkkosovelluksen ja varastaa arkaluonteisia tietoja.

Seuraamus

  • Hyödyntämällä tätä verkkoturvallisuushaavoittuvuutta hyökkääjä voi haistaa laillisen käyttäjän tunnistetiedot ja saada pääsyn sovellukseen.
  • Voi varastaa luottokorttitietoja.

Haavoittuvat esineet

  • Tiedot lähetetään verkon kautta.

Suositukset

  1. Ota käyttöön suojattu HTTP ja pakota tunnistetietojen siirto vain HTTPS: n kautta.
  2. Varmista, että varmenne on kelvollinen eikä sen voimassaolo ole päättynyt.

Esimerkkejä:

1. Sovellus, joka ei käytä SSL: ää, hyökkääjä yksinkertaisesti seuraa verkkoliikennettä ja tarkkailee todennettua uhriistuntoevästä. Hyökkääjä voi varastaa evästeen ja suorittaa Man-in-the-Middle-hyökkäyksen.

Vahvistamattomat uudelleenohjaukset

Kuvaus

Verkkosovellus käyttää muutamia tapoja ohjata ja ohjata käyttäjiä muille sivuille aiottuun tarkoitukseen.

Jos muille sivuille ohjaamisen aikana ei ole asianmukaista vahvistusta, hyökkääjät voivat käyttää sitä ja ohjata uhrit tietojenkalastelu- tai haittaohjelmasivustoille tai käyttää eteenpäin eteenpäin luvattomille sivuille.

Seuraamus

  • Hyökkääjä voi lähettää käyttäjälle URL-osoitteen, joka sisältää aidon URL-osoitteen, johon on liitetty koodattu haitallinen URL. Käyttäjä vain näkemällä hyökkääjän lähettämän URL-osoitteen voi selata sitä ja tulla uhriksi.

Esimerkkejä

1. http://www.vulnerablesite.com/login.aspx?redirectURL=ownsite.com

Muokattu

http://www.vulnerablesite.com/login.aspx?redirectURL=evilsite.com

Suositukset

  1. Vältä vain uudelleenohjausten ja edelleenlähetysten käyttöä sovelluksessa. Älä käytä käyttäjän parametreja määränpäätä laskettaessa, jos sitä käytetään.
  2. Jos kohdeparametreja ei voida välttää, varmista, että toimitettu arvo on kelvollinen ja käyttäjän valtuuttama.

Tämän artikkelin on kirjoittanut Prasanthi Eati