𝗖𝗼𝗻𝗰𝘂𝗿𝗿𝗲𝗻𝘁 𝗟𝗼𝗴𝗶𝗻 𝗦𝗲𝗰𝘂𝗿𝗶𝘁𝘆

అపరిమితమైన లాగిన్‌లు తీవ్రమైన బిజినెస్ లాజిక్ లోపాలను దాచగలవు.

ఒక వినియోగదారు ల్యాప్‌టాప్‌లో లాగిన్ అవుతారు. కొన్ని సెకన్ల తర్వాత, అదే ఖాతా వేరొక బ్రౌజర్‌లో లాగిన్ అవుతుంది. ఆ తర్వాత ఒక మొబైల్ పరికరం, ఆపై ఒక API క్లయింట్. అంతా సవ్యంగానే జరుగుతుంది.

చాలా యాప్‌లు బహుళ పరికరాలను (multiple devices) సపోర్ట్ చేస్తాయి కాబట్టి ఇది బాగున్నట్లు అనిపిస్తుంది. కానీ మీరు ఇలా ప్రశ్నించుకోవాలి: ప్రతి అప్లికేషన్ అపరిమితమైన సెషన్లను అనుమతించాలా?

కొన్ని వ్యవస్థలలో, బహుళ సెషన్లు ఒక ఫీచర్‌గా ఉంటాయి. మరికొన్నింటిలో, ఇది దాగి ఉండాలనుకునే అటాకర్లు ఉపయోగించుకునే ఒక లోపం. ఇది ఒక బిజినెస్ లాజిక్ వల్నరబిలిటీ (business logic vulnerability). కోడ్ డిజైన్ చేసిన విధంగానే పనిచేస్తుంది, కానీ ఆ డిజైన్ స్వయంగా బలహీనంగా ఉంటుంది.

తేడా ఏమిటంటే: • సాంప్రదాయ బగ్‌లు కోడింగ్ తప్పులను వాడుకుంటాయి. • బిజినెస్ లాజిక్ బగ్‌లు డిజైన్ నిర్ణయాలను వాడుకుంటాయి.

ఒక మూవీ స్ట్రీమింగ్ సర్వీస్‌ను ఊహించుకోండి. ఒకే సబ్‌స్క్రిప్షన్ పది మందికి ఒకేసారి చూడటానికి అనుమతిస్తే, లాగిన్ సిస్టమ్ సరిగ్గా పనిచేస్తున్నట్లే, కానీ బిజినెస్ రూల్ విఫలమవుతుంది.

ఇది బ్యాంకింగ్, అడ్మిన్ ప్యానెల్స్ మరియు SaaS ఉత్పత్తులకు వర్తిస్తుంది.

దీనిని ఎలా పరీక్షించాలి:

అధిక భద్రత కలిగిన యాప్‌లు తరచుగా ఈ నియమాలను అమలు చేస్తాయి:

ఒకవేళ అటాకర్ క్రెడెన్షియల్స్‌ను దొంగిలిస్తే, మీరు అపరిమిత సెషన్లను అనుమతిస్తే వారు ఎప్పటికీ లాగిన్ అయి ఉండగలరు. అసలు వినియోగదారు యాక్టివ్‌గా ఉన్నంత సేపు వారు కూడా యాక్టివ్‌గా ఉంటారు. ఇద్దరిలో ఎవరికీ ఆ చొరబాటుదారు (intruder) గురించి తెలియదు.

సందర్భమే అంతా. ఎక్కువ సెషన్లు అవసరమయ్యే యాప్‌లు:

కఠినమైన నియంత్రణ అవసరమయ్యే యాప్‌లు:

దీనిని ఎలా పరిష్కరించాలి:

కేవలం SQL injection వంటి కోడ్ బగ్‌ల కోసం మాత్రమే చూడకండి. మీ యాప్ చేసే పనికి మరియు మీ వ్యాపార అవసరాలకు మధ్య ఉన్న అంతరాలను (gaps) గమనించండి.

ఈరోజే మీ సెషన్ పాలసీని సమీక్షించండి. మీ అతిపెద్ద ప్రమాదం విచ్ఛిన్నమైన కోడ్ కాకపోవచ్చు, అది విచ్ఛిన్నమైన లాజిక్ కావచ్చు.

మూలం: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839