○ 멤캐시드(Memcached)
메모리를 사용해 캐시서비스를 제공해 주는 데몬으로 기업에서 대역폭을 효과적으로 사용하기 위해 구축한다.
보통 디스크 스토리지나 DB 같은 대규모 데이터 저장소의 부하를 줄이기 위해 캐시를 저장해두는 도구 이다.
- 특징
데이터를 디스크(or SSD)에 저장하는 데이터베이스와는 다르게 Memcached는 데이터를 메모리에 유지한다.
디스크보다 메모리가 속도가 빠르므로 엑세스 속도가 빠르다. (응답시간이 작다)'
Memcached는 분산형이라 확장이 쉽다.
단순성 및 사용 편의성
사용처
캐싱
세션스토어
자유 오픈소스 고성능 분산 메모리 객체 캐싱 시스템
DB 로드를 완화하여 동적 웹 애플리케이션의 속도를 높이는데 사용할 수 있도록
○ 멤캐시드 반사 공격(Memcached DRDos)
공용 네트워크상에 공개되어 있는 대량의 멤캐시드 서버(분산식 캐시 시스템)에 존재하는 인증과 설계의 취약점을 이용한 공격
멤캐시드 서버는 통상 캐시가 필요한 시스템에만 사용되고 인터넷에 노출이 되지 않는다.
(그래서 별도의 인증을 거치지 않음)
그러나 현실은 인터넷에 노출된 멤캐시드 서버가 적지 않고 이를 악용해서 DDoS 공격 수단으로 활용한다.
그것이 멤캐시드 반사 공격이다.
○ 멤캐시드 반사 공격 대응방법
멤캐시드 서버 혹은 멤캐시드가 있는 네트워크 상단에 방화벽을 설치, 업무 관련 IP만 멤캐시드 서버에 접속하도록 허용함.
멤캐시드 서버의 리스닝 포드를 기본 포트인 11211이 아닌 다른 포트로 바꾼다.
멤캐시드를 최신 버전으로 업데이트하고 SASL을 사용해 비밀번호 설정 및 권한을 제어한다.
공격 피해 사례
깃허브
소스 공유사이트 깃허브는 멤캐시드를 이용하여 사상 최대규모의 DDoS 공격을 받았다.
디스크 스토리지나 DB 같은 대규모 데이터 저장소의 부하를 줄이기 위해 캐시를 저장해두는 도구이며, 통상 캐시가 필요한 시스템에만 사용되고 인터넷에 노출되지 않기 때문에 별도의 권한 설정을 요구하지는 않는다. 하지만 현실은 인터넷에 노출된 경우가 적지 않고, DDoS 공격 수단으로 이용될 수 있따. 통상적으로 DNS를 통해 트래픽을 증폭시키면 1kb요청을 가지고 약 50kb의 트래픽을 만들수 있지만 멤캐시드를 이요하면 100byte 요청으로 100MB~500MB의 트래픽을 만들수 있다. IoT 장치를 이용하는 미라이(Mirai) 봇넷을 이용한 공격 규모보다 2배이상 크기 때문에 공식적으로 발표된 최대 규모의 DDoS 공격일 가능성이 높다.