Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


12.05.2022

Odszyfrowanie historii

Z inicjatywy prezesa IPN, dr. Karola Nawrockiego, powstało Biuro Nowych Technologii. Jego...
01.04.2022

Program partnerski

NGAGEFirma NFON, ogólnoeuropejski dostawca komunikacji głosowej w chmurze, ogłosił...
01.04.2022

SI w TFI PZU

Na platformie do inwestowania inPZU działa już nowa metoda identyfikacji tożsamości...
01.04.2022

Kooperacja w chmurze

To oparta na stworzonej przez NetApp technologii ONTAP i w pełni zarządzana przez...
01.04.2022

Nowe laptopy od Dynabook

Dynabook wprowadza do swojej oferty dwa laptopy z procesorami Intel Core 12. generacji,...
01.04.2022

Ryzen do stacji roboczych

AMD przedstawił nową gamę procesorów Ryzen Threadripper PRO 5000 serii WX.
31.03.2022

Serwery dla MŚP

Firma Lenovo wprowadziła nowe rozwiązania w zakresie infrastruktury IT Future Ready,...
31.03.2022

Innowacyjny kontroler SSD

Microchip zaprezentował nowe kontrolery SSD, które umożliwią obsługę napędów o pojemności...
31.03.2022

Wydajny jak Brother

Brother dodał do swojej oferty trzy nowe, atramentowe urządzenia wielofunkcyjne, które...

Zabezpieczanie wewnętrznego oprogramowania

Data publikacji: 03-02-2022 Autor: Grzegorz Kubera

Organizacje powinny lepiej chronić wewnętrzne aplikacje, aplikacje online oraz interfejsy API, które łączą aplikacje wewnętrzne ze światem zewnętrznym. Podpowiadamy, co warto zrobić, aby zwiększyć bezpieczeństwo.

 

Łączność internetowa to dziś siła napędowa biznesu, zwłaszcza w trakcie pandemii. Jeśli prowadzimy biznes online, często możemy dzięki temu utrzymać swoją działalność. Nie tylko ze względu na restrykcje narzucane przez rząd, ale także niższe koszty, jakie wiążą się z handlem elektronicznym. Przedsiębiorstwa przeprowadzają więc transformacje cyfrowe i tworzą odpowiednie procesy biznesowe. Łatwo bowiem zauważyć, że organizacje cyfrowe, wykorzystujące aplikacje webowe czy mobilne, lepiej radzą sobie z kryzysem gospodarczym niż te, które mają mniejszą obecność w sieci. Jednocześnie to właśnie te aplikacje – narzędzia, z których korzystamy codziennie – są często łatwym celem dla cyberprzestępców, którzy chcą przeniknąć do sieci korporacyjnych, wykraść dane czy wstrzyknąć ransomware.


Z badania Forrestera przeprowadzonego wśród osób podejmujących decyzje w zakresie bezpieczeństwa IT w firmach wynika, że najczęściej atakowane przez cyberprzestępców są aplikacje webowe. Dla 28% firm poprawa funkcji i usług związanych z bezpieczeństwem aplikacji internetowych jest najwyższym priorytetem na najbliższe miesiące. Organizacje chcą zabezpieczać przede wszystkim aplikacje wewnętrzne, które łączą się z internetem, jak również API, które łączą aplikacje wewnętrzne ze światem zewnętrznym. Dodatkowo firmy coraz częściej stawiają na politykę ciągłości działania (Business Continuity), która określa akceptowalny poziom przestojów i zapewnia dalsze funkcjonowanie biznesu w razie awarii czy ataków.


> BEZPIECZNIEJSZY KOD


Nie wygląda na to, aby zapotrzebowanie na hasła i loginy miało zostać w najbliższym czasie całkowicie zastąpione czymś innym. Mnóstwo stron i aplikacji wciąż wymaga kont użytkownika, a dostęp do nich zapewnia login i hasło. Przeglądarki internetowe często oferują automatyczne generowanie i przechowywanie silnych haseł, a działy IT stale przypominają, aby zawsze tworzyć unikalne hasła do różnych witryn. Użytkownicy często jednak i tak stawiają na wygodę i prostotę, tworząc łatwe do zapamiętania (i złamania) hasła, a w dodatku korzystają z takich haseł na wielu stronach.


Open Web Application Security Project stworzył zestaw wytycznych dla organizacji, które chcą poprawić bezpieczeństwo aplikacji. Zalecane jest wykorzystywanie najnowszych metod bezpiecznego uwierzytelniania, takich jak uwierzytelnianie wieloskładnikowe, biometria czy hasła jednorazowe. Inne zalecenia obejmują stosowanie silnego szyfrowania, co zapobiega utracie danych, umożliwia kontrolę dostępu oraz oczyszczanie i weryfikację treści generowanych przez użytkowników, takich jak dane wprowadzane w niektórych polach tekstowych w aplikacjach. Jeśli zależy nam na bezpieczeństwie aplikacji, warto zastosować się do tych zaleceń.


