[정보보안] Worm Propagation Model
by 너나나the time-tested model of Infectious diseases를 model worm propagation에 사용했다.
세가지 상태가 가능 - Susceptible(취약한 상태), Infected(감염된 상태), Removed(감염이 회복된 상태)
"infectious" hosts : continuously infect others. 그니까 그냥 거의 worm이라고 보면 된다!!
infectious hosts와 susceptible host가 접촉하면 이 susceptible host -> infectious host가 된다!!
"removed" hosts는 두가지가 있다 : worm에 대하여 패치가 돼서 면역이 생긴 컴퓨터 / worm의 circulation때문에 shut down이나 cut off가 된 컴퓨터
이제 그럼 worm propagation model을 생각해보자. 어떤 system이 다른 host에 contact할 확률은 모두 같다고 가정한다.
Simple Epidemic Model
처음으로 생각해볼 친구는 제일 단순한 모델이다. removed 상태는 생각하지 말고 Infectious 상태에 접촉해서 susecptible이 감염되는 경우만 생각한다.
I(t) = time t에서 감염된 host의 수
S(t) = time t에서 취약한 host의 수
N = system에서의 전체 host 수
beta = pair wise infection rate
alpha = worm's infection rate
이런 식을 얻을 수 있다. 하나씩 설명해보면 제일 위의 식은 우리 전체 system에서 host는 감염됐거나 취약한 친구밖에 없다!! 그래서 전체 host에서 감염된 친구를 빼면 취약한 친구가 나온다는 뜻.
두번째 식은 감염된 host의 시간 변화율은 취약한 친구가 시간당 감염 되는 것을 구하면 된다. 둘이 접촉을 하면 취약한 친구가 감염되고 거기에 상수 감염율을 곱하면 그게 감염된 host의 시간 변화율이다. 감염율은 beta
세번째 식은 웜의 감염율은 당연히 전체 host 수에 감염율을 곱하면 된다!!!!
그런데 이 식에서는 몇가지를 고려하지 못하는데 먼저 removed 상태가 없고 beta값이 상수라는 것이다. beta값도 감염된 host숫자가 늘어나면서 변하게 될텐데 여기서는 이 두가지를 고려하지 못한다.
그래서 두번째로 우리가 볼 worm propagation mode은
General Epidemic Model
이다!!! SIR모델이라고도 한다.
여기서는 몇가지 함수가 더 정의된다.
I(t) = time t에서 감염된 host의 수
S(t) = time t에서 취약한 host의 수
N = system에서의 전체 host 수
beta = pair wise infection rate
alpha = worm's infection rate
U(t) = time t에서 removed 되는 host의 수
gamma = infected host에서 removal rate
rho = epidemic threshold
removed 상태를 고려할껀데 이 모델에서 주의할 것은 susceptible 에서 예방돼서 removed 되는 상태는 생각하지 않고 그냥 infectious -> removed 되는 상태만 있다!!
이런 식들을 구할 수 있다!!
먼저 1번 식은 이제 감염된 host의 수 변화량을 구하려면 감염된 친구에 접촉한 취약한 친구의 수 (이건 증가량) 에 감염된 친구에서 remove 되는 친구들의 수 (감소량)을 빼주면 된다. 그래서 이걸 다시 표현하면 만약 감염된 host 변화량이 음수일려면(감염된 애들이 줄고 있다면) susceptible이 gamma/beta보다 작아야 하고 이걸 rho (epidemic threshold)라고 표현한다. 즉 susceptible이 rho보다 작다면 얘는 감염되지 않는다. rho보다 크다면 얘는 이제 심각한 상태!!
두번째 식은 removed되는 수의 변화량은 당연히 infectious 수에 removal rate를 곱해주면 된다.
세번째 식은 위와 비슷하게 전체 host의 수 = 감염된 친구들 + 취약한 친구들 + removal 친구들 더해주면 된다!!
여기서도 여전히 감염율 beta가 상수라는 점과 susceptible에서 예방으로 인해 removed가 바로 되는 상태를 고려하지 못했다.
그래서 좀 더 확장해서 susceptible에서 removed가 되는 모델을 생각해보자!!
Q(t) : susceptible host에서 removal
R(t) : infectious host에서 removal
I(t) : infectious hosts
J(t) ≡ I(t) + R(t) : infected host가 된적 있는 친구들
1번은 susceptible host의 시간변화율인데 이거는 susceptible host -> infected host나 susceptible host -> removed host고 둘다 감소니까 마이너스 해서 더해주면 된다!!
2번은 infectious host -> removal 되는 변화율인데 이거는 infectious host에 removal rate곱해주면 된다.
3번은 susceptible host -> removal 되는 변화율인데 susceptible host가 infectious host 숫자에 비례해서 변화하는 것이다. 근데 이거는 사실 이해못했다
4번은 상태 다 더하면 전체 host 갯수!
이제 마지막으로 beta 만 고려하면 된다!!! 이게 마지막 모델이다
Two-factor worm model
베타도 함수로 만들자!! beta -> beta(t)
이러면 끝!!!!!!!!!
'2021-1 > 정보보안' 카테고리의 다른 글
[정보보안] Data Encryption Standard (DES) (0) | 2021.05.11 |
---|---|
[정보보안] Block Cipher Structure (0) | 2021.05.09 |
[정보보안] Classic Encryption Techniques (0) | 2021.04.13 |
[정보보안] Malicious Software (0) | 2021.04.03 |
[정보보안] Operating System Security (0) | 2021.03.27 |
블로그의 정보
공부 기록
너나나