생일 역설이라고 파티에 n 명의 사람이 모였을 때

서로 생일이 같은 사람이 나올 확률이 50% 이상이 되려면

최소 몇 명의 사람이 모여야 하는가? 인데

n이 23명만 돼도 50% 확률이 넘으니 역설적이라고 하는 건데,


Conficker.C 웜 바이러스라고 이 생일 역설을 재미있게 응용한 사례가 있음.

Conficker 웜 바이러스가 시리즈가 Conficker.A부터 Conficker.E까지 있는데,

공격자가 새로운 버전을 만들었을 때 이걸 단 한 대의 컴퓨터라도 유포시키고 싶단 말이야?

그래서 자동 업데이트(self update) 기능을 넣어야 하는데, 이 자동 업데이트 기능이 매우 독특하면서 재미있음.

날짜에 근거해서 매일 고유한 50,000개의 도메인 주소를 생성해서 그 중 500개를 랜덤하게 뽑아서 거기에 접속한 뒤

접속이 성공하면 최신 버전의 바이러스를 다운 받음. 이제 공격자가 몇 개의 도메인을 미리 등록해 놓느냐가 관건인데,

100개만 등록해도 63.43%의 확률로 1대 이상의 컴퓨터가 업데이트에 성공하고,

500개를 등록할 경우 99.359%의 확률로 성공한다고 함.


반대로 방어하는 입장에서 보면 날짜를 이용해서 매일 고유하게 생성되는 50,000개 도메인 중에서 어떤 것이 바이러스 유포 도메인인지

알기가 매우 까다롭고 알았다고 하더라도 차단하기가 곤란함. 매일 도메인이 달라지니깐. 그리고 50,000개 도메인을 하나라도 막지 못하면

확률이 1%가 되어서 50,000개 도메인을 모두 막아야 함.


사스가... 머리 너무 좋은 거 아니냐 ㅋㅋㅋ