포크는 상위 프로세스라고 하는 기존 프로세스를 복제하여 하위 프로세스라고 하는 새 프로세스를 생성하는 Unix 및 Linux 운영 체제의 시스템 호출입니다. 이 기능을 사용하면 상위 프로세스와 하위 프로세스가 서로 다른 작업을 동시에 실행할 수 있습니다. 하위 프로세스는 고유 프로세스 ID 및 기타 몇 가지 속성을 제외하고 상위 프로세스의 정확한 복사본입니다. Forking은 이러한 운영 체제의 기본 개념이며 다양한 프로그램 실행 및 멀티태스킹 관리를 위한 새로운 프로세스 생성을 비롯한 다양한 목적으로 사용됩니다.
'토끼 바이러스'라고도 알려진 포크 폭탄은 포크 시스템 호출을 악용하는 일종의 서비스 거부(DoS) 공격입니다. 이 공격에서는 악의적인 프로세스가 포크 호출을 반복적으로 사용하여 새로운 프로세스를 생성하고, 이로 인해 더 많은 프로세스가 생성되어 프로세스 수가 급격하고 기하급수적으로 증가하게 됩니다. 이 반복 프로세스는 시스템에 메모리나 프로세스 슬롯과 같은 리소스가 부족하여 과부하가 걸리고 응답하지 않을 때까지 계속됩니다.
포크 폭탄의 주요 목표는 시스템 리소스를 고갈시켜 시스템이 의도한 기능을 수행하지 못하거나 사용자 입력에 응답할 수 없게 만드는 것입니다. 공격은 시스템을 효과적으로 중단시켜 시스템이 다시 시작되거나 악성 프로세스가 종료될 때까지 사용할 수 없게 만들 수 있습니다. 포크밤은 구현하기가 상대적으로 간단하고 심각한 혼란을 야기할 수 있으므로 서비스 거부를 유발하려는 공격자에게 강력한 도구가 됩니다.
포크 폭탄의 위험을 완화하기 위해 시스템 관리자는 사용자 및 프로세스에 대한 리소스 제한을 구현하여 단일 사용자가 또는 특정 기간 내에 생성할 수 있는 프로세스 수를 제한할 수 있습니다. 시스템 리소스와 활성 프로세스를 정기적으로 모니터링하면 잠재적인 포크 폭탄 공격을 탐지하고 대응하는 데 도움이 될 수도 있습니다.