Felix Krause programista i twórca fastlane, odkrył ciekawy sposób użycia standardowej funkcji macOS do podglądania ekranu użytkownika. Problem dotyczy wszystkich aplikacji.

CGWindowListCreateImage

Ta niepozorna, choć posiadająca dość długą nazwę funkcja wykonuje i zapamiętuje w postaci obrazka zdjęcie ekranu komputera, nawet gdy program pracuje w tle. Dodatkowo nie jest istotne, czy program działa w piaskownicy (pobrany z Mac App Store), czy jest dystrybuowany w inny sposób.

System nie informuje nas o wykonaniu podglądu ekranu ani nie pyta o zgody przy pierwszym uruchomieniu. CGWindowListCreateImage jest w macOS już od wersji 10.5. O ile nazwanie tej przypadłości, luką jest lekko na wyrost, to system przed bardziej błahymi funkcjami ostrzega i każe włączyć (lub nie) stosowne przywileje. Tak też powinno być przed pierwszym użyciem tej funkcji.

Jak sprawdził Felix Krause, wystarczy, aby do programu dodać funkcję OCR (rozpoznającą tekst z grafiki) i można wyłapywać ważne informacje ukazujące się na ekranie komputera oraz przesyłać je w niebudzący podejrzeń sposób. Nie trzeba długo tłumaczyć jak może to być niebezpieczne. Co prawda większość haseł występuje w postaci kropeczek podczas wpisywania, ale np. klucze autoryzujące już dają się przechwycić. Dodatkowo często hasła przechowujemy gdzieś w zaszyfrowanej formie, ale co jakiś czas podglądamy je sobie w formie jawnej. Zresztą nie tylko hasła są informacjami, które nie powinny z naszych ekranów trafiać w niepowołane ręce.

Sprawdziłem na sobie, to działa

Ponieważ Felix Krause podał gotową metodę, nie mogłem się powstrzymać, aby nie napisać programu, który ją przetestuje. Choć na macOS nie pisałem nic od kilku lat, to program powstał w 7 minut łączenie z szukaniem informacji w dokumentacjach.

Mój Podglądacz nie robi nic poza wspomnianym zdjęciem ekranu i wyświetleniem go w oknie. Zdjęcie jest wykonywane w momencie uruchomienia programu. Aby zrobić następne, trzeba program zamknąć i uruchomić jeszcze raz. Nie miałem czasu na dodanie prawdziwych funkcji szpiegujących, zresztą nie jest to legalne, a nie bardzo mam ochotę narażać się na sankcje i procesy. 

Jeżeli chcecie sprawdzić, czy to rzeczywiście działa (i ufacie w moje zapewnienia), to załączam plik z programem. Aplikacja została stworzona w Xcode 9.3 beta2. Jest podpisana moim kluczem deweloperskim. Powinna zadziałać na macOS 10.11 i nowszych.

Łącze: Podglądacz

Apple już wie

Felix Krause oczywiście zgłosił problem do Apple. Aplikacja, zwłaszcza ta pochodząca z Mac App Store i działająca w piaskownicy powinna uzyskać zgodę na wykonywanie zdjęć ekranu, tak jak to się dzieje w wieloma innymi przywilejami na iOS i macOS.

Więcej na stronie Felixa Krausego

Może Cię zainteresować: