[ Raporty i dochodzenie ]

Zapobiegaj problemom z rozszerzaniem jednostek XML i bombardowaniem archiwów podczas przetwarzania raportów

Niezależnie testuj granice zasobów dekompresji i XML, używając małych bezpiecznych elementów i jawnych kryteriów odzyskiwania.

Przez zespół badawczy EmailAuth

[Kluczowe punkty]

  • Dekompresja i kontrola zasobów zewnętrznych XML chronią różne granice.
  • Testuj małe syntetyczne wejścia w celowo niskich limitach.
  • Zgłoś niezmierzony dostęp lub zachowanie zasobów jako niezweryfikowane.
Na tej stronie

Wyłączenie jednostek zewnętrznych samo w sobie nie chroni procesora raportów przed każdym wejściem związanym z wyczerpaniem zasobów. Skompresowany załącznik może zostać rozciągnięty przed uruchomieniem analizatora składni XML, a głęboko zagnieżdżony lub zbyt duży plik XML może zużywać zasoby bez konieczności uzyskiwania dostępu do jednostki zewnętrznej. Traktuj dekompresję, interpretację XML i przyjmowanie obciążeń jako oddzielne granice obronne.

RFC 9990 wyraźnie identyfikuje ryzyko wyczerpania zasobów archiwalnych i XML. Wytyczne XML OWASP wyjaśniają, dlaczego specyficzna dla parsera kontrola zasobów zewnętrznych ma znaczenie. Projekt testu stanowi tutaj zalecenie operacyjne dotyczące sprawdzenia tych granic w izolowanym środowisku przejściowym.

Zdefiniuj, co nigdy nie może się wydarzyć

Referencje: RFC 9990 §8.1.

Pracownik nie powinien pobierać zasobów sieciowych wybranych w załączniku, czytać sekretów aplikacji poprzez rozpoznawanie XML, zapisywać ścieżek dostarczonych przez archiwum ani zużywać nieograniczonego procesora, pamięci lub dysku. Daj mu minimalny dostęp do systemu plików i bez niepotrzebnego dostępu do sieci. Używaj jednorazowego środowiska testowego z syntetycznymi kanarkami, a nie tajemnic produkcyjnych.

Ustaw obserwowalne limity dla skompresowanych danych wejściowych, rozszerzonych danych wyjściowych, czasu analizowania, zagnieżdżania, długości tekstu i jednoczesnych zadań. Zapisz, gdzie każdy limit jest egzekwowany. Limit czasu wokół końcowego importu nie może chronić wcześniejszego nieograniczonego etapu dekompresji.

Sprawdź bezpośrednio możliwości XML

Odniesienie: Zapobieganie podmiotom zewnętrznym OWASP XML, wskazówki ogólne.

Skonfiguruj rzeczywisty analizator składni i dowolną warstwę sprawdzania poprawności schematu lub transformacji. Wyłącz niepotrzebne przetwarzanie DTD, zewnętrzne podmioty, XInclude i ładowanie zasobów zewnętrznych. Traktuj nieobsługiwane ustawienia zabezpieczeń jako błędy konfiguracji. Bezpieczne ustawienie parsera może zostać podważone, jeśli na późniejszym etapie sprawdzania poprawności zostanie pobrany schemat wybrany na wejściu. Przejrzyj cały łańcuch przetwarzania, a nie tylko jego pierwsze wywołanie biblioteki.

Użyj małego urządzenia zawierającego zewnętrzne odniesienie do kontrolowanego wartownika testowego. Oczekiwanym zachowaniem jest odrzucenie lub bezpieczny brak rozwiązania zgodnie z udokumentowaną polityką, bez dostępu wartownika. Rejestruj dane telemetryczne dotyczące sieci i dostępu do plików. Nie kieruj referencji testowych na wrażliwe pliki lokalne lub usługi zewnętrzne, nad którymi nie masz kontroli.

Związane nieszkodliwe testy rozszerzalności

Referencje: RFC 9990 §8.1.

