Apel Białego Domu o bezpieczeństwo pamięci niesie ze sobą wyzwania, zmiany i koszty

Apel Białego Domu o bezpieczeństwo pamięci niesie ze sobą wyzwania, zmiany i koszty

Apel Białego Domu o bezpieczeństwo pamięci niesie ze sobą wyzwania, zmiany i koszty PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

KOMENTARZ

Niedawna publikacja „Wracając do klocków konstrukcyjnych: Ścieżka w kierunku bezpiecznego i mierzalnego oprogramowania” autorstwa Biura Krajowego Dyrektora ds. Cyberbezpieczeństwa (ONCD) w Białym Domu zawiera dodatkowe szczegóły i kierunki strategiczne wspierające Narodowa Strategia Cyberbezpieczeństwa opublikowana w marcu 2023 r. Strategia zakłada przeniesienie znacznie większej części odpowiedzialności za cyberbezpieczeństwo na dostawców oprogramowania, usługodawców i inne podmioty tworzące aplikacje. Najnowszy raport wyznacza bardziej konkretny kierunek, kładąc nacisk na agresywną zmianę języki programowania bezpieczne dla pamięci z praktykami tworzenia oprogramowania.

Imperatyw bezpieczeństwa pamięci

Tradycyjne języki programowania są często słabym ogniwem w rozwoju oprogramowania, a luki w zabezpieczeniach pamięci prowadzą do poważnych incydentów. Pomimo kompleksowych przeglądów kodu i innych środków bezpieczeństwa, luki te nadal występują i odpowiadają za aż 70% problemów związanych z bezpieczeństwem w tych językach. Przejście na języki programowania bezpieczne dla pamięci, zgodnie z planem działania Agencji ds. Bezpieczeństwa Cyberbezpieczeństwa i Infrastruktury (CISA), to kluczowy krok w kierunku tworzenia oprogramowania, które jest bezpieczne z założenia.

Jednym z najbardziej zniechęcających wyzwań w tej strategicznej zmianie jest zajęcie się starszymi systemami opracowanymi w językach C i C++. Te starsze systemy są nie tylko liczne, ale często mają kluczowe znaczenie dla działalności wielu organizacji. Przepisanie tych systemów na nowoczesne, bezpieczne dla pamięci języki może być kosztowne i złożone, powodując przestoje w krytycznych procesach biznesowych.

Co więcej, luki w zabezpieczeniach pamięci są obserwowane przede wszystkim na poziomie systemu operacyjnego i dotykają znaczących platform, takich jak Microsoft i Linux. Ta kategoryzacja problemów na poziomie środowiska wykonawczego, a nie na poziomie aplikacji, podkreśla szersze wyzwanie związane z cyberbezpieczeństwem: dążenie do zaawansowanych środków bezpieczeństwa musi być wyważone z praktycznością i kosztami wdrożenia tych zmian, szczególnie w przypadku ustalonych systemów.

Względy ekonomiczne i techniczne

Wiele organizacji ponosi ogromne koszty związane z modernizacją starszych systemów. Zmiana protokołów kodowania to nie tylko decyzja techniczna, ale także strategiczna, mająca na celu zapewnienie bezpieczeństwa infrastruktury cyfrowej przyszłości. W rezultacie decydenci rozważający moment przeprowadzenia przejścia muszą ocenić bezpośrednie skutki finansowe i operacyjne w porównaniu z długoterminowymi korzyściami.

Na szczęście opracowano już innowacje technologiczne, które mogą obniżyć koszty i zakłócenia związane z przejściem na bezpieczniejszy kod. Na przykład narzędzia do analizy kodu mogą analizować starsze aplikacje i półautonomicznie identyfikować przypadki, w których kod C lub Python działa bez odpowiedniej izolacji. A dzięki niedawnym postępom w technologii kompilatorów nawet najgorsze niebezpieczne praktyki kodowania mogą być chronione, jeśli zostaną napisane w starszym języku. Zmiany te powinny znacznie zmniejszyć bariery w przyjmowaniu praktyk bezpiecznego kodowania w organizacjach dowolnej wielkości.

Wspólny wysiłek na rzecz bezpiecznej przyszłości

