Payload (informatyka)

Payload – fragment przesyłanych danych, będący formą wiadomości. Payload nie zawiera informacji wysyłanych wraz z nim, takich jak nagłówki bądź metadane, czasami określane jako dane ogólne, wysyłane wyłącznie w celu ułatwienia dostarczenia pakietu[1][2].

Termin „payload” służy do rozróżnienia „istotnych” informacji w otrzymanym pakiecie od metadanych wykorzystanych do jego obsługi. Pojęcie to jest zapożyczone z dziedziny transportu, gdzie odnosi się ono do „wartościowej” części obciążenia. Przykładowo ładowność cysterny wynosi 20 ton oleju, lecz masa całkowita pojazdu w pełni załadowanego jest dużo większa, ponieważ dochodzi do tego m.in. masa zbiornika, ładunku, pojazdu, kierowcy etc. Używanie pojazdu do transportu ładunku wiąże się z kosztami, ale klient płaci (ang. pay) tylko za dostarczony olej (czyli ładunek – ang. load), stąd określenie payload.

Zastosowania

edytuj

W kontekście bezpieczeństwa komputerowego, termin payload oznacza część szkodliwego oprogramowania, która wykonuje szkodliwe działanie[3]. Ma ono zazwyczaj dwa cele: rozprzestrzenianie się i wykonywanie pewnej modyfikacji w systemie docelowym, takiej jak usuwanie plików, złamanie zabezpieczeń systemu, wykonanie połączenia telefonicznego itp. Część, która się rozprzestrzenia to metadane, natomiast kod, który wykonuje rzeczywistą szkodliwą pracę, to payload.

W kontekście analizy szkodliwego oprogramowania, takiego jak robaki, wirusy i konie trojańskie, payload odnosi się do niekorzystnych efektów działania takich programów. Przykładowe payloady obejmują m.in. niszczenie danych, wiadomości zawierające obraźliwe treści lub fałszywe wiadomości e-mail wysyłane do dużej liczby osób.

W programowaniu, najbardziej powszechne użycie tego terminu występuje w kontekście protokołów komunikacyjnych, w celu odróżnienia metadanych od danych rzeczywistych. Przykładowo można rozważyć odpowiedź usługi JSON, która wygląda następująco (sformatowane dla zwiększania czytelności):

{  
   "status":"OK",
   "data":{  
      "message":"Hello, world!"
   }
}

W tym przypadku ciąg "Hello, world!" jest payloadem – tzn. częścią, która najbardziej interesuje odbiorcę – resztę stanowią metadane protokołu.

Przypisy

edytuj
  1. Payload definition. Pcmag.com, 1994-12-01. [dostęp 2012-02-07].
  2. Payload definition. Techterms.com. [dostęp 2012-02-07].
  3. Payload definition. Securityfocus.com. [dostęp 2012-02-07].