Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Futurebeat Darmowe nie oznacza dobre - przykładem programy open-source

19.04.2023 16:47
Toxicator
1
5
Toxicator
115
Pretorianin

A closed source to nie dotyczy? xD
To chyba logiczne że jak instalujesz starą wersję prpgramu to akceptujesz ryzyko źe ktoś znalazł w nim lukę.

19.04.2023 16:50
2
5
odpowiedz
lukaszq
1
Junior

No tak, w closed-source mamy same 0-days bo nikt nie ma dostępu do kodu :D
Teza twórców mocno absurdalna - przeanalizowano otwarto-źródłowe aplikacje bo innych pewnie nie mogli. Albo ktoś źle łączy kropki?

post wyedytowany przez lukaszq 2023-04-19 16:51:35
19.04.2023 19:16
3
3
odpowiedz
1 odpowiedź
Jerry_D
57
Senator

Niestety nie widzę, żeby była możliwość poczytania sobie tego raportu. Te tezy są absurdalne. W dodatku cały tekst jest ubogi w szczegóły.

"oprogramowanie open source wiąże się z ryzykiem"
Dlatego właśnie w społeczności specjalistów od bezpieczeństwa praktycznie od zawsze istnieje konsensus, że najbezpieczniejsze są rozwiązania otwarte. Pozwólcie, że oddam głos ekspertowi:
"Jako specjalista od kryptografii i cyberbezpieczeństwa, nigdy nie rozumiałem, dlaczego ruch oprogramowania otwartoźródłowego jest taką sensacją. W świecie kryptografii od dziesięcioleci uważamy otwarte źródło za konieczne do osiągnięcia wysokiego bezpieczeństwa. Publicznie dostępne bezpieczeństwo jest zawsze lepsze, niż bezpieczeństwo własnościowe. To sprawdza się w algorytmach kryptograficznych, protokołach bezpieczeństwa i związanym z bezpieczeństwem kodem źródłowym. Dla nas otwarte źródło nie jest po prostu modelem biznesowym, tylko mądrą praktyką inżynieryjną." Bruce Schneier, 1999
https://www.schneier.com/crypto-gram/archives/1999/0915.html#OpenSourceandSecurity

I nic się w tej kwestii od tego czasu nie zmieniło.

"większość z nich [programistów] nie jest ekspertami ds. bezpieczeństwa i nie potrafiłoby wykryć ewentualnego zagrożenia."
No patrzcie, to dokładnie tak jak większość programistów pracujących przy programach o zamkniętym kodzie. Po to właśnie Bóg wymyślił audyty bezpieczeństwa i stworzył "bezpieczników" i programy "bug bounty", żeby sprawdzali, co programiści zepsuli. Popularne i związane z bezpieczeństwem otwartoźródłowe programy przechodzą takich audytów (oficjalnych i nieoficjalnych) więcej, niż własnościowe.

"Dotyczy to również popularnego serwera HTTP, który obsługuje obecnie znaczną część wszystkich witryn internetowych. Wykorzystano w nim około 320 projektów open source, które zawierają sporo luk"
Projekty open source często korzystają z innych projektów open source (a których mogą kryć się luki). Tak samo robią projekty własnościowe (chociaż nie mogą użyć każdego kodu OS, bo licencja nie zawsze pozwala). To normalne i ma sens, bo po co wyważać otwarte drzwi i pisać własną implementację np. pakowania i wypakowania zipów, jeśli można użyć istniejącej biblioteki? Oczywiście rozsądek nakazuje wybrać aktywnie rozwijaną, w której ewentualne błędy są łatane i ją sobie odpowiednio aktualizować.

"sprawdziła dziesiątki tysięcy projektów open source, odkrywając w nich masę luk bezpieczeństwa. Z badania wynika, że aż 82 procent programów open source, z których korzysta wielu z nas, ze względu na brak poprawek stwarza ryzyko dla użytkownika."
Jakich projektów? Oprócz Apahe, nic w tym tekście nie jest wymienione z nazwy. Co to konkretnie były za projekty i czego dotyczyły? Ile z nich było popularnych i rzeczywiście powodujących ryzyko? Jakie konkretnie były klasy podatności i jak poważne? Bo jak sobie napiszę otwartoźródlowy program graficzny, w którym zrobię podatność polegającą na tym, że odpowiednio spreparowany plik jpg mi zawiesi program, to żadna luka bezpieczeństwa, bo możliwe szkody są niewielkie (irytacja użytkownika) i (co ważniejsze) nikomu się w ogóle nie będzie chciało wyszukiwać i wykorzystywać podatności w moim programiku, który jest tak popularny, że używam go tylko ja i jeszcze 2 osoby z mojej najbliższej rodziny, bo nie chciały mi robić przykrości i powiedzieć, że program o kant tyłka rozbić.

Co ważniejsze programy otwartoźródlowe są dość dokładnie sprawdzane, zwłaszcza jeśli są związane z bezpieczeństwem (np. ProtonMail/VPN, Signal, KeePass, VeraCrypt) albo po prostu popularne (Notepad++, VLC).

25.04.2023 18:54
3.1
slawomirl
5
Legionista

Dodam, ze wiele aplikacji zamkniętoźródłowych korzysta z otwartych bibliotek, jak Qt.

