2016. 9. 29. 13:04, Computer/Security
- Worm
- 스스로 동작하는 독립적인 프로그램
- worm은 목표로 하는 취약점이 있다. exploit시킨다.
- Target Discovery
- Random
- each compromised host probes random addresses in the IP address space using a different seed
- Hit-list
- 취약한 곳의 리스트를 미리 파악
- The attacker first compiles a long list of potential vulnerable machines
- Each infected machine is provided with a portion of the list to scan
- Topological
- 감염 시스템의 호스트를 찾아서 신뢰관계에 있는 곳을 공격한다던지.
- This method uses information contained on an infected victim machine to find more hosts to scan
- Local subent
- 비율을 조정하여 감염
- The host uses the subnet address structure to find other hosts that would otherwise be protected by the firewall
- 이와 같은 방식들은 케이스마다 감염량, 시간 등 다르다.
- Worm Propagation Modeling = abstraction of complex systems
- 이 중 traffic monitering을 통해 Random방식의 propagation을 잘 모델링한 논문이 있다.
- Zou et al. “The monitoring and Early Detection of Internet Worms,” IEEE/ACM Trans. on Networking, Oct. 2005
- 모든 인터넷 중 N개의 vulnerable hosts가 있다고 하자. 웜은 목표로 하는 취약점이 있기 때문에 케이스마다 다르지만 한정되어있다.
- Insected group을 I, Susceptible 감염될 수 있는 그룹을 S라고 할때 다음과 같은 식을 얻을 수 있다.
N=I(t)+S(t)
- 이 때 감염속도를 알아보면 감염된 그룹이 많을수록, 취약시스템이 많을수록 빨라지며 초당 트라이횟수 등을 변수로 표현하면 다음과 같다.
dI/dt = β * I(t) * S(t)
dI/dt = β * I(t) * (N-I(t))
- 이를 그래프로 그려보면 아래와 같다.
- 이는 Slow start, fast spread, slow finish 세 부분으로 나눌 수 있다. 각 부분당 다른 대응 방책이 있어야겠고, 가장 우선적으로 slow start에 파악하는 것이 중요하다.
- 이것들이 하나의 식으로부터 나왔다는 것은 훌륭한 insight다.
주어진 현상을 어떻게 모델링을 하느냐
'Computer > Security' 카테고리의 다른 글
Code Obfuscation 코드 난독화에 대한 간단한 분류 (0) | 2016.09.29 |
---|
Comments, Trackbacks