핵심 요약
- 제인 스트리트가 신호 명칭이나 넷리스트 없이 반도체 GDS 레이아웃 파일만 주고 역공학하게 한 ASIC 퍼즐의 결과와 풀이를 공개했습니다.
- 분석 결과 칩의 정체는 11x11 '스타 배틀' 퍼즐 정답을 검증하는 하드웨어 체커였으며, 전 세계 400여 명의 참가자가 다양한 도구와 수학적 기법으로 이를 풀어냈습니다.
- 직접 C++ 추출기를 짜거나 임펄스 신호 반응을 추적하는 등 너드 엔지니어들의 기상천외한 리버스 엔지니어링 접근법들이 소개되어 화제가 되었습니다.
요약 글로벌 금융 및 퀀트 트레이딩 기업 제인 스트리트(Jane Street)가 지난 8월 공개했던 독특한 'ASIC 퍼즐'의 최종 결과와 풀이 과정을 발표했습니다. 당시 제인 스트리트는 아무런 넷리스트나 신호 명칭 없이 오직 반도체 칩의 물리적 설계 도면인 GDS 레이아웃 파일 하나만을 던져주고 "이 칩이 무슨 역할을 하는지 역공학으로 밝혀내라"는 과제를 냈습니다.
전 세계 30개국 이상에서 고등학생, 연구원, 현직 엔지니어, 은퇴자에 이르기까지 약 400여 명이 도전장을 내밀었습니다. 참가자들은 KLayout, Yosys, Z3 같은 전문 반도체 분석 툴과 함께 파이썬, 러스트, C++, 오캠(OCaml), 하스켈, 오딘(Odin) 등 다양한 언어로 자체 도구를 만들어 분석에 나섰습니다.
밝혀진 칩의 정체는 바로 '스타 배틀(Star Battle, 또는 Two Not Touch)'이라 불리는 11x11 규격 퍼즐의 정답을 판별하는 하드웨어 체커였습니다. 121개 클럭 사이클 동안 보드의 각 칸에 별이 들어가는지 입력을 받고, 각 행·열·구역에 정확히 별 2개씩 배치되었는지, 대각선을 포함해 별끼리 서로 맞닿지 않았는지를 하드웨어 회로 수준에서 병렬 검증하는 구조였습니다. 정답 문자열은 LFSR을 통해 난독화되어 저장되어 있었으며, 성공 시 난독화가 풀리며 정답이 출력되는 이스터에그도 포함되어 있었습니다.
참가자들의 접근 방식도 매우 흥미로웠습니다. GDS 파일에서 레이아웃과 셀 이름을 바탕으로 C++ 파이프라인을 직접 짜 넷리스트를 추출해 낸 참가자부터, 넷리스트를 Verilog 등으로 시뮬레이션하며 역추적한 참가자, 칩 내부의 배치 구역(아일랜드)을 분할해 각 모듈의 기능을 시각화한 참가자, 그리고 신호 및 시스템 이론을 적용해 각 위치에 임펄스 입력을 주며 플립플롭의 반응 차이를 추적해 규칙을 찾아낸 참가자까지 기상천외한 하드웨어 해킹 기술들이 총동원되었습니다. 반도체 칩 설계도 자체를 하나의 거대한 퍼즐판으로 삼은 너드들의 진검승부로 큰 주목을 받았습니다.
Sponsored · 광고