Ho sentito parlare dell'utilizzo di dimostratori di teoremi automatici nel tentativo di dimostrare che le vulnerabilità di sicurezza non esistono in un sistema software. In generale questo è diabolicamente difficile da fare.Utilizzo di dimostratori di teoremi per trovare gli attacchi
La mia domanda è: qualcuno ha mai lavorato su come utilizzare strumenti simili a trovare le vulnerabilità nei sistemi esistenti o proposti?
Eidt: Sono NON chiedendo di dimostrare che un sistema software è sicuro. Sto chiedendo di trovare (idealmente precedentemente sconosciute) vulnerabilità (o anche classi di esse). Sto pensando come (ma non è) un cappello nero qui: descrivi la semantica formale del sistema, descrivi ciò che voglio attaccare e poi lascia che il computer capisca quale catena di azioni devo usare per prendere il controllo del tuo sistema.
Penso che il client nativo di google potrebbe facilitare questo; hanno imbrogliato richiedendo un compilatore speciale (compilando in basso un sottogruppo del set di istruzioni di destinazione che rende più semplice la verifica del codice). Vedi NaCl su http://www.chromium.org/nativeclient/reference/research-papers – sehe