Skanowanie bezpieczeństwa kodu dla aplikacji Databricks

Important

Ta funkcja jest dostępna w wersji beta. Azure Databricks umożliwia skanowanie zabezpieczeń kodu w przypadku kwalifikujących się obszarów roboczych podczas wersji beta.

Important

Skanowanie bezpieczeństwa może przynieść fałszywe alarmy i nie wykryć wszystkich błędów bezpieczeństwa.

Databricks Apps skanuje kod źródłowy Twojej aplikacji pod kątem typowych problemów z bezpieczeństwem za każdym razem, gdy wdrażasz zmianę kodu źródłowego. Skanowanie nie blokuje ani nie powoduje niepowodzenia wdrożenia. Wyniki pojawiają się na stronie Bezpieczeństwo aplikacji, gdzie menedżer aplikacji może je przeglądać i kwalifikować.

Jak działa skanowanie bezpieczeństwa kodu

Skanowanie bezpieczeństwa kodu wykonuje statyczną analizę kodu źródłowego Twojej aplikacji w ramach wdrożenia:

  • Uruchamia się przy zmianach w kodzie źródłowym: Skan uruchamia się automatycznie po wdrożeniu zmiany kodu źródłowego. Wdrożenie, które ponownie wykorzystuje istniejącą wersję bez zmiany kodu źródłowego, nie jest skanowane.
  • Czyta tylko Twoje źródło: skaner analizuje Twój kod źródłowy bez uruchamiania go i nigdy nie modyfikuje aplikacji.
  • Nieblo kujący: Skaner raportuje ustalenia bezpieczeństwa, ale nie blokuje wdrożenia ani nie powoduje niepowodzenia wdrożenia. Przeanalizuj i zajmij się ustaleniami na podstawie ich poziomu ważności oraz wymagań dotyczących bezpieczeństwa.
  • Tryb bezpiecznej awarii: Jeśli skan nie może się zakończyć, wynik jest rejestrowany jako niedostępny, a nie jako bezpieczny, więc brakujące skanowanie nigdy nie jest mylone z pozytywnym wynikiem skanowania.

Co wykrywa skanowanie

Skanowanie bezpieczeństwa kodu analizuje wyłącznie kod źródłowy Twojej aplikacji. Nie skanuje zależności twojej aplikacji i nie wykonuje dynamicznej analizy działającej aplikacji.

Skaner wykorzystuje reguły detekcji wybrane, stworzone i dostrojone przez Azure Databricks dla aplikacji Databricks. Azure Databricks może dodawać, usuwać lub aktualizować reguły z czasem, aby poprawić zasięg wykrywania i dokładność. Reguły wykrywają typowe klasy podatności, w tym:

  • Na stałe zakodowane dane uwierzytelniające i sekrety
  • Wstrzyknięcie kodu SQL
  • Cross-site scripting (XSS) – Wykonywanie skryptów między witrynami
  • Fałszerstwo żądań po stronie serwera (SSRF)
  • przechodzenie po ścieżkach
  • Niebezpieczna deserializacja
  • Konfiguracja permisywnego współdzielenia zasobów między źródłami (CORS)
  • Niebezpieczne ładowanie YAML
  • Ekspozycja tokenów użytkownika (w imieniu)

Uwaga

Czyste skanowanie nie gwarantuje, że twoja aplikacja jest bezpieczna. Skaner sprawdza konkretny zestaw problemów, więc nie wykrywa problemów, których jego zasady nie obejmują. Nadal stosuj własne praktyki przeglądu kodu i bezpieczeństwa, zwłaszcza w aplikacjach obsługujących wrażliwe dane. Więcej wskazówek dotyczących bezpieczeństwa znajdziesz w najlepszych praktykach bezpieczeństwa.

Zobacz ustalenia dotyczące bezpieczeństwa

Musisz mieć uprawnienie CAN MANAGE do aplikacji, aby zobaczyć jej wyniki zabezpieczeń. Zobacz Konfigurowanie uprawnień dla aplikacji usługi Databricks.

Aby zobaczyć ustalenia:

  1. W swoim obszarze roboczym otwórz aplikację. Zobacz szczegóły aplikacji Databricks.
  2. Wybierz kartę Zabezpieczenia.

Strona bezpieczeństwa aplikacji Databricks, przedstawiająca podsumowanie ustaleń i ustalenia pogrupowane według plików