23.04.2023 14:16
Narmo
4
4
odpowiedz
1 odpowiedź
Narmo
18
Konsul
25.04.2023 18:57
4.1
slawomirl
5
Legionista

Dokładnie. Swego czasu MS płacił za milczenie hakerom, co znaleźli błędy bezpieczeństwa w jego programach. Pewnej grupie zapłacił za pięć lat milczenia. Po pięciu latach opublikowali raport, który pokazywał lukę, sposób użycia, a także stwierdzenie, że nadal istnieje. Do tego czasu, odkrywcy mogli sprzedawać informację o luce na czarnym rynku.

23.04.2023 15:57
5
1
odpowiedz
Ava A. N.N.
4
Legionista

Ta, ciekawe kto sponsorował te "badania" z góry założoną tezą?
Ile "bocznych" wejść w zamkniętych programach ukryli ich twórcy? Tylko oni wiedzą.

25.04.2023 17:10
😱
6
odpowiedz
MarcinDoga
1
Junior

Na prawdę? Dużo małych programów open source nie ma żadnych poważnych luk, sam produkuje takie oprogramowanie a kod w nim jest bezpieczny. I gdzie się podziały te raporty?

25.04.2023 18:52
7
odpowiedz
4 odpowiedzi
slawomirl
5
Legionista

Jakoś Linux i Mozilla pokazują, że większość błędów jest łatana w parę dni. Nie raz czytałem art o nowej, super podatności, na którą dzień wcześniej zainstalowałem poprawkę. Także dziękuję za uświadomienie. Każdy program zawiera błędy. Błąd można odkryć, nie analizując jego źródeł. Za to dostępność źródeł ułatwia jego naprawę. Trudno naprawić błąd, gdy producent programu nam tego zabrania.

25.04.2023 20:16
7.1
Jerry_D
57
Senator

"Jakoś Linux i Mozilla pokazują, że większość błędów jest łatana w parę dni."
Parę lat temu ktoś zrobił ciekawą analizę i wynikało, że wśród przeglądarek Mozilli najdłużej zabierało łatanie luk (najwięcej dni od zgłoszenia do łatki). Nie wiem jak jest obecnie, może się zmieniło na lepsze.

"Nie raz czytałem art o nowej, super podatności, na którą dzień wcześniej zainstalowałem poprawkę."
A to dlatego, że w branży standardem jest tzw. "responsible disclosure", czyli publiczne ujawnianie podatności dopiero, gdy twórcy mają już dostępną łatkę, nie dlatego, że wszystko jest tak błyskawicznie łatane. W praktyce przyjęło się czekać półtora miesiąca, aż twórcy zareagują, a jeśli mają temat gdzieś, wtedy następuje "full disclosure", czyli pełne ujawnienie, niezależnie od tego czy błąd jest załatany, czy nie (termin zazwyczaj jest wydłużany, jeśli twórcy problemem się zajęli, ale potrzebują więcej czasu). To często skuteczna metoda na takich, którzy z różnych powodów podatności naprawić nie chcą.

I ogólnie rzeczywiście w projektach open source odnajduje się więcej błędów, co oczywiście nie oznacza, że są z założenia gorsze, ale po prostu łatwiej odnaleźć błędy, gdy masz dostęp do kodu.

25.04.2023 21:47
Narmo
7.2
1
Narmo
18
Konsul

ale po prostu łatwiej odnaleźć błędy, gdy masz dostęp do kodu.
Ja bym powiedział, że łatwiej jest znaleźć błędy w cudzym kodzie :)
W wypadku programów Open Source może być też więcej chętnych do sprawdzania.

25.04.2023 22:11
7.3
1
Jerry_D
57
Senator

Ja w ogóle miałem na myśli sprawdzanie zewnętrzne i to, że jak masz kod to łatwiej przejrzeć kod, niż dekompilować program, albo masz program jako "czarną skrzynkę" i robisz fuzzing, wprowadzając losowe dane, a potem na podstawie efektów próbujesz się domyślać jak program działa i z czego wynikają ewentualne błędy.

Ale z tym, że łatwiej wytropić błędy w cudzym, to masz rację. I to nie tylko w kodzie, ale nawet w zwykłym tekście własnych błędów człowiek nie widzi.

26.04.2023 15:39
7.4
slawomirl
5
Legionista

A mnie denerwuje, jak ktoś mówi, że w OpenSource panują inne (niższe) standardy pisania kodu. Sam piszę kod, a w korporacjach także robi się code-review, bo sam swoich błędów nie zobaczysz. W dodatku, to twierdzenie, że dokumentacja jest zbędna, jak kod jest dobrze napisany. Przecież w korporacjach także są standardy czytelności, czy nawet korzystają z narzędzi generującej dokumentację z kodu lub/i odwrotnie.

05.08.2023 13:23
8
odpowiedz
slawomirl
5
Legionista

Ostatnio czytałem raport Linux Fundation (której członkiem jest również Microsoft), że statystycznie zamknięty projekt korzysta z około 200 otwartych projektów.

Więc jak się by twórcy tego raportu do tego odnieśli? Skoro zamknięty projekt korzysta z otwartego, to raczej dziedziczy wszystkie błędy.

W raporcie LF były też inne, ważne tezy, ale nie chcę mi się go ponownie czytać.

Futurebeat Darmowe nie oznacza dobre - przykładem programy open-source