Do dekompresji użyj małej zawartości syntetycznej i celowo niskich progów stopniowania. W przypadku XML użyj ograniczonego zagnieżdżenia lub wewnętrznych urządzeń rozszerzających zaprojektowanych tak, aby przekraczać podobnie niskie limity. Nie ma potrzeby tworzenia naprawdę ogromnej bomby, aby stwierdzić, że granica jest egzekwowana.

Przykładowy przypadek: pracownik testowy ma limit bajtów rozszerzonych wynoszący 256 KiB i termin przetwarzania wynoszący jedną sekundę. Syntetyczny, rozszerzony strumień o wielkości 300 KiB powinien zatrzymać się na granicy bajtów. Oddzielne, małe urządzenie odniesienia zewnętrznego nie powinno powodować żadnego wyszukiwania. Przekazanie jednego przypadku nie dowodzi, że druga granica działa. Progi mają charakter poglądowy i należy zmierzyć rzeczywistą pamięć i upływający czas, a nie zakładać.

Sprawdź powstrzymywanie awarii

Dla każdego odrzuconego urządzenia sprawdź, czy nie zatwierdzono żadnych zapisów raportu częściowego, nie pojawił się żaden niezatwierdzony plik wyjściowy, a diagnostyka zawiera bezpieczne odniesienie wejściowe i przyczynę. Powiązany rozmiar diagnostyczny, ponieważ kopiowanie całego odrzuconego dokumentu do dzienników stwarza kolejne ryzyko dla zasobów i prywatności.

Następnie prześlij ważny mały raport. Sprawdź, czy przetwarzanie kolejki zostało przywrócone, pliki tymczasowe zostały wyczyszczone zgodnie z zatwierdzonymi zasadami, a ponowne odtwarzanie nie powoduje zduplikowanych liczników. Korzystaj z równoczesnych przyjęć w ramach bezpiecznego budżetu testowego, aby przetestować zagregowane limity pracowników oraz limity dla poszczególnych plików.

Spraw, aby dowody testowe były powtarzalne

Referencje: RFC 9990 §8.1, RFC 9990 §9.2.

Zachowaj skróty urządzeń, wersje parsera i środowiska wykonawczego, konfigurację, limity, oczekiwane wyniki i zmierzone wyniki. Powtórz tę czynność po zmianie zależności, parsera, kontenera lub walidacji. Jeśli w teście nie można zaobserwować dostępu zewnętrznego ani użycia pamięci, oznacz tę część jako niezweryfikowaną, zamiast deklarować, że potok jest bezpieczny.

Odrzucenie świadczy o tym, że określone wejście napotkało określoną granicę w testowanej konfiguracji. Nie dowodzi to, że każdy możliwy złośliwy dokument jest nieszkodliwy. Połącz ukierunkowane urządzenia, sprawdzoną konfigurację, izolację i monitorowanie oraz utrzymaj właściciela w celu monitorowania, gdy zawiedzie którakolwiek granica.

Pakiet przeglądowy wykonuje jedynie małą demonstrację ograniczonej dekompresji i modele semantyczne. Testy referencji zewnętrznych, izolacji pamięci, współbieżnego procesu roboczego i rzeczywistego przechowywania bazy danych opisane powyżej pozostają wymaganiami akceptacji, a nie ukończonymi testami.

[Na wynos]

Zgłoś niezmierzony dostęp lub zachowanie zasobów jako niezweryfikowane.

[ Według roli ]

Co to oznacza dla Ciebie

Wybierz swoją rolę, aby uzyskać praktyczne dalsze kroki.

Administrator IT / poczty

Przetestuj osobno granice dekompresji i XML.

Mierz dostęp zewnętrzny i wykorzystanie zasobów. Sprawdź czyste odzyskiwanie po odrzuceniu.

Kolejne kroki

  1. Przetestuj osobno granice dekompresji i XML.
  2. Mierz dostęp zewnętrzny i wykorzystanie zasobów.
  3. Sprawdź czyste odzyskiwanie po odrzuceniu.

CISO / SecOps

Przejrzyj pełny łańcuch walidacji.

Wymagaj najmniejszych uprawnień i izolacji. Odróżnij przypadki sprawdzone od pewności powszechnej.

