본문 바로가기
IT

후킹(hooking)이란 무슨 뜻일까?

by 원프레임 2024. 1. 15.

후킹(hooking)은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 가로채서, 운영 체제, 응용 프로그램 또는 기타 소프트웨어 구성 요소의 동작을 변경하거나 보강하는데 사용되는 기술입니다.

후킹은 다음과 같은 다양한 방법으로 사용될 수 있습니다.

  • 보안 : 악성 코드나 취약점을 탐지하거나 차단하는 데 사용될 수 있습니다.
  • 성능 향상 : 함수 호출의 순서를 변경하거나, 중복되는 함수 호출을 제거하는 등의 방법으로 성능을 향상시키는 데 사용될 수 있습니다.
  • 기능 확장 : 기존 소프트웨어에 새로운 기능을 추가하는 데 사용될 수 있습니다.

 

반응형

 

후킹은 매우 강력한 기술이지만, 악의적인 목적으로 사용될 수도 있습니다.

예를 들어, 악성 코드가 후킹을 사용하여 시스템에 침입하거나, 키보드 입력을 훔치거나, 정보를 탈취하는 등의 공격을 수행할 수 있습니다.

 


후킹은 다음과 같은 두 가지 방법으로 구현할 수 있습니다.

  • 드라이버 기반 후킹 : 운영 체제의 드라이버를 사용하여 후킹을 구현하는 방법입니다. 이 방법은 시스템의 모든 프로세스에 영향을 미칠 수 있기 때문에, 보안과 성능에 큰 영향을 미칠 수 있습니다.
  • 라이브러리 기반 후킹 : 특정 응용 프로그램에만 영향을 미치는 후킹을 구현하기 위해 사용되는 라이브러리를 사용하는 방법입니다. 이 방법은 드라이버 기반 후킹에 비해 보안과 성능에 미치는 영향이 적습니다.

후킹은 다양한 목적으로 사용될 수 있는 강력한 기술이지만, 악의적인 목적으로 사용될 수도 있기 때문에, 사용에 주의가 필요합니다.