AI 사이버 보안은 작업 증명이 아니다
작업 증명은 잘못된 비유다. 해시 충돌 찾기는 N이 커질수록 기하급수적으로 어려워지지만, 연산을 충분히 투입하면 H(S)가 N을 만족하는 어떤 S든 반드시 찾을 수 있다. 그래서 투입된 자원에 비대칭이 생기면 ‘작업 능력’이 더 큰 쪽이 결국 승리하게 된다.
하지만 버그는 다르다:
- LLM을 실행할 때마다 서로 다른 분기를 탐색하지만, 결국 코드가 가질 수 있는 상태를 기반으로 한 가능한 분기는 포화된다.
- 주어진 코드에서 버그를 찾기 위해 모델을 M번 샘플링한다고 상상해 보자. M이 충분히 크면, 한계는 더 이상 ‘M’이 아니게 된다. 코드의 상태와 LLM 샘플러의 유의미한 경로가 모두 포화되기 때문이다. 그 대신 한계는 ‘I’, 즉 모델의 지능 수준이 된다.
OpenBSD SACK 버그가 이를 단적으로 보여준다. 성능이 낮은 모델을 무한한 토큰으로 돌려도 절대 깨닫지 못한다(*)는 것이다. 시작 윈도우에 대한 검증 부재가 정수 오버플로와 결합되고, 거기에 더해 원래라면 노드가 절대 NULL이 될 수 없는 분기에 무조건 진입한다는 사실까지 함께 맞물려야 비로소 버그가 발생한다는 것을 말이다.
그래서 내일의 사이버 보안은 ‘GPU가 많을수록 이긴다’는 의미에서의 작업 증명과는 다를 것이다. 대신 더 뛰어난 모델, 그리고 그런 모델에 더 빠르게 접근할 수 있는 쪽이 승리할 것이다.
* 약한 모델이 OpenBSD SACK 버그를 찾을 수 있다고 말하는 사람은 믿지 마라. 내가 직접 해봤다. 실제로 일어나는 일은 약한 모델이 환각을 일으킨다는 것이다. 윈도우 시작 부분에 대한 검증이 빠져 있다거나(이론상 start < end 검증 때문에 무해하다) 정수 오버플로 문제가 있다는 식으로 말하는데, 이 둘이 결합했을 때 왜 문제가 되는지는 전혀 이해하지 못한다. (가끔은 우연히 실제 문제를 맞추기도 한다.) 그저 문제가 있어 보이는 코드에서 버그 유형을 패턴 매칭하는 것일 뿐, 문제를 진정으로 이해하고 익스플로잇을 작성할 능력은 전혀 없다. 직접 테스트해 보라. GPT 120B OSS는 저렴하고 바로 쓸 수 있다.
덧붙이자면, 이 버그에서 (진짜 버그를 발견할 만큼 강하지는 않으면서) 더 강한 모델을 고를수록 오히려 버그가 있다고 주장할 가능성이 낮아지는 이유가 바로 여기에 있다. 더 강한 모델은 환각을 덜 일으키기 때문에, 스펙트럼의 어느 쪽에서도 문제를 보지 못한다. 작은 모델의 환각 쪽에서도, Mythos의 진정한 이해 쪽에서도 말이다.
글을 무작위로 읽기