OWASP టాప్ 10 భద్రతా ప్రమాదాలు | అవలోకనం
విషయ సూచిక
OWASP అంటే ఏమిటి?
OWASP అనేది వెబ్ యాప్ సెక్యూరిటీ ఎడ్యుకేషన్కు అంకితమైన లాభాపేక్ష లేని సంస్థ.
OWASP లెర్నింగ్ మెటీరియల్స్ వారి వెబ్సైట్లో అందుబాటులో ఉంటాయి. వెబ్ అప్లికేషన్ల భద్రతను మెరుగుపరచడానికి వారి సాధనాలు ఉపయోగపడతాయి. ఇందులో పత్రాలు, సాధనాలు, వీడియోలు మరియు ఫోరమ్లు ఉంటాయి.
OWASP టాప్ 10 అనేది ఈ రోజు వెబ్ యాప్ల కోసం అగ్ర భద్రతా సమస్యలను హైలైట్ చేసే జాబితా. భద్రతా ప్రమాదాలను తగ్గించడానికి అన్ని కంపెనీలు తమ ప్రక్రియలలో ఈ నివేదికను చేర్చాలని వారు సిఫార్సు చేస్తున్నారు. OWASP టాప్ 10 2017 నివేదికలో చేర్చబడిన భద్రతా ప్రమాదాల జాబితా క్రింద ఉంది.
SQL ఇంజెక్షన్
అప్లికేషన్లోని ప్రోగ్రామ్కు అంతరాయం కలిగించడానికి దాడి చేసే వ్యక్తి వెబ్ యాప్కు అనుచితమైన డేటాను పంపినప్పుడు SQL ఇంజెక్షన్ జరుగుతుంది..
SQL ఇంజెక్షన్ యొక్క ఉదాహరణ:
దాడి చేసే వ్యక్తి SQL ప్రశ్నను ఇన్పుట్ ఫారమ్లో నమోదు చేయవచ్చు, దీనికి వినియోగదారు పేరు సాదా వచనం అవసరం. ఇన్పుట్ ఫారమ్ సురక్షితం కాకపోతే, అది SQL ప్రశ్నను అమలు చేయడానికి దారి తీస్తుంది. ఈ సూచించబడుతుంది SQL ఇంజెక్షన్గా.
కోడ్ ఇంజెక్షన్ నుండి వెబ్ అప్లికేషన్లను రక్షించడానికి, మీ డెవలపర్లు వినియోగదారు సమర్పించిన డేటాపై ఇన్పుట్ ధ్రువీకరణను ఉపయోగిస్తున్నారని నిర్ధారించుకోండి. ఇక్కడ ధ్రువీకరణ అనేది చెల్లని ఇన్పుట్ల తిరస్కరణను సూచిస్తుంది. డేటాబేస్ మేనేజర్ మొత్తాన్ని తగ్గించడానికి నియంత్రణలను కూడా సెట్ చేయవచ్చు సమాచారం అది కావచు వెల్లడించాలి ఇంజెక్షన్ దాడిలో.
SQL ఇంజెక్షన్ను నిరోధించడానికి, కమాండ్లు మరియు ప్రశ్నల నుండి డేటాను వేరుగా ఉంచాలని OWASP సిఫార్సు చేస్తుంది. సురక్షితమైనదాన్ని ఉపయోగించడం ఉత్తమ ఎంపిక API వ్యాఖ్యాతను ఉపయోగించడాన్ని నిరోధించడానికి లేదా ఆబ్జెక్ట్ రిలేషనల్ మ్యాపింగ్ టూల్స్ (ORMలు)కి తరలించడానికి.
బ్రోకెన్ ప్రామాణీకరణ
ప్రామాణీకరణ దుర్బలత్వాలు దాడి చేసే వ్యక్తిని వినియోగదారు ఖాతాలను యాక్సెస్ చేయడానికి మరియు నిర్వాహక ఖాతాను ఉపయోగించి సిస్టమ్ను రాజీ చేయడానికి అనుమతించగలవు. ఒక సైబర్ నేరస్థుడు స్క్రిప్ట్ని ఉపయోగించి సిస్టమ్లో వేలకొద్దీ పాస్వర్డ్ కలయికలను ప్రయత్నించి, ఏది పని చేస్తుందో చూడవచ్చు. సైబర్ నేరస్థుడు ప్రవేశించిన తర్వాత, వారు వినియోగదారు యొక్క గుర్తింపును నకిలీ చేయవచ్చు, వారికి రహస్య సమాచారాన్ని యాక్సెస్ చేయవచ్చు.
స్వయంచాలక లాగిన్లను అనుమతించే వెబ్ అప్లికేషన్లలో విచ్ఛిన్నమైన ప్రమాణీకరణ దుర్బలత్వం ఉంది. ప్రామాణీకరణ దుర్బలత్వాన్ని సరిచేయడానికి ఒక ప్రముఖ మార్గం మల్టీఫ్యాక్టర్ ప్రమాణీకరణను ఉపయోగించడం. అలాగే, లాగిన్ రేటు పరిమితి ఉండవచ్చు చేర్చబడుతుంది బ్రూట్ ఫోర్స్ దాడులను నిరోధించడానికి వెబ్ యాప్లో.
సెన్సిటివ్ డేటా ఎక్స్పోజర్
వెబ్ అప్లికేషన్లు రక్షించకపోతే, సున్నితమైన దాడి చేసేవారు వాటిని యాక్సెస్ చేయవచ్చు మరియు వారి లాభం కోసం ఉపయోగించవచ్చు. ఆన్-పాత్ అటాక్ అనేది సున్నితమైన సమాచారాన్ని దొంగిలించడానికి ఒక ప్రసిద్ధ పద్ధతి. అన్ని సున్నితమైన డేటా ఎన్క్రిప్ట్ చేయబడినప్పుడు బహిర్గతమయ్యే ప్రమాదం తక్కువగా ఉంటుంది. వెబ్ డెవలపర్లు బ్రౌజర్లో ఎటువంటి సున్నితమైన డేటాను బహిర్గతం చేయకుండా లేదా అనవసరంగా నిల్వ చేయబడకుండా చూసుకోవాలి.
XML బాహ్య సంస్థలు (XEE)
ఒక సైబర్ నేరస్థుడు XML డాక్యుమెంట్లో హానికరమైన XML కంటెంట్, ఆదేశాలు లేదా కోడ్ని అప్లోడ్ చేయవచ్చు లేదా చేర్చవచ్చు. ఇది అప్లికేషన్ సర్వర్ ఫైల్ సిస్టమ్లోని ఫైల్లను వీక్షించడానికి వారిని అనుమతిస్తుంది. వారు యాక్సెస్ని పొందిన తర్వాత, సర్వర్ వైపు అభ్యర్థన ఫోర్జరీ (SSRF) దాడులను నిర్వహించడానికి వారు సర్వర్తో పరస్పర చర్య చేయవచ్చు..
XML బాహ్య ఎంటిటీ దాడులు చేయవచ్చు ద్వారా నిరోధించబడుతుంది JSON వంటి తక్కువ సంక్లిష్ట డేటా రకాలను అంగీకరించడానికి వెబ్ అప్లికేషన్లను అనుమతిస్తుంది. XML ఎక్స్టర్నల్ ఎంటిటీ ప్రాసెసింగ్ను నిలిపివేయడం వలన XEE దాడి జరిగే అవకాశాలు కూడా తగ్గుతాయి.
బ్రోకెన్ యాక్సెస్ కంట్రోల్
యాక్సెస్ నియంత్రణ అనేది అనధికార వినియోగదారులను సున్నితమైన సమాచారానికి పరిమితం చేసే సిస్టమ్ ప్రోటోకాల్. యాక్సెస్ కంట్రోల్ సిస్టమ్ విచ్ఛిన్నమైతే, దాడి చేసేవారు ప్రామాణీకరణను దాటవేయవచ్చు. ఇది వారికి అధికారాన్ని కలిగి ఉన్నట్లుగా సున్నితమైన సమాచారాన్ని యాక్సెస్ చేస్తుంది. వినియోగదారు లాగిన్పై అధికార టోకెన్లను అమలు చేయడం ద్వారా యాక్సెస్ నియంత్రణను సురక్షితం చేయవచ్చు. ప్రామాణీకరించబడినప్పుడు వినియోగదారు చేసే ప్రతి అభ్యర్థనపై, వినియోగదారుతో అధికార టోకెన్ ధృవీకరించబడుతుంది, ఆ అభ్యర్థన చేయడానికి వినియోగదారుకు అధికారం ఉందని సూచిస్తుంది.
భద్రతా తప్పు కాన్ఫిగరేషన్
భద్రతా తప్పు కాన్ఫిగరేషన్ అనేది ఒక సాధారణ సమస్య సైబర్ నిపుణులు వెబ్ అప్లికేషన్లలో గమనిస్తారు. తప్పుగా కాన్ఫిగర్ చేయబడిన HTTP హెడర్లు, విరిగిన యాక్సెస్ నియంత్రణలు మరియు వెబ్ యాప్లో సమాచారాన్ని బహిర్గతం చేసే లోపాల ప్రదర్శన ఫలితంగా ఇది జరుగుతుంది. ఉపయోగించని ఫీచర్లను తీసివేయడం ద్వారా మీరు సెక్యూరిటీ మిస్కాన్ఫిగరేషన్ను సరిచేయవచ్చు. మీరు మీ సాఫ్ట్వేర్ ప్యాకేజీలను ప్యాచ్ చేయాలి లేదా అప్గ్రేడ్ చేయాలి.
క్రాస్-సైట్ స్క్రిప్టింగ్ (XSS)
దాడి చేసే వ్యక్తి వినియోగదారు బ్రౌజర్లో హానికరమైన కోడ్ని అమలు చేయడానికి విశ్వసనీయ వెబ్సైట్ యొక్క DOM APIని మార్చినప్పుడు XSS దుర్బలత్వం ఏర్పడుతుంది.. విశ్వసనీయ వెబ్సైట్ నుండి వచ్చిన లింక్పై వినియోగదారు క్లిక్ చేసినప్పుడు ఈ హానికరమైన కోడ్ అమలు తరచుగా జరుగుతుంది. వెబ్సైట్ XSS దుర్బలత్వం నుండి రక్షించబడకపోతే, అది చేయవచ్చు రాజీ పడతారు. హానికరమైన కోడ్ అమలు చేయబడుతుంది వినియోగదారుల లాగిన్ సెషన్, క్రెడిట్ కార్డ్ వివరాలు మరియు ఇతర సున్నితమైన డేటాకు దాడి చేసేవారికి యాక్సెస్ని ఇస్తుంది.
క్రాస్-సైట్ స్క్రిప్టింగ్ (XSS) నిరోధించడానికి, మీ HTML బాగా శుభ్రపరచబడిందని నిర్ధారించుకోండి. ఇది చేయవచ్చు ద్వారా సాధించవచ్చు ఎంచుకున్న భాషను బట్టి విశ్వసనీయ ఫ్రేమ్వర్క్లను ఎంచుకోవడం. మీరు .Net, Ruby on Rails మరియు React JS వంటి భాషలను ఉపయోగించవచ్చు, అవి మీ HTML కోడ్ని అన్వయించడం మరియు శుభ్రపరచడంలో సహాయపడతాయి. ప్రామాణీకరించబడిన లేదా ప్రామాణీకరించబడని వినియోగదారుల నుండి మొత్తం డేటాను అవిశ్వసనీయమైనదిగా పరిగణించడం XSS దాడుల ప్రమాదాన్ని తగ్గిస్తుంది.
అసురక్షిత డీసీరియలైజేషన్
డీసీరియలైజేషన్ అనేది సర్వర్ నుండి ఆబ్జెక్ట్గా సీరియలైజ్ చేయబడిన డేటాను మార్చడం. సాఫ్ట్వేర్ డెవలప్మెంట్లో డేటా డీసీరియలైజేషన్ అనేది ఒక సాధారణ సంఘటన. డేటా ఉన్నప్పుడు ఇది సురక్షితం కాదు డీరియలైజ్ చేయబడింది అవిశ్వసనీయ మూలం నుండి. ఈ చెయ్యవచ్చు సమర్థవంతంగా మీ దరఖాస్తును దాడులకు గురిచేయండి. అవిశ్వసనీయ మూలం నుండి డీరియలైజ్ చేయబడిన డేటా DDOS దాడులు, రిమోట్ కోడ్ అమలు దాడులు లేదా ప్రమాణీకరణ బైపాస్లకు దారితీసినప్పుడు అసురక్షిత డీరియలైజేషన్ జరుగుతుంది..
అసురక్షిత డీరియలైజేషన్ను నివారించడానికి, వినియోగదారు డేటాను ఎప్పుడూ విశ్వసించకూడదనేది ప్రాథమిక నియమం. ప్రతి వినియోగదారు ఇన్పుట్ డేటా ఉండాలి చికిత్స పొందుతారు as సమర్థవంతంగా హానికరమైన. అవిశ్వసనీయ మూలాల నుండి డేటా డీరియలైజేషన్ను నివారించండి. డీరియలైజేషన్ ఫంక్షన్ని నిర్ధారించుకోండి ఉపయోగించబడుతుంది మీ వెబ్ అప్లికేషన్ సురక్షితంగా ఉంది.
తెలిసిన దుర్బలత్వాలతో కూడిన భాగాలను ఉపయోగించడం
లైబ్రరీలు మరియు ఫ్రేమ్వర్క్లు చక్రాన్ని తిరిగి ఆవిష్కరించాల్సిన అవసరం లేకుండా వెబ్ అప్లికేషన్లను అభివృద్ధి చేయడం చాలా వేగంగా చేశాయి. ఇది కోడ్ మూల్యాంకనంలో రిడెండెన్సీని తగ్గిస్తుంది. డెవలపర్లు అప్లికేషన్ల యొక్క మరింత ముఖ్యమైన అంశాలపై దృష్టి పెట్టడానికి అవి మార్గం సుగమం చేస్తాయి. దాడి చేసేవారు ఈ ఫ్రేమ్వర్క్లలో దోపిడీలను కనుగొంటే, ఫ్రేమ్వర్క్ని ఉపయోగించే ప్రతి కోడ్బేస్ ఉంటుంది రాజీ పడతారు.
కాంపోనెంట్ డెవలపర్లు తరచుగా కాంపోనెంట్ లైబ్రరీల కోసం సెక్యూరిటీ ప్యాచ్లు మరియు అప్డేట్లను అందిస్తారు. కాంపోనెంట్ దుర్బలత్వాలను నివారించడానికి, మీరు తాజా భద్రతా ప్యాచ్లు మరియు అప్గ్రేడ్లతో మీ అప్లికేషన్లను తాజాగా ఉంచడం నేర్చుకోవాలి. ఉపయోగించని భాగాలు ఉండాలి తీసివేయబడుతుంది దాడి వెక్టర్లను కత్తిరించడానికి అప్లికేషన్ నుండి.
తగినంత లాగింగ్ మరియు మానిటరింగ్
మీ వెబ్ అప్లికేషన్లో కార్యకలాపాలను చూపించడానికి లాగింగ్ మరియు పర్యవేక్షణ ముఖ్యమైనవి. లాగింగ్ లోపాలను గుర్తించడం సులభం చేస్తుంది, మానిటర్ వినియోగదారు లాగిన్లు మరియు కార్యకలాపాలు.
భద్రతా-క్లిష్టమైన సంఘటనలు లాగ్ చేయనప్పుడు తగినంత లాగింగ్ మరియు పర్యవేక్షణ జరగదు సరిగా. ఏదైనా గుర్తించదగిన ప్రతిస్పందన రాకముందే మీ అప్లికేషన్పై దాడి చేయడానికి దాడి చేసేవారు దీనిని ఉపయోగించుకుంటారు.
లాగింగ్ చేయడం వలన మీ కంపెనీ డబ్బు మరియు సమయాన్ని ఆదా చేయడంలో సహాయపడుతుంది ఎందుకంటే మీ డెవలపర్లు చేయగలరు సులభంగా దోషాలను కనుగొనండి. ఇది బగ్ల కోసం శోధించడం కంటే వాటిని పరిష్కరించడంపై ఎక్కువ దృష్టి పెట్టడానికి వారిని అనుమతిస్తుంది. ఫలితంగా, లాగింగ్ చేయడం వల్ల మీ సైట్లు మరియు సర్వర్లు ఎటువంటి పనికిరాకుండానే వాటిని ప్రతిసారీ రన్ చేయడంలో సహాయపడతాయి.
ముగింపు
మంచి కోడ్ కాదు కేవలం కార్యాచరణ గురించి, ఇది మీ వినియోగదారులను మరియు అనువర్తనాన్ని సురక్షితంగా ఉంచడం. OWASP టాప్ 10 అనేది అత్యంత క్లిష్టమైన అప్లికేషన్ సెక్యూరిటీ రిస్క్ల జాబితా, ఇది డెవలపర్లకు సురక్షితమైన వెబ్ మరియు మొబైల్ యాప్లను వ్రాయడానికి గొప్ప ఉచిత వనరు.. నష్టాలను అంచనా వేయడానికి మరియు లాగ్ చేయడానికి మీ బృందంలోని డెవలపర్లకు శిక్షణ ఇవ్వడం వల్ల దీర్ఘకాలంలో మీ బృందం సమయం మరియు డబ్బు ఆదా అవుతుంది. మీరు కావాలనుకుంటే OWASP టాప్ 10లో మీ బృందానికి ఎలా శిక్షణ ఇవ్వాలనే దాని గురించి మరింత తెలుసుకోండి ఇక్కడ క్లిక్ చేయండి.