페이로드
페이로드(Payload)이란 목적지 시스템이 수신하는 유일한 데이터이다. 인터넷을 통해 데이터가 전송 될 때 전송되는 각 장치에는 헤더 정보와 전송되는 실제 데이터를 모두 포함한다. 헤더는 패킷의 소스 및 대상을 식별하는 반면, 실제 데이터는 페이로드라고 한다. 헤더 정보, 즉 오버헤드 데이터는 전송 프로세스에서만 사용되기 때문에, 목적지에 도달하면 패킷으로부터 벗겨진다. 위스퍼프로토콜의 메시지에서 페이로드는 실제 메시지 컨텐츠를 담고 있으며, 수신자의 SECP-256k1 공개키로 암호화되며, 수신자가 없을 경우 AES-256의 임의의 키로 암호화된다.
개요
인터넷을 통해 데이터가 전송 될 때 전송되는 각 장치에는 헤더 정보와 전송되는 실제 데이터가 모두 포함된다. 헤더는 패킷의 소스와 대상을 식별하는 반면 실제 데이터는 페이로드라고 힌다. 헤더 정보 또는 오버 헤드 데이터는 전송 프로세스에서만 사용되므로 대상에 도달하면 패킷에서 제거된다. 따라서 페이로드는 대상 시스템에서 수신 한 유일한 데이터이다.
특징
컴퓨팅에서 페이로드는 패킷 또는 다른 전송 데이터 장치의 전송 용량이다. 이 용어는 군대에 뿌리를 두고 있으며 종종 피해를 입히는 실행할 수 있는 악성 코드의 용량과 관련이 있다. 기술적으로, 특정 패킷 또는 다른 PDU(Protocol Data Unit)의 페이로드는 통신 엔드 포인트에 의해 전송된 실제 전송 데이터이다. 네트워크 프로토콜은 패킷 페이로드에 허용되는 최대 길이도 지정한다.
악성 코드와 관련하여 페이로드는 일반적으로 대상 피해자에게 해를 끼치는 악성 코드를 의미한다. 맬웨어 페이로드는 윔(Computer Worm), 피싱(Phishing) 이메일 및 기타 전달 메커니즘을 비롯한 다양한 경로에 의해 배포될 수 있다. 현재 맬웨어 작성자는 일반적으로 맬웨어 차단 제품에서 악성 코드를 숨기기 위해 페이로드를 암호화한다. 공격자는 2단계 방법을 사용하여 피해자에게 실제로 피해를 입히는 실제 페이로드를 감염 경로와 분리하여 유지함으로써 방어를 우회한다. 이러한 방식으로 피싱 이메일 및 웜과 같은 입증된 배포 방법을 시간이 지남에 따라 악성 페이로드 전송에 맞게 조정할 수 있다.
맬웨어 페이로드가 최대 수용 능력 측면에서 지정된 제한을 가지고 있지 않지만 악의적인 자들은 엔드 포인트 또는 네트워크 보안 제품에 의해 플래그되지 않도록하기 위해 적절한 크기로 자신의 악성 코드 페이로드를 유지하려 한다. 반면에 네트워크 프로토콜은 통과하는 네트워크와 양쪽 끝에 있는 시스템에 적합한 최대 페이로드 크기를 지정해야 한다. 일부 프로토콜은 트레일러 필드를 사용하여 패킷의 끝을 나타내지 만 다른 프로토콜은 네트워크 노드가 패킷의 끝을 계산할 수 있어야 한다. 예를 들어, IP(Internet Protocol)은 패킷 페이로드가 끝나는 위치를 결정하기 위해 네트워크 노드가 사용하는 패킷 헤더의 카운터를 사용한다.
멀웨어 페이로드 및 효과
거의 모든 종류의 맬웨어를 페이로드 생성기를 사용하여 실행 가능한 맬웨어를 만들 수 있다. 침투 테스터를 비롯한 악의적인 자들은 대상에 전달을 위한 페이로드로 악성 코드의 실행 부분을 통합하는 페이로드 생성기를 사용합니다. Metasploit 프로젝트는 페이로드 생성기를 포함 보안 취약점을 연구 자원을 포함하는 오픈 소스 프로젝트다. 페이로드 생성기는 일반적으로 대상에서 분해 가능한 명령 쉘을 시작할 수 있는 코드 시퀀스인 쉘 모드를 허용하고 페이로드 전송을 실제로 활성화하는 실행 가능한 이진 파일을 생성한다. 페이로드 전달 프로세스는 일단 전달 및 실행되면 대상 시스템을 감염시킬 수 있다. 악성 프로그램 탐지 시스템과 전송된 데이터의 악성 코드를 탐지하는 기능에 따라 이메일 또는 다른 유형의 응용 프로그램 페이로드를 통해 전달된 맬웨어가 대상을 감염시킨다. 페이로드에는 랜섬웨어(Ransom Ware), 봇넷(Botnet) 또는 다른 유형의 바이러스나 웜(Computer Worm)을 포함한 모든 종류의 악성 프로그램이 포함될 수 있다.
IP패킷 페이로드 vs 맬웨어 페이 로드
IP패킷은 웹 콘텐츠에 대한 요청과 같이 최종 사용자가 실행하는 명령이 있는 페이로드가 포함될 수 있다. 보다 일반적으로 사용자 요청에 응답하여 서버가 전송한 실제 데이터로 구성된 페이로드를 전달한다.전원 분배 장치(Power Distribution Unit, PDU)에 대한 페이로드 제한은 일반적으로 관련 프로토콜 사양에 의해 지정되며 개별 PDU에 대한 페이로드의 최대 크기는 가끔 변경된다.
네트워크 페이로드의 최대 크기는 프로토콜의 최대 전송 단위(Maximum Transmission Unit, MTU)크기에서 프로토콜 헤더 및 프로토콜의 경우 트레일러에 필요한 데이터 양을 빼서 결정할 수 있다. IP 패킷의 MTU는 시스템 및 네트워크에 따라 다를 수 있다. 원래 IP표준(RFC791)은 모든 호스트가 512바이트의 데이터 페이로드와 64바이트의 데이터를 사용하여 576바이트를 허용한다. IPv4패킷에 대해 일반적으로 승인된 기본 MTU는 이더넷 세그먼트와의 호환성을 위해 1,500바이트로 조정되었다. 개별 시스템에 대해서도 더 크거나 더 작은 MTU를 지정할 수 있다. IP패킷의 최대 페이로드의 크기는 IP패킷 헤더의 총 길이 필드에 의해 제한된다. 이 필드의 길이는 16 비트이다. 즉, 가능한 최대 값은 이며, 패킷 길이에 가능한 최대 값은 65,535이다. 페이로드는 그보다 클 수 없다. 패킷 헤더에 필요한 바이트 수를 뺀 값이다.
네트워크 프로토콜 페이로드의 제한은 프로토콜 성능에 영향을 미칠 수 있기 때문에 중요하다. 페이로드가 작을수록 데이터 볼륨에 더 많은 패킷을 생성하고 전송해야 한다는 것을 의미한다. 더 큰 페이로드는 더 많은 패킷을 생성해야 하는 필요성을 줄여 주지만 오류나 일시적인 네트워크 상태로 인한 지연 없이 대량의 데이터를 전송할 수 있는 빠르고 안정적인 네트워크 환경이 필요하다.
각주
참고자료
- TechTerms, 〈Payload〉, 《TechTerms》, 2005-10-01
- yannis, 〈What does the term “Payload” mean in programming〉, 《StackExchange》, 2012-07-28
- KOROMOON, 〈네트워크 메시지 포맷팅 - 헤더, 페이로드, 푸터〉, 《TechTerms》, 2005-10-01
- Margaret Rouse, 〈payload (computing)〉, 《SearchSecurity》, 2005-04-05
같이보기