ChatGPT(Chat Generative Pre-trained Transformer)는 미국 OpenAI가 개발한 챗봇 프로그램으로, 인간의 언어를 이해하고 학습하여 대화를 진행하고, 채팅의 맥락을 기반으로 사용자와 상호작용할 수 있으며, 정말 인간처럼 채팅하고 소통하세요. 이메일 작성, 비디오 스크립트, 카피라이팅, 코드, 논문 작성 등과 같은 작업도 완료할 수 있습니다.
ChatGPT의 알고리즘은 Self-Attention 메커니즘을 사용하여 입력 데이터를 처리하는 심층 신경망인 Transformer 아키텍처를 기반으로 합니다. Transformer 아키텍처는 언어 번역, 텍스트 요약, 질문 응답 등 자연어 처리 작업에 널리 사용됩니다. ChatGPT는 GPT-3.5 대형 언어 모델(LLM Large Language Model)을 사용하며, 이 모델을 기반으로 사전 학습된 언어 모델을 미세 조정하기 위해 강화 학습이 도입됩니다. 여기서의 강화학습은 수동 주석 방법인 RLHF(Reinforcement Learning from Human Feedback)를 사용합니다. LLM 모델이 보상과 처벌 메커니즘을 통해 다양한 자연어 처리 작업을 이해하고, 도움이 됨, 정직함, 무해함의 세 가지 차원에서 어떤 종류의 답변이 고품질인지 판단하는 방법을 배우도록 하는 것이 목적입니다.
ChatGPT 모델의 주요 훈련 과정은 다음과 같습니다:
보안 감지 분야에서 점점 더 많은 기업 조직이 인공 지능 기술을 사용하여 네트워크 트래픽의 잠재적 위협을 감지하기 시작하고 있습니다. 인공지능의 장점은 대용량 데이터를 처리해 비정상 트래픽을 빠르고 정확하게 파악하고 분류할 수 있다는 점이다. 인공 지능은 신경망 모델을 훈련함으로써 네트워크 공격, 취약성 공격, 맬웨어 및 기타 동작을 자동으로 감지 및 식별하고, 수동 개입과 오탐을 줄이고, 감지 정확도와 효율성을 향상시킬 수 있습니다.
현재 주류 네트워크 공격 탐지의 핵심은 DPI 기술을 기반으로 개발된 HTTP 접근 탐지(WAF)와 운영체제의 침입 방지 탐지(IPS)입니다. 즉, 애플리케이션 이전에 배포되어 사용자 요청이 서버에 도달하기 전에 검색 및 필터링하고, 각 사용자가 요청한 네트워크 패킷을 분석 및 확인하며, 각 요청의 안전성과 효율성을 보장하고, 유효하지 않거나 공격적인 요청을 가로채거나 차단합니다. 격리. 현재 일반적으로 사용되는 공격 탐지 방법은 다음과 같습니다.
작성된 특정 규칙이나 패턴(정규식)을 기반으로 바이러스, 악성 코드, 침입 행위 등 네트워크 트래픽의 위협을 탐지합니다. 미리. 그러나 공격 방법이 다양하기 때문에 숙련된 해커는 일부 구문을 변경하여 탐지를 우회할 수 있습니다. 정규식은 키워드를 기반으로 개발되었지만, 정규식은 문자열 필터링을 기반으로 하기 때문에 좀 더 복잡한 주입에 대해서만 미리 결정된 공격 행위만 탐지할 수 있습니다. 이 방법에도 높은 오류가 발생하는 문제가 있습니다. 마이너스 금리.
유사 트래픽의 소스 IP, 프로토콜 유형 비율, 트래픽 상승 및 하락 추세 등 기본 요소를 모델링하고 분석하여 일부 이상 이벤트에 대한 분석적 결론을 얻을 수 있습니다. 그러나 트래픽 분석은 네트워크 트래픽을 포착하고 분석해야 하기 때문에 높은 컴퓨팅 리소스와 스토리지 리소스가 필요하므로 전체 시스템이 상대적으로 커집니다.
네트워크 트래픽의 행동을 모니터링하여 비정상적인 활동을 탐지합니다. 예를 들어, 웹 애플리케이션 서버가 비업무용 데이터베이스에 액세스하는 경우, 대규모 데이터 흐름이 급증하는 경우, 잦은 액세스 시도 등을 감지하여 잠재적인 네트워크 위협을 발견합니다. 이 과정에서 일부 합법적인 활동(임시 다운로드 등)이 허위로 보고될 수 있으며, 성숙한 행동 분석 모델은 훈련 및 학습에 오랜 시간이 걸리므로 보호 효율성이 낮을 수 있습니다.
탐지 엔진을 SQL 의미 해석기 또는 명령줄 터미널로 설계하고, 사용자가 입력한 내용을 이해하고 공격에 해당하는지 여부를 판단합니다. 현재는 주로 SQL 주입을 대상으로 하며 사용 시나리오가 제한되어 있습니다.
DPI 엔진 기반 탐지 방식을 기반으로 한 이러한 사용 제한 외에도 침입에 대한 트래픽 분석 엔진을 우회하는 방법도 많이 있습니다. 예를 들어, DPI 엔진의 가능한 HTTP 프로토콜 구문 분석 결함을 사용하여 포트 80만 HTTP 트래픽으로 인식하고 웹 애플리케이션 포트는 8080에 있으며 해당 HTTP 트래픽은 DPI 엔진에 의해 HTTP가 아닌 것으로 구문 분석됩니다. 애플리케이션 계층 공격 탐지를 우회합니다.
DPI 엔진의 압축 풀기 프로세스를 따라 원본 트래픽을 주요 필드 데이터로 구문 분석하고 규칙 일치를 수행합니다. 규칙이 일치할 수 있으면 패킷에 공격 동작이 포함되어 있다는 의미이고, 일치할 수 없으면 패킷의 위험이 낮다는 의미입니다. DPI 엔진이 수신하는 트래픽은 다음과 같습니다.
DPI 엔진은 세션에 따라 트래픽을 그룹화합니다. 동일한 그룹의 메시지는 일반적으로 동일한 5튜플의 요청 응답 메시지입니다.
DPI 엔진은 모든 필드가 구문 분석될 때까지 프로토콜 수준에 따라 트래픽을 분해합니다.
DPI 엔진은 애플리케이션 계층의 일반 텍스트 요청을 감지할 콘텐츠로 추출합니다.
ChatGPT는 대규모 자연어 처리 모델로서 원본 HTTP 메시지 정보를 이해할 수 있으므로 공격이 URL, 쿠키 또는 리퍼러 어디에 나타나든 성공적으로 탐지할 수 있습니다.
ChatGPT, New Bing 및 기타 공격 판단 모듈은 OpenAI 관련 API 인터페이스를 호출하고 질문을 사용하여 ChatGPT, New Bing 등이 공격 판단을 내릴 수 있도록 합니다.
import openai openai.api_key = "sk-Bew1dsFo3YXoY2***********81AkBHmY48ijxu"# api token 用来认证 def get_answer(prompt, max_tokens): # 定义一个获取答案的函数 try: response = openai.Completion.create( model = "text-davinci-003", # 模型名称 prompt = prompt,# 问题 temperature = 0.7, max_tokens = max_tokens,# 返回内容的长度限制 stream = False, # False就是一次性返回, True 就是一个个打出来像打字机, 返回的是迭代器, 需要后面代码处理. 此处没有处理 所以用False top_p = 1, frequency_penalty = 0, presence_penalty = 0 ) return 0, response['choices'][0]['text'].strip()# 获取返回值关键返回内容 except Exception as e:# 异常处理 return str(e), None
위 기능을 통해 아래와 같이 ChatGPT(사용된 모델은 text-davinci-003)에 질문하는 것과 유사한 효과를 얻을 수 있습니다.
ChatGPT는 공격이 있는지에 대한 명확한 결론을 반환합니다. 행동과 행동에 대한 설명을 작성하여 공격 판단을 완성합니다.
위 그림과 같이 트래픽에서 판단해야 할 다수의 요청을 서로 다른 파일에 저장할 수 있으며, ChatGPT에서 공격 판단을 수행할 수 있는 샘플 코드는 다음과 같습니다.
def main(read_dir = 'detect'):# 定义main函数 args = []# 缓存列表 global sign_req, all_req# 识别计数 for rf in walk_dir(read_dir, ['.txt']):# 遍历待检测目录 all_req += 1# 总数据包数自增1 content = read_fileA(rf, 'str')[:2048]# 提取报文文件前2048个字符 key_content = content.split('rnrnrn')[0][:1024]# 提取http请求 if len(key_content) < 10: continue# 如果长度太小就不检测 err, sign, disc = judge_attack(key_content, rf_rst)# 调用ChatGPT接口进行攻击检测 if sign: sign_req += 1# 如果检测到攻击, 攻击计数自增1 print('r' + f' 已检测 {all_req: 4} 个报文, 识别到攻击 {sign_req} 个, 检出率: {sign_req/all_req:0.2%}', end='', flush=True) # 打印结论
In 이러한 방식으로 일괄 메시지 공격 탐지가 가능합니다.
공격 샘플은 Nuclei의 대상 시스템 스캔 및 전체 PoC 감지에서 생성됩니다. 단일 메시지에서 위협이 있는지 여부를 파악하기 어려운 일부 요청이 있기 때문입니다.
위의 상황은 판단하기 위해 더 많은 맥락이 필요할 수 있습니다. 이번에는 정확하게 판단할 수 없는 요청 사례를 제거하고 인위적인 조건에서 정확하게 판단할 수 있는 몇 가지 사례를 제공하려고 합니다.
ChatGPT의 트래픽 감지 정확도가 매우 높다는 것을 알 수 있으며 이는 기본적으로 보안 전문가의 빠른 판단과 동일합니다. 기대할만한 가치가 있습니다.
관심 있는 독자는 전체 프로젝트 소스 코드를 볼 수 있습니다. 링크는 다음과 같습니다: https://github.com/VitoYane/PcapSplit
미래에 ChatGPT는 네트워크 보안에서 어떤 역할을 하게 될까요? 사용 방법과 사용 의도에 따라 영향이 달라질 수 있으므로 정확하게 예측하기는 어렵습니다. 인공 지능으로 인한 위협은 새로운 문제가 아닙니다. 사이버 보안 실무자가 ChatGPT의 잠재적 위험을 적시에 인식하고 이를 처리하기 위한 적절한 조치를 취하는 것이 중요합니다.
보안 전문가들은 국가의 지원을 받는 해커들이 처음으로 ChatGPT를 네트워크 공격에 활용할 것이며, 결국 더 많은 공격 조직에서 이 기술을 대규모로 사용할 것이라고 예측합니다. 방어자들은 그러한 공격에 저항할 수 있는 시스템 개발을 시작해야 합니다.
네트워크 보안 보호의 관점에서 기업 조직은 표적 대응 조치를 취하고, ChatGPT 및 기타 유사한 모델을 교육하고, 악성 활동 및 악성 코드를 표시하고, 우회하기 어려운 가드레일을 설정할 수 있습니다. ChatGPT로 인한 위협의 경우 ChatGPT와 같은 인공 지능 도구로 생성된 피싱 공격을 식별하기 위해 사회 공학 공격을 식별하는 지식을 습득하기 위해 직원에게 새로운 사이버 인식 교육을 제공할 수 있습니다.
물론 이것만으로는 충분하지 않습니다. ChatGPT와 같은 인공 지능 도구는 인간 범죄자보다 더 빠르게 새로운 위협을 생성하고 사이버 보안 담당자가 대응할 수 있는 것보다 더 빠르게 위협을 확산시킵니다. 조직이 이러한 변화 속도를 따라잡을 수 있는 유일한 방법은 AI로 AI에 대응하는 것입니다.
요약하자면, 사이버 보안 업계의 연구원, 실무자, 학술 기관 및 기업 조직은 ChatGPT의 기능을 활용하여 취약성 발견, 사고 대응, 피싱 감지 등을 포함하여 혁신하고 협업할 수 있습니다. , ChatGPT와 같은 도구의 개발과 함께 향후 새로운 네트워크 보안 도구를 개발하는 것이 더욱 중요해질 것입니다. 보안 공급업체는 AI 생성 공격을 탐지하기 위해 규칙 기반이 아닌 행동 기반 AI 보안 도구를 개발하고 배포하는 데 더 적극적이어야 합니다.
위 내용은 ChatGPT를 사용하여 보안 탐지의 지능 수준을 향상시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!