Uvod v varnostno testiranje

Varnostno testiranje je vrsta testiranja programske opreme, ki je namenjena odkrivanju ranljivosti sistema in zagotavljanju, da so njegove informacije in viri zaščiteni pred morebitnimi vsiljivci. Prav tako spletna aplikacija poleg zaščite podatkov potrebuje tudi varnost v zvezi z njenim dostopom. Aplikacija bi morala biti zaščitena pred Brute Force Attacks in XSS, SQL Injections, spletnega razvijalca. Prav tako morajo biti varne tudi oddaljene dostopne točke spletne aplikacije. Vendar pomen varnosti narašča eksponentno, ko govorimo o internetu. Nihče ne bo nikoli pomislil, da če spletni sistem ne more zaščititi podatkov o transakcijah. Varnost še ni izraz za njeno opredelitev.
Tu je nekaj seznama napak v varnosti
• Če lahko podružnica "Vpis" ureja podatke o izpitu, je sistem upravljanja študentov varen.
• Če DEO (operater vnosa podatkov) lahko pripravi „poročila“, shema ERP ni varna.
• Če podatki o kreditni kartici stranke niso šifrirani, potem spletno spletno mesto nima varnosti.
• Osebna programska oprema nima zadostne varnosti, ko poizvedba SQL najde resnična uporabniška gesla.

Vrste testiranja varnosti

Priročnik z metodologijo za preskušanje varnosti odprtega izvora ima sedem glavnih vrst varnostnih testov. Opisano je naslednje:

1. Pregled ranljivosti

To se izvede prek avtomatizirane programske opreme za pregled sistema za znane podpise ranljivosti.

2. Varnostno skeniranje

Vključuje prepoznavanje pomanjkljivosti v omrežju in sistemu ter ponuja alternative za zmanjšanje takšnih nevarnosti. Za ročno in samodejno skeniranje je to mogoče.

3. Penetracijsko testiranje

Ta test simulira zlonamerni hekerski napad. Ta pregled vključuje analizo določenega sistema za odkrivanje potencialnih ranljivosti notranjega vdora.

4. Ocena tveganja

Ta test vključuje analizo nevarnosti, ugotovljenih v podjetju. Tveganja so nizka, srednja in visoka. Ta test predlaga nadzor in ukrepe za zmanjšanje tveganja.

5. Varnostni nadzor

Revizijo je mogoče izvajati tudi prek spleta po liniji, pregledu kode in operacijskih sistemov zaradi varnostnih napak.

6.Etično hekanje

Etično hekanje ni isto kot maligno hekanje. Etično hekanje je namenjeno ugotavljanju varnostnih pomanjkljivosti v organizacijski strukturi.

7. Ocena drže

To združuje varnostno skeniranje, ocene tveganja in etično krampanje, da se prikaže splošni varnostni položaj organizacije.

Metodologije preizkušanja varnosti

Obstajajo različne metodologije preizkušanja varnosti
1. Tiger Box
2. Črna škatla
3. Siva škatla

Tiger Box:

Ta vloma se običajno izvaja na prenosnem računalniku z operacijskim sistemom OS in zbirko orodij. Ta test omogoča operaterjem testiranja penetracije in operaterjem varnostnega testiranja, da ocenijo in napadijo ranljivosti.

Črna škatla:

Black Box Testing je metoda testiranja programske opreme, ki jo preizkuševalec pozna kot Behavioral Testing. Na ta način notranja zasnova testnega izdelka ni znana. Ti izpiti so lahko funkcionalni ali pa tudi ne.

Siva škatla:

Grey Box Testing je tehnika testiranja programske opreme, ki združuje testiranje Black Box in White Box. Grey Box Testing je metoda za preizkušanje aplikacije ali programskega izdelka, ki je del notranjega dela izvedbe.

Kako lahko opravimo varnostno testiranje?

