La sicurezza di un sistema, soprattutto se utilizzato da miliardi di persone, è fondamentale.
Se c'è qualche problema, i danni possono essere di miliardi di dollari...
Pensa a Facebook: se viene craccato, si espongono dati personali di circa 1/6 degli abitanti del pianeta. Oppure Google: craccandolo, puoi scoprire le email di tutti quelli che usano GMail (vedi quando cracker pagati dal governo cinese sono entrati a spiare la posta dei dissidenti), le loro ricerche su Internet, le loro preferenze... (Google su di te sa più cose di quanto tu immagini)
Questo è un danno anche di immagine, e rischia veramente di far perdere miliardi ad una società, e di portare a decine di processi in tribunale.
Detto questo, la protezione contro attacchi "base" è semplice, e anche un programmatore medio è in grado di agire in difesa.
Però, quando gli obiettivi sono così sensibili, i cracker si possono scatenare. Se poi non si tratta di gruppi "amatoriali", ma dietro ci sono finanziatori potenti (tra cui anche governi nazionali...), il loro impegno sarà enorme.
I cracker sanno essere molto fantasiosi, e sono sempre alla ricerca delle falle minuscole.
Per proteggersi da questo, quindi, bisogna studiare ATTENTAMENTE tutto il codice, nei singoli dettagli.
Questo è un lavoro che richiede una ENORME esperienza e soprattutto un sacco di tempo.
Per quanto Zuckerberg (che comunque sa programmare: studiava questo ad Harvard!), Brin e Page ecc siano geniali, non sono cracker di professione.
Un conto è saper programmare, un altro è avere la capacità di craccare i sistemi.
Inoltre, c'è anche un problema di tempo: essere CEO (="amministratore delegato") di una "public company" (società quotata in borsa) significa avere TANTI impegni. Di sicuro Zuckerberg non può più prendere un computer e passare 48 ore di fila a fare hacking!
Quindi, le aziende assumono hacker (e molte altre si affidano a società esterne per lo stesso compito) perché sono più specializzati e competenti... E perché per una grossa società è impensabile funzionare senza una organizzazione! (dai un'occhiata agli organigrammi di queste società, e capirai!)
Non solo le aziende vogliono assumere hacker per la difesa, ma anche sempre più spesso le nazioni. La "guerra informatica" esiste ed è reale, e vede tra gli "attaccanti" maggiori la Cina.
C'è anche da dire che molte aziende poi (e anche governi più o meno democratici) possono voler assumere anche dei cracker, per spiare aziende concorrenti, altri governi o dissidenti politici. Negli ultimi due casi, guarda le notizie di Stuxnet appena apparse in rete!
In questo caso, però, non è per "difesa", ma per vero e proprio attacco!
Per quanto riguarda "come si possono trovare bug?"... Bè, è un argomento troppo vasto e troppo complesso.
Se sei interessato, studia programmazione. Imparando a creare programmi ti sarà anche chiaro dove si insidiano questi problemi.