똑똑한 인공지능이 갑자기 비밀번호를 알려주거나 위험한 요리법을 가르쳐준다면 어떻게 될까요. 많은 기업이 정성껏 만든 AI가 아주 단순한 말장난에 속아 금지된 행동을 하는 사례가 계속 발견되고 있습니다. 분명히 안전하게 만들었다고 생각했는데 왜 이런 일이 벌어지는 것일까요.

레드팀(나쁜 사람처럼 행동해서 약점을 찾는 연습)의 구체적 공격 방식

전문가들은 AI의 약점을 찾기 위해 일부러 공격자가 되어 시스템을 괴롭히는 방법을 씁니다. 이들은 Prompt Injection(AI에게 거짓말을 시켜서 규칙을 어기게 만드는 공격)이라는 기술을 사용해 AI가 원래 지켜야 할 규칙을 잊게 만듭니다. 때로는 Jailbreaking(AI의 잠금 장치를 풀어서 금지된 말을 하게 하는 것)을 시도해 AI가 절대 말해서는 안 될 정보를 뱉어내게 유도하기도 합니다.

더 나아가 Data Poisoning(AI가 공부하는 데이터에 가짜 정보를 섞는 것)을 통해 AI가 처음부터 잘못된 상식을 배우게 만드는 공격도 관찰됩니다. 최근에는 이런 공격을 사람이 일일이 하지 않고 자동으로 수행해 주는 19가지 이상의 전문 도구들이 개발되어 사용되고 있습니다. 결국 AI 보안의 핵심은 공격자가 어떤 기발한 방법으로 AI를 속일지 미리 예상하고 실험하는 것입니다.

일반 보안 검사와 AI 전용 보안 검사의 결정적 차이

기존의 보안 검사인 Penetration Testing(컴퓨터 프로그램의 구멍을 찾는 일반적인 보안 검사)은 주로 집의 문이 잘 잠겼는지, 창문이 깨지지는 않았는지를 확인하는 것과 비슷합니다. 정해진 규칙대로 코드가 작동하는지 확인하고 그 과정에서 생긴 빈틈을 찾는 방식입니다. 하지만 AI는 정해진 답만 내놓는 프로그램이 아니라 스스로 생각해서 답을 만드는 특성이 있습니다.

그래서 AI 보안은 문이 잠겼는지 확인하는 것을 넘어, 집 안에 있는 사람을 어떻게 속여서 문을 열게 만들지를 고민하는 것과 같습니다. AI는 코드의 오류가 없어도 사용자의 교묘한 질문에 따라 예상치 못한 행동을 할 수 있기 때문입니다. 이러한 차이 때문에 AI 모델은 일반적인 소프트웨어 검사만으로는 안전을 보장할 수 없다는 결론에 도달합니다.

6개월 뒤 우리 코드에 적용될 자동 보안 체계

앞으로는 AI 모델을 업데이트할 때마다 사람이 일일이 테스트하는 대신 자동화된 공격 도구를 코드에 연결하는 방식이 도입될 것입니다. 새로운 기능을 추가할 때마다 AI가 갑자기 이상한 말을 하지는 않는지, 혹은 보안 규칙을 어기지는 않는지 자동으로 공격해 보는 과정이 필수적이 됩니다. 이를 통해 AI가 스스로 만들어낸 emergent behaviors(AI가 예상치 못하게 스스로 만들어낸 새로운 행동)를 사용자가 발견하기 전에 미리 찾아낼 수 있습니다.

결국 보안 도구들이 개발 과정의 일부로 들어오면 AI의 안전성은 운에 맡기는 것이 아니라 수치로 증명하는 영역이 됩니다. 공격 도구를 활용해 모델의 내구성을 계속 시험하는 과정이 개발 주기 속에 완전히 녹아들게 됩니다.

AI를 단순한 프로그램이 아니라 계속해서 변하는 생물처럼 다루며 끊임없이 시험해야 합니다. 보안의 핵심은 이제 완벽한 방어벽을 세우는 것이 아니라 끊임없이 공격하며 약점을 보완하는 과정에 있습니다.