You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Generazione popolazione iniziale (lista di liste di azioni)
Tracce composte da azioni random
Tracce utente (Selenium IDE)
Algoritmo evolutivo per avvicinarsi alla vulnerabilità
Calcolo fitness
(-$\infty$, 1] -- Distanza dalla chiamata
(1, 0] -- Distanza su parametri
Contesto
Obiettivo: generazione tracce di esecuzione invece esplorazione di pagine (è importante anche come si arriva alla pagina, vedi stato interno del server)
Generiamo tracce perchè spesso è importante anche lo stato interno del sistema (vedi pattern di pagamento)
Problema: generare tracce minime (da affrontare in un secondo momento)
Possibili obiezioni
Tanto vale usare un crawler tradizionale!
No, il suo obiettivo è esplorare le pagine e farne una lista, senza fare tracce di esecuzione
Usiamo mutational fuzzing invece di GA
Mutational fuzzing ha senso quando sai come va fatta una cosa, GA serve quando sai cosa devi fare, ma non sai come.
Ha senso fare cross-over della sequenza? Cosa mi porta?
Worst-case scenario, mantengo le vecchie sequenze (ma rischio minimi locali)
Best-case scenario, riesco a comporre le sequenze relative a due pagine diverse