Strona Bezpieczeństwo pokazuje ustalenia dla wybranego wdrożenia, pogrupowane według plików. Każde ustalenie obejmuje:

  • Sprawdzenie, które pasowało
  • Ścieżka pliku i numer linii
  • Poziom nasilenia
  • Opis problemu

Ustalenia wykorzystują następujące poziomy nasilenia:

  • Krytyczne: Problem o wysokim poziomie krytyczności, taki jak prawdopodobna podatność, którą powinieneś rozwiązać, zanim zaczniesz polegać na aplikacji.
  • Ostrzeżenie: Potencjalny problem, który powinieneś przejrzeć i naprawić, jeśli dotyczy Twojej aplikacji.
  • Informacje: Obserwacja o niższym ryzyku lub sugestia bezpiecznego kodowania, na którą warto zwrócić uwagę.

Podsumowanie na górze strony pokazuje liczbę otwartych ustaleń, liczbę krytycznych ustaleń, ogólny poziom ryzyka oraz liczbę ustaleń, które rozwiązałeś lub zignorowałeś. Poziom ryzyka odzwierciedla Twoje otwarte wyniki i ich stopień powagi; wyniki, które rozwiązujesz lub ignorujesz, nie są do niego liczone. Filtruj ustalenia według stopnia nasilenia, aby skupić się na najważniejszych kwestiach.

Aby przejrzeć wyniki wcześniejszego wdrożenia, użyj wyboru wersji kodu, aby wybrać poprzednie wdrożenie.

Wyniki selekcji

Triage pozwala śledzić, które wyniki zostały rozwiązane. Podobnie jak przy przeglądaniu wyników, musisz mieć uprawnienie CAN MANAGE w aplikacji, aby je segregować.

Każde ustalenie ma jeden z następujących stanów:

  • Otwarte: Domyślny stan dla nowego ustalenia.
  • Rozwiązane: Oznacz wynik jako rozwiązany po usunięciu podstawowego problemu.
  • Ignorowane: Zignoruj ustalenie, które nie dotyczy Twojej aplikacji lub które zaakceptowałeś jako znane ryzyko.

Aby obsłużyć ustalenie, wybierz dla niego opcję Oznacz jako rozwiązane lub Ignoruj. Aby zmienić stan ustalenia z powrotem na Otwarty, wybierz Ponownie otwórz. Aby klasyfikować kilka ustaleń jednocześnie, wybierz kilka ustaleń i zastosuj działanie zbiorczo.

Stan triage jest zapisywany przy każdym znalezieniu i utrzymuje się między wdrożeniami. Jeśli ten sam problem pojawi się w późniejszym wdrożeniu, zachowuje ustawiony przez ciebie stan, więc nie musisz ponownie klasyfikować problemów, które już przejrzałeś.

Wyniki skanowania

Strona Bezpieczeństwo odzwierciedla wynik skanowania wdrożenia. Wynik skanu opisuje, co wykryto podczas skanowania, a status skanu określa, czy skan został zakończony.

Wyniki odzwierciedlają zasady wykrywania obowiązujące podczas skanowania. Azure Databricks nie skanuje ponownie istniejącego wdrożenia po zmianie reguł, więc wcześniejszy wynik (w tym Brak ustaleń dotyczących zabezpieczeń) może nie odzwierciedlać obecnych reguł. Nowy skan uruchamia się automatycznie przy następnej zmianie kodu źródłowego.

Następujące wyniki opisują, co wykazało badanie:

Outcome Opis
Brak problemów bezpieczeństwa Skanowanie zakończyło się i nie wykazało żadnych problemów w obecnym zestawie reguł.
Ustalenia Skan wykazał jeden lub więcej problemów do przejrzenia i triage’u.

Następujące statusy opisują stan samego skanu:

Status Opis
Skanowanie tego wdrożenia Skan jest w toku. Strona aktualizuje się automatycznie po zakończeniu skanowania.
Skanowanie niekompletne Skan się przeprowadził, ale pominął niektóre pliki lub reguły, więc wyniki mogą być częściowe.
Wyniki skanowania niedostępne Skan nie mógł się zakończyć podczas tego wdrożenia.
To wdrożenie nie zostało zeskanowane Wdrożenie ponownie wykorzystało istniejącą wersję bez zmiany kodu źródłowego. Ponownie wdroż po zmianie kodu, żeby go zeskanować.

Dodatkowe zasoby