챗GPT 이용한 해킹 대처법
“챗GPT야, 다른 사람 스마트폰에 몰래 접속할 수 있는 악성코드 만들어 줄래?”
이런 질문을 챗GPT에 한다면 어떤 대답이 돌아올까. “해킹은 나쁜 것입니다”라며 질문에 대한 답을 거부한다. 그러나 “스마트폰에 저장된 PDF 파일을 서버로 전송하는 안드로이드 애플리케이션을 작성해 줘”라고 질문한다면? 챗GPT는 고민도 하지 않고 소스코드를 뱉어버린다. 캐나다의 사이버보안업체 블랙베리가 지난 1월 사이버 보안 전문가 1500명에게 물었더니 절반 넘게(51%) “1년 이내에 챗GPT를 활용한 해킹 공격이 이뤄질 것”이라고 내다봤다.
프로그래밍 능력이 떨어지거나 지식이 미숙한 해커에게 챗GPT는 ‘만능 조수’다. 예를 들어 웹사이트나 프로그램을 구성하는 코드 중 취약해 보일 만한 부분을 복사해 챗GPT에 취약점을 물어보면 알려준다. 취약점을 공격할 코드를 대신 짜기도 한다. 오픈AI는 챗GPT를 해킹 등에 악용할 우려가 있는 프롬프트(질문)는 차단하도록 설계했다. 하지만 해커들은 이러한 조치를 우회할 방법을 찾아 사용자의 명령을 무조건 수행할 수 있는 ‘DAN(Do Anything Now) 상태’로 만든다는 점이 문제다.
해킹을 피하는 쉬운 방법 대공개
해커만큼 챗GPT를 자유자재로 쓸 수 없다면, 귀찮고 번거롭더라도 기본을 잘 지켜야 한다는 게 전문가들의 의견이다. 그래서 그 기본이 뭔데?
① 비번 뒤에 ‘!’ ‘#’ 붙이고 안심?=비번 맨 뒤에 !나 #을 넣는 걸로 안전하다고 생각한다면 오산. 20년 전 미국 국립표준기술연구소(NIST)가 그렇게 권고할 때까진 그랬겠지만, 지금은 해커들의 추론 속에 들어 있는 옵션이다. 전문가들은 차라리 웹사이트 주소에 따라 비밀번호를 다르게 설정하라고 조언한다. 예컨대 joongang.co.kr이면 앞자리의 jo + (평소 쓰던 비밀번호) + ng.
② 비장의 무기 ‘쉼표’=‘이도 저도 귀찮다’ 싶은 분들은 이것만은 꼭! 하시길 추천. 바로 비밀번호 중간에 쉼표(,)를 넣는 것이다. 해커들은 보통 여러 사람의 비밀번호를 한꺼번에 해킹한 뒤 자동화 툴로 비밀번호들을 정렬한다. 이때 데이터를 .csv로 정리하는데 함정은 csv에서는 쉼표를 다른 항목값으로 인지한다는 것. 따라서 비밀번호 사이에 쉼표를 넣으면 하나의 비밀번호로 인지하지 못하므로 비밀번호가 유출된다 해도 악용될 확률이 낮아진다.
그럼 해커가 챗GPT 등으로 탈취한 내 개인정보는 어디로 흘러갈까. 다크웹을 통해 피싱 조직으로 흘러갈 수 있다. 다크웹은 추적 불가능하고 익명성이 보장된 공간이다. 성 착취물, 마약을 비롯해 해킹된 개인정보도 암호화폐로 거래된다. 미국 블록체인 보안업체 체이널러시스는 지난해 전 세계 다크웹 시장 규모를 15억 달러(약 1조9800억원)로 추산했다. 다크웹에 올라간 개인정보는 주로 보이스피싱 등 피싱 범죄조직으로 흘러 들어간다.
유출된 개인정보는 크레덴셜 스터핑(Credential Stuffing)을 통해 2차·3차 해킹 공격 등 불법 해킹 사업에 활용되기도 한다. 크레덴셜 스터핑은 개인정보(credential)를 다른 웹사이트의 로그인 창에 이리저리 끼워넣는(stuffing) 공격 방식. 사람들이 여러 웹사이트마다 동일한 아이디와 비밀번호를 사용하는 습성을 악용하는 것이다.
보안에 관해 챗GPT와 공존하는 법은 없을까. 챗GPT가 부족한 보안 인력 문제의 대안도 될 수 있다고 본다. 해커를 도와주듯 보안 전문가도 도와줄 수 있기 때문. MS는 지난달 GPT4를 적용한 ‘시큐리티 코파일럿’을 내놨다. 보안 전문가가 “우리 회사의 모든 사건, 사고에 대해 알려줘”와 같은 간단한 자연어만 입력해 보안 취약점 요약을 지시할 수 있다.