Questa è sicurezza attraverso l'oscurità . Anche se potrebbe non ferirti in tutti i casi, da solo non fornisce sicurezza. Non fare affidamento su questo come protezione.
Breve parabola
Supponiamo che tu mantenga i tuoi soldi in un barattolo con l'etichetta MONEY
nella tua casa. Poiché sai che a volte dimentichi di chiudere a chiave la porta quando esci di casa, puoi ricollocare il barattolo COOKIES
per impedire a un ladro di trovarlo. Ti sentiresti più sicuro ora? Certo, un ladro molto pigro e sciocco potrebbe non vederlo, ma non dovresti essere un ladro professionista per rubare i tuoi soldi. Non sarebbe meglio semplicemente ricordare di chiudere la porta invece?
Ritorno al mondo dei computer
Supponiamo che tu abbia una vecchia installazione di phpBB con una vulnerabilità di SQL injection. Di default le tabelle sono precedute da phpbb_
. Lo cambi in obscure_
. Questo ti aiuterà?
Una scansione ingenua potrebbe non riuscire a trovare nomi di tabelle con codice fisso (come phpbb_users
con tutte le password), e quindi fallire. Ma anche uno script kiddie può eseguire uno script che esegue SHOW TABLES
e trova obscure_users
. Infatti, ci sono strumenti che scaricheranno automaticamente il contenuto di tutte le tue tabelle attraverso una vulnerabilità di SQL injection.
Conclusione
Quindi qual è la lezione qui? Mentre cambiare prefissi di tabella (rietichettatura il vaso) potrebbe forse proteggere l'utente da l'attacco più semplice muto automatizzato (lo stupido, ladro pigro), si sarebbe ancora vulnerabili a semplici attacchi eseguiti da script kiddies (un ladro ricerca attraverso i vostri vasetti). Quando si ha una vera vulnerabilità come l'iniezione SQL, la soluzione è quella di correggere quella vulnerabilità (bloccare la porta), e non aggiungere un sottile velo di oscurità.
Detto questo, una semplice precauzione che potrebbe rallentare alcuni attacchi potrebbe ancora valere la pena di "difesa in profondità" se non ha effetti collaterali dannosi. Non sentirti al sicuro solo perché lo implementa.
(Come appendice, dovrei dire che l'esecuzione di più installazioni nello stesso database potrebbe avere implicazioni sulla sicurezza a seconda della situazione.)