Abstract
Stateful inspection devices must maintain flow information. These devices create the flow information also for network attack packets, and it can fatally inflate the dynamic memory allocation on stateful inspection devices under network attacks. The memory inflation leads to memory overflow and subsequent performance degradation. In this paper, we present a guideline to set the flow entry timeout for a stateful inspection device to remove harmful embryonic entries created by network attacks. Considering Transmission Control Protocol (TCP) if utilized by most of these attacks as well as legitimate traffic, we propose a parsimonious memory management guideline based on the design of the TCP and the analysis of real-life Internet traces. In particular, we demonstrate that for all practical purposes one should not reserve memory for an embryonic TCP connection with more than (R+T) seconds of inactivity where R=0, 3, 9 and $1\leqq{T}\leqq{2}$ depending on the load level.
스테이트풀 인스펙션을 수행하는 기기에서는 패킷 플로우에 대한 정보를 유지해야 한다. 이러한 기기는 네트워크 공격 패킷에 대하여도 패킷 플로우 정보를 유지하게 되어 네트워크 공격 하에서 과도한 메모리가 요구되고 이로 인하여 메모리 오버플로우나 성능 저하가 일어난다. 따라서 이 논문은 스테이트풀 패킷 인스펙션 시 공격에 의해 생성되는 불필요한 미완성 엔트리를 제거하기 위해 사용할 수 있는 플로우 엔트리 타임아웃 값에 대한 가이드라인을 제시한다. 대부분의 인터넷 트래픽과 상당수의 네트워크 공격이 TCP 프로토콜을 사용하기 때문에 RFC2988의 TCP 재전송 시간 계산 규약에 기초를 둔 실제 인터넷 트레이스에 대한 분석을 통해 가이드라인을 도출한다. 구체적으로, 미완성 TCP 연결 설정 상태에서 (R+T) 초 이상 경과한 엔트리는 제거하여야하며, 이 때 R은 SYN 재전송 허용 회수에 따라 0,3,9를 선택하고 T는 $1\leqq{T}\leqq{2}$ 에서 부가적인 왕복 지연 허용치에 따라 선택하여야 함을 보인다.