sudo-rs projekt implementacji sudo i su w Rust

sudo

Implementacja sudo i su w Rust ma na celu poprawę bezpieczeństwa w tych narzędziach.

Niedawno pojawiła się wiadomość, że ISRG (Internet Security Research Group), która jest założycielem projektu Let's Encrypt i promuje HTTPS oraz rozwój technologii zwiększających bezpieczeństwo w Internecie, przedstawił projekt sudo-rs.

sudo-rs jest pozycjonowany jako projekt do tworzenia implementacji narzędzi sudo i su, napisany w języku programowania Rdza i to pozwala na wykonywanie poleceń w imieniu innych użytkowników.

Teraz, prace skupiają się na wykonaniu funkcje w sudo-rs, które pozwalają na jego użycie jako przezroczysty zamiennik sudo w typowych przypadkach użycia (domyślne ustawienia sudoers w Ubuntu, Fedorze i Debianie).

Sudo zostało po raz pierwszy opracowane w latach 1980. Przez dziesięciolecia stało się niezbędnym narzędziem do wprowadzania zmian i minimalizowania ryzyka dla systemu operacyjnego. Ale ponieważ jest napisany w C, Sudo doświadczyło wielu luk związanych z problemami bezpieczeństwa pamięci.

W przyszłości planowane jest stworzenie biblioteki umożliwiającej osadzenie funkcjonalności sudo w innych programach. i zapewnić alternatywną metodę konfiguracji, która pozwala uniknąć analizowania składni pliku konfiguracyjnego sudoers. W zależności od zaimplementowanej funkcjonalności sudo przygotowany zostanie również wariant narzędzia su. Dodatkowo w planach jest wsparcie dla SELinux, AppArmor, LDAP, narzędzia do audytu, możliwość uwierzytelniania bez użycia PAM oraz implementacja wszystkich opcji linii poleceń sudo.

Według Microsoft i Google około 70% luk w zabezpieczeniach jest spowodowanych przez niezabezpieczone zarządzanie pamięcią.. Oczekuje się, że używanie języka Rust do budowania su i sudo zmniejszy ryzyko luk w zabezpieczeniach spowodowane niepewną obsługą pamięci i eliminują występowanie błędów takich jak dostęp do obszaru pamięci po jego zwolnieniu i przepełnienie bufora.

Sudo-rs jest rozwijany przez inżynierów z Ferrous Systems i Tweede Golf przy wsparciu finansowym firm takich jak Google, Cisco, Amazon Web Services.

Kiedy myślimy o tym, w jakie oprogramowanie chcemy zainwestować, myślimy głównie o czterech kryteriach ryzyka:

Szeroko stosowany (prawie wszystkie serwery i/lub klienci)
na granicy krytycznej
Odgrywanie krytycznej roli
Napisane w językach, które nie są bezpieczne dla pamięci (np. C, C++, asm)
Sudo idealnie pasuje do tego kryterium ryzyka. Ważne jest, abyśmy chronili nasze najbardziej krytyczne oprogramowanie, zwłaszcza przed lukami w zabezpieczeniach pamięci. Trudno sobie wyobrazić oprogramowanie, które jest znacznie bardziej krytyczne niż sudo i su.

Bezpieczna obsługa pamięci w Rust jest zapewniona w czasie kompilacji poprzez sprawdzanie referencji, śledzenie własności obiektu i czasu życia obiektu (zakres), a także ocenę dostępu do pamięci pod kątem poprawności podczas wykonywania kodu. Rust zapewnia również ochronę przed przepełnieniem liczby całkowitej, wymaga obowiązkowej inicjalizacji wartości zmiennych przed użyciem, lepiej radzi sobie z błędami w standardowej bibliotece, domyślnie wymusza koncepcję niezmiennych zmiennych i referencji, oferuje silne statyczne typowanie w celu zminimalizowania błędów logicznych.

Warto wspomnieć, że sudo-rs jest już w fazie aktywnego rozwoju. i nie nadaje się do żadnego środowiska produkcyjnego. Używanie sudo-rs jest zalecane tylko do celów programistycznych i testowych, więc wspomina się, że wdrożenie sudo-rs do produkcji i rozwoju prawie na pewno sprawi, że każdy system będzie łatwy do złamania i niebezpieczny.

sudo-rs jest na licencji Apache 2.0 i MIT, i jak wspomniano, została już wydana wersja zapoznawcza sudo-rs, która nie jest jeszcze gotowa do ogólnego użytku. Projekt, którego realizacja rozpoczęła się w grudniu 2022 roku, ma zakończyć się we wrześniu 2023 roku.

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.