Sisällysluettelo
- Mitä on tietoturvatestaus?
- Miksi tehdä tietoturvatestejä?
- Tietoturvatestauksen lähestymistavat
- Useimmat käytetyt menetelmät tietoturvatestauksessa
- Turvatestauksen edellytykset
- Turvatestauksen plussat
- Turvallisuustestauksen haitat
- Vinkkejä verkkosovellusten tietoturvatestaukseen
- Suositellut artikkelit
Mitä on tietoturvatestaus?
Turvallisuustestaus on prosessi, joka tutkii, säilyvätkö yksityiset/luokitellut tiedot sellaisina vai eivät, eli tietoturvatestaus on hyödyllinen sen varmistamiseksi, että verkkosovelluksen luottamukselliset tiedot jäävät paljastamatta henkilöille/kokonaisuuksille, joita ei ole selvitetty näiden tietojen saamiseksi.
Verkkosovellukset voivat olla suhteellisen alttiimpia haitallisille organisaatioille, jotka yrittävät rikkoa heidän suojautumisensa. Siksi on toteutettava lisätoimenpiteitä, jotta verkkosovelluksesi saadaan vapaaksi hakkereista.
Web-tietoturvaratkaisut ovat helposti saatavilla, mutta useimmat vaativat merkittäviä investointeja laitteistoon ja ohjelmistoon. Mutta mikään ei voi olla arvokkaampaa kuin tuotteesi turvallisuus.
Toinen turvatestauksen käyttötapa on varmistaa, että käyttäjät eivät voi muuttaa verkkosovelluksen toimintoja tahattomasti jne.
Esimerkiksi, jos käyttäjät eivät ole tilaaneet sen premium-ominaisuuksia, heidän käyttöään tulee rajoittaa. Tietoturvatestaus varmistaa, ettei ole porsaanreikiä tai temppuja, jotka voivat tarjota sen premium-ominaisuuksia ilmaiseksi ja varmistaa, että sen käyttäjätiedot ja muut tiedot ovat turvassa.
Miksi tehdä tietoturvatestejä?
Yksi verkkosovellusten tietoturvatestien kriittisimmistä ominaisuuksista olisi verkkosovellusten haavoittuvuuden torjunta. Verkkosovelluksia tutkittaessa havaitaan puhdistamatonta syötettä, joka on alttiina koodin lisäyshyökkäyksille. Tietty syöte voi loukata verkkosovelluksen ja sen sovelluskomponenttien, kuten käyttöliittymän ja tietokannan, suojausta. Turvatesti, joka soveltaa tekniikoita, kuten tunkeutumistestausta käynnissä olevaan sovellukseen, on perusta tällaisten haavoittuvuuksien tunnistamiselle toimivassa sovelluksessa.
Verkkosovellusten suojauksen parhaat käytännöt on varmistaa, että sovelluksen kehitys- ja testausprosessiin sisällytetään useita suojauskerroksia. Ottamalla kaikki mukaan ja varmistamalla, että he tietävät, mitä tehdä, kun he kohtaavat haavoittuvuuksia tai muita ongelmia, kehittäjät voivat vahvistaa koko verkkosovelluksen tietoturvaprosessia ja ylläpitää parempaa ymmärrystä verkkosovelluksesi tietoturvaongelmista.
Tietoturvatestauksen lähestymistavat
Dynamic Application Security Testing (DAST)
DAST-metodologia sisältää verkkosovelluksen haavoittuvuuksien etsimisen, joita hyökkääjä voisi yrittää hyödyntää. Tämä lähestymistapa auttaa selvittämään, mihin haavoittuvuuksiin hyökkääjä voi kohdistaa ja kuinka he voivat päästä laittomasti järjestelmän sisään ulkopuolelta.
DAST-työkalut eivät vaadi pääsyä sovelluksen lähdekoodiin; siksi DAST on nopea ja toistuva prosessi. Toisin kuin SAST-työkalut, DAST-työkalut voidaan nähdä black-box-testausmenetelmänä, jossa testaajalla ei ole tietoa sisäisestä järjestelmän rakenteesta. Testaaja suorittaa ja havaitsee kaikki olosuhteet, jotka voivat mahdollisesti johtaa tietoturvahaavoittuvuuteen sovelluksessa sen käynnissä olevassa tilassa.
Katso myös 10 korjausta Avast High CPU -käyttöönDAST-työkalut toimivat käyttökoodin parissa havaitakseen rajapintojen, pyyntöjen, vastausten, komentosarjojen (esim. JavaScriptin), datan lisäyksen, istuntojen, todentamisen jne. liittyvät ongelmat. DAST-työkalut käyttävät sumeaa: tunnettujen virheellisten ja odottamattomien testitapausten heittämistä sovellukseen, usein suuressa volyymissa.
DAST-verkkosovellusten tietoturvatestaustyökalut:
- GitLab.
- HCL AppScan.
- Acunetix Vulnerability Scanner.
- net Parker.
- Appknox.
- CheckMarx.
- Micro Focus Fortify On Demand.
- Veracode-sovellusten suojausalusta.
Static Application Security Testing (SAST)
SAST-metodologia noudattaa sisältä ulos -lähestymistapaa; tämä tarkoittaa, että toisin kuin DAST, SAST pyrkii löytämään haavoittuvuuksia verkkosovelluksen sisäisestä koodista. Koska se vaatii pääsyn sovelluksen lähdekoodiin, SAST voi tarjota kuvan verkkosovelluksen tietoturvan reaaliaikaisesta kulusta.
SAST-työkaluja voidaan pitää valkoisen laatikon testauksena, koska se vaatii pääsyn lähdekoodiin. Testaaja on jo tietoinen sisäisestä järjestelmästä tai ohjelmisto testataan , mukaan lukien rakennekaavio, pääsy lähdekoodiin jne. SAST-työkalut tutkivat lähdekoodia (lepotilassa) havaitakseen ja raportoidakseen heikkouksia, jotka voivat johtaa tietoturvahaavoittuvuuksiin.
Lähdekoodianalysaattorit voivat käyttää kääntämätöntä koodia tarkistaakseen vikoja, kuten numeerisia virheitä, syötteen validointia, kilpailuolosuhteita, polkuja, osoittimia ja viittauksia ja paljon muuta. Binaari- ja tavukoodianalysaattorit tekevät saman rakennetussa ja käännetyssä koodissa. Jotkut työkalut toimivat lähdekoodilla, jotkut vain käännetyllä koodilla ja toiset molemmilla.
SAST-verkkosovellusten tietoturvatestaus:
- SonarQube.
- Veracoden staattinen analyysi.
- Vahvista staattista koodianalysaattoria.
- Codacy.
- AppScan.
- Checkmarx CxSAST.
- SAST-suorituskyky.
- SAST turvallisuus.
Application Penetration Testing (APT)
Sovelluksen läpäisytestaus voidaan pitää eettisenä hakkerointina, joka on suunniteltu osoittamaan sovelluksen turvallisuusmääräysten tehokkuutta korostamalla todellisten hyödynnettävissä olevien yksiköiden aiheuttamia uhkia.
Koska tämäntyyppinen testaus edellyttää inhimillistä tekijää, toimihenkilöhakkeri yrittää simuloida, kuinka hyökkääjä voi päästä verkkosovellukseen käyttämällä henkilökohtaista tietoturvatietoaan ja useita läpäisytestaustyökaluja löytääkseen hyödynnettävissä olevia vikoja. Nykyään yritykset ja kehittäjät myös ulkoistavat verkkosovelluksensa kolmannelle osapuolelle, jos sinulla ei ole omia resursseja.
Manuaalisten tietoturvatestien ensisijainen tavoite on havaita sovelluksen haavoittuvuudet ja mahdolliset haavoittuvuudet, joita ei välttämättä täysin ymmärretä tai havaita pelkillä automaattisilla tietoturvatesteillä.
Automaattiset haavoittuvuustarkistimet eivät välttämättä ole yhtä luovia kuin ihmiset, vaan manuaalisia läpäisytestit tulee aina tehdä
APT-verkkosovellusten tietoturvatestaus:
- netsparker
- Wireshark.
- Metasploit.
- naudanliha.
- John The Ripper salasanan murskaaja.
- Aircrack.
- Acunetix skanneri.
- Burp Suite -kynätestauslaite.
Useimmat käytetyt menetelmät tietoturvatestauksessa
1.Salasanan murtaminen
Verkkosovelluksen tietoturvatestauksen voi suorittaa Salasanan murtaminen . Kirjautuakseen sisään sovellukseen olemassa olevan käyttäjän tilin kautta hakkerit voivat joko arvata käyttäjän salasanan tai käyttää salasanan murtotyökalua. Tässä salasanan murtotyökalut tulevat esiin; Tämäntyyppiset murtotyökalut, yleensä avoimen lähdekoodin, luetteloi yleiset käyttäjätunnukset ja salasanat, jotka ovat automatisoituja ja joita käytetään jokaisessa yhdistelmässä.
Katso myös 10 tapaa korjata haittaohjelmat, jotka eivät avaudu WindowsissaSalasanojen murtamista käyttävien hyökkäysten estämiseksi verkkosovellusten on pakotettava käyttäjilleen monimutkainen salasana (joka voi olla numeroiden, aakkosten ja yksilöllisten merkkien yhdistelmä); Näin varmistetaan, että salasana on mahdoton tai murtamiseen menee epäsuotuisa aika.
Oletetaan, että verkkosivuston evästeisiin tallennettu käyttäjätunnus tai salasana ei salaa kunnolla. Siinä tapauksessa hyökkääjä voi käyttää eri menetelmää varastaakseen evästeet ja niiden mukana tallennetut tiedot, kuten käyttäjätunnuksen ja salasanan.
2. URL-osoitteen manipulointi HTTP GET:n kautta
Turvatestauksen aikana testaajan on tarkistettava, välittääkö sovellus kyselymerkkijonossa tärkeitä tietoja vai ei. Tämä virhe tapahtuu, kun sovellus käyttää HTTP GET Suunniteltu välittämään tietoa palvelimen ja sen asiakkaan välillä.
Tiedot välitetään kyselymerkkijonon parametreja pitkin. Testaaja voi muuttaa parametrin arvoa kyselymerkkijonossa tarkistaakseen, hyväksyykö palvelin sen.
HTTP GET -pyynnön kautta käyttäjätiedot välitetään palvelimen kautta todennusta ja tietojen hakemista varten. Hyökkääjä voi manipuloida ja muokata tästä GET-pyynnöstä palvelimelle välitettyä syöttömuuttujaa hankkiakseen olennaiset tiedot tai vahingoittaa ja kaataa sivuston. Tällaisissa olosuhteissa sovelluksen tai verkkopalvelimen epätavallinen toiminta on portti, jonka avulla hyökkääjä pääsee sovellukseen.
3. SQL-injektio
SQL-injektio suoritetaan SQL-ohjelmointikielellä (Structured Query Language). SQL:ää käytetään taustapäässä olevien tietojen hallintaan. Siksi tämän hyökkäyksen aikana tätä ohjelmointikielen koodia käytetään haitallisena injektiona.
Joskus käyttäjän syötteitä käytetään kehystettäessä SQL-lauseita, jotka sitten tietokannassa oleva sovellus suorittaa. Oletetaan, että verkkopohjainen sovellus ei käsittele SQL oikein. Siinä tapauksessa haitallinen käyttäjä/organisaatio voi luetella odottamattomia syötteitä sovellukseen. Käyttäjien huono toiminta voi saada tietokannan kehystämään ja suorittamaan SQL-käskyjä, eli hakkeri voi muokata tietokantaa . Tätä kutsutaan SQL-injektioksi; vaikka se ei ehkä siltä vaikuta, tällaisen toiminnan tulokset voivat olla hälyttäviä.
SQL-injektiohyökkäykset ovat vaarallisia, koska hyökkääjä voi hyväksyä ja muokata tärkeitä tietoja palvelintietokannasta. SQL-hyökkäyksen aloituspisteiden tarkistamiseksi testaajien on löydettävä koodi siitä koodikannasta, mistä MySQL kyselyt suoritetaan tietokannassa hyväksymällä käyttäjän syötteet. Siksi SQL-testaus on erittäin kriittinen, koska SQL-rikkomus ei voi vain varastaa ja muokata käyttäjätietoja; se voi muuttaa myös koko verkkosovelluksen koodia, jos sitä käytetään oikein.
4. Cross-Site Scripting (XSS)
Testaajan tulee lisäksi tutkia verkkosovellus Sivustojen välinen komentosarja (XSS ). Ihannetapauksessa sovelluksen ei pitäisi hyväksyä mitään HTML-koodia. Jos se hyväksyy, sovellus on altis Cross-Site Scripting -menetelmän hyökkäykselle.
Katso myös 12 parasta ilmaista CD-polttoohjelmistoa Windowsille ja MacilleKun verkkosovellukset saavat hyödyllistä tietoa, ne välittävät tämän tiedon joissakin muuttujissa eri sivuilta.
Hyökkääjä voi helposti välittää haitallisia syötteitä tai '&query'-parametrina, joka voi tutkia tärkeitä käyttäjä-/palvelintietoja selaimessa.
Turvatestauksen edellytykset
Tietoturvatestauksen ensisijainen tehtävä on suorittaa verkkosovelluksen toiminnallisia testejä samalla kun huomioidaan ja löydetään mahdollisimman monia tietoturvaongelmia, jotka voivat mahdollisesti johtaa hakkerointiin. Turvatestausuhkien ja -virheiden estämiseksi – Web-sovelluksen suojaustestien suorittaminen edellyttää HTTP-protokollan ja sen käytön web-sovelluksissa hyvää ymmärrystä. Hyödyllisten verkkosovellusten tietoturvatestien suorittamisen lisäksi tietoturvatestaajien tulee myös tuntea ja tuntea HTTP-protokollat ennen verkkosovellusten tietoturvatarkastuksen suorittamista.
Turvatestauksen plussat
- Tietoturvatestaus auttaa kehittäjiä havaitsemaan ja järjestämään tietoturvauhat.
- Täytä seurantatarpeet ja vältä rangaistuksia.
- Tämäntyyppiset hyökkäykset auttavat ohittamaan verkon käyttökatkoksia.
- Suojaa asiakasuskollisuutta ja yrityskuvaa.
- Se mahdollistaa todellisten uhkien tutkimisen ja yrityksen IT-infrastruktuurin tietoturva-asennon tarkan esityksen milloin tahansa.
- Sen avulla testaajat voivat ymmärtää järjestelmää paremmin; se auttaa heitä oppimaan mahdollisimman paljon järjestelmästä ja ehkä jopa törmäämään johonkin muuhun virheeseen tai tietoon, joka voi häiritä järjestelmää.
- Se tarjoaa mahdollisuuden testata mitä tahansa järjestelmää hyökkäyksillä, jotka ovat mahdollisimman lähellä todellisia tapahtumia, kiitos asiantuntijoiden, jotka ajattelevat ja iskevät kuten useimmat haitalliset hakkerit tekevät.
Turvallisuustestauksen haitat
- Prosessi on erittäin kallis ja joskus aikaa vievä.
- On erittäin kyseenalaista, pystyykö testaaja löytämään ja ratkaisemaan kaikki mahdolliset ongelmat etsiessään tai skannaaessaan haavoittuvuuksia ja laatiessaan automaattisen raportin. Se ei voi koskaan olla täysi turvatarkastus.
- Testit, joita ei tehdä asianmukaisesti, voivat kaataa palvelimia, paljastaa arkaluontoisia tietoja, vioittaa tärkeitä tietoja jne.
- Se on paljon työvoimavaltaista ja voi siksi aiheuttaa kohonneita kustannuksia, ja jotkut organisaatiot eivät ehkä pysty määrittelemään budjettia tähän. Tämä pätee erityisesti silloin, kun kolmannen osapuolen yritys on palkattu suorittamaan tehtävä.
Vinkkejä verkkosovellusten tietoturvatestaukseen
- Liiketoiminnan kannalta kriittisiä järjestelmiä tulee testata usein,
- Pidä kehitystiimit ajan tasalla priorisoimalla korjaukset ja virheenkorjaukset.
- Priorisoi käytettävyys, kun vertailet ratkaisuja; siellä on monia erinomaisia työkaluja, mutta ne voivat olla hyödyttömiä projektillesi, koska se voi olla liian monimutkaista tai aikaa vievää tiimillesi
- Ymmärrä ja arvioi yrityksen turvallisuustavoitteet ja tee sitten täydellinen tiekartta.
- Käytä tuotetta tai palvelua ennen kuin murtat sen; mitä enemmän tiedät tuotteesta, sitä parempi.
- Käytä parhaita oletustietoja.
- Valitse pilvipohjaiset ratkaisut, jos organisaatiosi varat ovat vähissä.