Przed czym broni UAC

Wyobraz sobie program wykonujacy nastepujace dzialania:

  1. Przeszukuje dysk w poszukiwaniu plików *.exe
  2. Kazdy znaleziony plik sprawdza czy nie jest programem instalacyjnym. Sprawdzenie takie moze robic tak samo jak robi to Windows Vista. Sprawdza czy nazwa nie sugeruje programu instalacyjnego (install, setup, update itp.), sprawdza manifest, sprawdza resource strings
  3. Jezeli znaleziona aplikacja jest programem instalacyjnym, modyfikuje ja w nastepujacy sposób:
  1. Kopiuje swój wlasny kod i sam zmienia w nim wszystko na takie jak ma znaleziona instalka. Ikonke, nazwe, manifest, resource strings.
  2. Dokleja do utworzonego pliku exe znaleziona instalke.
  3. Zastepuje oryginalna istalke nowa zainfekowana jej wersja.

Jezeli po uruchomieniu wykryje, ze ma do siebie doklejona jakas aplikacje - kopiuje ja do %temp% i uruchamia.

Wykonuje inne operacje zaplanowane przez programiste. 

Dla przyzwoitosci taki programik moze uzyc "mutex" do sprawdzenia czy jakis jego blizniak juz nie pracuje i oznaczac zmodyfikowane instalki, zeby ich nie modyfikowac wiecej niz raz.

Efekt? Program taki jest wirusem o zlozonosci i wyrafinowaniu na poziomie pierwszych klas podstawówki.

I wszystko byloby super, gdyby nie jedno "ale". W Windows Vista dziala UAC. A UAC sprawia, ze programy instalacyjne zadaja podniesienia uprawnien.

W efekcie, robak taki dosc sprawnie przemieszcza sie po systemie, a jezeli uzytkownik lubi dzielic sie swoimi instalkami - przemieszcza sie równiez miedzy znajomymi.
Reczne usuniecie takiego zlosliwego kodu nie jest trywialne. To nie jest znany z wiekszosci windowsowych wirusów samodzielny proces, tylko faktycznie infekowane pliki. A operacja z punktu 5. wykonuje sie z pelnymi uprawnieniami administratora...

Uzytkownik po uruchomieniu programu instalacyjnego zobaczy program instalacyjny. A co poza tym sie stanie wie tylko twórca takiego robaka.

Przykladowo, w czasie MSS 2007 pokazywalem jak taki robak praktycznie anuluje zabezpieczenia BitLocker, w taki sposób, ze uzytkownik przekonany jest caly czas o skutecznej ochronie.

Czy to dziura w systemie lub jego zabezpieczeniach? NIE! Jezeli robak taki dziala w systemie, to swiadczy to wylacznie o dziurze w glowie uzytkownika.
Bo kazdy program instalacyjny zmusi Windows Vista do zapytania czy uzytkownik wie co robi, czy program wzial z zaufanego zródla i czy wie co moze sie stac jezeli nie. Czesto pytan jest kilka nim Windows Vista zechce uruchomic taka aplikacje.

A uzytkownicy?

Ci glupsi klikaja Yes, Allow, I'm sure narzekajac jaka ta Vista jest nieprzyjazna.
Ci "sprytniejsi" - przelaczaja UAC na automatyczne akceptowanie wszystkiego i ciesza sie, ze poskromili system.

A tymczasem Windows Vista naprawde próbuje dac uzytkownikowi szanse.

Dlatego widzac UACowe sciemnienie ekranu, zamiast szybkiego Alt+C moze lepiej przez sekunde zastanowic sie, czy naprawde tak ufam temu programowi, ze chce mu na chwile oddac PELNA wladze nad moim komputerem.

Autor: Grzegorz Tworek

PS. Z wlasnego doswiadczenia wiem, ze napisanie takiego programiku naprawde marnemu programiscie zajmuje kilka godzin. Wiec warto nad tym, o co Windows Vista pyta na ekranie, zaczac myslec juz teraz.