Add security/README.md
This commit is contained in:
24
security/README.md
Normal file
24
security/README.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# DNS 0x20 인코딩 (DNS Case Randomization)
|
||||
```
|
||||
캐시 포이즈닝 공격 방어
|
||||
|
||||
DNS 쿼리 ID는 16비트(65,536개)로 예측 가능
|
||||
공격자가 가짜 응답을 보내서 DNS 캐시를 오염시킬 수 있음
|
||||
대소문자 랜덤화로 추가 엔트로피 제공 (2^도메인길이)
|
||||
쿼리 고유성 증가
|
||||
|
||||
원본: worker.yauk.tv
|
||||
랜덤화: workER.YAuK.TV, WORker.yauk.TV, etc.
|
||||
|
||||
같은 도메인이라도 매번 다른 대소문자로 쿼리
|
||||
공격자가 정확한 케이스를 맞추기 어려워짐
|
||||
RFC 문서
|
||||
|
||||
RFC 1035: DNS는 case-insensitive
|
||||
RFC 5452: DNS 0x20 보안 확장 표준
|
||||
실제 구현체들
|
||||
Cloudflare, Google DNS: 기본적으로 0x20 사용
|
||||
BIND: use-v4-udp-ports, use-v6-udp-ports 옵션
|
||||
Unbound: use-caps-for-id 옵션
|
||||
그래서 DNS 서버는 항상 case-insensitive하게 처리해야 합니다. 이는 보안 기능이 아니라 DNS 표준 준수입니다.
|
||||
```
|
||||
Reference in New Issue
Block a user