Jak być może pamiętacie pisałem o problemie związanym z memory leak (Miałem memory leak). Poprzez blog Network Monitor przesłałem zapytanie, czy problem jest znany. Okazało się, że nie. Rozpoczął się proces diagnostyki błędu, przesłanie informacji o konfiguracji, sposobu odtworzenia błędu, (...). W końcu pojawiła się pytanie o możliwość wykonania memory dump i przesłania go do analizy. Niestety, musiałem odmówić.
Nie, nie dam mojego memory dump
Jednym z moich pobocznych (przynajmniej jak na razie) zainteresowań jest tematyka związana z forensic. Tu z kolei w ciągu ostatniego czasu (kilka ostatnich lat) dokonał się ogromny postęp w dziedzinie analizy pamięci operacyjnej. Nic w tym dziwnego, w pamięci jest (prawie) wszystko. Jeśli się do tego doda fakt, iż tej pamięci w obecnych komputerach jest sporo, ilość informacji możliwych do uzyskania jest duża. Wcześniej ta sama informacja oczywiście również była dostępna, przy czym często znajdowała się w pliku wymiany, tak więc analiza była o tyle utrudniona, że przykładowo przestrzeń adresową procesu trzeba było składać z kawałków rozsianych po pamięci fizycznej i pliku (plikach) wymiany (co oczywiście nadal może być wymagane, nawet dziś).
W pamięci znajduje się wszystko, korzystając z narzędzi typu Volatility czy Memoryze każdy może się o tym przekonać. Można też użyć innych "zaawansowanych" narzędzi do analizy, takich jak strings i grep, można potraktować obraz pamięci jako "uszkodzony dysk" i spróbować "odzyskać z niego dane" przy pomocy carvera typu PhotoRec. Wszystko to można wykonywać zdalnie na działającym systemie korzystając z F-Response (mój krótki opis narzędzia). Na stronie Forensic Wiki: List of Volatility Plugins dostępna jest lista rozszerzeń dla wspomnianego Volatility, które umożliwiają między innymi wyszukiwanie w zrzucie pamięci kluczy kryptograficznych, czy kluczy rejestrów zawierających na przykład hashe haseł.
Z ciekawych wpisów w tym temacie (szybkie przeszukanie subskrybowanych przeze mnie blogów):
- Looking back on sample memory images,
- Memory Registry Tools,
- Cached Domain Credentials,
- Decrypting LSA Secrets,
- SysKey and SAM,
Temat analizy pamięci jest poruszany również w książce Windows Forensic Analysis.
Gdybym nie wiedział o tym wszystkim, o czym napisałem, pewnie z przekazaniem memory dump nie byłoby większego problemu. Gdyby maszyna, na której występuje problem, nie była maszyną produkcyjną, pewnie też. A tak... nie, nie dam mojego memory dump.