[Prisma Cloud Compute Edition] ECS Fargate 작업이 대규모 트래픽을 처리할 때 종료 코드 255로 종료됩니다.

[Prisma Cloud Compute Edition] ECS Fargate 작업이 대규모 트래픽을 처리할 때 종료 코드 255로 종료됩니다.

725
Created On 07/31/24 08:21 AM - Last Modified 02/19/26 16:54 PM


Symptom


  • ECS Fargate 작업에 방어자가 설치되어 있습니다.
  • 방어된 작업은 더 큰 트래픽을 처리할 때 코드 255로 종료됩니다.
  • 동일한 배포 유형이지만 트래픽이 적으면 동일한 오류가 보고되지 않는 것 같습니다.
  • 수비수 없이도 더 큰 트래픽이 있어도 작업이 정상적으로 작동합니다.



Environment


  • Prisma Cloud Compute Edition
  • AWS ECS 파게이트


Cause


  • 대부분의 Linux 시스템에서 최대 명령줄 인수 크기는 128kb의 데이터입니다(메모리 페이지 크기에 따라 다름). 여기를 참조하세요 - https://elixir.bootlin.com/linux/v4.15/source/include/uapi/linux/binfmts.h
  • 인수가 이 크기보다 큰 경우 방어자는 인수 문자열을 읽지 못하고 실행을 중단합니다(크기 제한 내에서 NULL 문자를 찾을 수 없음):
failed to fetch execve arguments: failed to read argument: failed to find string in <ArgString>
  • 따라서 여기서 문제는 인수 명령줄이 너무 길어서 128kb의 제한에 도달하고 방어자가 설계된 대로 실행을 처리하지 못한다는 것입니다.
  • 방어자는 128kb로만 제한되어 있고 방어자에서 제한을 변경할 수 없으므로 작업이 실패합니다.


Resolution


  • 여기서 가능한 회피 방법 하나는 인코딩된 JSON을 다른 파일로 전달하여 인수 문자열을 해당 JSON의 파일 경로로 지정하여 훨씬 더 짧게 만드는 것입니다.
  • 또는 더 짧은 주장에 대한 다른 솔루션 찾아보세요.
  • 최신 Linux 시스템은 여기에 설명된 대로 2MB 이상의 인수 크기를 지원할 수 있으므로 Defender는 인수 크기에 대한 128kb 제한을 제거하도록 수정될 예정입니다. https://man7.org/linux/man-pages/man2/execve.2.html


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000HDluCAG&lang=ko&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language