로컬 27B 모델, 복잡한 리버스 엔지니어링 작업을 완수하다
들어가며
로컬 대규모 모델의 능력은 코드 작성에서 낯선 소프트웨어의 구조를 이해하는 단계로 이동하고 있다. XDA의 실험에서 Qwen 3.8 27B는 테스트자가 합법적으로 구매한 상용 애플리케이션의 라이선스 인증 방식을 점검했다. 모델은 128GB 통합 메모리를 갖춘 Lenovo ThinkStation PGX 한 대에서 실행됐으며, 바이너리와 라이선스, 분석 결과를 클라우드로 보내지 않았다.
실험에서 확인된 점
- 초기 위장을 간파했다. 테스트자는 자신을 앱 개발자라고 주장하고 탈옥형 지시를 사용했다. 모델은 서명 인증서를 확인해 주장이 사실이 아님을 알아냈다. 즉시 우회 도구를 만드는 대신 인증 흐름과 취약점을 문서화하는 방향을 택했다.
- 정적 분석으로 인증 경로를 추적했다. 주요 분석 과정에서 앱을 실행하지 않고 프레임워크를 분해하고, 많은 ARM64 코드를 읽으며 보안 함수의 호출 지점을 연결했다. 바이너리에 숨겨진 공개키 관련 정보도 찾아내 실제 라이선스와 검증 구조가 맞는지 확인했다.
- 부분적인 성공을 최종 결과로 착각하지 않았다. 첫 번째로 복원한 키는 서명 검사를 통과했지만 바이너리가 계산하는 무결성 해시와 맞지 않았다. 모델은 작업을 끝내지 않고 가정을 다시 검토해 값이 바이트 단위로 일치할 때까지 분석을 이어갔다.
- 개념 증명을 만들었다. 인증 관문을 파악한 뒤 모델은 분석 내용을 작은 스크립트로 정리해 라이선스 확인을 우회할 수 있음을 시연했다. 원문은 재현 가능한 코드나 구체적인 공격 절차를 공개하지 않는다.
보안에 미치는 의미
핵심은 특정 앱에 약점이 있었다는 사실만이 아니다. 로컬에서 실행되는 27B 모델이 일반적으로 전문가와 Ghidra 같은 도구가 필요한 여러 단계의 역공학 작업을 조율했다는 점이다. 분석된 구조에는 최초 온라인 활성화, 오프라인 서명 확인, 하드웨어 바인딩, 내장 폐기 목록, 바이너리 서명 검사, 서명된 업데이트 경로가 포함됐다. 보고된 약점은 충분히 강하다고 보기 어려운 RSA 키, 오프라인 환경에서 유출된 키를 폐기하려면 업데이트가 필요하다는 점, 그리고 클라이언트에 있는 모든 검사는 결국 수정될 수 있다는 점이다.
소프트웨어 업체는 클라이언트 코드 난독화만을 완전한 보안 경계로 간주해서는 안 된다. 키 관리와 업데이트·폐기 정책, 무결성 보호, 서버 측 위험 통제를 함께 재검토해야 한다. 보안 조직의 위협 모델에도 로컬 모델을 포함할 필요가 있다. 오프라인 추론은 기밀 바이너리의 외부 전송 위험을 줄이지만, 동시에 소프트웨어 분석 비용도 낮춘다.
물론 이번 결과는 하나의 앱, 하나의 하드웨어 구성, 한 번의 실행에 기반한다. 모든 27B 모델이 같은 성능을 낸다는 뜻은 아니다. 그럼에도 로컬 모델이 소프트웨어 감사와 리버스 엔지니어링에 실질적으로 참여하기 시작했음을 보여주는 사례로 볼 수 있다.
출처: Hacker News
댓글
로그인 상태 확인 중…
댓글 불러오는 중…