본문으로 건너뛰기
피드

Drawbot 해킹: 귀여운 어린이 그림 로봇을 분해하고 커스텀 이미지 그리게 만들기

security 약 3분
vote
0
댓글
북마크

어린이용 드로잉 로봇을 리버스 엔지니어링한 해킹기. 8비트 바코드 에뮬레이션, SPI 플래시 덤프, 좌표 기반 이미지 포맷 파싱을 거쳐 커스텀 이미지를 그리게 하는 데 성공.

  • 1

    8비트 바코드 입력 멀티플렉싱 방식을 로직 분석기로 파악

  • 2

    Raspberry Pi GPIO로 바코드 에뮬레이터 제작, 숨겨진 이미지 발견

  • 3

    SPI 플래시에서 254개 이미지 덤프 후 Python으로 raw↔SVG 변환 파이프라인 구축

타겟 선정과 분해

  • 카드의 바코드를 읽어서 미리 정의된 그림을 그리는 어린이용 드로잉 로봇을 해킹한 이야기임. 각 카드에는 8비트 바코드가 있어서 최대 256개의 이미지가 가능한 구조
  • 분해해보니 입력 멀티플렉싱 방식을 사용하고 있었음. VCC1 페이즈에서 센서 1-5를 읽고, VCC2 페이즈에서 센서 6-8을 읽어서 같은 입력 핀을 재사용하는 구조. Saleae 로직 분석기로 확인함

바코드 에뮬레이션과 퍼징

  • Raspberry Pi의 GPIO 핀으로 바코드 에뮬레이터를 만들어서 모든 바코드 값을 퍼징함. 카드 덱에 없는 숨겨진 이미지들을 발견했는데, "Take a bath!" 같은 의외의 그림이 있었음
  • 바코드 방향이 카드 뒷면에서 반전되어 있어서 처음에 데이터가 안 맞았다는 삽질 에피소드도 있음

이미지 덤프와 파싱

  • SPI 플래시 칩을 덤프해서 254개의 드로잉 이미지를 추출함. 처음에 flashrom이 비표준 칩 크기를 잘못 읽어서 35개만 나왔는데, 16MB로 강제 지정하니 전체 데이터가 나옴
  • 이미지 데이터는 좌표 기반 포맷이었고, Python으로 raw data를 SVG로 변환하는 파서와 SVG를 raw data로 역변환하는 제너레이터를 작성함

커스텀 이미지 플래싱

  • ChatGPT한테 좌표 포맷 디코딩을 도움받았는데, "pen up"(펜 들기) 액션을 제대로 처리 못해서 모든 이동에 선이 그어지는 문제가 있었음. 본인 이미지가 연속 선이라 일단 넘어감
  • 최종적으로 커스텀 SVG를 기존 이미지 슬롯에 맞춰 변환하고 플래시에 써서 로봇이 직접 그리게 하는 데 성공함. 플래시 칩을 브레이크아웃 보드에 달아서 프로그래머와 로봇 사이를 왔다갔다 할 수 있게 세팅함
  • 향후 과제로는 이미지 변환부터 플래시 쓰기, 드로잉 트리거까지 원스텝으로 자동화하는 것, 오디오 포맷 디코딩, 로봇 본체 리디자인 등을 언급함

toy_hardware_hacking

댓글

댓글

댓글을 불러오는 중...

security

한양대 에리카와 네이버클라우드, 클라우드·보안·AI 인재 키우는 산학협력 체결

한양대 에리카가 네이버클라우드와 첨단 분야 지역인재 양성과 글로벌 산학협력을 위한 업무협약을 맺었다. 협력 범위는 클라우드, 사이버보안, 블록체인, 개인정보보호, 인공지능(AI), 디지털 전환(DX) 교육·연구 기반 구축까지 포함된다.

security

악성 npm 패키지가 AI 개발도구의 지침 파일과 MCP까지 노리기 시작함

이스트시큐리티가 웹과 탈중앙화금융 개발자를 겨냥한 악성 npm 패키지 캠페인을 포착했어. 공격자는 유명 웹3 도구를 사칭하는 데서 그치지 않고, AI 에이전트가 읽는 프로젝트 지침 파일과 MCP 기반 외부 도구 호출까지 공격 경로로 삼으려 했어.

security

금융권, 앤트로픽 미토스가 찾은 오픈소스 취약점에 긴급 점검 들어감

앤트로픽의 AI 모델 클로드 미토스가 1000개 넘는 오픈소스에서 대량의 취약점 후보를 찾아냈고, 그중 일부가 실제 취약점으로 검증돼 공개됐어. 금융당국은 nginx, wolfSSL, FreeRDP, Ghost 같은 널리 쓰이는 구성요소를 중심으로 금융권에 긴급 자산 점검과 패치 적용을 권고했어.

security

애플이 양자 내성 암호화 검증 코드를 공개했다, 핵심은 수학적 증명

애플이 corecrypto 라이브러리의 포스트 양자 암호화 구현과 검증 코드를 GitHub에 공개했다. ML-KEM, ML-DSA 구현과 형식 검증 접근을 공개해 보안 연구자들이 직접 검토할 수 있게 했고, 이 기술은 25억 대 이상 활성 기기에서 쓰이는 암호화 기반과 연결된다.

security

라라벨 번역 패키지 태그가 통째로 바뀌었다, 개발자 비밀값 털리는 공급망 공격

전 세계 라라벨 개발자가 쓰는 Laravel-Lang 패키지가 공격을 받아 Git 태그가 악성 버전을 가리키도록 바뀌었다. 5월 22일 약 90분 동안 4개 저장소의 태그가 교체됐고, 감염된 패키지는 AWS 키, GitHub 토큰, Stripe 시크릿, 암호화폐 지갑 복구 구문, SSH 개인키 등을 노렸다.