본문 바로가기
HOME> 보고서 > 보고서 검색상세

보고서 상세정보

커널모드 필터링 기법을 이용한 시스템 차단 및 제어기술 개발
Development of system blocking and control mechanism using kennel mode filtering

  • 사업명

    정보통신산업기술개발(기금)

  • 과제명

    커널모드 필터링 기법을 이용한 시스템 차단 및 제어기술 개발

  • 주관연구기관

    (주)싸이웍스

  • 연구책임자

    최호성

  • 참여연구자

    김창규   김성은   김진호   김태훈   최원희   김주현  

  • 보고서유형

    최종보고서

  • 발행국가

    대한민국

  • 언어

    한국어

  • 발행년월

    2004-05

  • 과제시작년도

    2003

  • 주관부처

    정보통신부

  • 사업 관리 기관

    정보통신연구진흥원
    Institute for Information Technology Advancement

  • 등록번호

    TRKO201000015519

  • 과제고유번호

    1440001289

  • DB 구축일자

    2013-04-18

  • 초록 


    (1) Keyboard hooking protection module
    We develop the system which protects user's keyboard input from being exposed, using ke...

    (1) Keyboard hooking protection module
    We develop the system which protects user's keyboard input from being exposed, using kernel mode software, not hardware.
    We develop the system which enables client installing by online distribution.
    (2) Network traffic controlling module
    The system limits applications which access to internet by discriminating traffics by each different process.
    We develop the system which filters out the outbound traffic under a certain rule such as IP address and port number.
    The system is to be compatible with wired and wireless network as well, and is not to be affected by lower layer of the network structure.
    (3). Disk I/O blocking module
    We develop the system which blocks disk I/O from portable disk.
    We develop the system which blocks access to certain directories or files, under the policy of administrator
    The system is to support the discrimination of I/O from different processes
    (4). User interface management system
    We develop the user interface system which enables administrator to control the network traffic and disk I/O in real time, with certain policies.
    The alerting system is to be compatible with wired and wireless network as well. And also is to be compatible with Windows CE, PDA based OS, not only with existing windows OS.


    가. 키보드 후킹 방지기술 개발
    (1) 사용자의 키보드 입력이 후킹을 통해서 감청되지 않도록 하는 기술을 개발한다. 개발은 기존의 하드웨어 방식이 아닌 커널모드 소프트웨어 방식을 채택하여 개발한다.
    (2) 클라이언트의 설...

    가. 키보드 후킹 방지기술 개발
    (1) 사용자의 키보드 입력이 후킹을 통해서 감청되지 않도록 하는 기술을 개발한다. 개발은 기존의 하드웨어 방식이 아닌 커널모드 소프트웨어 방식을 채택하여 개발한다.
    (2) 클라이언트의 설치 및 배포를 용이하게 할 수 있는 소프트웨어 온라인 배포 기능을 개발한다.
    나. 네트워크 트래픽 강제 차단기술 개발
    (1) 프로세스별 트래픽 식별 기능을 개발하여, 인터넷에 접근하는 응용프로그램을 근본적으로 제한한다.
    (2) IP 주소 및 포트번호 등, 관리자가 지정하는 규칙에 따라 모든 Outbound 트래픽을 필터링하는 기술을 개발한다.
    (3) 유/무선 네트워크를 모두 지원해야 하며, 하위 네트워크 구조에 영향을 받지 않아야 한다.
    다. 디스크 I/O 강제 차단기술 개발
    (1) 내부 정보 유출의 방지를 위한 이동식 디스크로의 입/출력을 제한할 수 있는 기술을 개발한다.
    (2) 디스크의 파일 시스템의 특정 경로나 파일에 대한 임의접근을 차단하고, 경우에 따라서 관리자의 정책에 근거한 강제적으로 차단할 수 있는 기술을 개발한다.
    (3) 프로세스별 입/출력 식별이 가능하도록 한다.
    라. 실시간 시스템 제어기술 개발
    (1) 핵심 기반기술이 구현된 커널모드 소프트웨어를 원격으로 통합 관리하여 전산관리자의 편익을 도모한다. 정책에 위배되는 입/출력이나 네트워크 트래픽이 발생하면, 이를 신속하게 관리자에게 경고할 수 있는 체제를 갖추도록 한다.

    (2) 관리자에게 경고하는 방법은 유/무선 네트워크를 모두 지원하며, 기존의 Windows 운영체제와 PDA기반의 운영체제(Windows CE)를 동시에 지원한다.


  • 목차(Contents) 

    1. 제출문 ...1
    2. 요약문 ...2
    3. SUMMARY ...5
    4. CONTENTS ...9
    5. 목차 ...18
    6. 제1장 서론 ...26
    7. 제1절 기술개발의 개요 ...26
    8. 제2절 기술개발의 배경 ...26
    9. 1. 기술적 측면 ...27
    10. ...
    1. 제출문 ...1
    2. 요약문 ...2
    3. SUMMARY ...5
    4. CONTENTS ...9
    5. 목차 ...18
    6. 제1장 서론 ...26
    7. 제1절 기술개발의 개요 ...26
    8. 제2절 기술개발의 배경 ...26
    9. 1. 기술적 측면 ...27
    10. 가. 키보드 입력정보 보호기술의 필요 ...27
    11. 나. 트로이 목마나 웜과 같은 악성코드의 네트워크 접근 강제 차단 기술의 필요 ...29
    12. 다. Windows 시스템 크랙에 의한 관리자 권한 유출대비 기술의 필요 ...31
    13. 라. 운영체제 및 응용프로그램의 결함을 이용한 웜 바이러스에 대한 근본적 대책 필요 ...33
    14. 2. 기업적 측면 ...34
    15. 가. Windows 운영체제에 대한 지나친 집중도로 인한 보안상의 위험성 증가 ...34
    16. 나. 인터넷 웜 바이러스에 의한 피해사례 증가 ...36
    17. 다. 내부자 정보 유출 방지를 위한 커널모드 차단 기술 필요 ...36
    18. 라. 트로이 목마에 의한 개인정보 유출 방지대책 수립 ...38
    19. 제3절 기술 개발 내용 ...38
    20. 1. 과제목표 달성을 위한 기술개발 내용 ...38
    21. 가. 과제 개발목표 ...38
    22. 나. 개발내용 및 범위 ...41
    23. 2. 개발내용 ...42
    24. 가. 키보드 후킹 방지기술 ...42
    25. 나. 네트워크 트래픽 강제 차단기술 ...43
    26. 다. 디스크 I/O 강제 차단기술 ...44
    27. 라. 실시간 시스템 제어기술 ...45
    28. 제4절 최근 연구 동향 ...46
    29. 1. 세계적 기술현황 및 전망 ...46
    30. 2. 국내 기술현황 및 전망 ...47
    31. 제2장 윈도우 디바이스 드라이버 개요 ...50
    32. 제1절 Overview of Windows Components ...50
    33. 1. 환경 서브시스템과 서브시스템 DLL ...50
    34. 2. NTDLL.DLL ...51
    35. 3. Executive ...51
    36. 4. HAL ...54
    37. 5. Kernel ...55
    38. 6. Device Driver ...56
    39. 제2절 드라이버의 기본 구조 ...57
    40. 1. 디바이스와 드라이버 계층화(layering) ...57
    41. 2. Driver Object ...58
    42. 3. Device Object ...61
    43. 4. IRP 의 구조 ...63
    44. 5. IO_STACK_LOCATION ...67
    45. 6. IRQL 과 DPC ...69
    46. 가. Understanding Interrupt Request Levels(IRQLs) ...69
    47. 나. Deferred Procedure Calls(DPCs) ...80
    48. 다. Kernel-Mode Driver 주요 구성 루틴들 ...87
    49. 라. Filter driver ...90
    50. 마. Hook driver ...96
    51. 바. 완료 루틴 (Complete Routine) 사용하기 ...98
    52. 사. 어플리케이션과의 통신방법 ...101
    53. 제3장 TDI Hook Driver ...106
    54. 제1절 Windows Network Architecture ...106
    55. 1. Network Interface Card(NIC) Drivers ...106
    56. 2. NDIS Intermediate Drivers ...107
    57. 3. Transport Drivers ...107
    58. 제2절 TDI 드라이버 ...108
    59. 1. TDI 트랜스포트와 그들의 클라이언트 ...108
    60. 가. 트랜스포트 드라이버 인터페이스(TDI) ...109
    61. 나. TDI 장치 객체 ...116
    62. 다. TDI 파일 객체 ...120
    63. 라. TDI 트랜스포트 드라이버 루틴 ...125
    64. 마. TDI 커널 모드 클라이언트 상호작용 ...126
    65. 바. TDI 리퀘스트와 이벤트 ...130
    66. 사. TDI 루틴, 마크로, 그리고 콜백 ...131
    67. 아. TDI 연산 ...152
    68. 제3절 TDI HOOK Driver ...181
    69. 1. TDI 드라이버를 HOOK 하는 방법 ...181
    70. 2. 동작 방식 ...183
    71. 3. 모듈설계 ...186
    72. 가. DriverEntry 함수 ...186
    73. 나. TDI DispatchRoutine ...191
    74. 다. 연결 허용 ...195
    75. 라. 연결 차단 ...196
    76. 제4장 Keyboard HOOK Driver ...198
    77. 제1절 Keyboard Driver 개요 ...198
    78. 1. PS/2 키보드 드라이버 스택 ...198
    79. 2. USB 키보드 드라이버 스택 ...198
    80. 3. Device Object Viewer 로 키보드 드라이버 스택을 관찰 ...198
    81. 4. 모듈 설계 ...200
    82. 가. DriverEntry 의 모습 ...201
    83. 나. Attach ...203
    84. 다. Keyboard Class Driver 의 포인터 정보를 얻어오기 ...212
    85. 라. Keyboard Class Driver 의 Dispatch 루틴을 HOOK ...214
    86. 마. Keyboard Class Filter Driver의 IRP_MJ_READ 디스패치 루틴 ...219
    87. 바. Read Completion 루틴 ...220
    88. 사. IRP_MJ_READ를 제외하고 나머지 요청을 SKIP ...225
    89. 제5장 File System Filter Driver ...227
    90. 제1절 File System Driver의 개요 및 설명 ...227
    91. 1. File System Driver 및 Filter Driver 개요 ...227
    92. 2. Cache Manager 의 기능 ...228
    93. 3. Caching During Read/Write Operations ...228
    94. 가. Read 동작 ...228
    95. 나. Write 동작 ...230
    96. 다. File Object 내의 필드들 ...232
    97. 라. Cache Maps ...235
    98. 4. File Size Considerations ...236
    99. 가. 첫 번째 규칙 ...236
    100. 나. 두 번째 규칙 ...236
    101. 5. Fast I/O ...237
    102. 가. 설명 ...238
    103. 나. File Open ...239
    104. 6. Read-Ahead Module ...240
    105. 7. Lazy-Write ...242
    106. 제2절 File System Filter 작성 시 주의할 점 ...243
    107. 1. Driver Attachment ...243
    108. 2. Filter Interactions(상호동작) ...245
    109. 가. Functional Interference ...245
    110. 나. Reentrant Interference ...245
    111. 다. Incorrect or Partial Implementation ...246
    112. 라. Locking behavior ...246
    113. 마. Timing behavior ...247
    114. 바. Stack Overflow ...247
    115. 3. IRP Management ...247
    116. 4. Removable Media ...249
    117. 5. Managing File Objects ...250
    118. 6. Plug and Play ...251
    119. 가. IRP_MJ_QUERY_REMOVE_DEVICE ...251
    120. 나. IRP_MJ_CANCEL_REMOVE_DEVICE ...252
    121. 다. IRP_MJ_REMOVE_DEVICE ...252
    122. 라. IRP_MJ_SURPRISE_REMOVAL ...252
    123. 7. Virtual Memory ...252
    124. 제3절 모듈 설계 ...253
    125. 1. DriverEntry 루틴 ...253
    126. 2. DriverEntry에서 호출하는 Attach 함수 ...257
    127. 3. dispatch control 처리 ...262
    128. 4. Directory Control에서 설정한 Completion Callback ...265
    129. 제6장 시스템 구성 ...274
    130. 제1절 시스템 구성 ...274
    131. 제2절 시스템 기능 ...274
    132. 1. 정책 서버 ...274
    133. 2. 데이터베이스 ...275
    134. 3. 클라이언트 ...275
    135. 4. 관리자 PDA ...275
    136. 5. 라우터 ...276
    137. 6. 허브 ...276
    138. 7. 무선 AP ...276
    139. 제7장 정책 서버 ...277
    140. 제1절 기능 ...277
    141. 제2절 기술적 사항 ...277
    142. 1. IP 주소 기반의 클라이언트 네트워크 접근 제어 ...277
    143. 2. 인터넷 포트 기반의 클라이언트 네트워크 접근 제어 ...279
    144. 3. 프로세스 기반의 클라이언트 네트워크 접근 제어 ...280
    145. 4. 네트워크를 통한 정책 배포 ...281
    146. 가. 리스닝 소켓 ...281
    147. 나. 사용자 정의 메시지 핸들러 ...283
    148. 다. 데이터 전송 소켓 ...285
    149. 5. 정책을 데이터베이스에 저장/관리 ...288
    150. 가. 데이터베이스로부터 정책 읽어 들이기 ...289
    151. 나. 데이터베이스에 정책 기록 ...291
    152. 제8장 프로세스 기반 트래픽 제어 ...294
    153. 제1절 개요 ...294
    154. 제2절 관련 파일 ...294
    155. 제3절 함수 ...294
    156. 1. SWTDI BOOL SwTdi_Init 함수 ...295
    157. 2. SWTDI VOID SwTdi_Exit 함수 ...296
    158. 3. SWTDI BOOL SwTdi_Enable 함수 ...297
    159. 4. SWTDI BOOL SwTdi_Disable 함수 ...297
    160. 5. SWTDI BOOL SwTdi_SetTdiFilter 함수 ...298
    161. 6. SWTDI BOOL SwTdi_ReadTdiLog 함수 ...299
    162. 7. SWTDI BOOL SwTdi_WriteTdiLog 함수 ...300
    163. 8. SWTDI PVOID SwTdi_GetTdiData 함수 ...301
    164. 9. SWTDI BOOL SwTdi_DeleteTdiData 함수 ...303
    165. 제4절 기술적 사항 ...303
    166. 1. TDI 드라이버 로드 ...304
    167. 2. 패킷 켑쳐 쓰레드 ...305
    168. 3. 정책 검사 쓰레드 ...307
    169. 4. 공유 메모리 할당 ...309
    170. 5. 파일 변조 검사 ...309
    171. 6. 프로세스로 CRC검사 ...311
    172. 7. 프로세스 정보 얻기 ...312
    173. 8. 정책 정보 관리 ...313
    174. 가. 레지스트리에 기록 ...314
    175. 나. 레지스트리에서 불러오기 ...315
    176. 제9장 키보드 보안 기술 ...317
    177. 제1절 개요 ...317
    178. 제2절 관련파일 ...317
    179. 제3절 함수 ...317
    180. 1. SWKEYDLL HANDLESwKeyFlt_Init 함수 ...318
    181. 2. SWKEYDLL VOID SwKeyFlt_Exit 함수 ...319
    182. 3. SWKEYDLL BOOL SwKeyFlt_Enable 함수 ...319
    183. 4. SWKEYDLL BOOL SwKeyFlt_Disable 함수 ...320
    184. 5. SWKEYDLL PBYTE SwKeyFlt_WaitForKeyEvent 함수 ...321
    185. 6. SWKEYDLL UINT SwKeyFlt_GetKeyNum 함수 ...322
    186. 7. SWKEYDLL PCHAR SwKeyFlt_GetKeyValue 함수 ...323
    187. 8. SWKEYDLL PBYTE SwKeyFlt_CheckRegPreAttached 함수 ...324
    188. 9. SWKEYDLL BOOL SwKeyFlt_DeleteRegPreAttached 함수 ...325
    189. 제4절 기술적 사항 ...326
    190. 제10장 디스크 입출력 강제 제어 ...330
    191. 제1절 개요 ...330
    192. 제2절 관련 파일 ...330
    193. 제3절 함수 ...330
    194. 1. FSFAPI_API BOOL LoadDriver 함수 ...331
    195. 2. FSFAPI_API BOOL UnloadDriver 함수 ...332
    196. 3. FSFAPI_API BOOL GetEventFromDriver 함수 ...332
    197. 4. FSFAPI_API BOOL GetProcList 함수 ...333
    198. 5. FSFAPI_API BOOL SetProcList 함수 ...334
    199. 6. FSFAPI_API BOOL SetFileToHide 함수 ...335
    200. 제4절 기술적 사항 ...336
    201. 1. 파일드라이버 로드 ...336
    202. 2. 디스크 I/O 제어 쓰레드 ...337
    203. 3. 차단할 파일 디렉터리 적용 ...340
    204. 4. 디스크 접근이 가능한 프로세스 ...340
    205. 제11장 실시간 시스템 제어 ...343
    206. 제1절 개요 ...343
    207. 제2절 PDA란 ...343
    208. 1. PDA의 종류 ...345
    209. 가. Palm OS ...345
    210. 나. Pocket PC ...346
    211. 다. 한글 PDA Cellvic ...349
    212. 제3절 Windows CE ...349
    213. 1. Windows CE의 구조 ...349
    214. 2. 개발 툴의 종류 ...352
    215. 제4절 eMbedded Visual Tools 3.0 ...353
    216. 1. eMbedded Visual Tools 3.0이란 ...353
    217. 2. eMbedded Visual Tools 3.0 설치 ...353
    218. 3. 동기화 ...353
    219. 4. Unicode(한글화 문제) ...355
    220. 가. ANSI 와 UNICODE ...355
    221. 나. ANSI와 UNICODE의 변환 ...358
    222. 5. 메모리 관리 ...362
    223. 6. 전원 관리 ...364
    224. 가. 전원 상태 정보 얻기(1) ...365
    225. 나. 전원 상태 정보 얻기(2) ...367
    226. 7. 통신 ...369
    227. 가. 시리얼 통신 ...370
    228. 나. IrDA 통신 ...377
    229. 다. 소켓 통신 ...381
    230. 제5절 구현 내용 ...381
    231. 1. 전역 변수 ...382
    232. 2. 메인 프레임의 생성 ...382
    233. 3. 메인뷰 생성 ...383
    234. 4. IP 정보 얻어오기 ...384
    235. 5. UDP 소켓 ...386
    236. 6. 리스트 컨트롤 ...387
    237. 제12장 결론 ...390
    238. 제1절 기술개발결과 정리 ...390
    239. 1. 키보드 후킹 방지기술 개발 ...390
    240. 2. 네트워크 트래픽 강제 차단기술 ...390
    241. 3. 디스크 I/O 강제 차단기술 개발 ...391
    242. 4. 실시간 시스템 제어기술 개발 ...391
    243. 제2절 활용 계획 및 기대 효과 ...392
    244. 1. 활용계획 ...392
    245. 가. 지식기반 사용자 인증이 필요한 모든 인터넷 사이트 ...393
    246. 나. 개인 금융정보가 사용되는 전자상거래 ...393
    247. 다. HTS(Home Trading System)나 인터넷 뱅킹 등 온라인 금융거래 ...393
    248. 라. 온라인 게임업체 ...393
    249. 마. 상대적으로 보안이 취약한 학내 전산 실습실 ...394
    250. 바. 중요 파일 자료의 보호가 요구되는 기업의 파일서버 ...394
    251. 사. 웜이나 트로이 목마에 노출되어 있는 모든 인터넷 호스트 ...394
    252. 2. 활용에 따른 파급효과 ...395
    253. 가. 온라인 전자 상거래 및 전자 금융의 안정성 증대 ...395
    254. 나. 불필요한 트래픽 차단을 통한 네트워크 성능 향상 ...395
    255. 다. 파일정보의 외부 유출방지 및 기업 정보의 기밀성 보장 ...395
    256. 라. 통합 관리를 통한 시스템 효율 향상 ...396
    257. 마. 중소업체 및 개인으로의 보안 영역확대 ...396
    258. 3. 기반기술의 응용 ...396
    259. 가. 변형된 파일 정보 복원 기술 ...397
    260. 나. 네트워크 관리 기술 ...397
    261. 제3절 상용화 계획 ...397
    262. 1. 시제품 결과물 ...398
    263. 2. 규격 ...398
    264. 3. 요구 성능 및 기능 ...398
  • 참고문헌

    1. 전체(0)
    2. 논문(0)
    3. 특허(0)
    4. 보고서(0)

 활용도 분석

  • 상세보기

    amChart 영역
  • 원문보기

    amChart 영역