Właściwie odkąd pamiętam wyłączenie AutoRun/Autoplay było jednym z zaleceń hardeningu dla systemu Windows. Wszystko przez plik autorun.inf i to, co można w nim zawrzeć.
Bo to zły mechanizm był... czyli AutoRun/AutoPlay
Dawno, dawno temu wirusy rozprzestrzeniały się nie przez Internet, ale przez dyskietki. Z czasem ta droga przenoszenia odeszła w niepamięć śmiercią naturalną, podobnie zresztą jak same dyskietki. Płyty CD z uwagi na swój charakter roli medium rozprzestrzeniania się wirusów pełnić nie mogły, aż nagle pojawiły się dyski USB, oraz wszelakie urządzenia, które podobne zachowania przejawiać mogą, na przykład aparaty fotograficzne albo playery MP3. Specyfika używania tych urządzeń jest taka, że się je wtyka często gdzie popadnie, na przykład w celu wymiany plików z klientem. Problem w tym, że podobnie jak w czasach dyskietek, tak w teraźniejszości poza plikami można było wymienić się czymś więcej...
Co może zrobić autorun.inf i dlaczego U3 jest ZŁYTeraz mogę trochę konfabulować, bo mechanizm autorun mam wyłączony od zawsze, ale:
- na dyskach typu CD możliwe jest automatyczne uruchomienie programu,
- na dyskach typu USB możliwe jest dopisanie akcji do listy akcji możliwych do wybrania,
- możliwa jest modyfikacja menu kontekstowego, w szczególności zmiana akcji domyślnej,
Wszystko powyższe prowadzi do uruchomienia dowolnego kodu przez osobę, która jest w stanie nakarmić komputer złośliwą płytą CD lub wetknąć odpowiednio spreparowany dysk USB. W przypadku CD uruchomienie kodu może być automatyczne, jeśli jest to USB, to użytkownik musi trochę w tym pomóc (co zrobi z dziką przyjemnością i zupełnie nieświadomie w przypadku podmienienia domyślnej akcji dla dysku). Ale dlaczego dyski USB mają być poszkodowane? Pojawiła się technologia U3, która ma to do siebie, że (w uproszczeniu) pendrive udaje CD. W efekcie możliwe jest automatyczne uruchomienie programu na zaatakowanym (fizycznie) komputerze.
...o jejku jejku...Blokowanie stacji roboczej jest dość powszechnie przyjętą praktyką. Intruz może jednak podejść do stacji, niepostrzeżenie włożyć swój pendrive i... Chyba wiadomo co. A jeśli nie, to odsyłam do lektury:
I co z tym zrobić?Problem w tym, że wyłączenie AutoRun choćby za pomocą Group Policy nie rozwiązuje problemu. Owszem, automatyczne uruchomienie jest wyłączone, ale nadal plik autorun.inf jest interpretowany (i to nie tylko dla dysków wymiennych!), co umożliwia modyfikację menu kontekstowego oraz podmianę domyślnej akcji. Domyślna akcja to ta, która się wykonuje przy kliknięciu lewym klawiszem myszki na obiekt (dysk). Jeśli ktoś wtyka ten pendrive to po to, by go otworzyć (czyli kliknąć), a więc uruchomienie kodu nadal jest możliwe, choć raczej scenariusz z wetknięciem takiego spreparowanego pendrive w trakcie przerwy na kawę można pominąć. Do rozprzestrzeniania się wirusów lub celowego zarażenia (a co, szpiegostwo przemysłowe na przykład) jak najbardziej to wystarczy.
Jedynym sensownym rozwiązaniem jest przekonanie systemu by pliku autorun.inf nie czytał. Jak już pisałem można to zrobić wykorzystując mechanizm IniFileMapping. Jak to konkretnie zrobić, można przeczytać tutaj.
Można też zabezpieczyć swój pendrive przed atakiem ewentualnego wirusa, który usiłuje nadpisać plik autorun.inf. Metoda jest dość prosta, wystarczy założyć katalog o nazwie... autorun.inf. Co prawda autor wirusa może sprawdzać, czy autorun.inf jest plikiem, czy katalogiem, a jeśli katalogiem, to katalog ów subtelnie likwidować, na razie jednak występujące w naturze twory tego nie robią (co oczywiście nie znaczy, że nie zaczną w najbliższej przyszłości).
Bo TO jest punkt wejścia...Dyskietka, płyta CD, pendrive to punkt wejścia, w dodatku taki, który przekracza granicę bezpieczeństwa. Nie można zakładać, że wkładana płyta, dyskietka czy pendrive jest nieszkodliwy. Wręcz przeciwnie, należy zakładać, że jest on ZŁY. Automatyczne uruchamianie programu po włożeniu takiego niezaufanego nośnika jest po prostu błędem w założeniach. Przykładem, gdy wygoda przesłoniła bezpieczeństwo.
Problemem jest również zbytnia wiara w antywirusy. Sam z użyciem powszechnie dostępnych narzędzi w postaci UPX i Morphine (teraz już nieco cięższe do znalezienia narzędzie) bez większych problemów zamieniałem Hacker Defender w coś zupełnie niewykrywalnego dla antywirusów. Warto tu przy okazji wspomnieć o konkursie Race To Zero, który nieco zirytował producentów narzędzi antywirusowych. W konkursie tym właśnie chodzi/chodziło (kto wie, kiedy ktoś to będzie czytał), by przerobić znaną próbkę wykrywaną przez antywirusy w coś, czego te antywirusy wykryć nie będą w stanie.