એકસાથે લોગિન સુરક્ષા (Concurrent Login Security)

અમર્યાદિત લોગિન્સ ગંભીર બિઝનેસ લોજિક ખામીઓને છુપાવી શકે છે.

એક વપરાશકર્તા લેપટોપ પર લોગિન કરે છે. થોડી સેકન્ડો પછી, તે જ એકાઉન્ટ બીજા બ્રાઉઝર પર લોગિન થાય છે. પછી એક મોબાઈલ ઉપકરણ. પછી એક API ક્લાયન્ટ. બધું બરાબર કામ કરે છે.

આ બરાબર લાગે છે કારણ કે ઘણા એપ્સ મલ્ટિપલ ડિવાઇસને સપોર્ટ કરે છે. પરંતુ તમારે પૂછવું જોઈએ: શું દરેક એપ્લિકેશનને અમર્યાદિત સેશન્સની મંજૂરી આપવી જોઈએ?

કેટલાક સિસ્ટમ્સમાં, મલ્ટિપલ સેશન્સ એ એક સુવિધા (feature) છે. અન્યમાં, તે એક ખામી છે જેનો ઉપયોગ હુમલાખોરો છુપાયેલા રહેવા માટે કરે છે. આ એક બિઝનેસ લોજિક વલ્નરેબિલિટી (business logic vulnerability) છે. કોડ ડિઝાઇન મુજબ કામ કરે છે, પરંતુ ડિઝાઇન પોતે જ નબળી છે.

તફાવત: • પરંપરાગત બગ્સ કોડિંગની ભૂલોનો ઉપયોગ કરે છે. • બિઝનેસ લોજિક બગ્સ ડિઝાઇનના નિર્ણયોનો ઉપયોગ કરે છે.

એક મૂવી સ્ટ્રીમિંગ સર્વિસ વિશે વિચારો. જો એક સબ્સ્ક્રિપ્શન દસ લોકોને એકસાથે જોવા દે છે, તો લોગિન સિસ્ટમ કામ કરે છે. પરંતુ બિઝનેસ નિયમ નિષ્ફળ જાય છે.

આ બેંકિંગ, એડમિન પેનલ્સ અને SaaS પ્રોડક્ટ્સને લાગુ પડે છે.

આ માટે કેવી રીતે ટેસ્ટ કરવું:

હાઈ-સિક્યુરિટી એપ્સ ઘણીવાર આ નિયમો લાગુ કરે છે:

જો કોઈ હુમલાખોર ક્રેડેન્શિયલ્સ ચોરી લે છે, તો જો તમે અમર્યાદિત સેશન્સની મંજૂરી આપો છો, તો તેઓ કાયમ માટે લોગિન રહી શકે છે. જ્યારે અસલી વપરાશકર્તા એક્ટિવ હોય છે, ત્યારે તેઓ પણ એક્ટિવ રહે છે. કોઈ પણ વ્યક્તિ અજાણ્યા વ્યક્તિ (intruder) પર ધ્યાન આપતી નથી.

સંદર્ભ (Context) જ બધું છે. જે એપ્સને ઘણા સેશન્સની જરૂર છે:

જે એપ્સને કડક નિયંત્રણની જરૂર છે:

તેને કેવી રીતે સુધારવું:

ફક્ત SQL ઇન્જેક્શન જેવા કોડ બગ્સ ન શોધો. તમારી એપ્લિકેશન શું કરે છે અને તમારા બિઝનેસની જરૂરિયાત શું છે તે વચ્ચેના અંતરો (gaps) શોધો.

આજે જ તમારી સેશન પોલિસીની સમીક્ષા કરો. તમારું સૌથી મોટું જોખમ કદાચ બ્રોકન કોડ ન પણ હોય. તે કદાચ બ્રોકન લોજિક હોઈ શકે છે.

સ્ત્રોત: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839