Úvod do testovania bezpečnosti

Testovanie zabezpečenia je typ testovania softvéru určený na zisťovanie slabých miest systému a zabezpečenie toho, aby jeho informácie a zdroje boli chránené pred možnými narušiteľmi. Podobne aj webová aplikácia potrebuje, okrem ochrany údajov, aj zabezpečenie prístupu. Aplikácia by mala byť imunná voči útokom Brute Force Attacks a XSS, SQL Injections, od vývojára webu. Podobne musia byť bezpečné aj vzdialené prístupové body webovej aplikácie. Keď hovoríme o internete, význam bezpečnosti sa zvyšuje exponenciálne. Nikto si nikdy nebude myslieť, že ak online systém nedokáže chrániť údaje o transakciách. Bezpečnosť ešte nie je termínom na jej vymedzenie.
Tu je zoznam niektorých nedostatkov zabezpečenia
• Ak vetva „Vstup“ môže upravovať informácie o skúške, systém riadenia študentov je neistý.
• Ak DEO (prevádzkovateľ vkladania údajov) môže vytvárať „správy“, schéma ERP nie je bezpečná.
• Ak údaje o kreditnej karte klienta nie sú šifrované, webová stránka online nemá žiadnu bezpečnosť.
• Personalizovaný softvér nemá dostatočnú bezpečnosť, keď dotaz SQL nájde skutočné používateľské heslá.

Druhy testovania bezpečnosti

Príručka metodológie pre testovanie zabezpečenia s otvoreným zdrojom má sedem základných druhov bezpečnostných testov. Opísané sú nasledujúce položky:

1. Skenovanie zraniteľnosti

Toto sa vykonáva pomocou automatizovaného softvéru na kontrolu systému, či neobsahuje známe znaky zraniteľnosti.

2. Bezpečnostné skenovanie

Zahŕňa identifikáciu slabých miest v sieti a systéme a ponúka alternatívy na zníženie týchto nebezpečenstiev. V prípade manuálneho a automatizovaného skenovania je možné vykonať toto skenovanie.

3. Penetračné testovanie

Tento test simuluje škodlivý útok hackerov. Toto vyšetrenie zahŕňa analýzu konkrétneho systému na zistenie potenciálnych zraniteľností voči vnútornému hackerstvu.

4. Posúdenie rizika

Tento test zahŕňa analýzu bezpečnostných rizík pozorovaných v spoločnosti. Riziká majú nízku, strednú a vysokú klasifikáciu. Tento test navrhuje kontroly a opatrenia na zníženie rizika.

5. Bezpečnostný audit

Audit možno vykonať aj online prostredníctvom liniek, prehliadok kódov a operačných systémov z hľadiska bezpečnostných porúch.

6.Etické hackovanie

Etické hackovanie nie je to isté ako malígne hackovanie. Cieľom etického hackingu je zistiť bezpečnostné nedostatky v organizačnej štruktúre.

7. Posudzovanie polohy

Toto kombinuje bezpečnostné skenovanie, hodnotenia rizík a etické hackovanie, aby sa ukázalo celkové bezpečnostné postavenie organizácie.

Metodiky skúšania bezpečnosti

Existujú rôzne metodiky testovania bezpečnosti
1. Tiger Box
2. Čierna skrinka
3. Gray Box

Tiger Box:

Toto hackovanie sa zvyčajne vykonáva na prenosnom počítači so systémom OS a zbierkou hackerských nástrojov. Tento test umožňuje operátorom testovania penetrácie a operátorom testovania bezpečnosti vyhodnotiť a napadnúť zraniteľné miesta.

Čierna krabica:

Black Box Testing je metóda testovania softvéru, ktorá je testerovi známa ako behaviorálne testovanie. Týmto spôsobom nie je známa vnútorná podoba testovaného produktu. Tieto skúšky môžu byť funkčné alebo nie.

Gray Box:

Test šedej skrinky je technika testovania softvéru, ktorá kombinuje testovanie čiernej skrinky a bielej skrinky. Testovanie šedej skrinky je metóda na testovanie aplikácie alebo softvérového produktu, ktorá má časť vnútorného fungovania implementácie.

Ako môžeme urobiť testovanie bezpečnosti?

