- DDos & Auto-Scaling
- 신속한 성능 확장이 가능하다는 것은 클라우드 컴퓨팅의 대표적인 장점 중 하나이다.
- 즉 Auto-Scaling은 DDoS 공격에 대한 효과적인 방어수단으로도 사용된다.
- 하지만 Auto-Scaling을 사용해서 DDoS공격에 안정적인 성능을 보장하려면 비용이 급격하게 증가하는 문제가 발생한다.
- Auto-Scaling은 클라우드 IT 자원의 과부하 수준 + 과부하가 지속되는 기간을 동시에 고려하여 Scale-Out 또는 Scalie-In을 수행한다.
- Auto-Scaling Rule 규칙은 다음의 세 가지로 정의한다.
- threshold : scale-out/in을 실행하기 위한 임계치 (예: CPU 80% 초과)
- scale interval : 임계치를 초과한 상태를 유지하는 지속 시간(예: 위 상태가 1분간 지속되면)
- action: scale-out/in을 어떻게 수행할지에 대한 명세(예: VM 1개 추가)
- Auto-Scaling Rule 규칙은 다음의 세 가지로 정의한다.
- Auto-Scaling 메커니즘의 대표적인 두 가지 유형
- Discrete scale policy
- 서비서의 용량 부족이 감지되면 소수의 IT 자원을 추가하는 동작을 반복적으로 수행
- 용량 부족을 해소할 때까지, IT 자원이 지속적으로 추가됨
- Adaptive scale policy
- 서비스의 용량 부족을 해소하기 위해 필요한 자원의 양을 예측한 뒤, 해당 수준만큼의 자원을 한 번에 추가하는 방식, 용량 부족이 감지되면 1회의 용량 확장을 수행함
- Discrete scale policy
위 그래프에서는 Discrete scale policy를 사용할 때 DDoS 공격 시 대응 방식을 보여준다.
위 그래프는 Discrete scale policy로 DDoS를 대처했을 때 가상머신의 부하를 시간에 따라 보여준다.
위 그래프는 Adaptive scale policy를 사용할 때 DDoS 공격시 대응 방식을 보여준다.
위 그래프는 Adaptive scale policy로 DDoS를 대처했을 때 가상머신의 부하를 시간에 따라 보여준다.
(가정: Scale-out interval 1분, Warm-Up interval 2분)
Yo-Yo Attack
- 전통적인 DDoS 공격은 지속적으로 Fake Transaction을 과도하게 발생시켜, 대상 서비스를 불능 상태로 만드는 것이 목적이다.
- Yo-Yo Attack은 대상 서비스가 Scale-Out/In을 반복하게 만들어서, 최소한의 공격 비용으로 최대한의 클라우드 사용 비용을 발생시키는 것이 목적이다.
- 과도한 트래픽 발생 -> Scale-Out-> 공격 중지 -> Scale-In 과정을 반복
- 공격자의 입장에서 공격에 소요되는 비용을 최소화할 수 있다는 장점이 있다.
위 그래프에서는 Discrete scale policy를 사용할 때 Yo-Yo 공격 시 대응 방식을 보여준다.
위 그래프는 Discrete scale policy로 Yo-Yo를 대처했을 때 가상머신의 부하를 시간에 따라 보여준다.
위 그래프는 Adaptive scale policy를 사용할 때 Yo-Yo 공격시 대응 방식을 보여준다.
위 그래프는 Adaptive scale policy로 Yo-Yo를 대처했을 때 가상머신의 부하를 시간에 따라 보여준다.
(가정: Scale-out interval 1분, Warm-Up interval 2분, On-attack, Off-attack 반복형태로 공격, HTTP flooding 공격)
- Yo-Yo Attack
- 공격자의 입장에서 비용 효율적인 공격을 수행하기 위해서는, Victim의 Auto-Scaling 상태를 정확하게 추론하는 것이 중요하다.
- 하지만 Victim의 상태를 정확하게 인지하는 것은 거의 불가능하기 때문에, 상태를 추론하는 방법을 사용해야 한다.
- 대표적인 방법으로 probing이 있다.
- 유요한 서비스 요청 패킷을 주기적으로 전송하여 victim 서비스의 응답 시간을 측정한다.
- Scale-out 프로세스의 상태를 판단하는 대표적인 방법으로 응답시간이 감소하고 있는지 여부를 확인하는 것이다.
- 공격자는 Scale-in 프로세스가 종료되면 공격자는 공격을 다시 시작하는데 scale-in 프로세스의 종료 시점을 탐지하는 것은 어렵다.
- Scale-in이 진행되는 동안, 응답시간에는 변화가 없기 때문이다.
- Scale-out을 유발하지 않는 수준으로 다수의 트래픽을 일정기간 전송하고, 응답 시간 변화를 관찰하여 scale-out이 완전히 종료되었는지 일시 중단된 것인지를 판단한다.
Adaptive scale policy를 사용하는 경우, Yo-Yo attack에 대한 반응 모니터링 결과
Discrete scale policy를 사용하는 경우, Yo-Yo attack에 대한 반응 모니터링 결과
참고자료
A. Bremler-Barr et al., "DDoS attack on cloud auto-scaling mechanisms, " IEEE INFOCOM 2017.
'클라우드컴퓨팅' 카테고리의 다른 글
클라우드 보안 (0) | 2024.04.20 |
---|---|
클라우드 사용 모니터링 매커니즘 (1) | 2024.04.19 |
클라우드 컴퓨팅 기본모델, 핵심기술 (1) | 2024.04.19 |
도커 Container Layer의 내용을 장기적으로 저장하기 (0) | 2024.04.07 |
도커 리소스 사용량 제한하기 (0) | 2024.04.07 |