Licencje Open Source. To prostsze niż Ci się wydaje

Licencje Open Source. To prostsze niż Ci się wydaje

Licencje Open Source. To tylko prawne wymysły, czy istotna dla nas sprawa? Dlaczego to nas w ogóle powinno interesować? W każdym systemie IT, który tworzymy, korzystamy z ogromnej ilości zależności. Dość swobodnie dodajemy do aplikacji nowe biblioteki. Szczególnie, jak są dostępne publiczne i są darmowe. Zresztą to nic dziwnego, w końcu to bardzo wygodna i optymalna zasada architektoniczna. Biblioteki Open Source, szczególnie gdy są używane przez wiele osób, mają wiele zalet. Dzięki nim nie musimy implementować samodzielnie kolejnych mniej lub…

Read More Read More

10 zasad bezpiecznych zależności w Twojej aplikacji

10 zasad bezpiecznych zależności w Twojej aplikacji

Dziś opowiem Ci o tym jak pilnować 10 zasad bezpiecznych zależności tworząc nowe systemy. Każda biblioteka dołączona do naszego systemu to potencjalnie niebezpieczny element, którego nie znamy, ale pozwalamy mu się uruchomić wewnątrz naszej aplikacji. Spójrzmy na analogię. Masz samochód. Czy dałbyś/dałabyś go do prowadzenia każdej osobie? Rodzinie pewnie tak (może z pewnymi wyjątkami ;)), kilku przyjaciołom może też, ale czy gdyby ktoś nieznany na ulicy zapytał Cię o to? Sam byłbym wtedy bardzo niechętny. Tak samo jest z bibliotekami…

Read More Read More

Bezpieczeństwo zależności w aplikacjach

Bezpieczeństwo zależności w aplikacjach

Dziś opowiem Ci o tym jak zadbać o bezpieczenstwo zależności. Zdecydowana większość aplikacji, które znamy i tworzymy, dość intensywnie korzysta z różnego rodzaju zależności. Zresztą to nic dziwnego. To nawet korzystne z punktu widzenia projektowego i architektonicznego. Zamiast pisać implementacje pewnej funkcji od zera, lepiej skorzystać z gotowego komponentu. Na przykład z biblioteki Open Source. Tworząc implementację nawet najprostszej biblioteki (np. do wysyłania zapytań HTTP do API), musimy w pełni za nią odpowiadać. To oznacza, że musimy ją odpowiednio przetestować…

Read More Read More

Największe błędy zarządzania sekretami w aplikacji

Największe błędy zarządzania sekretami w aplikacji

Tak na zakończenie serii o bezpieczeństwie sekretów w aplikacjach mam dla Ciebie listę. To błędy zarządzania sekretami. Potraktuj ją jak checklistę. Przy każdym punkcie pomyśl, jak jest u Ciebie, w Waszym zespole czy firmie. Upewnij się, że nie popełniasz żadnego z wymienionych tu błędów. Od razu uprzedzam — jest to lista mocno subiektywna i nie opiera się na żadnych badaniach. Jest to moje własne opracowanie, przygotowane na bazie mojej wiedzy i doświadczenia zawodowego. Mam nadzieję, że takie błędy zarządzania sekretami…

Read More Read More

Co się stanie, jak umieszczę sekret w kodzie?

Co się stanie, jak umieszczę sekret w kodzie?

Podczas tworzenia aplikacji wykorzystujemy często bardzo wiele różnych sekretów. Nieraz to jest nawet sekret w kodzie. W wielu przypadkach są to jakiegoś rodzaju klucze dostępowe do pewnych innych części naszego systemu jak: Może to być również klucz dostępu do zewnętrznych usług, które jednak operują na naszych wrażliwych danych W każdym z takich przypadków sekrety, których używamy w aplikacji, są kluczem do istotnych danych lub akcji. Dlatego też są bardzo ważne i należy je specjalnie chronić. Jednym z elementów zajmowania się…

Read More Read More

Zarządzanie sekretami