Kolejne kroki

  1. Przejrzyj pełny łańcuch walidacji.
  2. Wymagaj najmniejszych uprawnień i izolacji.
  3. Odróżnij przypadki sprawdzone od pewności uniwersalnej.

Założyciel / Nietechniczny

Wymagaj właściciela testu i kryteriów odzyskiwania.

Trzymaj tajemnice produkcyjne z dala od osprzętu. Śledź nierozwiązane awarie kontroli aż do zamknięcia.

Kolejne kroki

  1. Wymagaj właściciela testu i kryteriów odzyskiwania.
  2. Trzymaj tajemnice produkcyjne z dala od osprzętu.
  3. Śledź nierozwiązane awarie kontroli aż do zamknięcia.

[ Często zadawane pytania ]

Często zadawane pytania

Czy wyłączenie XXE zatrzymuje bomby archiwalne?

Nie. Dekompresja niesie ze sobą ryzyko związane z ekspansją i zasobami przed interpretacją XML.

RFC 9990 §8.1

Czy weryfikacja schematu może przywrócić dostęp do sieci?

Tak, jeśli podąża za niezaufanymi lokalizacjami zewnętrznymi. Przejrzyj tę warstwę osobno.

Czy testy muszą alokować ogromne ilości danych?

Nie. Użyj małych urządzeń z niskimi limitami dostawienia, aby bezpiecznie sprawdzić zachowanie podczas zatrzymywania.

Gdzie powinny wskazywać odniesienia do testów zewnętrznych?

Tylko kontrolowanym syntetycznym strażnikom w izolowanym, autoryzowanym środowisku.

Jakie pomiary są przydatne?

Rozszerzone bajty, czas, który upłynął, pamięć szczytowa, dostęp do plików, dostęp do sieci i liczba zatwierdzonych wierszy.

Czy odrzucone dokumenty należy kopiować do logów?

Unikaj nieograniczonego rejestrowania pełnej zawartości. Zachowaj ograniczone odniesienie diagnostyczne i chronione wejście.

Co świadczy o wyzdrowieniu?

Kolejne ważne urządzenie przetwarza się poprawnie bez duplikatów lub częściowych metryk.

Kiedy pakiet powinien ponownie działać?

Po zmianach konfiguracji analizatora składni, środowiska wykonawczego, dekompresora, sprawdzania poprawności lub izolacji.

[ Źródła ]

Źródła

  1. RFC 9990

    Sekcje §8.1 · §9.2

  2. Zapobieganie podmiotom zewnętrznym OWASP XML

    Sekcje Ogólne wskazówki

[ Słowniczek ]

Słowniczek

Podmiot zewnętrzny
Jednostka XML, której treść zastępcza odnosi się poza dokumentem wejściowym; niebezpieczne rozwiązanie może narazić zasoby.
Granica zasobów
Skonfigurowany i zmierzony limit pracy, taki jak bajty, czas, pamięć lub zadania współbieżne.
Syntetyczny strażnik
Kontrolowany zasób testowy używany do wykrywania nieoczekiwanego dostępu bez ujawniania prawdziwych tajemnic.

Pochodzenie przedsiębiorstwa

Dlaczego najlepsze instytucje finansowe i rządy wycofali swoje panele bezpieczeństwa poczty e-mail.

Tradycyjne platformy uwierzytelniania poczty e-mail oferują pulpit nawigacyjny i proszą inżynierów o wykonanie pracy. W środowiskach o dużej stawce ręczny nadzór oznacza opóźnione egzekwowanie, zmianę konfiguracji i niemonitorowane domeny-cienie.

EmailAuth to platforma agentowego pochodzenia wiadomości e-mail. Nasi agenci egzekwują p=reject, dostosuj zewnętrznych nadawców i przenieś swoje domeny do pełnych adresów RFC 9989 zgodność, nowy standard DMARC , z możliwością kontroli przez człowieka.

Rządy Duże przedsiębiorstwa Instytucje finansowe poziomu 1

SaaS · Dedykowany najem · Lokalne rozwiązanie typu air-gapped · Szyfrowanie BYOK

Baza wiedzy