Ukryte wady w kodzie Open Source mogą doprowadzić do nowego krwawienia serca

Ukryte wady w kodzie Open Source mogą doprowadzić do nowego krwawienia serca

Dostawca testów bezpieczeństwa aplikacji Veracode odkrył, że po wstępnym skanowaniu siedem na dziesięć aplikacji zawiera lukę w zabezpieczeniach biblioteki open source. Nowe badanie firmy pokazuje, jak korzystanie z otwartego oprogramowania może wprowadzić luki, zwiększyć ryzyko i zwiększyć dług z tytułu zabezpieczeń. Aby sporządzić nowy raport State of Software Security (SOSS): Open Source Edition, firma Veracode przeanalizowała biblioteki komponentów open source w swojej bazie danych zawierającej 85,000 351,000 aplikacji, co reprezentuje XNUMX XNUMX unikalnych bibliotek zewnętrznych. Prawie wszystkie nowoczesne aplikacje, a nawet te sprzedawane komercyjnie, są zbudowane przy użyciu pewnych komponentów open source. Jednak pojedyncza awaria w bibliotece spowoduje kaskadę wszystkich aplikacji korzystających z tego kodu. W komunikacie prasowym dyrektor ds. badań Veracode, Chris Eng, wyjaśnił, w jaki sposób korzystanie z bibliotek open source może zwiększyć powierzchnię ataku aplikacji, mówiąc: „Oprogramowanie open source ma zaskakująco różnorodne wady. Powierzchnia ataku aplikacji nie ogranicza się do jej własnego kodu i kodu jawnie dołączonych bibliotek, ponieważ biblioteki te mają własne zależności. W rzeczywistości programiści wprowadzają znacznie więcej kodu, ale znając i stosując prawidłowo poprawki, mogą zmniejszyć narażenie na ryzyko. "

Biblioteki open source

Według Veracode powszechnie dołączane biblioteki są obecne w ponad 75% aplikacji dla każdego języka programowania. Badanie firmy ujawniło również, że wadliwe biblioteki znajdują się pośrednio w kodzie, ponieważ 47% z nich znalezionych w aplikacjach ma charakter przejściowy i nie trafia bezpośrednio do programistów, ale raczej do bibliotek nadrzędnych. Na szczęście jednak wady wprowadzone przez bibliotekę w większości aplikacji można naprawić za pomocą niewielkiej aktualizacji wersji, ponieważ większe aktualizacje bibliotek zazwyczaj nie są wymagane. Jednak programiści nie mogą polegać na typowych lukach i zagrożeniach (CVE), aby zrozumieć wady bibliotek, ponieważ nie wszystkie biblioteki je posiadają. Na przykład ponad 61% wadliwych bibliotek JavaScript nie ma odpowiednich CVE. W raporcie stwierdzono również, że niektóre ekosystemy języków programowania przyciągają znacznie więcej zależności przechodnich niż inne. W ponad 80% aplikacji JavaScript, Ruby i PHP większość bibliotek to zależności przechodnie. Wybór języka programowania odgrywa również rolę zarówno pod względem wielkości ekosystemu, jak i częstości występowania usterek w tych ekosystemach. Na przykład włączenie danej biblioteki PHP ma ponad 50% szans na utworzenie luki w zabezpieczeniach. Wśród dziesięciu najważniejszych wad OWASP najczęstsze są słabości kontroli dostępu, które stanowią ponad 25% wszystkich wad. Cross-Site Scripting (XSS) to najczęstsza kategoria luk w zabezpieczeniach bibliotek open source (30%), a następnie niepewna deserializacja (23.5%) i złamana kontrola dostępu (20%).