
Bezpłatny kurs Pythona ➞ Mini kurs dla początkujących i doświadczonych programistów. 4 ciekawe projekty w portfolio, komunikacja na żywo z prelegentem. Kliknij i dowiedz się, czego możesz się nauczyć na kursie.
Dowiedz się więcej21 kwietnia 2021 roku Greg Kroah-Hartman, kluczowy programista jądra Linuksa, ogłosił zablokowanie wszystkich commitów Uniwersytetu Minnesoty. Decyzja ta była wynikiem gruntownej analizy i kilku incydentów związanych z kodem napisanym przez badaczy uniwersyteckich. W tym kontekście ważne jest zrozumienie, jak doszło do tej sytuacji i jakie może ona mieć implikacje dla społeczności programistów jądra Linuksa. Stanowisko zespołu programistów podkreśla potrzebę utrzymania wysokich standardów jakości i bezpieczeństwa kodu wnoszonego do projektu. Blokada commitów stała się ważnym krokiem w zapewnianiu integralności i niezawodności jądra Linuksa, a także rodzi pytania o interakcję między środowiskiem akademickim a oprogramowaniem open source.
Co się stało
W 2020 roku Kangjie Lu, adiunkt na Wydziale Informatyki i Inżynierii Uniwersytetu Minnesoty, oraz Qiushi Wu, student studiów podyplomowych w American College, przedstawili artykuł badający ukryte wprowadzanie luk w zabezpieczeniach do oprogramowania open source poprzez wykorzystanie fałszywych commitów. Badania te podkreślają znaczenie bezpieczeństwa w projektach open source i koncentrują się na potencjalnych zagrożeniach związanych z manipulacją repozytoriami. Biorąc pod uwagę rosnącą popularność oprogramowania open source, zrozumienie takich zagrożeń staje się kluczowe dla programistów i użytkowników.
Autorzy opisali swoje próby wprowadzenia kilku luk w zabezpieczeniach do jądra Linuksa. Zgłosili kilka commitów, które wydawały się być poprawkami prawdziwych błędów. Liu i Wu stwierdzili, że był to jedynie projekt badawczy mający na celu identyfikację problemów w procesie rozwoju oprogramowania open source. Podkreślili, że nikt z zespołu jądra Linuksa nie był świadomy ich zamiarów.
Badacze zauważają, że luki nie zostały uwzględnione w ostatecznej wersji kodu Linuksa. Wszystkie fałszywe poprawki zostały zidentyfikowane i odrzucone przez społeczność na etapie dyskusji nad zatwierdzeniem. Kroah-Hartman twierdzi jednak, że jedna z poprawek trafiła do repozytoriów, ale nie spowodowała żadnych szkód.
Wyniki naszych badań przedstawiliśmy społeczności przed oficjalną publikacją artykułu i zebraliśmy opinie uczestników. Komentarze te zostały zawarte w naszym artykule.
Liu i Wu: Nota wyjaśniająca
Niniejsza nota wyjaśniająca poświęcona jest koncepcji Liu i Wu, która uwzględnia ważne aspekty interakcji i harmonii w różnych sferach życia. Ta koncepcja podkreśla znaczenie równowagi i zrozumienia, co jest szczególnie istotne we współczesnym świecie.
Koncepcje Liu i Wu reprezentują dwie strony tej samej monety, odzwierciedlając dynamikę relacji międzyludzkich, a także natury i środowiska. Liu symbolizuje łagodność, elastyczność i zdolność adaptacji, podczas gdy Wu uosabia siłę, wytrwałość i odporność. Ich interakcja stwarza warunki do harmonijnego współistnienia i efektywnej współpracy.
Znaczenie zrozumienia tych koncepcji jest widoczne w różnych dziedzinach, takich jak psychologia, socjologia i ekologia. Skuteczne zastosowanie zasad Liu i Wu może przyczynić się do poprawy komunikacji, rozwiązywania konfliktów i budowania trwałych relacji zarówno na poziomie osobistym, jak i społecznym.
Podsumowując, rozważenie koncepcji Liu i Wu nie tylko wzbogaca nasze rozumienie relacji międzyludzkich, ale także otwiera nowe horyzonty dla budowania harmonijnego i zrównoważonego społeczeństwa.
Niniejszy artykuł został napisany w kontekście ważnego wydarzenia w dziedzinie cyberbezpieczeństwa. Na krótko przed jego publikacją hakerzy przeprowadzili jeden z najgłośniejszych ataków ostatnich lat, wymierzony w oprogramowanie Orion firmy SolarWinds. Poprzez wstrzyknięcie złośliwego kodu, atak wpłynął na komputery wielu klientów firmy. Ten incydent jest wyraźnym przykładem ataku na łańcuch dostaw, podkreślając wagę ochrony nie tylko użytkowników końcowych, ale także infrastruktury dostawców.
Badacze z Uniwersytetu Minnesoty mogli chcieć zwrócić uwagę na swoją pracę i przeprowadzić eksperyment na twórcach jądra Linuksa, jednego z najważniejszych projektów open source.
Twórcy jądra Linuksa wolą skupiać się na zadaniach o znaczeniu krytycznym niż uczestniczyć w eksperymentach. Ich głównym celem jest zapewnienie stabilności i bezpieczeństwa systemu, co wymaga znacznego wysiłku i zasobów. Dlatego wszelkie próby wdrażania niestandardowych rozwiązań mogą odciągać uwagę od ważnych prac i negatywnie wpływać na jakość produktu końcowego.
Greg Kroah-Hartman prowadzi osobiste konto na Twitterze, gdzie dzieli się swoimi przemyśleniami i pomysłami. Strona Grega zawiera istotne dyskusje, komentarze analityczne i unikalne spojrzenie na różne wydarzenia. Znaczenie jego konta polega na tym, że daje ono subskrybentom możliwość śledzenia najnowszych wiadomości i trendów, a także uczestniczenia w otwartych dyskusjach. Subskrybując Grega Kroah-Hartmana, zyskujesz dostęp do angażujących treści, które poszerzą Twoje horyzonty i pogłębią zrozumienie bieżących tematów.
Reakcja społeczności Linuksa
Społeczność Linuksa ostro zareagowała na niedawny artykuł, w którym naukowcy przeprowadzili eksperymenty z jądrem Linuksa. Głównym zarzutem jest to, że zespół nie powiadomił społeczności o swoich działaniach, co podważa etykę ich podejścia. W rzeczywistości ich działania można porównać do ataku hakerskiego, ponieważ naruszyli oni ogólnie przyjęte standardy zewnętrznych testów bezpieczeństwa (testy bezpieczeństwa Red Team), które wymagają, aby strona atakowana była świadoma przeprowadzanych testów. Naukowcy z Uniwersytetu Minnesoty zignorowali te zasady i działali na własne ryzyko, wywołując burzę niezadowolenia wśród członków społeczności Linuksa. W rzeczywistości Wu i Liu zaatakowali nie tylko społeczność programistów, ale także fundamentalną filozofię Linuksa. Użytkownicy Linuksa zazwyczaj ufają twórcom jądra, co jest ważnym aspektem ekosystemu systemu operacyjnego. Sytuacja ta rodzi pytania o zaufanie, transparentność i bezpieczeństwo oprogramowania open source, które staje się coraz bardziej istotne w dzisiejszym świecie technologii. Open source, ze swej natury, opiera się na aktywnej społeczności. Programiści są potrzebni do pisania, dokumentowania i używania kodu, a także do przekazywania informacji zwrotnych, co pozwala na ciągłe ulepszanie oprogramowania. Dlatego też, pomyślne funkcjonowanie projektów open source zależy od wysiłków wielu osób, a to wymaga pewnego poziomu zaufania do systemu rozwoju oprogramowania. Gdy to zaufanie zostanie podważone, negatywnie wpływa to na cały ekosystem.
Greg Scott, 20-letni weteran rozwoju oprogramowania open source, podzielił się swoją opinią w komentarzu dla Gamers Grade. Jego doświadczenie zawodowe i dogłębne zrozumienie technologii czynią go cennym dla społeczności programistów i graczy. Scott podkreśla znaczenie oprogramowania open source we współczesnym świecie i jego wpływ na rozwój branży gier.
Jared Floyd z Red Hat był jeszcze bardziej kategoryczny w komentarzach dla Zdnet.
To tak, jakbyś mówił, że prowadzisz badania bezpieczeństwa, podczas gdy w rzeczywistości zmierzasz na parking supermarketu, aby wyłączyć hamulce we wszystkich samochodach. Celem jest sprawdzenie, ile osób ulegnie wypadkowi. Takie podejście jest nie tylko nieetyczne, ale i niebezpieczne, ponieważ ma realne konsekwencje dla ludzi i mienia. Badania bezpieczeństwa powinny opierać się na etycznych i bezpiecznych praktykach, których celem jest zapobieganie incydentom, a nie ich tworzenie.
Twórcy oprogramowania wyrazili również niezadowolenie z czasu i zasobów poświęcanych na testowanie eksperymentalnych poprawek. Jest to frustrujące zarówno dla wolontariuszy, którzy pracują nad projektem Linux w wolnym czasie, jak i dla firm finansujących rozwój oprogramowania open source lub zatrudniających programistów do pracy nad jądrem Linux w pełnym wymiarze godzin. To nieefektywne wykorzystanie czasu może negatywnie wpłynąć na postępy projektu i zmniejszyć motywację współpracowników.
Po opublikowaniu artykułu wielu programistów jądra Linux doszło do wniosku, że poprawki dostarczone przez Uniwersytet Minnesoty wymagają przeglądu. Jednak poprawki te nigdy nie zostały poddane pełnemu przeglądowi. Rodzi to ważne pytania dotyczące jakości i niezawodności zmian w jądrze oraz tego, jak społeczność może skuteczniej radzić sobie z podobnymi sytuacjami w przyszłości.
Ciąg dalszy
6 kwietnia 2021 roku student studiów podyplomowych Aditya Pakki przesłał poprawkę do jądra Linuksa ze swojego uniwersyteckiego adresu e-mail. Na pierwszy rzut oka poprawka wydawała się nieszkodliwa i miała na celu poprawę jakości kodu, co początkowo doprowadziło do jej zatwierdzenia. Jednak 9 kwietnia jeden z członków społeczności, Eric Dumaze, wyraził wątpliwości co do jakości poprawki.
19 kwietnia weteran społeczności Linuksa, Al Viro, skrytykował swoich kolegów za zatwierdzenie poprawki, która jego zdaniem nie wprowadzała rzeczywistych poprawek. Dyskusja zaostrzyła się po ujawnieniu, że commit został przesłany z domeny Uniwersytetu Minnesoty. Podniosło to istotne pytania dotyczące jakości i zasadności zmian w kodzie, które z kolei mogłyby wpłynąć na stabilność i bezpieczeństwo projektu.
Następnego dnia, 20 kwietnia, interweniował Greg Kroah-Hartman. Wysłał Packeyowi list z prośbą o zaprzestanie przesyłania nieskutecznych poprawek. W swojej wiadomości wyraził niezadowolenie, twierdząc, że ich profesor używa niewłaściwych metod, aby opublikować nowy artykuł.
Członkowie społeczności przeanalizowali cztery poprzednie poprawki Packeya i zidentyfikowali luki w zabezpieczeniach w trzech z nich.
Historia mogła się na tym zakończyć, ale Packey niespodziewanie odpowiedział Kroah-Hartmanowi: „Proszę, abyś przestał wysuwać bezpodstawne oskarżenia, które mogłyby zostać uznane za zniesławienie”. Student twierdził, że do opracowania tych poprawek wykorzystano nowy, stworzony przez niego statyczny analizator kodu.
21 kwietnia Kroah-Hartman odrzucił twierdzenie Packiego, zauważając, że poprawki zostały opracowane bez statycznego analizatora kodu i tak naprawdę nie wprowadzają żadnych poprawek.
Twój zespół otwarcie przyznał się do świadomego przesyłania szkodliwych poprawek, aby ocenić reakcję społeczności. Opublikowałeś nawet artykuł dokumentujący te wydarzenia. Teraz ponownie przesyłasz ewidentnie nieprawidłowe poprawki. Jak powinienem zareagować na tę sytuację?
Wątek dyskusji na kernel.org dostarcza ważnych informacji na temat rozwoju jądra Linuksa. Uczestnicy omawiają różnorodne kwestie techniczne, w tym optymalizację wydajności, poprawki błędów i implementacje nowych funkcji. Dyskusje na tym forum stanowią cenne źródło informacji dla programistów, dostarczając wglądu w aktualne trendy rozwojowe i potencjalne zmiany w przyszłych wersjach jądra. Aktywny udział społeczności w tych dyskusjach przyczynia się do poprawy jakości kodu i zwiększenia bezpieczeństwa systemu. W związku z tym korespondencja kernel.org odgrywa kluczową rolę w rozwoju i wsparciu projektu Linux, zapewniając wymianę wiedzy i doświadczeń między programistami.
Tego samego dnia Greg oficjalnie ogłosił, że commity pochodzące z adresu umn.edu zostaną odrzucone przez społeczność. Na poparcie swoich słów odrzucił 190 zgłoszeń od użytkowników związanych z uniwersytetem. Decyzja ta podkreśla wagę jakości kodu i przestrzegania standardów w projekcie, a także potrzebę ścisłej kontroli nad źródłami zmian.
23 kwietnia Linus Torvalds wyraził swoje stanowisko, stwierdzając, że działania badaczy podważyły zaufanie do społeczności, a zatem zawieszenie uniwersytetu było uzasadnione. Tego samego dnia Mike Dolan, starszy wiceprezes Linux Foundation, wysłał do uniwersytetu list z czterema kluczowymi żądaniami. Żądania te mają na celu przywrócenie zaufania i usprawnienie komunikacji między badaczami a społecznością programistów.
Dostarcz informacje niezbędne do identyfikacji wszystkich złośliwych poprawek przesłanych podczas eksperymentu Liu. Umożliwi to dogłębną analizę i ocenę potencjalnych zagrożeń związanych z korzystaniem z tych poprawek. Ważne jest dokładne zbadanie ich wpływu na systemy i bezpieczeństwo danych w celu opracowania skutecznych strategii ochrony.
Wycofanie artykułu oznacza usunięcie go z publicznego dostępu na stronie internetowej lub platformie. Może to być konieczne z różnych powodów, takich jak nieaktualne informacje, konieczność edycji lub zmiana polityki redakcyjnej. Proces wycofania artykułu zazwyczaj obejmuje usunięcie linku do niego i zablokowanie dostępu użytkownikom. Pomaga to zachować trafność treści i poprawić jakość informacji prezentowanych czytelnikom.
Ważne jest, aby zapewnić, że przyszłe eksperymenty prowadzone przez pracowników uniwersytetu będą prowadzone zgodnie z ustalonymi standardami i normami w środowisku naukowym. Pomoże to utrzymać wysokie standardy etyczne i zawodowe w działalności naukowej.
Przed rozpoczęciem eksperymentu należy uzyskać zgodę wszystkich uczestników. Jest to nie tylko zgodne z normami etycznymi, ale także gwarantuje, że uczestnicy rozumieją swoje prawa i obowiązki. Zgoda musi być świadoma, co oznacza, że uczestnicy powinni otrzymać pełne informacje o celach, metodach i potencjalnych zagrożeniach związanych z eksperymentem. Zapewni to przejrzystość i zwiększy zaufanie między badaczami a uczestnikami.
Liu i Wu pomyślnie ukończyli dwa kluczowe kroki: wycofali swój artykuł i ujawnili pełne informacje na temat swoich badań. Wraz z Packym przeprosili społeczność Linuksa, podkreślając swoją odpowiedzialność i zaangażowanie w rzetelność naukową.
Potrzeba udowodnienia tego typu „ataku” jest spóźniona. Niniejszy artykuł wywołał znaczącą dyskusję i uważam, że badacze zasługują na uznanie za swoją pracę.
Christoph Hellwig, znany twórca jądra Linuksa, aktywnie uczestniczy w dyskusjach na platformie kernel.org. Jego wkład w rozwój jądra Linuksa jest istotny dla społeczności programistów i użytkowników systemu operacyjnego. Na kernel.org Hellwig dzieli się swoją wiedzą i doświadczeniem oraz uczestniczy w dyskusjach na temat nowych funkcji i ulepszeń, które wpływają na wydajność i stabilność jądra. Te dyskusje pomagają kształtować przyszłość Linuksa i czynić go bardziej elastycznym w stosunku do współczesnych wymagań użytkowników.

