Rispondo con un post invece che con un commento perché mi sembra un tema interessante.
Quello che suggerisce Giorgio esiste e si chiama DNSSEC. Se fosse implementato da tutti i server DNS e da tutti i client DNS allora quegli attacchi (attacchi in cui un nome "importante" viene associato ad un IP fasullo) sarebbero molto più difficili (ma non impossibili, vedi più sotto). Da notare che attacchi di quel genere sono stati usati anche per defacement ad organizzazioni ben più pesanti di Twitter (Google, CocaCola etc...scartabellate nella mia
Diigo List Web Security Incidents, probabilmente cercando il tag DNS).
E' ovvio che il requisito "implementato da...tutti i client" è quasi impossibile da realizzare e certamente lungi dall'essere realizzato oggi. Per cui anche se il record di Twitter fosse stato firmato, autenticità ed integrità della firma non sarebbero state controllate da quasi nessun client.
Inoltre, "implementato da...tutti i client" dice solo parte della storia. E' anche necessario che sia implementato
solo DNSSEC. E' ovvio che se un client accetta record DNSSEC e record DNS tradizionali, allora imbrogliare quel client è facile. E' un pò ciò che accade con alcuni attacchi a cui ho accennato in qualche lezione: anche se il client supporta protocolli fortissimi, basta convincerlo ad usare protocolli deboli.
Il motivo fondamentale per il quale DNSSEC è ancora poco diffuso (e secondo me lo sarà praticamente sempre) è ovvio: problemi di gestione delle chiavi (generazione, diffusione), dei certificati, delle firme sui record etc etc etc.
Infine, anche se DNSSEC avesse sostituito completamente DNS, non è affatto detto che attacchi di quel genere diventerebbero impossibili. Dipende dalle policy di gestione ed utilizzo della chiave privata usata per firmare i record. In teoria non dovrebbe essere possibile generare una firma da remoto. Ma in pratica...chissà?
Un DNS provider che si fa attaccare i propri record da remoto (come quello coinvolto nel caso Twitter, nella mia Diigo list citata sopra ci sono articoli che identificano chiaramente quel provider) potrebbe tranquillamente essere strutturato in modo da tenere la chiave privata su un server S1 accessibile, magari in modo indiretto, da un server S2 esposto su Internet. Magari la chiave potrebbe stare sullo stesso server S2, per rendere più "semplice" la manutenzione dei record. Sappiamo benissimo, spero, che security e semplicità di uso sono obiettivi in conflitto.