윈도우8

윈도우8 작업관리자 runtime broker

sungtg 2013. 2. 15. 14:39

윈도우 8을 부팅시켜서 보면 작업관리자에 항상 runtime broker가 떠 있는 것을 볼 수 있습니다.

 

 

runtime broker는 앱이 실행되면 실행이 되고..

앱이 종료되면 runtime broker도 종료가 됩니다.

 

 

이 프로세스의 역할

 

앱이 실행될 때 권한 설정, 사용자 설정(날씨-지역) 등을 관리를 하고,

앱에서 하드웨어를 사용할 경우(사진, 카메라, 여행 등) 사용할 때 하드웨어 연결을 관리 합니다.

 

직접 앱이 디스크나 하드웨어의 자원을 엑세스를 못하고

runtime broker.exe가 대신 윈도우의 하드웨어 리소스를 통제한다고 보면 됩니다.

앱의 보안이라고 생각하면 이해가 하는데 도움이 될겁니다.

 

메모리 사용량

 

일반적으로 3MB의 메모리를 사용하는데

만약 앱을 사용 중에 runtime broker의 많은 메모리를 사용 한다면

일단 앱을 전체를 종료를 해서 바이러스나 악성코드를 의심해 볼 필요가 있습니다.

 

현재 윈도우 8이 초창기라서

바이러스나 악성코드가 별로 없지만..

앱이 c#, C++, JS vb .net등 여러 랭기지로 만들어지고..

 

앱이 METRO UI의 익스플로러의 APP CONTAINER에 실려서 실행되는데

앱의 취약성, 익스플로러의 취약성이 발견되면 감염 통로가 될 수 있습니다.

 

 

                                               윈도우 런타임의 구조

 

 

1. Window Core : 윈도우의 커널모드, 유저모드, 드라이버 기타서비스등...

2. Window Runtime Core : 윈도우 서비스

3. Window  Meta-data & Namespace : 윈도우의 api를 들은 수많은 메타데이타를 가지고 있습니다.

    앱이 실행할 때 사용하는 메타데이타는 .winmd(메타데이타 인코딩파일)

     C:\Windows\System32\WinMetadata 폴더

4. Runtime Broker : 윈도우의 코어 단과 다른 모듈이나 핸들(인터넷연결, 하드웨어연결 등)의 사용을 허가를 해주는 역할

5. Web host : html (js,css)기반으로 작성된 app을 실행하는 wwahost.exe 파일 

6. CLR(common language runtime) :

    넷프레임워크 상에 만들어지는 각기 다른 언어를 해석해서 통합된 양식의 언어로 변환하고

    이것을 실행하는 것이 CLR 입니다   형태는 어셈블리 형태로 이해하시면 좋을 것 같습니다.

7. CRT : C language runtime

8. Language projection : 앱을 여러 언어로 만드는데 있어서 윈도우API를 노출하는 방법

9. WinJS : 마아크로소프트의 자바스크립트

 

이런 아키텍처는 스마트폰들의 앱이 일반적으로 샌드박싱이라는 보안 기술을 사용하는데

윈도우 8에서도 metro ui의 익스플로러 10의 샌드박스 안에서 앱을 돌리다 보니까 이런 기술들이

필요하게 된 것이겠지요.

 

나중에 메타데이타 설명하면서 넣으려고 했는데...

반복해서 들으시면 도움이 될 수 있겠네요..