Ostatnio sobie skrobię ciekawe rozwiązanie z zakresu bezpieczeństwa. Opiera się ono na analizie poleceń zawartych w danym skrypcie.
Użytkownik ma jedynie kliknąć dwukrotnie w dany plik, co spowoduje wygenerowanie właściwego spisu poleceń(nie zawiera żadnych instrukcji warunkowych, operacji na zmiennych, itd.). Następnie program postara się dopasować do każdej linijki(polecenia w) pliku wyjściowego specjalnie zdefiniowane regułki. Każda regułka ma poziom zagrożenia i opis. Regułki są dopasowywane na podstawie plików, poleceń, jak i binarek. Dane polecenie ma najwyższy z możliwych poziomów zagrożenia z dopasowanych regułek. Nieznane polecenie/plik jest uznawany za najwyższy poziom zagrożenia.
Całość ma być stosowana na różnych forach czy poradnikach. Jeżeli administrator spotkał się ze stosowaniem poleceń nie występujących we spisie, to powinien zgłosić to autorowi programu(czyli mnie). W ten sposób użytkownik będzie wiedzieć, co konkretnie uruchamia.
Program jest we wczesnej fazie rozwoju, a opublikowane przeze mnie rozwiązanie tymczasowo nie działa. Mam już wersję działającą, lecz najpierw muszę poprawić parę błędów. Mimo wszystko zachęcam do studiowania mojego rozwiązania(secshell):
http://slawek.lach.art.pl . Jest w dziale projekty.
Wypowiedzcie się, co o tym myślicie. Sudo ma sporo problemów, które chciałbym rozwiązać. W przyszłości planuję wydzielenie poszczególnych składników do bibliotek, co powinno zwiększyć elastyczność. Możliwe staje się, by np. Firefox w przyszłości korzystał z tego rozwiązania lub PolicyKit, czy nawet sudo.