차량 내부에는 수 십여 개의 ECU(Electronic Control Unit)가 하나 이상의 CAN(Controller Area Network) 버스로 연결되어 서로 정보를 주고받는다. 임의의 공격자는 차량 외부로부터 이 CAN 버스에 대한 쓰기 권한을 획득하여 특정 차량을 제어할 수 있다. 차량 제조사들은 대개 이를 막는 방법으로 IDS 등 외부로부터의 공격을 막는 수단과 함께 CAN의 포맷 정보인 DBC(Database for CAN)를 비밀로 유지하는 전략을 취한다. 이는 제조사 입장에서 불가피한 측면이 있으나, 결국 공격을 막는 데는 한계가 있다. 반면 이는 IDS 등의 새로운 CAN 보안 기술의 연구 또는 차량내부통신에 대한 보안성 테스트 연구에 장벽으로 작용한다. 본 논문에서는 이러한 문제를 완화하기 위해 임의의 차량의 CAN 형식을 역공학하는 방법을 두 가지 제안한다. 첫 번째 방법은 차량의 OBD-II 포트를 통해 수집되는 CAN 트레이스만을 입력으로 하여 블록 기반 방식을 기반으로 데이터 필드 내 형식 정보를 추론한다. 두 번째 방식은 머신 러닝의 분류 알고리즘(classification algorithm)을 기반으로 형식 정보를 추론한다. 해당 방식에서는 데이터 필드 내 존재하는 최소 단위 포맷인 시그널의 유형 별 특징을 수치화할 수 있는 총 9가지 특징을 선정하고 이에 따른 데이터셋을 생성한다. 그 뒤 분류 알고리즘을 이용하여 해당 데이터셋을 학습한 분류기를 생성하고 이를 시그널의 경계 예측에 활용한다. 해당 방식은 인터넷으로 수집 가능한 실제 차량의 CAN 트레이스, 그리고 실제 차량 데이터와 유사한 가상의 CAN 트레이스를 대상으로 검증되었으며, 기존의 방식보다 최소 10% 이상 더 많은 시그널 경계를 예측할 수 있음을 보인다. 본 연구에서 제안하는 차량내부통신 프로토콜 역공학 방법은 차량내부통신 보안기술 연구에 요구되는 역공학 비용을 줄이고 임의의 차량을 대상으로 수행되는 보안성 테스트의 유효성을 높이는데 기여한다.