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.

    Comments (4)

    1. nexor says:

      a ja uwazam, ze to chora retoryka. po pierwsze – czy sciagajac aplikacje z http://www.jakisfreeware.com mam mu ufac czy nie? od tego sa skanery w trybie guard, zeby execa w przezroczysty sposob przeskanowac i sprawdzic czy to ma sygnature wirusa/malwareu. prawem naturalnym, na ktore nabieram sie czasem nawet ja [uwazam sie za calkiem swiadomego uzytkownika] jest znieczulica na cos, co wyskaqje nonstop – a tak dziala UAC. oczywiscie zalezy jak kto korzysta z kompa – jesli sie go w zaden sposob nie rokonfiguruje a aplikacje instaluje sie raz na miesiac, to moze nie jest to tak upierdliwe. tylko tym bardziej – skoro sie tak zadko to robi, to po co taka ochrona?

      imho problem zostal rozwiazany najprostrza z mozliwych metod, celem zaspokojenia czesci marketingowej [OSX to ma, my bedziemy mieli oraz – kompatybilnosc wstecz]. idealnie powinno dzialac to tak, jak opisywane jest od lat w podrecznikach MOC i wszystkich innych od bezpieczenstwa w dowolnym systemie:

      – nie dziala sie na koncie root/admin

      – program, ktory wymaga takiego uruchomienia wymaga zmiany kontextu [run as]

      zamiast tworzyc UACa ktory wyagal zmian w kernelu, modelu uprawnien etc wystarczylo zmienic interface tak, zeby lato mozna bylo zapamietac haslo dla poszczegolnych taskow [zeby np. uruchomienie konfiguracji ip robilo sie automatycznie w kontexcie admina bez podawania hasla, bo robie to czesto – to cecha interfejsu wylacznie].

      realnym problemem jest jednak jest fakt jak dupnie pisane sa aplikacje – ktore w kontexcie innym niz administrator po prostu sie nie uruchamiaja albo sieja bledami. tu jednak potworna hipokryzja ze strony emesa – bo z jednej strony mowia o zmianie modelu sterownikow, wprowadza sie certyfikaty [[wkrotce obowiazkowe dla x64], pisze sie o nowym podejsiu do pisaniu kodu, itp itd… mozna by dlugo wymyslac. z drugiej strony nie stac ich bylo na zmuszenie do radykalnych zmian – wlasnie poprzez implemenacje dzialania na koncie ‘zwyklego usera’. latwiej bylo zrobic ekran ‘czy sie zgadzasz’ i potem wciskac smutne kawalki ‘przeciesz nacisnales ze tak, to co teraz narzekasz na viste?’ a skad do cholery biedny user ma wiedziec kiedy sie zgodzic a kiedy nie? od tego sa aplikacje AV/AS a jesli one nie wykryja nic zlego, to user tym bardziej nie domysli sie, czy jest to kod zmodyfikowany – skoro nawet sam system ani inne zabezpieczenia nie pomogly.

      UAC to niedopracowany mechanizm – i nie mowie o stronie techniczej a o koncepcji. z jednej strony ma przed czyms zabezpieczyc, z drugiej wymaga nieziemskiej swiadomosci uzytkownika. z jednej ma przestrzec, z drugiej znieczula poprzez ilosc. nie tedy droga.

    2. user says:

      jestem tym nieuświadomionym użytkownikiem i zgadzam sie w całości z moim przedmówcą, mam zamiar wyłączyć ten UAC, tylko nie wiem jakie będzie miało to dodatkowe konsekwencje w funkcjonowaniu systemu (stabilności itp.)

      cytują "…z drugiej znieczula poprzez ilosc. nie tedy droga."

      Jako użytkownik NIE TĘDY DROGA !!!

    3. kosmo says:

      Taaa, tylko skąd ten bidny użytkownik ma wiedzieć, że plik jest zainfekowany?

    4. nessip says:

      I jeszcze się w grafice komputerowej zatrudnię:)

    Skip to main content