최근 'POWBlock'이라는 새로운 작업증명(Proof-of-Work, PoW) 마이크로서비스가 공개되어 서버 보안 업계의 주목을 받고 있습니다. 이 솔루션은 기존 서버 스택에 불필요한 복잡성을 추가하지 않으면서도 강력한 봇 방어 기능을 제공하는 것을 목표로 합니다. 특히, Varnish Cache와 같은 리버스 프록시(reverse proxy) 환경에서 봇 차단을 위한 vmod(Varnish Module)가 부재했던 점에 착안하여 개발되었습니다.
POWBlock은 순수 C언어와 EPOLL을 사용하여 개발된 단일 1MB 바이너리 파일로, 어떠한 종속성(dependency)도 없이 작동합니다. 서버 뒤에 위치하여 클라이언트에게 SHA-256 또는 SHA-512 해시 연산을 요구하는 작은 자바스크립트 챌린지 페이지를 제공합니다. 클라이언트가 이 챌린지를 성공적으로 완료하면 'POW_TOKEN'이라는 쿠키를 발급받아 메인 사이트에 접근할 수 있게 됩니다. 이 과정은 HTTP 헤더를 통해 제어되며, 웹사이트 코드 수정 없이 기존 리버스 프록시나 웹서버 설정만으로 통합이 가능합니다. Varnish Cache, Openresty, HAProxy 등 대부분의 리버스 프록시와 호환되며, 2014년 이후의 주요 웹 브라우저를 지원합니다.
POWBlock의 등장은 기존 봇 방어 솔루션들이 흔히 겪는 '무겁고 복잡한 스택' 문제를 해결하려는 시도로 볼 수 있습니다. 최소한의 시스템 자원과 공격 표면(attack surface)을 유지하면서도, 악성 봇이 서버에 과부하를 주거나 자원을 소모하는 것을 효과적으로 방지합니다. 이는 특히 소규모 서비스나 개인 개발자들에게 추가적인 인프라 투자 없이 보안을 강화할 수 있는 실용적인 대안을 제시하며, 웹 서비스의 안정성과 가용성을 높이는 데 기여할 것으로 기대됩니다.