<summary><strong>htARTE (HackTricks AWS Red Team Expert)로부터</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>AWS 해킹을 제로부터 전문가까지 배우세요</strong></a><strong>!</strong></summary>
* 테스트 클럭 입력 (**TCK**) TCK는 TAP 컨트롤러가 단일 작업을 얼마나 자주 수행할지 정의하는 **클록**입니다 (다시 말해, 상태 머신에서 다음 상태로 이동하는 빈도).
* 테스트 모드 선택 (**TMS**) 입력 TMS는 **유한 상태 머신**을 제어합니다. 클록의 각 비트마다 장치의 JTAG TAP 컨트롤러는 TMS 핀의 전압을 확인합니다. 전압이 일정 임계값 아래인 경우 신호는 낮은 것으로 간주되고 0으로 해석되며, 전압이 일정 임계값을 초과하면 신호는 높은 것으로 간주되고 1로 해석됩니다.
* 테스트 데이터 입력 (**TDI**) TDI는 **스캔 셀을 통해 칩으로 데이터를 보내는 핀**입니다. 각 벤더는 이 핀을 통해 통신 프로토콜을 정의해야 합니다. 왜냐하면 JTAG는 이를 정의하지 않기 때문입니다.
* 테스트 리셋 (**TRST**) 입력 선택적인 TRST는 유한 상태 머신을 **알려진 좋은 상태로 재설정**합니다. 또는 TMS가 1로 5개의 연속 클록 주기 동안 유지되면 TRST 핀이 수행하는 것과 동일한 리셋을 호출합니다. 이것이 TRST가 선택 사항인 이유입니다.
JTAG 포트를 감지하는 가장 빠르지만 가장 비싼 방법은 **JTAGulator**를 사용하는 것입니다. 이 장치는 이 목적을 위해 특별히 만들어졌으며 (또한 **UART 핀 배치도를 감지**할 수 있음), 보드 핀에 연결할 수 있는 **24개 채널**을 가지고 있습니다. 그런 다음 모든 가능한 조합에 대한 **IDCODE** 및 **BYPASS** 경계 스캔 명령을 보내는 **BF 공격**을 수행합니다. 응답을 받으면 각 JTAG 신호에 해당하는 채널을 표시합니다.
JTAG 핀을 식별하는 **세 번째 방법**은 PCB를 **검사**하여 핀 배치 중 하나를 찾는 것입니다. 경우에 따라 PCB가 JTAG 커넥터를 가지고 있음을 명확히 나타내는 **Tag-Connect 인터페이스**를 제공할 수 있습니다. 또한 PCB에 있는 칩셋의 **데이터시트를 검사**하면 JTAG 인터페이스를 가리키는 핀 배치도를 확인할 수 있습니다.
SWD 인터페이스는 **두 개의 핀**을 필요로 합니다: 양방향 **SWDIO** 신호, 이는 JTAG의 **TDI 및 TDO 핀에 해당하는 것**과 클록인 **SWCLK**가 필요합니다. 많은 장치가 **Serial Wire 또는 JTAG 디버그 포트 (SWJ-DP)**를 지원하며, 이는 SWD 또는 JTAG 프로브를 대상에 연결할 수 있도록 하는 결합된 JTAG 및 SWD 인터페이스입니다.