Linux Foundation i stowarzyszone z nią organizacje płacą programistom za pomoc w zabezpieczeniu Linuksa i oprogramowania open-source.
Bezpieczeństwo open source zależy od tego czy będą chętni do pracy
Linux i oprogramowanie open-source są wdzięczniejsze do zabezpieczenia niż oprogramowanie własnościowe. Jak zauważył współzałożyciel open-source Eric S. Raymond zgodnie z prawem Linusa Z wystarczającą ilością oczu wszystkie błędy są łatwe do znalezienia. Jim Zemlin, dyrektor wykonawczy Linux Foundation, nawiązał do tego po fiasku związanym z bezpieczeństwem Heartbleed i Shellshock: W tych przypadkach oczy nie patrzyły.
Aby temu zaradzić, David A. Wheeler, dyrektor Linux Foundation ds. bezpieczeństwa łańcucha dostaw Open Source, ujawnił ostatnio, że fundacja lub powiązane z nią organizacje bezpośrednio finansują i będą nadal finansować ludzi, którzy wykonują pracę związaną z bezpieczeństwem. Oto jak to działa.
Umowa na poprawkę
Fundusze pochodzą z różnych organizacji prolinuksowych i open-source. Należą do nich Google, Microsoft, Open Source Security Foundation (OpenSSF), fundacja LF Public Health oraz sama Linux Foundation. Kiedy zostanie znaleziony jakiś problem, programista zwraca się do odpowiedniej organizacji. Ogólnie rzecz biorąc, zawierana jest umowa, która krótko opisuje, jaki problem należy naprawić i jak zostanie to zrobione, jakie środki są na to potrzebne i kto wykona pracę.
Propozycja jest następnie analizowana przez odpowiedni punkt kontaktowy (point of contact, POC) przeglądu technicznego Linux Foundation. Tym POC jest często sam Wheeler. Po zatwierdzeniu projektu, raporty z postępu prac są sporządzane mniej więcej raz w miesiącu. Muszą one spełniać następujące wymagania:
- Stabilny adres URL publicznie dostępnego postu (np. blog lub zarchiwizowany post z listy dyskusyjnej) opisujący, co zrobiłeś w danym miesiącu.
- Post musi krótko opisywać, co zostało osiągnięte przy użyciu funduszy od czasu ostatniej faktury. Wskazuje się tu daty i hiperłącza do szczegółów. Jeśli dotyczy to commitów git, dołączane są też linki do nich.
- Opis dlaczego praca jest ważna lub link do takiego opisu(ów) dla kogoś kto nie jest z nią dokładnie zaznajomiony.
- Wskazanie finansującego, na przykład This work to
was [partially] funded by the OpenSSF, Google, and The Linux Foundation . - Identyfikator (imię i nazwisko, pseudonim, lub nazwa projektu) osoby wykonującej pracę. Nie trzeba ujawniać publicznie swojego imienia (imion), ale można to zrobić.
Weryfikacja
Jest to zajęcie, które nie powinno zająć więcej niż 20 minut. Może się okazać, że łatwiej jest napisać swój post równolegle z wykonywaniem pracy. Finansowana praca musi być dostępna na odpowiednich licencjach open-source. Na przykład, poprawki błędów w Linuksie muszą być dostępne na licencji Gnu General Public Licenses Version 2 (GPLv2).
POC następnie przejrzy post i jeśli wydaje się on rozsądny, zatwierdzi płatność. Wheeler wyjaśnia:
Rozumiemy, że czasami pojawiają się problemy. Chcemy tylko widzieć wiarygodne wysiłki. Jeśli istnieje poważna przeszkoda, spróbuj zaproponować sposoby jej pokonania lub zapewnienia częściowych czy dodatkowych korzyści. Musimy dać fundatorom pewność, że nie marnujemy ich pieniędzy.
O jakiego rodzaju projektach mówimy?
Popatrzmy na kilka przykładów.
Ariadne Conill, przewodnicząca zespołu ds. bezpieczeństwa Alpine Linux, poprawia bezpieczeństwo tej ważnej, kontenerowej dystrybucji Linuksa. W szczególności Conill poprawiła przetwarzanie podatności i uczyniła je powtarzalnym dzięki czemu wydanie Alpine 3.14 ma najniższą liczbą otwartych luk w finalnym wydaniu od dłuższego czasu.
Jeśli chodzi o Gita to David Huseby pracował nad modyfikacją Gita tak, aby posiadał znacznie bardziej elastyczną infrastrukturę podpisywania kryptograficznego. Ułatwi to weryfikację integralności kodu źródłowego oprogramowania.
Nie tylko programy związane z Linuksem otrzymują pomoc w zakresie bezpieczeństwa. Theo de Raadt, założyciel i lider OpenBSD i OpenSSH, otrzymał fundusze na zabezpieczenie OpenSSH. Jak wiemy OpenSSH jest krytycznie ważnym pakietem bezpiecznych narzędzi sieciowych opartych na protokole Secure Shell. De Raadt otrzymał również fundusze na pomoc w zabezpieczeniu infrastruktury klucza publicznego zasobów (RPKI), która chroni protokoły routingu internetowego przed atakami.
Przyszłość
Oprócz naprawiania znanych problemów, Linux Foundation i pozostałe organizacje szukają również tych problemów bezpieczeństwa, o których jeszcze nie wiemy. W tym celu przeprowadzane są audyty bezpieczeństwa za pośrednictwem Open Source Technology Improvement Fund (OSTIF). Projekty te obejmują dwa audyty bezpieczeństwa jądra Linux. Jeden dotyczy polityki podpisywania i zarządzania kluczami, a drugi raportowania i usuwania luk w zabezpieczeniach. Eksperci merytoryczni wykonują raporty z audytów, podczas gdy Wheeler zapewnia, że raporty te są zrozumiałe dla osób nie będących ekspertami, a jednocześnie są dokładne pod kątem czysto technicznym.
OpenSSF pracuje również nad poprawą ogólnego bezpieczeństwa oprogramowania open-source. Obejmują one darmowe kursy na temat tego, jak tworzyć bezpieczne oprogramowanie oraz projekt odznaki CII Best Practices. Inne projekty poprawiające bezpieczeństwo OSS to m.in. sigstore, który sprawia, że podpisy kryptograficzne stają się dużo łatwiejsze w stosowaniu.
Jesteś pracodawcą albo chciałbyś zostać sponsorem takich prac?
Jeśli chciałbyś pomóc w opłaceniu tego rodzaju zajęć możesz wesprzeć OpenSSF po prostu kontaktując się z organizacją, lub, jeśli wolisz, utworzyć grant bezpośrednio w Linux Foundation. Jeśli masz pytania można napisać bezpośrednio do Wheelera na adres dwheeler@linuxfoundation.org
. W przypadku mniejszych kwot - na przykład na sfinansowanie konkretnego projektu – można także użyć narzędzi crowdfundingowych, aby coś sfinansować lub samemu poprosić o finansowanie.
Masz problem z biznesową stroną finansowania kodowania i audytów bezpieczeństwa? Nie jesteś sam. Jak powiedział Wheeler Wiele osób i organizacji zmaga się z płaceniem indywidualnym twórcom oprogramowania open-source ze względu na konieczność obsługi chociażby kwestii podatkowych. Jeśli to także Twój problem porozmawiaj z nami. Linux Foundation ma doświadczenie i procesy, które to wszystko załatwiają, pozwalając ekspertom skupić się na wykonywaniu pracy.