보안

자동실행 프로그램의 순서를 찾아보기.

sungtg 2012. 10. 3. 21:26

자동실행되는 프로그램의 순서를 바꾸고자 하는 이슈가 많더군요.

기본적으로 윈도우에서 레지스트리에서 어떻게 읽어 오는지 알아보겠습니다.

 

 

윈도우 부팅, 드라이버 로드 과정.

 

윈도우의 기본장치, 디스크나 그래픽, 키보드, 마우스 등의 장치 드라이버를 먼저 로드합니다.( 아래 키에는 장치관리자, 윈도우 서비스에 관한 키가 있습니다.)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

 

윈도우 화면이 나오는 과정을 통해 자동실행하는 윈도우서비스 관리자 실행

 

윈도우 서비스.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

 

하위의 키는 사용자마다 있는 수도 있고 없을 수도 있습니다.

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices

윈도우 로그온 창이 나오고, 로그 온 을 한 후에 진행.

 

아래 키는 없을 수 있는데 만약 일반 가정에서 생겼다면.. 일단 자세히 들여다 봐야 할 필요가 있습니다. 이 키는 특정 프로그램을 설치 했을 때 생기는 키입니다.

기업체에서 권한을 줘서 사용한다든지 등등의 이유로 만들어 지는데...

악성코드의 침입이 우려가 되는 키 이기도 합니다.

 

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

 

위에 키 값이 잘못되어 있는 경우는

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit C:\windows\system32\userinit.exe,c:\windows\badprogram.exe

 

userinit.exe는 사용자의 로그온 프로필, 폰트, 바탕화면, 시작프로그램 등등을 연결시켜주는 역할을 하는데 만약 userinit.exe, xxxxxxxx 라고 적혀 있다면 거의 해킹이나 악성코드를 조심해야 합니다.

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon  오른쪽 창의 shell 의 값 explorer.exe

 

윈도우가 nt에서 개인유저용으로 만들어 역사를 알 수 있는 키입니다

nt 키에 로그온 과정이 되고 shell 즉 명령을 해석하는 역할을 하는 것은 탐색기라는 것을 보여주는 키입니다.

그런데 여기에 explorer.exe 외에 다른 것이 써 있거나 explorer.exe, xxxx 등의 파라미터가 붙어 있다면 요거 문제 있겠지요. 초창기 win32 용 바이러스들이 이런 수법을 좀 썼던 적이 있으니까요.

 

여기까지과 윈도우 부팅해서 로그온 해서 엔터 친 후까지 과정이고..

 

다음 바탕화면이 구성이 되고 작업관리자들이 제대로 뜰때 실행되는 프로그램들을 볼까요

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

 

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

 

제일 많이 봤던 부분일 겁니다. msconfig도 여기의 레지스트리 키를 불러오고..

일반 윈도우 최적화 프로그램도 여기를 불러다 놓고 최적화를 시키는 것이죠.

 

그 다음이 시작에 있는 시작 프로그램입니다.

 

이 레지스트리 키와 친해져도 일반 가정에서 발생하는 바이러스는 80-90%는 찾을 수 있습니다.

 

악성코드는 이와는 별개로 찾는 경우가 훨씬 많다는 것도 이해해 두세요.

 

sysinternal 사의 autorun 이라는 유틸리티를 사용하면 도움이 될 겁니다.

특히 코덱관련되서 좋은 툴을 제공하니까..

요즘 스마트폰, 테블릿 등 여러 장치를 사용하다 보면 엄청난 드라이버와 코덱이 설치가 됩니다. 사용하지 않는 경우에 정리할 때 도움이 많이 될 겁니다.