Vedno je bilo dogovorjeno, da se bodo stroški, če odložimo varnostno testiranje po uvedbi ali uvedbi programske opreme, zvišali. V zgodnejših fazah je treba v življenjskem ciklu SDLC opraviti varnostne preskuse. Poglejmo ustrezne varnostne postopke za vsako stopnjo SDLC. Za vhodna območja lahko preizkuševalec pregleda največje dolžine. Ta omejitev ne more omogočiti hekerju, da vključuje tako zlonamerne skripte.
• Zahteve za varnostno presojo in preverjanje zlorabe / zlorabe.
• Analiza nevarnosti varnosti za načrtovanje. Razvoj testnega načrta, vključno z varnostnimi testi.

10 najboljših orodij za preizkušanje varnosti odprtokodnega sistema

Spodaj je seznam najboljših orodij za varnostno testiranje in njihove funkcije. Izberete lahko katero koli orodje glede na vaše potrebe.

1. Wapiti

Wapiti je zmogljivo orodje za preizkus varnosti spletnih aplikacij za oceno varnosti vaše spletne aplikacije. Izvaja 'testiranje črne škatle', da preveri morebitno ranljivost v spletnih aplikacijah. Pregleduje spletne strani in vbrizgava podatke o testiranju za spremljanje pomanjkljivosti varnosti med fazo testiranja. Wapiti definira več ranljivosti za podporo napadov GET in POST HTTP. Wapiti je aplikacija za ukaze, ki je za začetnike težavna, za profesionalce pa preprosta. Programska oprema potrebuje popolno razumevanje ukazov.

Značilnosti Wapitija

• XSS injekcija
• Vbrizgavanje baze podatkov
• Zaznavanje izvajanja ukazov.
• injekcijski CRLF

2. Proxy Zed Attack Proxy

Zed Attack Proxy, splošno znan kot ZAP, je ZAP ustvaril OWASP in s tem je ZAP odprtokoden. Zed Attack Proxy, ki ga podpirajo Unix / Linux, Windows in Mac OS, Zed Attack Proxy omogoča prepoznavanje številnih ranljivosti tudi v fazi razvoja in testiranja spletnih aplikacij. To preskusno orodje je enostavno za uporabo, tudi če ste začetnik preizkusne penetracije.

Značilnosti Zed Attack

• Zed Attack Proxy ima podporo za samodejni optični bralnik in preverjanje pristnosti.
• Zed Attack Proxy ima tudi potrdilo o dinamičnem SSL-ju in podporo za spletno vtičnico.

3. Vega

Napisana v JAVA, Vega ima GUI. Dostopna je v sistemih Linux, Mac OS in Windows, kar vam lahko pomaga. Vega je brezplačno orodje za testiranje spletnih aplikacij in platforma Open Source. Vega lahko pomaga pri iskanju in preverjanju SQL Injection, Cross-Site Scripting (XSS) in drugih ranljivosti. Uporablja se lahko tudi za nastavitev nastavitev, kot so število potomcev poti in število vozlišč na sekundo, največja in minimalna zahteva na sekundo.

Značilnosti Vege

• Vega ima skriptno skripta.
• SQL Injection Validate

4. W3af

W3af je znan okvir za varnostno testiranje spletnih aplikacij. Ponuja učinkovito platformo za testiranje penetracije spletnih aplikacij, razvito s pomočjo Pythona. To orodje je mogoče uporabiti za prepoznavanje več kot 200 vrst težav z varnostjo internetnih aplikacij, kot sta medkrizna skripta in vbrizgavanje SQL. Spremlja naslednje ranljivosti spletnih aplikacij. W3af je enostavno razumeti tako v vmesniku GUI kot v konzoli. Moduli za overjanje omogočajo tudi preverjanje pristnosti spletnega mesta.

Značilnosti W3af

• Več pomanjkljivih nastavitev CORS
• CSRF in veliko večja ranljivost

5. Skipfish

