Dlaczego łaty grsecurity nie są zawarte w jądrze wanilii?


22

Jakie są powody, dla których grsecurityłatki (lub funkcje bezpieczeństwa, które przynosi) nie są domyślnie dołączane do jądra. Patrząc na korzyści dla bezpieczeństwa, wydaje się, że jądro wanilii jest dość niepewne.

Jeśli jest to kompromis (niektóre aplikacje, w których chcesz uniknąć środków bezpieczeństwa), wydaje się, że grsecuritymożna włączyć opcję w jądrze wanilii.

Mając tak wiele rzeczy w głównym jądrze wanilii, trudno mi zrozumieć powody, dla których społeczność nie chce uwzględniać grsecurity.


To wydaje się być problemem politycznym. Wygląda na to, że Torvalds uważa, że ​​niektóre z ich łat są śmieciami. Zobacz także Poradnik bezpieczeństwa Qualys - The Clash Stack i więcej luk w zabezpieczeniach CONFIG_VMAP_STACK, refcount_t UAF oraz zignorowaną metodę obejścia / rootkita bezpiecznego rozruchu na liście mailingowej OSS-Security.

Na podstawie wcześniejszych sugestii dotyczących list kryptograficznych jądra, ja i inni zostali umieszczeni w wiadrze etykiet Torvalds „szalone”. Więc nie tylko ludzie z gresecurity stoją w obliczu problemu. Zobacz także : losowe ostrzeżenia kompilatora i napraw wyścig . Wątek jest dyskusją na temat dostarczania dmesg dla sterowników, którzy używają losowo {u} zanim będzie gotowy. (Być może nie wiesz, ale pewna liczba sterowników korzysta z urządzeń, zanim zostaną one poprawnie zaszczepione. Por. Systemd czyta z urandomu przed inicjalizacją )

Odpowiedzi:


23

(Jestem programistą grsecurity.)

Odpowiedź jsbillings oparta jest na wiadomości e-mail omówionej w artykule na LWN .

Ważnym kontekstem jest to, że ani grsecurity, ani programiści PaX nie byli zaangażowani w dyskusję dotyczącą listy mailingowej. Komentarz zespołu PaX do artykułu LWN wyjaśnia to. Nigdy nie przesłaliśmy łatek do włączenia głównego. Jednym prostym powodem jest to, że to my mamy pomysły i wdrożenia, których upstream nie rozwiązałby. Co więcej, musielibyśmy angażować się w męczące kłótnie z listą programistów z grupą programistów, którzy są bardzo przeciwni bezpieczeństwu (patrz moja prezentacja H2HC 2012więcej dyskusji na ten temat). Mamy ograniczony czas i zasoby, dlatego wybieramy spędzanie go w najbardziej efektywny możliwy sposób: tworzenie technologii bezpieczeństwa jutra i udostępnianie jej wszystkim za darmo. Jak wspomina zespół PaX w swoim komentarzu, mamy szczególny pogląd na bezpieczeństwo, a zatem nie wierzymy, że rozdzielenie i upstream poszczególnych funkcji ma wiele zalet.


Podobał mi się link do interesującego artykułu LWN. Dziękuję Ci. Nadal jestem w stanie zamieszania, gdy czytam opinię, że grupa programistów jądra byłaby „bardzo anty-zabezpieczająca”. Nie mam oczywiście żadnego wglądu, ale wydaje mi się to niepokojące :(. Zamieszanie polega na tym, że zakładam, że bezpieczeństwo jest jednym z „najsilniejszych argumentów” dla OpenSource i Linuksa. W tej chwili czuję się dość zagrożony na moim systemie opartym na Ubuntu. Pozostańcie trochę z tyłu, co byłoby „więcej oczu może wyglądać” - bezpieczeństwo systemu operacyjnego, gdybyśmy byli nieświadomi? W każdym razie lubię grsecurity, dziękuję za to
humanityANDpeace

10

Wygląda na to, że programiści grsecurity mieli w przeszłości problemy z przekonaniem Linusa do zaakceptowania zmian w jądrze. Problemami wydają się być:

  1. Przesyłanie olbrzymiej kropli kodu i nie rozbijanie jej na części
  2. Linus uważa, że ​​wiele zmian jest „szalonych”, co prawdopodobnie oznacza, że ​​Linus twierdzi, że nie działa to w jego planach na dalszy rozwój.

To są dość interesujące punkty. Wciąż się uczę - nawet nie zdawałem sobie sprawy z BLOB (to jest kwestia danych binarnych, prawda, coś, co chyba nie jest open source). Cóż, informacja jest dobra. Jeśli podane powody są prawdziwe, to nadal wstyd. Podoba mi się pomysł poprawy bezpieczeństwa związany z zestawem łatek grsecurity.
humanityANDpeace

1
„kropelka” @humanityANDpeace może oznaczać „duży binarny obiekt” (zwykle w sensie bazy danych, ale czasem także gdzie indziej), lub może być slangowany na „dużą porcję czegokolwiek”. W tym przypadku uważam, że jsbillings oznaczało to jako to drugie: duża część kodu źródłowego, który nie jest dalej podzielony. Będąc programistą, wiem dokładnie, jak frustrująca może być praca z nimi, nie mówiąc już o recenzowaniu.
CVn
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.