Zarządzanie sekretami

Sekrety w naszym systemie są niezwykle istotne. Te, które są używane do komunikacji z naszym systemem, otwierają drzwi do danych i akcji w naszym systemie. Zaś te, które są używane do komunikacji z innymi systemami, również mogą narobić nam sporo problemów. Na przykład upublicznić dane naszych Klientów lub zmodyfikować dane w niewłaściwy sposób. Dlatego warto zadbać o poprawne zarządzanie sekretami. Wyobraź sobie, że wyciekły szczegóły połączenia do naszej bazy danych. Ktoś teraz ma pełen dostęp do naszych danych. I to…

Read More Read More

Cykl życia sekretu

Cykl życia sekretu

Opowiem Ci dzisiaj o sekretach w kodzie aplikacji. Przyjrzymy się temu, o czym należy pamiętać, gdy korzystamy z sekretów i o tym jak zadbać o cykl życia sekretu. Zacznijmy od tego, czym w ogóle są sekrety w aplikacji? Nazwa “sekret” jest bardzo intuicyjna. Sekrety, czyli to wszystko, co nie powinno być dostępne dla żadnych osób postronnych oraz dla użytkowników naszej aplikacji (z wyjątkiem danych ich konta w naszym systemie). Na przykład: Różne perspektywy na sekrety Na sekrety możemy spojrzeć z…

Read More Read More

Jak dołączać pliki JS do strony?

Jak dołączać pliki JS do strony?

Dzisiaj chciałbym opowiedzieć Ci o jednym z aspektów bezpieczeństwa aplikacji webowych. O używaniu zależności. Cały temat używania zależności i ich bezpieczeństwa jest dość obszerny. Dlatego też w tym artykule skupimy się tylko na tym jak dołączać pliki JS do strony.  Tworząc strony lub aplikacje internetowe, często korzystamy z wielu bibliotek JavaScript. Poczynając od frameworków (takich jak jQuery lub React) aż po biblioteki narzędziowe służące do konkretnego zadania (takie jak Google Captcha lub CkEditor). Możliwe opcje Dołączając takie biblioteki do naszej…

Read More Read More

Content Security Policy – poziomy dojrzałości

Content Security Policy – poziomy dojrzałości

Tworzenie bezpiecznych aplikacji internetowych nie jest proste. Bardzo łatwo jest zostawić w nich podatności, narażając użytkowników na różne zagrożenia. Można by tu wymieniać dziesiątki z nich, ale skupmy się tutaj na kilku poniższych: Clickjacking – wyświetlenie użytkownikowi zachęty do kliknięcia, wskutek którego wykona on niechcianą akcję w innej aplikacji,  ManInMiddle – możliwość podsłuchania i modyfikacji requestów aplikacji do serwera,  Formjacking – przejęcie danych wprowadzanych przez użytkownika w formularzach,  Unvalidated Redirects – niezaplanowane przez twórców przekierowania na zewnętrzne adresy, XSS – wykonanie…

Read More Read More

Automatyczne testowanie XSS

Automatyczne testowanie XSS

W ramach rozszerzenia poprzedniego artykułu o ręcznym szukaniu podatności typu XSS warto jeszcze wspomnieć o metodzie na automatyczne testowanie XSS. Jest to możliwe z użyciem OWASP ZAP.Zobaczmy krok po kroku w jaki sposób. Instrukcja testów Na początku musimy się upewnić, że mamy zainstalowane dodatki: https://www.zaproxy.org/docs/desktop/addons/active-scan-rules/ https://www.zaproxy.org/docs/desktop/addons/dom-xss-active-scan-rule/ Następnie przechodzimy do testowania. Każdorazowo testy w OWASP ZAP należy zacząć od definicji zapytań (requestów) w ramach aplikacji – etap discovery (odkrywania aplikacji). Najprościej zrobić to ręcznie za pomocą odpowiednio skonfigurowanej przeglądarki. Możemy ją…

Read More Read More

%d bloggers like this: