Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Zadanie 1
Uruchomiono aplikację Python, dokonano kilku operacji dodania / edycji usunięcia książek oraz osób. W logach dockera zaobserwować można, że widoczne są dane wrażliwe tak jak Pesel i adres zamieszkania
dokonano następujących zmian w kodzie w pliku
models.py, które maskują wrażliwe dane (PESEL i adres) w logach:Dzięki tej zmianie wrażliwe dane są maskowane w logach aplikacji. Zdecydowano się na użycie stałej liczby gwiazdek celem jeszcze skuteczniejszego maskowania i prostoty w kodzie. Numer mieszkania pozostaje niezmieniony, ponieważ sam z siebie nie dostarcza użytecznej informacji i sam w logach może być użyteczny jako jeden ze znaków, że logi i zapisywane informacje działają prawidłowo.
Zadanie 2
Użyto gitleaks do weryfikacji wycieku sekretów związanych z kontrolą wersji. Wykonanie komendy ukazało trzy wycieki poufnych danych, w tym klucz prywatny RSA i klucz prywatny w pliku konfiguracyjnym AWS. Te pliki dostępne są w historii commitów, więc nawet po usunięciu są dostępne w repozytorium.
Żaden z wykrytych sekretów nie jest fałszywym pozytywem.
Zadanie 3
W ramach ostatniego zadania wykonano analizę z użyciem pyupio, w terminalu ukazał się następujący output opisujący podatności bibliotek jinja2, werkzeug, oraz healpy:
Jako najpoważniejszą wybrano podatność pakietu werkzeug. Debugger w Werkzeug (w wersjach < 3.0.3) pozwala atakującemu wykonać kod na maszynie dewelopera w określonych warunkach. Wymaga:
W app.py:
można zobaczyć, że tryb debug jest włączony, co jest podstawowym warunkiem do możliwości przeprowadzenia ataku. Prawdopodobieństwo ataku jest więc znaczne. W środowisku produkcyjnym tryb debug powinien być wyłączony. Warto jednak także zaktualizować bibliotekę do wersji bezpiecznej, w której te problemy zostały rozwiązane.