Programiści powinni również zaimplementować kontrolę walidacji danych wejściowych. Jak podaje OWASP, nawet 90% ataków typu injection ma miejsce, ponieważ aplikacje nie sprawdzają prawidłowo danych wejściowych. W ramach Application Security Verification Standard 4.0.2 (i nowsze edycje), czyli dokumentacji, z którą powinni się zapoznać programiści i specjaliści ds. bezpieczeństwa, czytamy, że wbudowanie bezpiecznej walidacji danych wejściowych jest wymagane podczas sprintów projektowania architektury aplikacji, kodowania oraz testów jednostkowych i integracyjnych. Dopilnujmy, aby przestrzegać tych zaleceń, jeśli zależy nam na bezpieczeństwie.


Gdy programista napisze kod oprogramowania w taki sposób, aby aplikacja sprawdzała, jakie dane do niej trafiają i jakich danych oczekuje, odrzuci ona automatycznie wszystko, co nie jest tego typu danymi. Pamiętajmy także, aby zapoznać się z OWASP Top 10 – w tym dokumencie znajdziemy najważniejsze ryzyka i zagrożenia związane z aplikacjami. Zadaniem działu IT jest skupienie się na tym, aby im zaradzić.


> NARZĘDZIA ZABEZPIECZAJĄCE ORAZ API


Aplikacje często wywołują wiele API, co sprawia, że bezpieczeństwo API jest integralną częścią bezpieczeństwa. Dla programistów ważne jest to, aby traktować interfejsy API jako część aplikacji, która może zostać zaatakowana. Dobrą praktyką jest monitorowanie wszystkich interfejsów API w aplikacji i upewnienie się, że stosujemy odpowiednie środki bezpieczeństwa.


Programiści muszą wiedzieć, jakie API są już wykorzystywane, i mieć odpowiedni proces wykrywania, aby nie okazało się, że np. osoba nowo zatrudniona w firmie postanowi przygotować kolejny interfejs API bez wcześniejszej kontroli, przeglądu bezpieczeństwa lub testów użytkowych. Warto podkreślić, że nawyki sprzed epoki mikroserwisów przeniosły się do teraźniejszości. W przeszłości specjaliści pracowali nad tradycyjnymi aplikacjami, które rozkładały je na komponenty i różne funkcje. Te funkcje komunikowały się ze sobą w różnych obiektach, w różnych klasach, ale wszystkie byłyby na tym samym serwerze. Obecnie usługi w ramach aplikacji często komunikują się za pośrednictwem sieci, co czyni je bardziej podatnymi na ataki. W rezultacie wymagają bardziej rygorystycznych środków bezpieczeństwa. Nie należy traktować interfejsów API i mikroserwisów jako relatywnie małych szczegółów implementacyjnych. Jeśli chcemy zatroszczyć się o bezpieczeństwo, trzeba mieć odpowiedni wgląd we wszystkie te elementy.


Kiedy już uwzględnimy wszystkie API, z jakich korzysta aplikacja, następnym krokiem jest zarządzanie dostępem do tych API. Developerzy powinni mieć pewność, że tylko użytkownicy i komponenty, które powinny wywoływać API, faktycznie mogą robić to i nic więcej. Należy więc zadbać o odpowiednie ograniczenie dostępu tylko dla usług, które faktycznie tego dostępu potrzebują do poprawnego funkcjonowania. Dodatkowo API powinny podawać tylko informacje niezbędne dla poszczególnych funkcji. Jeśli udostępniają i przekazują one więcej informacji niż to konieczne, niepotrzebnie komplikują działanie i zwiększają ryzyko, że dojdzie do naruszeń.


Dobrą praktyką jest wdrożenie zasady zero trust, czyli zerowego zaufania, w którym każde wywołanie musi ściśle przestrzegać wymagań API. Kontrola dostępu powinna zatem obejmować dwa aspekty: ograniczenia aplikacji i użytkowników, którzy mogą wywoływać API, oraz ograniczenia dotyczące informacji, jakie może dostarczać interfejs.

 

[...]

 

Autor jest założycielem firmy doradczo-technologicznej. Pełnił funkcję redaktora naczelnego w magazynach i serwisach informacyjnych z branży ICT. Dziennikarz z ponad 13-letnim doświadczeniem oraz autor książek na temat start-upów i przedsiębiorczości.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"