Moduły samoochrony programów komputerowych


Ostatnio bardzo modne stało się wyposażanie programów w moduły samoochrony. Samoochrona to niewielki moduł – sterownik instalowany wraz z programem do systemu. Zadaniem jego jest ochrona danego programu przed zarówno modyfikacją programu ręczną przez użytkownika jak i programowa np. przez wirusy czy inne złośliwe programy. W taką samoochronę wyposażone są np. najnowsze wersje programu DoctorWEB lub Outpost. Niestety ze względu na fakt, że moduły samoochrony działają niskopoziomowo i głęboko ingerują w system operacyjny może mieć to także skutki ujemne. Firmy pisząc swoje programy najczęściej testują je na czystych systemach operacyjnych. Nasze komputery nie służą jednemu programowi. Posiadamy wiele programów. Problemy mogą się zacząć gdy na jednym komputerze zainstalowanych jest więcej niż jeden program z modułem samoochrony. Wówczas działanie tych sterowników może zachwiać stabilność systemu a nawet wywoływać tzw BOSD czyli popularny blue screen.


Zjawisko to jest podobne do występującego podczas instalacji więcej niż jednego programu antywirusowego. Rezydentne monitory tak niskopoziomowo wpinają się w systemy operacyjne, że instalacja więcej niż jednego na komputerze w prawie 100% zakonczy się załamaniem systemu. Instalacja więcej niż jednego programu z modułem samoochrony nie niesie na szczęście za sobą az takiego zagrożenia. Jednak należy być ostrożnym. Z doświadczenia zauważyłem że nawet wyłączenie modułu samoochrony nie pomaga. Taki moduł przy wyłączeniu nie chroni swojego programu jednak nadal pozostaje zainstalowany w systemie.


Świadomie rozpoczynają ten opis wymieniłem program antywirusowy DoctorWEB oraz firewall Outpost. Używam osobiście obu programów. Program antywirusowy DoctorWEB nie posiada dotychczas w swoim pakiecie ochrony firewall. Wybrałem jeden z moim zdaniem najskuteczniejszych czyli Outpost. Niestety Outpost w najnowszych wersjach 6.5 jest właśnie wyposażony w moduł samoochrony.


Podczas deinstalacji chronionego programu deinstalator wyłącza ochronę, Tak więc deinstalator może usunąć wszystkie pliki. Inaczej, sterowniki w trybie jądra (rootkity także) mogą ominąć ochronę. Nie ma możliwości ochrony plików, rejestru przeciw dostępowi z poziomu kodu trybu jądra.


Artykuł powstał na podstawie obserwacji zachowania programów DoctorWEB Enterprise Suite 5.0 oraz Outpost Firewall Pro 6.5. Podobnej technologii używają programy Kaspersky, Norton, Panda, daemon tools, itd...


Michał A. Egler

Poznań

2009.02.22