??중문 | 영어 |文档/위키 | ❓提问/이슈 |讨论/토론
안전 / 审计 / 便捷
HuggingFace 다운로드
AutoAudit-7B, 이 버전은 Alpaca-Lora를 기반으로 훈련된 데모 버전입니다. 네트워크 보안 분야에서는 훌륭하게 수행되며, 영어에서도 만족스러운 답변을 얻습니다. 그러나 현재 상황에 따른 이해가 부족하며 이러한 제한을 해결하려면 더 큰 매개변수 모델이 필요합니다.
AutoAudit-8B-Instruct, 이 버전은 Llama3-8B-instruct를 기반으로 미세 조정되었으며, 사이버 보안 관련 쿼리에 대한 응답 성능이 크게 향상되었습니다. 모델의 기본 기능도 AutoAudit-7B에 비해 크게 향상되었습니다.
AutoAudit-Qwen은 중국 사이버 보안 코퍼스의 제한된 가용성으로 인해 이 모델은 아직 탐색 및 계획 단계에 있습니다.
더 많은 LLM이 곧 제공될 예정입니다.
이 프로젝트는 도메인의 복잡성과 강력한 방어 메커니즘에 대한 중요한 요구에 따라 사이버 보안 내에서 LLM(대형 언어 모델)의 적용을 탐구합니다. 사이버 보안은 운영 체제, 네트워크 프로토콜, 악성 코드 분석, 위협 탐지 등 다양한 영역을 포괄합니다 . 사이버 위협이 정교해지고 규모가 커짐에 따라 LLM은 고급 언어 처리 기능을 통해 위협 탐지, 분석 및 대응을 향상시킬 수 있는 유망한 방법을 제시합니다. 방대한 양의 데이터를 해석, 생성 및 합성하는 능력은 LLM을 복잡한 사이버 보안 문제를 해결하기 위한 혁신적인 도구로 자리매김하게 합니다.
기존 방법과 비교하여 LLM은 끊임없이 변화하는 위협 환경에 적응하도록 미세 조정되어 도메인 간 지식 연결 및 실행 가능한 비상 대응을 제공할 수 있습니다. 또한 반복적인 분석 작업을 자동화하고, 여러 소스의 데이터를 통합하고, 미묘한 위협을 포착하는 위험 평가를 생성하여 보안 시스템의 적응성과 탄력성을 향상시킬 수 있습니다. 따라서 LLM은 사이버 보안 방어 프레임워크를 강화하고 전문가에게 향상된 지원을 제공하며 보다 포괄적이고 유연한 보호를 구현하는 데 중요한 역할을 합니다.
대화형 편의와 실용적인 보안 감사 시나리오를 해결하기 위해 AutoAudit 모델을 ClamAV와 결합하여 보안 스캐닝 플랫폼(Bootstrap 템플릿에서 영감을 받은 프런트엔드 포함)을 만들었습니다. AutoAudit 모델을 직접 다운로드하려면 HuggingFace를 방문하여 가중치를 얻을 수 있습니다.
이 저장소의 콘텐츠를 로컬 또는 원격 서버에 다운로드합니다.
git clone [email protected]:ddzipp/AutoAudit.git
cd AutoAudit
Conda 환경을 만듭니다.
conda create --name AutoAudit python=3.8
conda activate AutoAudit
종속성을 설치합니다.
pip install -r requirements.txt
ClamAV를 설치하고 ClamAV를 환경 경로에 추가합니다.
샌드박스에서 라마 모델 및 Lora 가중치에 대한 경로를 설정합니다.
sandbox/yahma/llama-7b-hf
sandbox/lilBuffaloEirc/autoaudit_20230703_attempt2
다음 명령을 실행하여 프로젝트를 시작합니다.
python manage.py runserver
우리는 인간 주석과 자체 생성 데이터를 결합한 Self-Instruct 데이터 세트 구성 방법을 채택했습니다. 데이터 세트는 주로 Github, Kaggle, 보안 웹 사이트 및 공개적으로 사용 가능한 보안 취약점 데이터 세트에서 제공됩니다. 그 후, 대화 데이터를 구축하기 위해 정제 및 데이터 증대 과정을 거친다. 데이터 세트는 Alpaca 모델 데이터 세트 형식으로 엄격하게 구성되어 있으며 지침, 입력 및 출력의 세 부분으로 나뉩니다. 출력에는 분석에 세부 정보(분석), 보안 등급(레이블), 보안 위험(risk) 및 해당 솔루션(solution)이 포함되어야 함을 지정합니다. 자세한 데이터 세트 정보(형식 및 구성 포함)는 AutoAudit 훈련 데이터를 참조하세요. 다음은 몇 가지 예입니다.
질문 | 답변 | 주제 |
---|---|---|
이 명령문에 보안 취약점이 있는지 평가하십시오:" 또는 pg_sleep ( TIME ) --" | 1. 분석 : 해당 SQL 문은 'pg_sleep' 함수를 사용하여 sleep 명령어를 주입하여 SQL 인젝션을 시도하는 것으로 보입니다.n 2. 라벨 : 높음n 3. 위험 : 해당 SQL 문은 SQL 인젝션 위험이 높습니다. 'pg_sleep' 함수를 활용하여 시간 기반 블라인드 SQL 주입 공격을 시도합니다.n 4. 해결 방법 : SQL 주입 공격을 방지하기 위해 적절한 입력 유효성 검사 및 매개 변수화를 구현합니다. | SQL 분석 |
이 Python 코드 조각이 보안 위험을 초래하는지 분석하십시오."import 소켓nimport jsonnimport osnimport subprocessnimport base64nnclass Backdoor:n def init (self, ip, port):n self.connection = 소켓.소켓(소켓.AF_INET, 소켓.SOCK_STREAM)n self.connection.connect((ip, 포트))" | 1. 분석 : Python 코드 조각은 초기화 메서드 ' init '을 사용하여 'Backdoor'라는 클래스를 정의합니다. 클래스는 지정된 IP 주소 및 포트에 대한 소켓 연결을 설정합니다.n 2. 라벨 : 낮음n 3. 위험 : 지정된 Python 코드 조각은 보안 위험이 낮습니다. 주로 일반적인 네트워킹 작업인 소켓 연결을 설정합니다. 그러나 실제 보안 위험은 클래스 구현 세부정보와 그 사용법에 따라 달라집니다.n 4. 해결 방법 : '백도어' 클래스와 그 사용법에 적절한 입력 유효성 검사, 보안 통신 프로토콜 등 적절한 보안 조치가 마련되어 있는지 확인하세요. , 액세스 제어 및 오류 처리를 통해 잠재적인 보안 위험을 완화합니다. | Python 코드 분석 |
인증서 해지 목록(CRL)의 목적은 무엇입니까? | CRL(인증서 해지 목록)의 목적은 예정된 만료 날짜 이전에 발급 인증 기관(CA)에서 해지된 디지털 인증서를 나열하여 더 이상 신뢰할 수 없음을 나타내는 것입니다. | 보안 지식 Q&A |
현재 모델 학습에 사용된 데이터 세트의 구성과 해당 비율은 다음과 같습니다.
자동화된 데이터 세트 생성 프로세스를 단순화하기 위해 사이버 보안 QA 데이터 세트 생성 전용 GPT 스토어의 GPT도 업데이트했으며, 생성 결과는 다음과 같습니다.
내 친구 Eric Ma에게 감사를 표하고 싶습니다. 이 프로젝트를 지속적으로 개선하기 위해 그와 함께 일하는 것은 가장 의미 있는 경험 중 하나였습니다. 또한 제가 많은 것을 배우고 앞으로의 발전 방향을 확고히 해준 CUHKSZ He Lab에도 감사의 말씀을 전하고 싶습니다. 마지막으로 오픈 소스 커뮤니티의 모든 구성원에게 감사의 말씀을 전합니다. 귀하의 지원과 도움에 감사드립니다. 나는 내 프로젝트를 개발하기 위해 최선을 다할 것입니다. 마음에 드셨으면 좋겠습니다.