Dzienniki aktywności oprogramowania - diagnostyka vs. bezpieczeństwo
Opublikowane według Adrian Nowak w Inżynieria programowania · 8 Styczeń 2018
Tags: dziennik, oprogramowania
Tags: dziennik, oprogramowania
Dziś chcieliśmy krótko wspomnieć o jednym z najskuteczniejszych i najpopularniejszych sposobów diagnozowania błędów i problemów zgłaszanych przez użytkowników - dziennikach aktywności oprogramowania (tzw. logach). Rozwiązanie to przyjmuje różne postacie - od tekstowych plików log w prostych aplikacjach, poprzez dedykowane raporty i dzienniki zdarzeń w systemach operacyjnych, aż po czarne skrzynki w samolotach. Pomimo różnic w skali i ważności poszczególnych postaci, zasada jest wszędzie ta sama i bardzo prosta - gromadzić wszystkie ważne informacje, które pozwolą na ustalenie co się działo w danym dniu o danej godzinie.
Oczywiście zanim stworzymy taki mechanizm, trzeba się dokładnie zastanowić nad definicją "wszystkich ważnych informacji". Z jednej strony zbyt dużo informacji trudniej gromadzić i ciężej analizować. Z drugiej jednak strony zbyt mało informacji może uniemożliwić poprawną diagnozę problemów. Należy też pamiętać o bezpieczeństwie - nieumiejętne wykorzystanie tego mechanizmu poprzez gromadzenie wrażliwych informacji bez odpowiednich zabezpieczeń może doprowadzić do zagrożeń prywatności, a nawet umożliwić cyber-włamania.
Przykładem mogą być laptopy znanej firmy HP, na których w preinstalowanym oprogramowaniu działa sterownik firmy Conexant - MicTray (plik C:\Windows\System32\MicTray64.exe lub MicTray.exe). Ktoś kiedyś wprowadził do niego mechanizm diagnostyczny, który niestety jest typowym keyloggerem i zapisuje całą działalność użytkownika na klawiaturze do pliku dostępnego dla wszystkich użytkowników w systemie (C:\Użytkownicy\Publiczny\MicTray.log). Przez "całą działalność" należy rozumieć wszystkie klawisze, które użytkownik wciśnie podczas pracy sterownika, czyli m.in. loginy, hasła, e-maile itp. Plik co prawda jest co jakiś czas nadpisywany (przy każdej nowej sesji), ale to niewielkie pocieszenie dla użytkowników. Dla zainteresowanych - lista podatnych laptopów i systemów operacyjnych znajduje się na stronie: https://www.modzero.ch/advisories/MZ-17-01-Conexant-Keylogger.txt
W naszych produktach z powodzeniem stosujemy mechanizmy logowania informacji dobierając ich rodzaj i sposób zabezpieczenia odpowiednio do potrzeb. Rozwiązanie to niejednokrotnie uprościło diagnozowanie problemów u naszych klientów, oszczędzając czas i pieniądze.