[ Raporty i dochodzenie ]

Bezpieczne pobieranie skompresowanych plików XML DMARC

Oddzielne przyjmowanie załączników, ograniczona dekompresja, bezpieczne analizowanie i import transakcyjny, dzięki czemu jeden wrogi raport nie może zepsuć analiz ani wyczerpać modułu zbierającego.

Przez zespół badawczy EmailAuth

[Kluczowe punkty]

  • Traktuj załączniki raportów jako niezaufane w każdej warstwie przetwarzania.
  • Związane rozszerzone bajty podczas dekompresji, a nie po pełnej alokacji.
  • Przesyłaj tylko sprawdzone, powielone dane i zachowuj kontrolowaną diagnostykę.
Na tej stronie

Skrzynka pocztowa raportowania jest granicą wejściową, a nie zaufanym źródłem danych. Załącznik może być zniekształcony, zbyt duży lub celowo kosztowny w obróbce. Zbuduj ścieżkę pozyskiwania tak, aby akceptacja transportu nie oznaczała automatycznie akceptacji analizatora składni, a akceptacja analizatora składni nie oznaczała automatycznie, że oświadczenia raportu są godne zaufania.

RFC 9990 opisuje zagregowaną dostawę XML i ostrzega o wyczerpaniu zasobów i fałszywych informacjach. Poniższy schemat stanowi zalecenie dotyczące wdrożenia, a nie twierdzenie, że konkretny produkt zapewnia już te elementy sterujące.

Wyodrębnij spożycie z analizy

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

Przypisz identyfikator przybycia i zachowaj ograniczone odniesienie z kontrolą dostępu do oryginalnego załącznika. Zapisz jego rozmiar, odcisk palca, czas przybycia i metadane transportu. Zastosuj kontrolę zasobów kolejek i źródeł, aby jeden strumień nie mógł zmonopolizować pracowników. Traktuj adres nadawcy lub znaną nazwę pliku jako niewystarczający dowód autentyczności.

Trzymaj pracownika minimalnie uprzywilejowanego i oddzielonego od poświadczeń bazy danych używanych do publikowania ostatecznych metryk. Uniemożliwiaj zawartości załącznika określanie poleceń wykonywalnych lub ścieżek docelowych. Błędne dane wejściowe należą do kontrolowanej ścieżki diagnostycznej, a nie do publicznych stron błędów lub nieograniczonych dzienników.

Związana dekompresja podczas działania

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

RFC 9990 określa XML i zaleca kompresję GZIP. Wykryj obsługiwany format i odrzuć nieobsługiwane kontenery zgodnie z udokumentowaną polityką zgodności. Jeśli starsze formaty archiwów są celowo obsługiwane, przejrzyj związane z nimi dodatkowe ryzyko związane z ekstrakcją i ścieżką, zamiast traktować je jako równoważne pojedynczemu strumieniowi XML.

Ustaw limity skompresowanych bajtów, rozszerzonych bajtów, czasu przetwarzania, pamięci, liczby rekordów i współbieżności. Egzekwuj limity rozmiaru rozwiniętego podczas odczytu, a nie po przydzieleniu całego wyniku. Deklaracje wielkości wewnątrz kontenera nie zastępują pomiaru rzeczywistej wydajności. Zatrzymaj przetwarzanie po osiągnięciu skonfigurowanego limitu.

Analizuj bez zbędnych możliwości

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

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

Użyj utrzymywanego analizatora składni z przejrzaną jego rzeczywistą konfiguracją środowiska wykonawczego. Wyłącz niepotrzebne typy dokumentów, rozpoznawanie podmiotów zewnętrznych, XInclude i pobieranie zasobów zewnętrznych. Traktuj nieobsługiwane ustawienia wzmacniania zabezpieczeń jako błędy konfiguracji, a nie ostrzeżenia, które należy zignorować. Tam, gdzie wymagana jest weryfikacja, używaj zaufanych schematów lokalnych, zamiast podążać za lokalizacjami schematów dostarczonymi w załączniku. Zastosuj ograniczenia dotyczące zagnieżdżenia i rozmiaru tekstu, a także całkowitej liczby bajtów.

Sprawdź oczekiwaną strukturę raportu i semantykę pól niezależnie od poprawności XML. Dokument może być dobrze sformułowany, ale nie nadawać się do użytku jako plik DMARC raport. Zachowaj powód odrzucenia bez przekładania błędu analizatora na werdykt uwierzytelnienia poczty.

Użyj małego ograniczonego urządzenia

Przykładowa konfiguracja pomostowa: pozwala na skompresowane dane wejściowe o wielkości 64 KiB i rozszerzone dane wyjściowe o wielkości 256 KiB dla celowo małego pracownika testowego. Nieszkodliwe urządzenie GZIP rozszerza się do 300 KiB powtarzalnego tekstu testowego. Oczekiwanym rezultatem jest zatrzymanie w rozszerzonym rozmiarze przed pełną materializacją, brak zatwierdzonych wierszy raportu i diagnostyka zawierająca limit i odniesienie do danych wejściowych.

