ಏಕಕಾಲಿಕ ಲಾಗಿನ್ ಸುರಕ್ಷತೆ (Concurrent Login Security)
ಅನಿಯಮಿತ ಲಾಗಿನ್ಗಳು ಗಂಭೀರವಾದ ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ದೋಷಗಳನ್ನು ಮರೆಮಾಚಬಹುದು.
ಒಬ್ಬ ಬಳಕೆದಾರ ಲ್ಯಾಪ್ಟಾಪ್ನಲ್ಲಿ ಲಾಗಿನ್ ಆಗುತ್ತಾರೆ. ಕೆಲವು ಸೆಕೆಂಡುಗಳ ನಂತರ, ಅದೇ ಖಾತೆಯು ಬೇರೆ ಬ್ರೌಸರ್ನಲ್ಲಿ ಲಾಗಿನ್ ಆಗುತ್ತದೆ. ನಂತರ ಮೊಬೈಲ್ ಸಾಧನದಲ್ಲಿ. ನಂತರ ಒಂದು API ಕ್ಲೈಂಟ್ನಲ್ಲಿ. ಎಲ್ಲವೂ ಪರಿಪೂರ್ಣವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ಇದು ಸರಿಯಾಗಿ ಕಾಣಿಸಬಹುದು ಏಕೆಂದರೆ ಅನೇಕ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಬಹು ಸಾಧನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ. ಆದರೆ ನೀವು ಕೇಳಲೇಬೇಕು: ಪ್ರತಿಯೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ಲಿಮಿಟೆಡ್ ಸೆಷನ್ಗಳನ್ನು ಅನುಮತಿಸಬೇಕೇ?
ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ, ಬಹು ಸೆಷನ್ಗಳು ಒಂದು ವೈಶಿಷ್ಟ್ಯವಾಗಿರುತ್ತವೆ (feature). ಇತರವುಗಳಲ್ಲಿ, ಇದು ದಾಳಿಕೋರರು ಅಡಗಿಕೊಳ್ಳಲು ಬಳಸುವ ದೋಷವಾಗಿದೆ. ಇದು ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ವಲ್ನರಬಿಲಿಟಿ (business logic vulnerability). ಕೋಡ್ ವಿನ್ಯಾಸಗೊಳಿಸಿದಂತೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದರೆ ವಿನ್ಯಾಸವೇ ದುರ್ಬಲವಾಗಿರುತ್ತದೆ.
ವ್ಯತ್ಯಾಸ: • ಸಾಂಪ್ರದಾಯಿಕ ಬಗ್ಗಳು ಕೋಡಿಂಗ್ ತಪ್ಪುಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ. • ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ಬಗ್ಗಳು ವಿನ್ಯಾಸದ ನಿರ್ಧಾರಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ.
ಒಂದು ಮೂವಿ ಸ್ಟ್ರೀಮಿಂಗ್ ಸೇವೆಯನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳಿ. ಒಂದು ಸಬ್ಸ್ಕ್ರಿಪ್ಷನ್ ಹತ್ತು ಜನರಿಗೆ ಏಕಕಾಲದಲ್ಲಿ ವೀಕ್ಷಿಸಲು ಅನುಮತಿಸಿದರೆ, ಲಾಗಿನ್ ಸಿಸ್ಟಮ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ಬಿಸಿನೆಸ್ ರೂಲ್ ವಿಫಲವಾಗುತ್ತದೆ.
ಇದು ಬ್ಯಾಂಕಿಂಗ್, ಅಡ್ಮಿನ್ ಪ್ಯಾನಲ್ಗಳು ಮತ್ತು SaaS ಉತ್ಪನ್ನಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ.
ಇದನ್ನು ಪರೀಕ್ಷಿಸುವುದು ಹೇಗೆ:
- ಬ್ರೌಸರ್ A ಮೂಲಕ ಲಾಗಿನ್ ಆಗಿ ಮತ್ತು ಅದನ್ನು ಸಕ್ರಿಯವಾಗಿಡಿ.
- ಬ್ರೌಸರ್ B ನಲ್ಲಿ ಇನ್ಕಾಗ್ನಿಟೊ ವಿಂಡೋವನ್ನು (incognito window) ತೆರೆಯಿರಿ.
- ಅದೇ ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳೊಂದಿಗೆ ಲಾಗಿನ್ ಆಗಿ.
- ಮೊದಲ ಸೆಷನ್ ಇನ್ನೂ ಕೆಲಸ ಮಾಡುತ್ತಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
- ಎರಡರಲ್ಲೂ ನೀವು ಸೂಕ್ಷ್ಮ ಕ್ರಮಗಳನ್ನು (sensitive actions) ಮಾಡಲು ಸಾಧ್ಯವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
ಹೆಚ್ಚಿನ ಸುರಕ್ಷತೆ ಹೊಂದಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಹೆಚ್ಚಾಗಿ ಈ ನಿಯಮಗಳನ್ನು ಜಾರಿಗೆ ತರುತ್ತವೆ:
- ಪ್ರತಿ ಖಾತೆಗೆ ಒಂದು ಸಕ್ರಿಯ ಸೆಷನ್.
- ಹೊಸ ಲಾಗಿನ್ ಆದಾಗ ಹಳೆಯ ಸೆಷನ್ಗಳನ್ನು ಲಾಗ್ ಔಟ್ ಮಾಡುವುದು.
- ಸಾಧನಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಿಯಂತ್ರಣಗಳು.
- ಹೊಸ ಲಾಗಿನ್ಗಳಿಗಾಗಿ ಅಲರ್ಟ್ಗಳು.
ದಾಳಿಕೋರರು ಕ್ರೆಡೆನ್ಶಿಯಲ್ಗಳನ್ನು ಕದಿಯುವಲ್ಲಿ ಯಶಸ್ವಿಯಾದರೆ, ನೀವು ಅನ್ಲಿಮಿಟೆಡ್ ಸೆಷನ್ಗಳನ್ನು ಅನುಮತಿಸಿದರೆ ಅವರು ಶಾಶ್ವತವಾಗಿ ಲಾಗ್ ಇನ್ ಆಗಿಯೇ ಇರಬಹುದು. ನಿಜವಾದ ಬಳಕೆದಾರರು ಸಕ್ರಿಯರಾಗಿರುವಾಗ ಅವರು ಕೂಡ ಸಕ್ರಿಯರಾಗಿರುತ್ತಾರೆ. ಇಬ್ಬರಿಗೂ ಅತಿಕ್ರಮಣಕಾರನ (intruder) ಬಗ್ಗೆ ತಿಳಿಯುವುದಿಲ್ಲ.
ಸಂದರ್ಭವೇ ಎಲ್ಲವೂ (Context is everything). ಹೆಚ್ಚಿನ ಸೆಷನ್ಗಳ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು:
- ಮೆಸೇಜಿಂಗ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು.
- ಸೋಶಿಯಲ್ ಮೀಡಿಯಾ.
- ಇಮೇಲ್ ಸೇವೆಗಳು.
ಕಟ್ಟುನಿಟ್ಟಾದ ನಿಯಂತ್ರಣದ ಅಗತ್ಯವಿರುವ ಅಪ್ಲಿಕೇಶನ್ಗಳು:
- ಬ್ಯಾಂಕಿಂಗ್ ವ್ಯವಸ್ಥೆಗಳು.
- ಅಡ್ಮಿನ್ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು.
- ಹೆಲ್ತ್ಕೇರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳು.
ಇದನ್ನು ಸರಿಪಡಿಸುವುದು ಹೇಗೆ:
- ಸಕ್ರಿಯ ಸೆಷನ್ ಐಡಿಗಳನ್ನು (session IDs) ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಿ.
- ಹೊಸ ಲಾಗಿನ್ ಆದಾಗ, ಹಳೆಯ ಸೆಷನ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸಿ (kill).
- ಬಳಕೆದಾರರು ಸಕ್ರಿಯ ಸಾಧನಗಳು ಮತ್ತು ಸ್ಥಳಗಳನ್ನು ನೋಡಲು ಅವಕಾಶ ನೀಡಿ.
- "Log out from all devices" ಬಟನ್ ಅನ್ನು ಸೇರಿಸಿ.
- ಹೊಸ ಲಾಗಿನ್ಗಳಿಗಾಗಿ ಇಮೇಲ್ ಅಥವಾ SMS ಅಲರ್ಟ್ಗಳನ್ನು ಕಳುಹಿಸಿ.
ಕೇವಲ SQL ಇಂಜೆಕ್ಷನ್ನಂತಹ ಕೋಡ್ ಬಗ್ಗಳಿಗಾಗಿ ಮಾತ್ರ ಹುಡುಕಬೇಡಿ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಏನು ಮಾಡುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ವ್ಯವಹಾರಕ್ಕೆ ಏನು ಬೇಕು ಎಂಬ ನಡುವಿನ ಅಂತರವನ್ನು (gaps) ಗಮನಿಸಿ.
ಇಂದು ನಿಮ್ಮ ಸೆಷನ್ ನೀತಿಯನ್ನು ಪರಿಶೀಲಿಸಿ. ನಿಮ್ಮ ದೊಡ್ಡ ಅಪಾಯವು ಬ್ರೋಕನ್ ಕೋಡ್ ಆಗಿರಲಿಕ್ಕಿಲ್ಲ. ಅದು ಬ್ರೋಕನ್ ಲಾಜಿಕ್ ಆಗಿರಬಹುದು.