heygrc
SOC 2 CC6.7 w kodzie

Ochrona danych podczas ich przesyłania.

CC6.7 dotyczy ograniczenia i ochrony transmisji oraz ruchu danych: dane w trakcie przesyłania powinny być chronione, a ruch danych poza granicami powinien być kontrolowany. W dużej mierze zależy to od konfiguracji transportu oraz od miejsc, do których kierowane są nowe przepływy danych, co sprawia, że jest to kwestia istotna dla pull requestów.

How it shows up in a diff

The shapes the same control failure takes.

CC6.7 słabnie, gdy transport przestaje być chroniony lub gdy dane zaczynają przesyłać się w nowe miejsce bez oczekiwanych kontroli. Powtarzające się wzorce:

  • Obniżenie minimalnej wersji TLS

    Minimalna wersja TLS zostaje obniżona, wymóg silnego szyfrowania zostaje złagodzony lub na ścieżce przenoszącej wrażliwe dane staje się możliwe obniżenie poziomu zabezpieczeń.

  • Wewnętrzne połączenie staje się niezaszyfrowane

    Wywołanie między usługami, które przenosiło wrażliwe dane, zostaje zmienione na zwykły HTTP, lub wewnętrzny punkt końcowy przestaje wymagać TLS, zakładając, że sieć jest zaufana.

  • Weryfikacja certyfikatu jest wyłączona

    Weryfikacja zostaje wyłączona, aby obejść problem z certyfikatem, więc kanał nie jest już uwierzytelniany i może zostać przechwycony.

  • Nowy eksport wysyła dane na zewnątrz

    Webhook, synchronizacja lub integracja z zewnętrznym dostawcą zaczyna przesyłać dane poza swoje granice bez kontroli, których oczekuje to kryterium w przypadku takiego ruchu.

  • Chronione pole staje się rejestrowalne

    Wrażliwe dane, które były wyłączone z transportu, zaczynają być wysyłane do zlewu (np. narzędzia do zbierania logów, potoku analitycznego), który nie był objęty zakresem ich przenoszenia.

Worked example

Wewnętrzne wywołanie, które cofa się do zwykłego HTTP.

Dodano nowego klienta wewnętrznego dla usługi, która udostępnia zarówno HTTP, jak i HTTPS. Aby szybko go uruchomić, połączenie zostało skierowane na port zwykłego HTTP. Działa, ale wrażliwe dane, które przenosi, teraz przemieszczają się przez sieć bez ochrony.

clients/billing.ts+1 -1
- const BILLING_URL = "https://billing.internal:8443"+ const BILLING_URL = "http://billing.internal:8080"const res = await post(`${BILLING_URL}/charge`, { card, amount })
heygrcSOC 2 CC6.7

Ładunek płatności teraz przemieszcza się przez sieć w postaci niezaszyfrowanej. CC6.7 wymaga ochrony danych w trakcie przesyłania, a stwierdzenie 'to tylko sieć wewnętrzna' nie jest kontrolą, której dotyczy to kryterium. Należy skierować klienta na punkt końcowy HTTPS i zachować TLS na każdym połączeniu, które przenosi wrażliwe dane.

What an auditor does with this

Ochrona transmisji jest sprawdzana od początku do końca.

Auditor nie tylko potwierdza, że publiczne punkty końcowe używają TLS; sprawdza, dokąd przesyłane są wrażliwe dane i czy są chronione przez cały czas, w tym na połączeniach wewnętrznych i nowych integracjach. Pojedyncze wywołanie cicho przeniesione na zwykły HTTP lub nowy eksport bez kontroli to rodzaj luki, którą ujawnia przegląd konfiguracji. Zmiana, która ją wprowadziła, była w diffie, a to najtańsze miejsce, aby ją złapać.

What this is, and is not

Przegląd, a nie audyt sieci.

heygrc sygnalizuje zmiany, które dotyczą CC6.7, i cytuje kryterium, aby naprawa nastąpiła w pull request. Nie mapuje całej topologii przepływu danych ani nie przeprowadza audytu. Wychwytuje moment, w którym transport przestaje być chroniony, na poziomie diff.