Ponad trzy czwarte aplikacji napisanych w językach Java i .NET ma co najmniej jedną lukę z listy OWASP Top 10, listy słabych punktów oprogramowania, które programiści zazwyczaj wykorzystują jako punkt odniesienia dla bezpieczeństwa aplikacji.
Tak twierdzi firma testująca oprogramowanie Veracode, która w analizie prawie 760,000 XNUMX aplikacji stwierdziła, że około jedna na pięć aplikacji korzystających z tych dwóch ekosystemów programistycznych miała co najmniej jedną lukę o wysokim lub krytycznym znaczeniu.
Ogólnie rzecz biorąc, przeciętna aplikacja miała 27% szans na wprowadzenie co najmniej jednej luki w zabezpieczeniach każdego miesiąca, przy czym aplikacje źle napisane i rzadko skanowane były prawdopodobnie bardziej wadliwe, podczas gdy aplikacje z dłuższą historią procesów bezpieczeństwa i pisane przez dobrze wyszkolonych deweloperzy rzadziej wprowadzają nowe luki, wynika z danych.
Analiza podkreśla znaczenie integracji bezpieczeństwa z procesem rozwoju, mówi Tim Jarrett, wiceprezes ds. strategicznego zarządzania produktami w Veracode.
„Dane konsekwentnie pokazują, że jeśli wbudujesz nawyk bezpieczeństwa w swój proces, uzyskasz lepszy wynik, zarówno pod względem naprawy ogólnych błędów, jak i… " on mówi.
Tymczasem firmy programistyczne i zespoły programistyczne nadal walczą z eliminacją defektów i luk w kodzie aplikacji. Podczas gdy programiści i projekty open source są szybsze naprawianie błędów oprogramowania, zgodnie z raportem Veracode „State of Software Security”, opublikowanym 11 stycznia, okres półtrwania średniej luki w zabezpieczeniach nadal jest mierzony w miesiącach, a nie dniach lub tygodniach.
Na przykład w aplikacjach Java i .NET, które stanowiły 71% wszystkich aplikacji przeanalizowanych w ramach badania, połowa błędów nadal występowała w aplikacjach odpowiednio po 243 i 158 dniach.
Rozrost i wiek aplikacji miały znaczący negatywny wpływ na ich bezpieczeństwo. Przeciętna aplikacja zgromadziła około 40% więcej kodu i jest bardziej podatna na luki w zabezpieczeniach. Około 54% dwuletnich aplikacji ma wady, podczas gdy 69% pięcioletnich aplikacji ma wady, analiza znaleziona.
Zaskakujące bezpieczeństwo JavaScript
Co zaskakujące, aplikacje napisane w JavaScript lub używające jednego z frameworków JavaScript wypadają lepiej w skanowaniu pod kątem luk w zabezpieczeniach. Podczas gdy około 80% aplikacji Java i .NET miało luki w zabezpieczeniach, tylko 56% aplikacji JavaScript miało taką lukę. I chociaż około 20% aplikacji Java i .NET miało lukę o wysokim stopniu ważności, mniej niż 10% aplikacji JavaScript miało taką lukę.
Ramy JavaScript są nowsze, mają większe bezpieczeństwo i mają zalety ekosystemu open source, z którego Java korzystała stosunkowo niedawno, mówi Jarret.
„JavaScript jest nowszym językiem, więc aplikacje napisane w nim [są] nowsze, a w poprzednich raportach ustaliliśmy korelację między wiekiem aplikacji a czasem usuwania usterek” — mówi. „Wiele narzędzi JavaScript [jest] dojrzałych i jest to dobrze obsługiwany język”.
Co więcej, gdy luka w zabezpieczeniach aplikacji Java jest problemem pierwszej strony — pozostawiając programiście rozwiązanie problemów — w JavaScript i środowisku Node.js luki w zabezpieczeniach są często problemem strony trzeciej, ponieważ luka wystąpiła w komponencie od których zależy oprogramowanie.
„Sposób, w jaki rozwiązujesz problem z bezpieczeństwem w aplikacji Java, nadal polega głównie na wprowadzaniu zmian w pliku klasy i kompilowaniu go” — mówi. „Gdzie w aplikacji JavaScript jest to bardziej problem z zarządzaniem pakietami. A to jest inna rzecz, której programista może się nauczyć, co może być łatwiejsze”.
Nowe języki programowania marnieją
Dane zawarte w raporcie podkreślają również różnicę między językami programowania, których uczą się programiści, a językami faktycznie używanymi w większości przedsiębiorstw. Najpopularniejsze języki i ekosystemy — Java, .NET i JavaScript — widziane przez Veracode nie są technologią wybieraną przez programistów.
Podczas gdy frameworki oparte na JavaScript i JS — takie jak Node.js, React.js i Angular — dominują na listach technologii preferowanych przez programistów, Java jest jednym z najmniej lubianych języków programowania, a 54% respondentów obawia się tego języka, w porównaniu z 46%, którym się podobało, według Stack Overflow's Ankieta dla deweloperów 2022.
Jednak Java zdominowała udział aplikacji skanowanych przez klientów Veracode (44%) w porównaniu z 14% w przypadku JavaScript.
Ponadto najbardziej lubiany język programowania, Rust, nie pojawia się nawet w danych Veracode, podczas gdy programista nr 6, Python, odpowiada za mniej niż 4% przeskanowanych aplikacji.
Częściowym powodem rozłączenia jest to, że znane aplikacje są pisane w uznanych językach programowania, mówi Jarrett z Veracode.
„Masz pełny wszechświat całego kodu, który tam jest, a potem masz rodzaj piany na grzbiecie fali nowego rozwoju, i tam widzisz ludzi zbierających Go, Rust i Dart i Flutter” – mówi.
Ze względu na zagregowane bazy kodów aplikacji napisanych w tych językach sytuacja ta raczej się nie zmieni.
„Stare aplikacje niestety nigdy nie umierają, więc w przedsiębiorstwach z dużymi bazami kodów Java i .NET istnieje duża masa krytyczna” — mówi.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://www.darkreading.com/threat-intelligence/java-net-developers-frequent-vulnerabilities
- 000
- 10
- 11
- a
- O nas
- Stosownie
- Konta
- Zgromadzone
- faktycznie
- dodatek
- Po
- Wszystkie kategorie
- analiza
- i
- Angular
- Zastosowanie
- bezpieczeństwo aplikacji
- aplikacje
- mobilne i webowe
- samochód
- średni
- Baseline
- bo
- jest
- Korzyści
- Ulepsz Swój
- pomiędzy
- Duży
- Nadąć
- budować
- szansa
- zmiana
- wybór
- klasa
- klientów
- kod
- przyjście
- Firmy
- w porównaniu
- składnik
- kontynuować
- ciągły
- Korelacja
- krytyczny
- dane
- Dni
- zależy
- Deweloper
- deweloperzy
- oprogramowania
- ZROBIŁ
- Umierać
- różnica
- różne
- dominować
- łatwiej
- Ekosystem
- Ekosystemy
- wyeliminować
- przedsiębiorstwa
- ustanowiony
- Eter (ETH)
- Parzyste
- przykład
- filet
- Firma
- Fix
- wada
- wadliwe
- Skazy
- FLUTTER
- Pianka
- znaleziono
- Framework
- Ramy
- częsty
- od
- pełny
- Go
- Pół
- pasemka
- historia
- HTTPS
- Rezultat
- znaczenie
- in
- Integracja
- przedstawiać
- wprowadzono
- problem
- problemy
- IT
- Styczeń
- Java
- JAVASCRIPT
- Uprzejmy
- język
- Języki
- w dużej mierze
- UCZYĆ SIĘ
- nauka
- pozostawiając
- Prawdopodobnie
- Lista
- wykazy
- dłużej
- Partia
- "kochanym"
- Większość
- robić
- WYKONUJE
- i konserwacjami
- Masa
- dojrzały
- Maksymalna szerokość
- Miesiąc
- miesięcy
- jeszcze
- większość
- prawie
- ujemny
- netto
- Nowości
- węzeł
- node.js
- miejsce
- Stary
- ONE
- koncepcja
- open source
- projekty open source
- ogólny
- pakiet
- Ludzie
- rurociąg
- plato
- Analiza danych Platona
- PlatoDane
- prezydent
- poprzedni
- Problem
- wygląda tak
- procesów
- Produkt
- zarządzanie produktem
- Programowanie
- języki programowania
- projektowanie
- opublikowany
- Python
- React
- powód
- niedawno
- stosunkowo
- raport
- Raporty
- Rdza
- bezpieczeństwo
- Share
- pokazać
- Targi
- znaczący
- sytuacja
- powolny
- So
- Tworzenie
- bezpieczeństwo oprogramowania
- Źródło
- stos
- Stan
- Nadal
- Strategiczny
- Walka
- Badanie
- taki
- Utrzymany
- zaskakujący
- Zespoły
- Technologia
- REGULAMIN
- Połączenia
- ich
- rzecz
- innych firm
- Tim
- czas
- do
- Top
- Top 10
- Kwota produktów:
- zazwyczaj
- Wszechświat
- posługiwać się
- Wiceprezes
- Luki w zabezpieczeniach
- wrażliwość
- fala
- tygodni
- który
- Podczas
- KIM
- będzie
- napisany
- Twój
- zefirnet