Jak mogę ufać programom Open Source?

Oct 17 2020

Mam pytanie dotyczące programów Open Source. Skąd mam pewność, że program typu open source jest bezpieczny i nie szpieguje mnie? Na przykład zainstalowałem Firefoksa na Linuksie i skąd mam pewność, że ten program jest bezpieczny! Prawdą jest, że Firefox jest open source, ale kto potrafi czytać milion linii kodu !. Użytkownicy używający oprogramowania open source i ufają im, ponieważ są one open source i wszyscy mogą czytać i sprawdzać kody, ale nikt tego nie robi. Wydaje mi się, że niektóre firmy i programiści nadużywają tego sposobu myślenia użytkowników i mogą zrobić wszystko. Programy o zamkniętym kodzie źródłowym nie mają żadnej pewności i myślę, że dotyczy to również dużych programów Open Source.

Odpowiedzi

7 MadHatter Oct 17 2020 at 03:49

Prawdą jest, że twórca oryginalnej aplikacji może być złośliwy: słynny (i nowatorski, a także bardzo czytelny) artykuł Kena Thompsona „ Reflections on Trusting Trust ” jasno pokazuje, jak głęboko może sięgać ta królicza nora. Całkowite bezpieczeństwo jest bardzo trudne do osiągnięcia, a wolne oprogramowanie nie jest na to idealnym lekarstwem. Ale między absolutnym bezpieczeństwem a brakiem bezpieczeństwa jest całkiem przepaść i nie wszystkie lokalizacje w tej przepaści są równoważne.

Są inne osoby, które mogą być złośliwe, przed którymi wolne oprogramowanie może cię chronić. Komercyjni programiści mogą i często tworzą oprogramowanie, które jest przynajmniej częściowo sprzeczne z interesami ich użytkowników. Nie masz możliwości dowiedzenia się, co robi to oprogramowanie - z pewnością nie jest to tak łatwe, jak badanie kodu źródłowego, mimo wszystko, co jest trudne.

Jest wiele innych osób innych niż deweloper zaangażowanych w pakowanie oprogramowania i łańcuch dystrybucji, które mogą życzyć Ci źle, i tutaj również wolne oprogramowanie może pomóc. Ruch powtarzalnych kompilacji ma na celu umożliwienie osobom niezależnym od dystrybutorów budowanie oprogramowania z udostępnionych źródeł; możesz następnie porównać sumy kontrolne swoich plików binarnych z tymi, które produkują, aby mieć większą pewność, że oprogramowanie, które uruchamiasz, jest rzeczywiście wierną reprezentacją kodu źródłowego, do którego masz prawo.

Więc nie, wolne oprogramowanie nie jest doskonałe. Ale jest to o wiele lepsze niż uruchamianie losowego pliku binarnego, który znajduje się na płycie CD-R z dziwną kamerą internetową, którą właśnie kupiłeś w Internecie.

1 peterh Oct 17 2020 at 02:59

Nie możesz być.

Jedyna różnica polega na tym, że w przypadku oprogramowania typu open source istnieje przynajmniej pewna szansa, że ​​zostanie ujawniony backdoor. W przypadku zamkniętego źródła szansa jest bliska zeru (może jeśli najbardziej uhonorowany producent popełni błąd ).

Zauważ, że poszukiwanie luk bezpieczeństwa w oprogramowaniu to inna umiejętność niż jego tworzenie, dlatego złożoność kodu nie chroni go przed audytem bezpieczeństwa tak mocno, jak byśmy myśleli oczami laika. Istnieje wiele sztuczek, których można użyć, na przykład sprawdzanie zawsze pod kątem różnic w kodzie lub używanie różnych narzędzi programowych do sprawdzania możliwych luk w zabezpieczeniach, a następnie analizowanie ich przez ludzki mózg.

Co mogłoby zadziałać, jeśli używasz kombinacji oprogramowania open source do zepsucia systemu, musisz zepsuć oba z nich. Na przykład, używając aplikacji opensource na maszynie wirtualnej - aby złamać maszynę hosta, zarówno maszyna wirtualna, jak i aplikacja muszą zostać złamane.