Vždy sa dohodlo, že ak odložíme testovanie bezpečnosti po implementácii alebo nasadení softvéru, tieto náklady sa zvýšia. V predchádzajúcich fázach sa bezpečnostné testy musia vykonávať v životnom cykle SDLC. Pozrime sa na vhodné bezpečnostné postupy pre každú fázu SDLC. Pre vstupné oblasti môže Tester skontrolovať maximálne dĺžky. Toto obmedzenie nemôže hackerovi umožniť zahrnúť takéto škodlivé skripty.
• Požiadavky na hodnotenie bezpečnosti a kontrolu zneužitia / zneužitia.
• Analýza bezpečnostných rizík pre návrh. Vypracovanie plánu testov, vrátane testovania bezpečnosti.

Top 10 Open Source nástrojov na testovanie zabezpečenia

Nižšie je uvedený zoznam najlepších nástrojov na testovanie zabezpečenia spolu s ich funkciami. Môžete si vybrať akýkoľvek nástroj podľa svojich potrieb.

1. Wapiti

Wapiti je výkonný testovací nástroj zabezpečenia webových aplikácií na hodnotenie bezpečnosti vašich webových aplikácií. Vykonáva „testovanie čiernych skriniek“, aby skontroloval možnú zraniteľnosť vo webových aplikáciách. Naskenuje webové stránky a vloží informácie o testovaní, aby sa monitoroval nedostatok bezpečnosti počas testovacej fázy. Wapiti definuje viaceré zraniteľné miesta na podporu útokov HTTP GET a POST. Wapiti je aplikácia pre príkazy, ktorá je náročná pre začiatočníkov, ale pre profesionálov je jednoduchá. Softvér potrebuje úplné porozumenie príkazom.

Funkcie Wapiti

• Vstrekovanie XSS
• Vstrekovanie databázy
• Zistenie vykonania príkazu.
• Vstrekovanie CRLF

2. Zed Attack Proxy

Proxy Zed Attack Proxy, bežne známe ako ZAP, ZAP vytvoril OWASP, a tým je ZAP open-source. Zed Attack Proxy Zed Attack Proxy, podporovaný Unix / Linux, Windows a Mac OS, vám umožňuje identifikovať rad zraniteľností aj počas vývojových a testovacích fáz webových aplikácií. Tento testovací nástroj sa ľahko používa, aj keď ste začiatočníkom prieniku.

Vlastnosti Zed Attack

• Zed Attack Proxy má podporu automatizačného skenovania a overovania.
• Zed Attack Proxy má tiež dynamický SSL certifikát a podporu webových zásuviek.

3. Vega

Napísané v JAVA, Vega má GUI. Je prístupný v systémoch Linux, Mac OS a Windows, ktoré vám môžu pomôcť. Vega je bezplatný nástroj na testovanie webových aplikácií a platformu Open Source. Vega môže pomôcť pri hľadaní a overení správnosti SQL Injection, Cross-Site Scripting (XSS) a ďalších zraniteľností. Môže sa tiež použiť na nastavenie preferencií, ako je počet potomkov cesty a počet uzlov za sekundu, maximálne a minimálne požiadavky za sekundu.

Vlastnosti hotela Vega

• Vega má skriptovanie na viacerých stránkach.
• SQL Injection Validate

4. W3af

W3af je známy rámec pre testovanie bezpečnosti webových aplikácií. Poskytuje efektívnu platformu na testovanie penetrácie webových aplikácií vyvinutú pomocou Pythonu. Tento nástroj sa dá použiť na identifikáciu viac ako 200 druhov problémov s bezpečnosťou internetových aplikácií, ako napríklad skriptovanie medzi servermi a vstrekovanie SQL. Sleduje nasledujúce chyby zabezpečenia webových aplikácií. W3af možno ľahko pochopiť v rozhraní GUI aj konzole. Autentifikačné moduly vám tiež umožňujú autentifikovať webovú stránku.

Vlastnosti W3af

• Viaceré chybné nastavenia CORS
• CSRF a oveľa väčšia zraniteľnosť

5. Skipfish

