하드웨어 기반 프로세서 트레이스 를 통해 CFI 를 수행 하 는 것 은 상당 한 유망 성 을 갖 는 것 으로 보인다 . 하드웨어 에서 의 여러 제 어 흐름 트레이싱 메커니즘 이 현재 존재 한다 . 하드웨어 - 기반 CFI 구현 들 의 각각 의 형태 는 정밀도 , 추적 오버헤드 , 디 코딩 오버헤드 , 및 이용 가능 한 필터링 메커니즘 들 사이 의 상이 한 세트 의 트레이드오프 들 을 나타낸다 . BTS ( Branch Trace Store ) CFI 구현 은 메모리 - 상주 BTS 버퍼 에서 별개 의 레코드 인 스턴스 로서 각각 의 제어 전송 이벤트 ( 예 를 들 어 , 호출 , 리턴 및 모든 유형 의 점프 들 ) 를 캡 처한다 . 각각 의 결과 적 인 레코드 는 소스 의 어드레스 들 및 분기 명령어 의 타 겟 을 포함 한다 . 따라서 , 레코드 들 을 디 코딩 할 필요 가 없 다 . 그러나 , BTS 는 추적 동안 매우 높 은 처리 오버헤드 를 도입 하 고 이벤트 필터링 메커니즘 들 의 부족 으로 인해 유연 하 지 않 다 . LBR ( Last Branch Record ) CFI 구현 은 이벤트 필터링 ( 예 를 들 어 , 조건부 분기 들 을 필터링 아웃 하 는 것 ) 을 지원 한다 . 그러나 , LBR 은 16 개 또는 32 개 의 가장 최근 의 분기 쌍 ( 소스 및 타 겟 ) 만 을 레지스터 스택 에 기록 한다 . LBR 이 매우 낮 은 추적 오버헤드 를 초래 하 지만 , 임의 의 시점 에서 의 분석 을 위해 이용 가능 한 분기 쌍 들 의 제한 된 이력 으로 인해 정확 한 보호 를 거의 제공 하 지 못할 수 있 다 .