Skipfish je orodje za testiranje internetnih aplikacij, ki popravi spletno mesto in preveri morebitne pomanjkljivosti na vsaki strani ter na koncu pripravi revizijsko poročilo. Skipfish je napisan v jeziku c in je optimiziran za obdelavo HTTP in za puščanje minimalnih odtisov CPU-ja. Programska oprema, ki trdi, da obdeluje 2 K zahteve na sekundo, ne da bi pokazala odtis CPU-ja. Orodje tudi trdi, da ponuja visoko kakovostne koristi, saj uporablja hevristiko v spletnih aplikacijah. Za internetne aplikacije so orodja za oceno varnosti Skipfish na voljo Linux, FreeBSD, Mac-OS X in Windows.

6. SQLMap

SQLMap je običajno spletno orodje za testiranje varnosti za avtomatizacijo postopka odkrivanja ranljivosti vbrizgavanja SQL v bazi podatkov spletnega mesta. Preizkusni motor je opremljen s številnimi različnimi funkcijami, ki je zmogljiv in omogoča enostavno penetracijo in testiranje vbrizgavanja SQL v spletni aplikaciji. SQLMap podpira številne baze podatkov, vključno z MySQL, Oracle, PostgreSQL, Microsoft SQL itd. Poleg tega testno orodje podpira šest različnih metod vbrizgavanja SQL.

7. Wfuzz

Wfuzz je drugo odprtokodno orodje, ki je na trgu lahko dostopno za spletno orodje za varnostno testiranje. To orodje za testiranje je bilo razvito v Pythonu in se uporablja za spletne aplikacije za grobo silo. Če uporabljate WFuzz, morate delovati na vmesniku ukazne vrstice, ker ni vmesnika GUI. Nekatere značilnosti Wfuzza so:

Značilnosti Wfuzza

• Wifuzz podpira več točk vbrizgavanja.
• Izhod iz Wfuzza prihaja v HTML
• Ima tudi večrezen navoj
• Ima tudi podporo za več proxyjev

8. Metasploit

Eden najpogosteje uporabljenih okvirov za penetracijske teste. Metasploit je odprtokodna testna platforma, ki omogoča varnostne preskuse, ki presegajo oceno tveganja.

Značilnosti Metasploita

• Struktura je veliko boljša od tekmecev.
• Veliko scenarijev za izpiranje funkcij infiltracije

9. Acunetix

Popolno orodje za oceno penetracije za avtomatizacijo za skeniranje na spletnih mestih glede ranljivosti 4500 +. Najbolj presenetljiva lastnost Acunetixa je, da lahko brez prekinitve prežene na tisoče strani.

Značilnost Acunetixa

  • Lahko pripravi veliko tehničnih in skladnih pravnih sredstev.
  • Pregleda odprtokodne in prilagojene aplikacije
  • Globoko skeniranje za učinkovito skeniranje.

10. Zgrabi

Grabber je odprtokodni skener za odkrivanje varnostnih ranljivosti internetnih aplikacij. Majhne spletne aplikacije, kot so forumi in zasebna spletna mesta, so mobilne in jih je mogoče skenirati. Grabber je majhno orodje za testiranje, ki traja dlje časa za pregledovanje velikih aplikacij. Poleg tega optični bralnik nima vmesnika GUI in nima generiranja PDF poročil, saj je zasnovan za osebno uporabo.

Značilnosti Grabberja

• Varnostna kopija datoteke za preverjanje
• Preverjanje Ajaxa

Zaključek

V tem članku smo videli, kaj je varnostno testiranje, zakaj ga potrebujemo skupaj z različnimi vrstami varnostnega testiranja, orodja, ki se uporabljajo za izvajanje testiranja in funkcije. Upam, da vam bo ta članek pomagal izbrati orodja za testiranje na podlagi zgornjih zahtev in funkcij.

Priporočeni članki

To je vodnik za varnostno testiranje. Tukaj razpravljamo o uvajanju, vrstah, metodologijah in Top 10 orodjih za preskušanje varnosti z odprto kodo. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Alpha Testing vs Beta testiranje
  2. Statično testiranje
  3. Kaj je testiranje uporabnosti?
  4. Orodja za testiranje učinkovitosti
  5. Prednosti in slabosti Beta testiranja
  6. Naučite se orodij za testiranje aplikacij