Skipfish je testovací nástroj s internetovou aplikáciou, ktorý opravuje web a kontroluje prípadné slabiny na každej stránke a nakoniec pripravuje audítorskú správu. Skipfish je napísaný v jazyku c a je optimalizovaný tak, aby spracovával HTTP a zanechával minimálne stopy CPU. Bez toho, aby sa prejavila stopa CPU, softvér tvrdiaci, že spracuje 2 K žiadosti za sekundu. Nástroj tiež tvrdí, že ponúka vysoko kvalitné výhody, pretože využíva heuristiku vo webových aplikáciách. Pre internetové aplikácie sú s nástrojmi na hodnotenie bezpečnosti Skipfish poskytnuté systémy Linux, FreeBSD, Mac-OS X a Windows.

6. SQLMap

SQLMap je bežný webový nástroj na testovanie bezpečnosti, ktorý automatizuje proces zisťovania zraniteľnosti pomocou injekcie SQL v databáze webových stránok. Testovací modul, ktorý je vybavený množstvom rôznych funkcií, je výkonný, čo umožňuje ľahké prenikanie a testovanie vstrekovania SQL do webovej aplikácie. SQLMap podporuje mnoho databáz, vrátane MySQL, Oracle, PostgreSQL, Microsoft SQL, atď. Testovací nástroj navyše podporuje šesť rôznych metód injekcie SQL.

7. Wfuzz

Wfuzz je ďalší open-source nástroj, ktorý môže byť voľne prístupný na trhu pre webový nástroj na testovanie bezpečnosti. Tento testovací nástroj bol vyvinutý v Pythone a používa sa pre webové aplikácie pre hrubú silu. Pri používaní WFuzz musíte pracovať na rozhraní príkazového riadka, pretože neexistuje žiadne rozhranie GUI. Niektoré z charakteristík spoločnosti Wfuzz sú:

Funkcie Wfuzz

• Wifuzz podporuje viac Vstrekovacích bodov.
• Výstup programu Wfuzz je vo formáte HTML
• Má tiež viaczávitové vlákno
• Má tiež podporu viacerých proxy

8. Metasploit

Jeden z najčastejšie používaných rámcov pre penetračné testy. Metasploit je otvorená testovacia platforma, ktorá umožňuje testovanie bezpečnosti ďaleko nad rámec hodnotenia rizika.

Vlastnosti Metasploit

• Štruktúra je omnoho lepšia ako štruktúra súperov.
• Mnoho scenárov pre falošné funkcie infiltrácie

9. Acunetix

Kompletný nástroj na hodnotenie penetrácie automatizácie na skenovanie webových stránok na zraniteľnosť 4500+. Najvýraznejšou vlastnosťou Acunetixu je to, že dokáže bez prerušenia ponáhľať tisíce strán.

Funkcia Acunetix

  • Môže ľahko priniesť veľa technických prostriedkov a nápravných opatrení.
  • Preveruje aplikácie s otvoreným zdrojom a prispôsobené aplikácie
  • Hĺbkové skenovanie pre efektívne skenovanie.

10. Chyť

Grabber je skener s otvoreným zdrojom, ktorý zisťuje bezpečnostné chyby internetových aplikácií. Malé webové aplikácie, ako sú fóra a súkromné ​​internetové stránky, sú mobilné a je možné ich skenovať. Grabber je malý testovací nástroj, ktorý na skenovanie veľkých aplikácií trvá dlhšie. Okrem toho skener nemá rozhranie GUI ani funkciu generovania správ PDF, pretože je navrhnutý na osobné použitie.

Funkcie Grabber

• Záloha na overenie súboru
• Ajaxovo overenie

záver

V tomto článku sme videli, čo je testovanie bezpečnosti, prečo ho potrebujeme spolu s rôznymi typmi testovania zabezpečenia, nástrojmi používanými na vykonávanie testovania a funkciami. Dúfam, že tento článok vám pomôže pri výbere testovacích nástrojov na základe vyššie uvedených požiadaviek a funkcií.

Odporúčané články

Toto je príručka pre testovanie bezpečnosti. Tu diskutujeme o úvode, typoch, metodológiách a Top 10 open source nástrojoch na testovanie zabezpečenia. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Testovanie alfa verzus testovanie verzie beta
  2. Statické testovanie
  3. Čo je testovanie použiteľnosti?
  4. Nástroje na testovanie výkonnosti
  5. Výhody a nevýhody beta testovania
  6. Naučte sa nástroje testovania aplikácií

Kategórie: