Zamknięcie otwartego zasobu: rozwianie fantazji
Opublikowany: 2022-03-31W związku z ujawnieniem luki w zabezpieczeniach Log4j w grudniu 2021 r. i nową okolicznością, w której programista sabotował posiadane przez siebie biblioteki Javascript – „color.js” i „faker.js”, zakwestionowano stan oprogramowania komputerowego typu open source.
Dzięki głośnemu spotkaniu w White Property na temat otwartego źródła i zarządzeniom rządowym od prezydenta USA Bidena, niektórzy nawet sugerują, że jest to „konkluzja dotycząca otwartych zasobów”. Chociaż może być kuszące, aby sprawdzić główną lukę w zabezpieczeniach jako oznakę otwartej podaży, która w jakiś sposób pozostaje niewystarczająca, prawda jest z tego w znacznym stopniu.
Oprogramowanie open source nie jest ani bardziej ani mniej bezpieczne niż pakiet oprogramowania biznesowego. W rzeczywistości większość profesjonalnego oprogramowania komputerowego prawdopodobnie zawiera lub działa na systemach open source. Otwarta podaż oznacza jedynie, że oprogramowanie jest sformułowane dokładnie w taki sposób, w którym kod podaży jest dostępny dla każdej osoby, która tego chce.
To, co widzieliśmy w odpowiedzi Log4j od zespołu Apache Log4j, jest dokładnie tym, co mamy nadzieję zobaczyć – zespołem, który poważnie traktuje pakiet oprogramowania, który opracowuje, i obecnie reaguje na pragnienia swojej fundacji. Biorąc pod uwagę, że są to wolontariusze, tego rodzaju reakcja wskazuje na przyjemność posiadania, którą często widzimy w społecznościach z otwartymi zasobami.
Incydent taki jak Log4j najprawdopodobniej poprawi ulepszenie open source jako całości – w podobny sposób, w jaki Heartbleed ulepszył metody postępu dwóch grup wzrostu z otwartym i zamkniętym kodem źródłowym. Tak więc, jeśli open source jest tutaj wymienione, aby nadal istnieć, co organizacje powinny robić, przenosząc się do przodu, aby znacznie skuteczniej wykrywać i łagodzić luki?
Adresowanie ochrony oprogramowania komputerowego z poziomu organizacyjnego
Idealnie, strategia identyfikowania i łagodzenia podatności wymaga od nas wcześniejszego nakreślenia pewnych ról. Większość osób ma nadzieję, że ich dostawcy pakietów oprogramowania – to znaczy ludzie, którzy opracowują oprogramowanie komputerowe, na którym polegają – sprawdzą to oprogramowanie. Końcowym wynikiem tych testów byłoby zestawienie wyników podkreślających słabości oprogramowania dostarczanego przez dostawcę. W wielkim świecie każda z tych słabości zostałaby rozwiązana przed wysłaniem i dostarczeniem programu.
Mimo to na autentycznej planecie niektóre ze wszystkich tych słabości zostaną wstępnie ustawione, niektóre zostaną oznaczone jako „brak programu do naprawy”, a niektóre zostaną optymistycznie naprawione w długim okresie uruchamiania. Jaka jest lista słabych punktów i które z nich zostały ustalone, nie jest czymś, co zwykle ujawnia dostawca. Co więcej, nie ma jednego narzędzia, które może wykryć wszystkie słabości, a niektóre wykonują pracę tylko wtedy, gdy masz kod zasobów, chociaż inni ludzie wymagają działającego oprogramowania.
Zauważysz, że nie wspomniano tutaj o słowie „podatność”, ponieważ ma ono konkretne i podstawowe wskazanie. W aplikacji luka w zabezpieczeniach jest jedynie słabością, którą można wykorzystać lub która ma realną możliwość wykorzystania.
Większość, ale nie wszystkie, luki w zabezpieczeniach są ujawniane za pomocą scentralizowanej procedury znanej jako Nationwide Vulnerability Databases lub tylko NVD. Mimo że NVD ma korzenie w Stanach Zjednoczonych i jest pod opieką władz amerykańskich, zawartość NVD jest dostępna dla wszystkich i powielana w wielu międzynarodowych lokalizacjach. Z punktu widzenia zarządzania, sprawdzanie ulepszeń w zawartości NVD jest doskonałym sposobem na zachowanie najlepszych nowych ujawnień luk w zabezpieczeniach.
Problem polega na tym, że NVD aktualizuje się wolniej niż w mediach, więc przy kluczowych lukach, takich jak Log4Shell, HeartBleed i Dirty Cow, pracownicy, którzy znajdą lukę, mogą prawdopodobnie stworzyć markowy tytuł luki, starając się poszerzyć świadomość problemu. Stworzenie planu zarządzania, który monitoruje media chroniące te cyber-zgromadzenia, zdecydowanie nie jest fantastyczną praktyką.
Jeśli relacje w mediach jako wejście do administracji podatności na zagrożenia to kiepski pomysł, a NVD przedstawia wszystkie fakty nieco stopniowo, to jaka jest najskuteczniejsza polityka zarządzania? Będzie to pochodzić z narzędzia bezpieczeństwa znanego jako „Analiza składu oprogramowania” lub SCA. Oprogramowanie SCA wydaje się znajdować zarówno w kodzie źródłowym aplikacji, pliku wykonywalnym lub bibliotekach definiujących aplikację, jak i próbuje dowiedzieć się, które biblioteki open source zostały wykorzystane do zbudowania tego oprogramowania.
Lista tych bibliotek osób jest znana jako SBOM lub zestawienie materiałów oprogramowania komputerowego. Zakładając, że aplikacja SCA wykonuje swoje zadania skutecznie, można stworzyć politykę zarządzania, która mapuje szczegóły NVD do SBOM, dzięki czemu wiadomo, co należy załatać… Z wyjątkiem tego, że należy uwzględnić ukryte fakty NVD.
Niektóre ze znacznie lepszych narzędzi SCA eliminują to wyzwanie, generując powiadomienia, które proaktywnie ostrzegają klientów, gdy istnieje oczekujące na wpis NVD, ale w których szczegóły tego wpisu NVD są uzupełniane przez dostawcę SCA. Niektóre z najnowocześniejszych urządzeń poświęcają również na sprawdzanie lub sprawdzanie, które wersje oprogramowania komputerowego są dotknięte ujawnieniem luki w zabezpieczeniach.

Niemniej jednak, chociaż oprogramowanie SCA może wypełnić lukę między ujawnieniem a identyfikacją, należy zauważyć, że ma podstawowe ograniczenie. Jeśli program SCA nie przeskanował wszystkich Twoich programów, to w najlepszym przypadku może jedynie oznaczyć nowe ujawnione luki w zabezpieczeniach dla podzbioru Twoich programów.
Z punktu widzenia zakresu nadzoru, następnie uruchamia IT w celu ustanowienia całego oprogramowania i funkcji zaopatrzenia, aby upewnić się, że wszystkie aplikacje, takie jak aktualizacje i bezpłatne pobieranie, są wyświetlane pod SBOM i że SBOM jest walidowany w zastosowaniu Oprogramowanie SCA. Ponieważ program jest dostępny zarówno w formacie źródłowym, jak i binarnym, ważne jest, aby zespoły zarządzające podążające tą ścieżką wybrały oprogramowanie SCA, które może skutecznie uruchomić oprogramowanie komputerowe we wszystkich odmianach i formatach. Tego rodzaju plany zarządzania pomogłyby w identyfikacji ujawnionych nowych luk w zabezpieczeniach i ich wpływie na przedsiębiorstwo, ale przeniosłyby różnicę w produktywnym łagodzeniu na unikalną politykę, biorąc pod uwagę, że łagodzenie wymagałoby testowania oprogramowania.
Upewnienie się, że bezpieczeństwo własnej inżynierii to tylko jeden punkt, ale elegancja otwartych zasobów polega na tym, że są one zaprojektowane do współpracy.
Parafrazując Abrahama Lincolna, otwarty zasób to know-how ludzi, jednostek i dla jednostek. Modny ruch open source został zapoczątkowany w oparciu o podstawową zasadę, że jeśli nie podobał ci się sposób działania kodu, możesz go dowolnie modyfikować i rozwiązywać bez względu na to, jakie luki w funkcjonalności ostatecznie postrzegano jako istniejące.
Elementem trudności, z jakimi mamy obecnie do czynienia, jest sentyment, który sprawia, że konsumenci lub użytkownicy końcowi projektów open-source zachowują się tak, jakby wyzwaniem dla otwartych dostaw był sprzedawca aplikacji biznesowych.
Jeśli pojawisz się na liście wyzwań dowolnego dość dobrze znanego przedsięwzięcia dotyczącego otwartych zasobów w serwisie GitHub, zobaczysz żądania funkcji i recenzje dotyczące możliwości rozwiązania wybranych problemów. Takie historie problemów i żale dotyczące serwisowalności zawierają ukryte oczekiwanie, że menedżer ds. produktów jest w stanie zaspokoić żądania tych ludzi i że zostaną one dodane do mapy drogowej, a w pewnym momencie zostaną uruchomione – wszystko bez żadnych kosztów.
W rzeczywistości luki w funkcjonalności, a nawet dostrzeżone błędy, oznaczają szanse nie prosić o bezpłatne usługi ekspertów w zakresie programowania, ale jako alternatywę dla wkładu w długoterminowe osiągnięcia kodu, który jest zasadniczo kluczowy dla osoby składającej skargę.
Oczywiście, niektóre osoby nie będą znały języka programowania używanego w projekcie, ale oczekiwanie, że inne osoby będą traktować priorytetowo skargę od nieznanej strony trzeciej bardziej niż odmiany, które wyjaśniają komplikacje dla energicznych współtwórców, nie wygląda naprawdę. Otwarte zasoby są tak samo ważne, jak wszystko inne, dzięki altruizmowi współtwórców.
Od dłuższego czasu słuchaliśmy głównych współtwórców dobrze znanych miejsc pracy z otwartymi zasobami, specyficznej irytacji związanej z zarobkami uzyskiwanymi przez ogromne przedsiębiorstwa z korzystania z ich pakietu oprogramowania. Chociaż łatwo jest odnieść się do kogoś, kto przykłada swoją władzę do zadania tylko po to, aby trzecia osoba zbierała dochody z tych prób, w rzeczywistości, jeśli ta trzecia bash czerpie zyski z prób pracowników zajmujących się rozwojem otwartych zasobów, powinni przyczyniać się do jej długoterminowego sukcesu.
Jeśli tego nie zrobią, to kierują się niebezpieczeństwem, że nie tylko sporny kod może przekształcić się w metody, na które nie liczyli, ale także, że gdy zostaną zidentyfikowane i rozwiązane problemy związane z ochroną, mogą mieć opóźnienia w stosowaniu poprawek ludzi. W końcu, jeśli mała firma nie poświęca czasu na interakcję z zespołami produkującymi oprogramowanie komputerowe, które zasila ich przedsiębiorstwo, możliwe jest, że nie zna miejsca, z którego pochodzi cały program zasilający ich przedsiębiorstwo i nie może niezawodnie łatać to.
Odkrywanie luk w otwartej podaży nie stanowi problemu, ale wykrywanie defektów programu stanowiących słabość, którą można wykorzystać, jest istotnym tematem. Chociaż pakiety oprogramowania o otwartym kodzie źródłowym i zamkniętych dostawach mają równoważny potencjał problemów ze stabilnością, przy otwartych zasobach każdy może określić wszystkie te problemy. Mając to na uwadze, organizacje muszą uzyskać proaktywne środki – które nie zależą od ochrony mediów – aby obserwować najbardziej aktualne luki w zabezpieczeniach.
Co równie ważne, powinny one pełnić swój wkład w zadania związane z otwartymi dostawami, za które są nagradzane, w przeciwnym razie mogą skłonić poszkodowanego do nieoczekiwanych zmian kodu lub opóźnionej świadomości istotnych łatek.
Tim Mackey jest głównym strategiem ds. ochrony w firmie Synopsys .