Liczby te stanowią limity demonstracyjne, a nie porady dotyczące wielkości produkcji. Natychmiast po tym przetestuj ważny mały raport, aby sprawdzić, czy pracownik nadal nadaje się do użytku. Zanim zgłosisz, że kontrola działa, zapisz rzeczywiste pomiary. W tym artykule opisano wymagane zachowanie tymczasowe, a nie wykonany test dzierżawy. Pakiet przeglądowy rejestruje także nową ograniczoną demonstrację GZIP w języku Python: wykrywa rozszerzenie poza limit 256 KiB z maksymalnie jednym dodatkowym bajtem wykrywania, a następnie pomyślnie obsługuje niewielki prawidłowy strumień tekstu XML. To pokazuje tylko lokalną ochronę dekompresji, a nie wzmacnianie parsera, izolację pamięci lub zachowanie bazy danych.

Zatwierdzaj tylko zweryfikowane dane

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

Przygotuj znormalizowane rekordy i zakończ importowanie atomowo po sprawdzeniu poprawności i obsłudze duplikatów. Przerwany plik nie powinien pozostawiać częściowego zliczenia w analizach produkcyjnych. Ustaw powtórkę jako idempotentną i zachowaj decyzję łączącą powtarzające się przybycia ze zliczonym raportem.

Monitoruj odrzucone bajty, czas przetwarzania, wiek kolejki i wyniki odzyskiwania. Prawidłowe raporty mogą przekraczać lokalne limity, dlatego zapewnij kontrolowaną ścieżkę przeglądu, zamiast automatycznie podnosić każdy limit. Zamknij projekt operacyjny z nazwanymi właścicielami w celu przyjęcia, konserwacji analizatora składni, przechowywania danych i reagowania na incydenty.

[Na wynos]

Przesyłaj tylko sprawdzone, powielone dane i zachowuj kontrolowaną diagnostykę.

[ Według roli ]

Co to oznacza dla Ciebie

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

Administrator IT / poczty

Egzekwuj limity rozszerzenia przesyłania strumieniowego.

Sprawdź poprawność przed zatwierdzeniem metryk. Powtórka testu i odzyskiwanie po awarii.

Kolejne kroki

  1. Egzekwuj limity rozszerzenia przesyłania strumieniowego.
  2. Sprawdź poprawność przed zatwierdzeniem metryk.
  3. Powtórka testu i odzyskiwanie po awarii.

CISO / SecOps

Przejrzyj uprawnienia pracownika i wyjście.

Wymagaj mierzonych testów zasobów. Trzymaj wrogie dane wejściowe z dala od nieograniczonych dzienników.

Kolejne kroki

  1. Przejrzyj uprawnienia pracownika i wyjście.
  2. Wymagaj mierzonych testów zasobów.
  3. Trzymaj wrogie dane wejściowe z dala od nieograniczonych dzienników.

Założyciel / Nietechniczny

Przypisz własność, aby zapewnić niezawodność kolektora.

Należy odróżniać przerwy w przetwarzaniu od awarii poczty. Sfinansuj kontrolowaną ścieżkę przeglądu ponadgabarytowych raportów.

Kolejne kroki

  1. Przypisz własność, aby zapewnić niezawodność kolektora.
  2. Należy odróżniać przerwy w przetwarzaniu od awarii poczty.
  3. Sfinansuj kontrolowaną ścieżkę przeglądu ponadgabarytowych raportów.

[ Często zadawane pytania ]

Często zadawane pytania

Czy załącznik jest zaufany, ponieważ dotarł do rua?

Nie. Intake musi traktować treść raportu jako niezaufaną.

RFC 9990 §8.2

Jaką kompresję zaleca bieżący zagregowany dokument RFC?

GZIP dla raportu XML; dodatkowe starsze kontenery wymagają wyraźnej polityki zgodności.

RFC 9990 §3.5.2

Kiedy należy uruchomić sprawdzanie rozmiaru rozszerzonego?

Podczas dekompresji, przed przydzieleniem lub zapisaniem pełnego wyniku.

Czy limity skompresowanego rozmiaru są wystarczające?

Nie. Rozszerzone bajty, czas, pamięć i współbieżność również wymagają kontroli.

RFC 9990 §8.1

Czy lokalizacje schematów analizatora składni powinny uruchamiać pobieranie sieciowe?

Korzystaj z zaufanych lokalnych zasobów do sprawdzania poprawności i zapobiegaj pobieraniu poprzez załączniki.

Czy zniekształcony kod XML jest dowodem fałszywej poczty?

Nie. Jest to wynik przetwarzania, a nie wynik uwierzytelnienia wiadomości.

Co się stanie, jeśli ważny raport przekroczy lokalny limit?

Poddaj go kwarantannie w celu kontrolowanego przeglądu bez cichego osłabiania całego rurociągu.

Jak należy odzyskać dane po nieudanym imporcie?

Nie wprowadzaj żadnych częściowych danych, zachowaj bezpieczną diagnostykę i normalnie zweryfikuj proces następnego ważnego raportu.

[ Źródła ]

Źródła

  1. RFC 9990

    Sekcje §3.1 · §3.1.1 · §3.5.2 · §3.5.4 · §8.1 · §8.2 · §9.2

  2. Zapobieganie podmiotom zewnętrznym OWASP XML

    Sekcje Ogólne wskazówki

[ Słowniczek ]

Słowniczek

Rozszerzony rozmiar
Bajty wyjściowe utworzone w wyniku dekompresji, niezależnie od skompresowanej długości wejściowej.
Zatwierdzenie atomowe
Projekt magazynu lokalnego, który udostępnia wszystkie zatwierdzone zmiany importu razem lub żadne z nich.
Raport zbiorczy
Zgrupowane obserwacje odbiorcy dotyczące oceny DMARC w okresie raportowania.

RFC 9990 §3.1

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