커널 수준에서 HTTP 요청에 대한 인증 과정을 거치게 함으로써 웹서버에 대한 분산 서비스 거부 공격을 막는 방법이 올해 NSDI(Symposium on Networked Systems Design and Implementation)에서 발표되었습니다. 동작 방식은 이렇습니다. 평상시에는 여느 웹서버와 다름없이 동작하다가, 일단 HTTP 요청이 급증하게 되면 인증 모드로 전환합니다. 인증 모드에서는 모든 HTTP 요청을 커널에서 가로채서 웹서버의 응답대신 사람인가를 확인할 수 있는 문제를 보냅니다. 현재는 문제로 CAPTCHA를 쓰고 있습니다. 만일 문제를 제대로 풀면 쿠키를 설정해서, 이후로는 커널의 인증 과정 없이 바로 웹서버로 요청이 갈 수 있도록 하고, 풀지 못하면 해당 IP를 “좀비”로 등록합니다. 시간이 가면서 HTTP 요청이 새로운 IP에서 오는 것이 아니라 기존 IP에서만 반복해서 들어오게 되면, 문제를 내던 모드에서 벗어나서 “좀비”들만을 무조건 막아버리는 모드로 전환하게 됩니다.

사실 CAPTCHA 자체도 시각 장애인들에게 불리한 요소가 있고, 커널이 HTTP 요청까지 직접 담당하게 하는 것이 기존 네트워크의 계층 구조를 위반한다는 문제가 있긴 하지만, 그래도 지금까지 나온 분산 서비스 공격에 대한 대처 방안들 중에서는 가장 현실성있는 제안인 것 같습니다. 전문은 PDF로 받아 볼 수 있습니다.

댓글 남기기