Decydenci i dostawcy muszą ściśle współpracować, aby zrównoważyć poprawę bezpieczeństwa z utrzymaniem podstawowych usług oprogramowania. Stosowanie języków programowania zapewniających bezpieczną pamięć, zgodnie z zaleceniami ONCD, jest kluczowym krokiem na tej drodze i stanowi integralną część poprawy naszego zbiorowego bezpieczeństwa cybernetycznego. 

Kilku liderów branży poczyniło już znaczne inwestycje w języki bezpieczne dla pamięci. Przykłady obejmują: 

  • Język programowania Rust Mozilli: Kładąc nacisk na bezpieczeństwo pamięci, Rust oferuje solidną alternatywę dla tradycyjnych języków programowania, która łączy bezpieczeństwo i wydajność.

  • Inwestycja Microsoftu w Rust: Zdając sobie sprawę, że starsze języki mają ograniczenia, Microsoft przyjął Rusta i użył go w kilku nowych projektach, w których problemem było bezpieczeństwo pamięci.

  • Działania Google na rzecz bezpieczeństwa pamięci: Firma Google zainwestowała znaczne zasoby w wyszukiwanie i eliminowanie luk w zabezpieczeniach pamięci i wzywa do stosowania języków bezpiecznych dla pamięci w nowych rozwiązaniach. W zeszłym tygodniu firma Google opublikowała nowy raport badawczy zatytułowany „Bezpieczeństwo od samego początku: spojrzenie Google na bezpieczeństwo pamięci”, w którym opowiada się za strategią bezpiecznego projektowania. Raport koncentruje się na przyjęciu języków z solidnymi funkcjami bezpieczeństwa pamięci i uznaje ograniczenia ewolucji C++ w celu spełnienia tych standardów.

Idąc dalej: praktyczne kroki w celu spełnienia zaleceń ONCD

Ścieżka opisana w najnowszym raporcie ONCD jest wymagająca, ale bogata w możliwości. Wymaga praktycznych działań ze strony wszystkich podmiotów zajmujących się tworzeniem oprogramowania i ekosystemami cyberbezpieczeństwa, w tym:

  • Edukacja i trening: Organizacje muszą zobowiązać się do nauczania swoich zespołów na temat języków bezpiecznych dla pamięci i bezpiecznych praktyk programistycznych, zapewniając programistom możliwość wprowadzenia niezbędnych zmian.

  • Plany stopniowego przejścia: Organizacje powinny stworzyć plany przejścia starszych systemów na języki bezpieczne dla pamięci i łatwe w zarządzaniu. Powinni w pierwszej kolejności zająć się najbardziej krytycznymi obszarami i stopniowo wprowadzać projekt w etapy, aby zminimalizować zakłócenia operacyjne.

  • Wykorzystanie narzędzi automatyzacji: Organizacje powinny korzystać z nowoczesnych narzędzi i kompilatorów do analizy kodu, które automatycznie wyszukują i korygują niebezpieczne praktyki w kodzie, jednocześnie zmniejszając obciążenie procesów ręcznych.

  • Polityka i zarządzanie: Organizacje muszą opracować jawne konstrukcje zarządzania, które zapamiętują zasady bezpieczeństwa pamięci i bezpieczne praktyki programistyczne w całym cyklu życia oprogramowania.

  • Społeczność i współpraca: Co ważne, organizacje powinny docierać poza swoje mury i do szerszej społeczności technologicznej za pośrednictwem forów, partnerstw i projektów open source, aby dzielić się wiedzą, wyzwaniami i rozwiązaniami dotyczącymi bezpieczeństwa pamięci, które towarzyszą tej podróży.

Poprawa bezpieczeństwo w aplikacjach które napędzają gospodarkę cyfrową, jest wzniosłym i złożonym, ale koniecznym przedsięwzięciem wymagającym ciągłej współpracy między sektorem publicznym i prywatnym. Najnowszy raport ONCD to solidny kolejny krok w formułowaniu strategii; jednak potrzeba więcej woli, aby zrealizować tę wizję. Przejście na języki kodowania oszczędzające pamięć dla nowych aplikacji i aktualizacja starszego kodu to ogromne wyzwania. Jednak dzięki najnowszym postępom w technologiach analizy oprogramowania i kompilatorów oraz zobowiązaniom wykazanym przez wielu światowych liderów technologii następuje postęp.

Znak czasu:

Więcej z Mroczne czytanie