본문 바로가기
Today

ChatGPT로 랜섬웨어를 제작해보자

by _Jay_ 2023. 2. 15.
반응형

 

 

요즘 굉장히 뜨고 있는 이슈 중 하나는 ChatGPT라는 AI 기반의 검색 엔진이다. ChatGPT는 OpenAI라는 해외 기업에서 만든 프로젝트인데, 간단히 엄청난 양의 데이터를 바탕으로 우리의 질문에 대답해주는 소프트웨어 정도로 정리할 수 있겠다.

 

그래서 오늘은 이 ChatGPT를 가지고 랜섬웨어를 만들어 보고자 한다. ChatGPT를 사용하는 방법은 간단하기 때문에 여기서는 생략하도록 하고, 우선 ChatGPT에게 ChatGPT가 무엇인지 설명해달라고 물어보자.

 

 

ChatGPT에 대한 설명을 보니 그럭저럭 잘 요약해서 말해주는 것 같다. 여기서 재밌는 것은 같은 질문에 대해서도 반복해서 물어보면 그때그때 마다 다른 답을 내놓는다는 점이다. 그럼 이번에는 ChatGPT에게 랜섬웨어가 무엇인지 물어보도록 해보자.

 

 

이번 대답은 뭔가 위키(Wiki)에 설명한 것처럼 쭉 풀어서 서술한 느낌으로 설명을 해줬다. 물론 아직 한국어가 완벽하지 않은 관계로 평어체가 아닌 문어체 방식으로 서술했기에 번역 투의 느낌을 지울 수는 없다.

 

예측컨대 ChatGPT도 먼저 영어로 답을 한 뒤에 한국어로 번역을 돌려 보여주는게 아닐까 싶다. 그래서 랜섬웨어가 무엇인지 알았으니, 다음으로는 파이썬으로 랜섬웨어 코드를 만들어달라고 해보겠다.

 

 

 

악성코드의 종류 중 하나인 랜섬웨어에 대해서는 자세히 설명해줬지만, 이번에는 공정한 기술이 아니라는 이유로 대답을 거부했다. 사실 ChatGPT를 만든 OpenAI에서 가장 우려하는 것이 ChatGPT로 거짓 정보를 유포하거나 논문을 표절하거나, 악성코드를 만들어서 유포하는 등의 부작용이다.

 

아직 법적인 규제가 나오지 않았기에 저렇게 악용할 여지가 있는 질문에 대해서는 일종의 락을 걸어둔 것 같은데, 그러면 우리는 이 질문을 조금 우회하여 다시 물어보자.

 

 

사실 랜섬웨어의 중요한 특징 중 하나가 파일을 암호화시킨다는 것이다. 그런데 보안 솔루션 중에 DRM도 문서를 암호화하는 기능이 있기에, 위와 같이 물어보면 답해주지 않을까 싶어서 질문을 해봤더니 이번에는 제대로 대답해줬다.

 

여기서는 Fernet이라는 암호화 모듈을 이용하여 파일을 암호화 시키는 굉장히 심플하고 좋은 코드의 예를 보여주고 있다. 이렇게 우리는 ChatGPT를 이용하서 랜섬웨어를 만들 수 있게 된 것과 다름 없다.

 

 

 

랜섬웨어는 파일을 암호화하기 때문에 속도가 중요하니 C언어로도 코드를 작성해달라고 해보았다. 물론 여기에 몇몇 기능을 더 붙여야겠지만, 이렇게만 해도 랜섬웨어가 어떤 함수를 이용하여 동작하는지 충분히 알 수 있다.

 

이 글에서는 ChatGPT의 설명을 위해 악성 행위를 하는 코드를 우회적으로 얻어냈지만 학습 목적으로만 사용하고 절대로 악용하지 말길 바란다. 이로 인해 벌어지는 일에 대해서는 필자는 책임지지 않는다.

 

다음 글에서는 실제로 ChatGPT가 답한 코드를 기반으로 테스트 목적의 랜섬웨어를 만들어보고 분석해보도록 하겠다.

 

 

반응형

댓글