Jak zapobiec wąchaniu przez programy naciśnięć klawiszy na su / gksu?

10

Przeczytałem tutaj , że każda aplikacja korzystająca z serwera X może wąchać naciśnięcia klawiszy w dowolnej aplikacji korzystającej również z serwera X, w tym su(na terminalu) lub gksu. Słyszałem o kilku sposobach zabezpieczenia serwera X, takich jak Xephyr , ale nie jestem pewien, którego użyć. Chcę tylko, aby żadna aplikacja, na przykład, nie mogła xinputłatwo wąchać naciśnięć klawiszy podczas wpisywania hasła w terminalu lub gksu. Obecnie używam sid Debiana.

Magnus
źródło
Nie pisz biegnie
Ignacio Vazquez-Abrams
1
dowolna aplikacja = dowolna aplikacja z dostępem do serwera X11 , pierwsze wskazówki znajdują się w dokumentacji bezpieczeństwa X.Org . Zauważ też, że istnieje XACEcała historia wydaje się nieco bardziej skomplikowana, z zaufanymi / niezaufanymi klientami X11. Nie mam pojęcia, ile z tego zostało użyte w ostatnich konfiguracjach Xorga.
sr_
1
Zainstalowałem Xephyr. Jest to bardzo uciążliwe i wymaga złożonej magii bash, ale xinput działający na zagnieżdżonym serwerze X nie mógł wykryć naciśnięć klawiszy poza Xephyr (jednak xinput działający poza Xephyr nadal może wykryć wszystkie naciśnięcia klawiszy). Próbowałem użyć piaskownicy SELinux, ale nie mogłem go uruchomić. Nadal pozostawię to pytanie otwarte, na wypadek gdyby ktoś miał lepszy pomysł.
Magnus
Jest to ostatni lwn.netartykuł na temat bezpieczeństwa stosu graficznego GNU / Linux, który dość dokładnie omawia podejście deweloperów X do tego problemu.
sr_

Odpowiedzi:

1

Zauważ, że Xephyr / Xnest / vnc-server sprawi, że aplikacja będzie rozmawiać z innym serwerem X, ale nie zabroni mu komunikować się z innym serwerem X, na którym działa gksu.

Najlepiej jest uruchomić go na innym serwerze X i jako inny użytkownik (lub użyć LSM, aby uniemożliwić aplikacji połączenie z serwerem X lub odczytanie pliku .Xauthority). Aby pójść o krok dalej, możesz sprawić, by działał w więzieniu chroot, a aby pójść o krok dalej, możesz uruchomić go w kontenerze, i zrobić jeszcze jeden krok, dalej, uruchomić w pełni kontrolowany maszyna wirtualna (na przykład z kvm -snapshot).

Jeśli nie ufasz aplikacji, prawdopodobnie będziesz musiał przejść całą drogę.

Stéphane Chazelas
źródło
-1

Wierzę, ale nie wiem, jak to udowodnić, że żadna aplikacja X11, która uniemożliwia pisanie w dowolnym innym miejscu (np. Monit o hasło), nie może być wąchana.

Spróbuj: uruchom gksu, a gdy pojawi się monit o hasło, spróbuj wyregulować głośność za pomocą klawiszy (jeśli Twój komputer je posiada) lub naciśnij inne klawisze skrótu (super, moc itp.) I sprawdź, czy coś robią. Jeśli nie, myślę, że jesteś bezpieczny.

Myślę, że ctrl-alt-f1 itp. Zawsze działają.

ams
źródło
2
W rzeczywistości xinput może śledzić naciśnięcia klawiszy nawet w gksu. Próbowałem tego i chociaż nie wyświetlało to naciśnięć klawiszy podczas wprowadzania hasła, po zniknięciu okna dialogowego gksu pojawiły się naciśnięcia klawiszy.
Magnus
@Magnus: To rozczarowujące. :(
ams