341
26
장
DoS 방어
련해서는 안전한지 위험한지의 이분법보다는 규모로 가늠하며, 잘 작성된 앱이라 할지라도 공
격자가 일반적인 성능의 코드를 압도할 만큼 막대한 양의 리소스를 동원한다면 논리
DoS
를 당
할 수 있다.
따라서
DoS
위험과 관련해 노출된 기능을 상·중·하와 같이 생각해야 한다.
DoS
는 리소스
의 소모에 의존하며
XSS
공격처럼 취약·안전으로 구분하기 어렵다는 점에서 더 합리적이다.
XSS
익스플로잇은 존재하거나 그렇지 않을 뿐이다.
DoS
는 코드를 익스플로잇하기가 극단적으로 어렵거나 쉽거나의 중간 어디쯤에 있을 것이다.
고사양 데스크톱을 쓰는 사용자는 클라이언트 측 기능의 익스플로잇을 눈치채지 못할 수 있지
만 구형 스마트폰 사용자는 느낄 수도 있다. 일반적으로 말해서 익스플로잇 코드의 위험도를
세 범주로 나눌 때 하나는 ‘안전’하고 다른 둘은 ‘취약’하다고 말하기란 극단적으로 어렵다.
논리
DoS
로부터 보호하려면 코드베이스에서 중요한 시스템 리소스를 활용하는 영역을 식별해
야 한다.
26.3
DDoS
방어
분산 서비스 부인 공격 (
DDoS
)은 단일 공격자가 저지르는
DoS
공격에 비해 막아내기가 더
어렵다. 단일 타깃
DoS
공격은 애플리케이션 코드에 있는 버그(부적절하게 작성된 정규 표현
식이나 리소스를 점유하는
API
호출 등)를 타깃으로 할 때가 많지만
DDoS
공격은 본성적으
로 더 단순하다.
웹에서 발생하는
DDoS
공격은 대부분 공격 원점이 여러 곳인데, 이들은 중앙의 통제를 받는
다.
DDoS
는 모종의 채널을 ...