Chodzi mi o tę prezentację: Wordlists: from statistics to genetic. W skrócie - wykorzystanie algorytmów genetycznych do stworzenia słownika (kombinacji istniejących słowników), który jest "lepszy". Ta "lepszość" słownika ma przejawiać się większą skutecznością przy mniejszym rozmiarze, a więc i czasie łamania hashy haseł.
O ile sam temat i zastosowanie podejście jest ciekawe, mam pewien problem z implementacją. Pytanie - względem czego była sprawdzana skuteczność słowników? Z odpowiedzi udzielonej przez prowadzącego - skuteczność słownika była ewaluowana na hasłach (hashe), które można znaleźć w sieci (wyniki wycieków).
Super. A na jakiej podstawie tworzone są słowniki? Czy przypadkiem nie na podstawie tych samych wycieków i haseł, które udało się złamać?
O co mi chodzi? Z prezentacji wynika, że "mutacje" odbywały się na poziomie całego słownika (docelowy słownik składał się z N słowników, np. 500 worst passwords, rockyou, (...)). Co z tego wynika? Jeśli jako materiał testowy wykorzystane są hashe z wycieku X siłą rzeczy najlepsze będą te kombinacje słowników, które zawierają listy powstałe na podstawie tego wycieku. Dlaczego? Dlatego, że standardowym podejściem przy łamaniu hashy z wycieku X jest wykorzystanie (wszystkich) dostępnych słowników. W efekcie nowa lista jest najbardziej efektywna dla tej populacji hashy.
Podsumowując - ciekawszym podejściem byłoby użycie jako danych testowych/referencyjnych populacji hashy, które na pewno nie były użyte do stworzenia słowników użytych w eksperymencie. Najlepiej dwóch takich populacji - jednej w trakcie "ewolucji" słowników, a drugiej - do sprawdzenia skuteczności otrzymanego słownika. Bardzo jestem ciekawy wyników tego porównania.
Algorytm działa w miarę łamania hashy, i każdy hash widzi po raz pierwszy. Część prób jest podejmowana z zupełnie odjechanymi mutacjami, w razie gdyby te dominujące miały nagle okazać się niewystarczające.
Sorki, że tak chaotycznie, ale generalnie było to gdzieś dobrze opisane, na pewne zmyślniej niż to co było na Confidence (wiem, "pomogłem" ...