Przed czym broni UAC

Przed czym broni UAC

  • Comments 4
  • Likes

Wyobraź sobie program wykonujący następujące działania:

  1. Przeszukuje dysk w poszukiwaniu plików *.exe
  2. Każdy znaleziony plik sprawdza czy nie jest programem instalacyjnym. Sprawdzenie takie może robić tak samo jak robi to Windows Vista. Sprawdza czy nazwa nie sugeruje programu instalacyjnego (install, setup, update itp.), sprawdza manifest, sprawdza resource strings
  3. Jeżeli znaleziona aplikacja jest programem instalacyjnym, modyfikuje ją w następujący sposób:
    1. Kopiuje swój własny kod i sam zmienia w nim wszystko na takie jak ma znaleziona instalka. Ikonkę, nazwę, manifest, resource strings.
    2. Dokleja do utworzonego pliku exe znalezioną instalkę.
    3. Zastępuje oryginalną istalkę nową zainfekowaną jej wersją.
  4. Jeżeli po uruchomieniu wykryje, że ma do siebie doklejoną jakąś aplikację - kopiuje ją do %temp% i uruchamia.
  5. Wykonuje inne operacje zaplanowane przez programistę. 

Dla przyzwoitości taki programik może użyć "mutex" do sprawdzenia czy jakiś jego bliźniak już nie pracuje i oznaczać zmodyfikowane instalki, żeby ich nie modyfikować więcej niż raz.

Efekt? Program taki jest wirusem o złożoności i wyrafinowaniu na poziomie pierwszych klas podstawówki.

I wszystko byłoby super, gdyby nie jedno "ale". W Windows Vista działa UAC. A UAC sprawia, że programy instalacyjne żądają podniesienia uprawnień.

W efekcie, robak taki dość sprawnie przemieszcza się po systemie, a jeżeli użytkownik lubi dzielić się swoimi instalkami - przemieszcza się również między znajomymi.
Ręczne usunięcie takiego złośliwego kodu nie jest trywialne. To nie jest znany z większości windowsowych wirusów samodzielny proces, tylko faktycznie infekowane pliki. A operacja z punktu 5. wykonuje się z pełnymi uprawnieniami administratora...

Użytkownik po uruchomieniu programu instalacyjnego zobaczy program instalacyjny. A co poza tym się stanie wie tylko twórca takiego robaka.

Przykładowo, w czasie MSS 2007 pokazywałem jak taki robak praktycznie anuluje zabezpieczenia BitLocker, w taki sposób, że użytkownik przekonany jest cały czas o skutecznej ochronie.

Czy to dziura w systemie lub jego zabezpieczeniach? NIE! Jeżeli robak taki działa w systemie, to świadczy to wyłącznie o dziurze w głowie użytkownika.
Bo każdy program instalacyjny zmusi Windows Vista do zapytania czy użytkownik wie co robi, czy program wziął z zaufanego źródła i czy wie co może się stać jeżeli nie. Często pytań jest kilka nim Windows Vista zechce uruchomić taką aplikację.

A użytkownicy?

Ci głupsi klikają Yes, Allow, I'm sure narzekając jaka ta Vista jest nieprzyjazna.
Ci "sprytniejsi" - przełączają UAC na automatyczne akceptowanie wszystkiego i cieszą się, że poskromili system.

A tymczasem Windows Vista naprawdę próbuje dać użytkownikowi szansę.

Dlatego widząc UACowe ściemnienie ekranu, zamiast szybkiego Alt+C może lepiej przez sekundę zastanowić się, czy naprawdę tak ufam temu programowi, że chcę mu na chwilę oddać PEŁNĄ władzę nad moim komputerem.

Autor: Grzegorz Tworek

PS. Z własnego doświadczenia wiem, że napisanie takiego programiku naprawdę marnemu programiście zajmuje kilka godzin. Więc warto nad tym, o co Windows Vista pyta na ekranie, zacząć myśleć już teraz.

Comments
  • a ja uwazam, ze to chora retoryka. po pierwsze - czy sciagajac aplikacje z 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.

  • 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 !!!

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

  • I jeszcze się w grafice komputerowej zatrudnię:)

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment