??中文| อังกฤษ |文档/Wiki | ❓提问/Issues |讨论/การสนทนา
安全 / 审计 / 便捷
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 โดยแบ่งออกเป็น 3 ส่วน ได้แก่ Instruction, Input และ Output ในผลลัพธ์ เราระบุว่าการวิเคราะห์ควรรวมข้อมูลโดยละเอียด (การวิเคราะห์) ระดับความปลอดภัย (ฉลาก) ความเสี่ยงด้านความปลอดภัย (ความเสี่ยง) และโซลูชันที่เกี่ยวข้อง (โซลูชัน) สำหรับข้อมูลชุดข้อมูลโดยละเอียด (รวมถึงรูปแบบและองค์กร) โปรดดูข้อมูลการฝึกอบรมการตรวจสอบอัตโนมัติ นี่คือตัวอย่างบางส่วน:
คำถาม | คำตอบ | เรื่อง |
---|---|---|
โปรดประเมินว่าคำสั่งนี้มีช่องโหว่ด้านความปลอดภัย:" หรือ pg_sleep ( TIME ) --" | 1. การวิเคราะห์ : ดูเหมือนว่าคำสั่ง SQL กำลังพยายามฉีด SQL โดยการฉีดคำสั่ง sleep โดยใช้ฟังก์ชัน 'pg_sleep'n 2. label : สูงn 3. ความเสี่ยง : คำสั่ง SQL ที่ให้มามีความเสี่ยงสูงที่จะถูกฉีด SQL มันใช้ฟังก์ชัน 'pg_sleep' เพื่อพยายามโจมตี blind SQL insert ตามเวลาn 4. วิธีแก้ไข : ใช้การตรวจสอบอินพุตและการกำหนดพารามิเตอร์ที่เหมาะสมเพื่อป้องกันการโจมตี SQL insert | การวิเคราะห์ SQL |
โปรดวิเคราะห์ว่าข้อมูลโค้ด Python นี้ก่อให้เกิดความเสี่ยงด้านความปลอดภัย:"import socketnimport jsonnimport osnimport subprocessnimport base64nnclass Backdoor:n def init (self, ip, port):n self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)n self.connection.connect((ip, พอร์ต))" | 1. การวิเคราะห์ : ข้อมูลโค้ด Python กำหนดคลาสชื่อ 'Backdoor' ด้วยวิธีการเริ่มต้น ' init ' คลาสตั้งค่าการเชื่อมต่อซ็อกเก็ตไปยังที่อยู่ IP และพอร์ตที่ระบุn 2. ป้ายกำกับ : ต่ำn 3. ความเสี่ยง : ข้อมูลโค้ด Python ที่กำหนดมีความเสี่ยงด้านความปลอดภัยต่ำ โดยส่วนใหญ่จะสร้างการเชื่อมต่อซ็อกเก็ต ซึ่งเป็นการดำเนินการเครือข่ายทั่วไป อย่างไรก็ตาม ความเสี่ยงด้านความปลอดภัยที่แท้จริงขึ้นอยู่กับรายละเอียดการใช้งานของคลาสและการใช้งานn 4. วิธีแก้ไข : ตรวจสอบให้แน่ใจว่าคลาส 'Backdoor' และการใช้งานมีมาตรการรักษาความปลอดภัยที่เหมาะสม เช่น การตรวจสอบอินพุตที่เหมาะสม โปรโตคอลการสื่อสารที่ปลอดภัย การควบคุมการเข้าถึง และการจัดการข้อผิดพลาด เพื่อลดความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น | การวิเคราะห์รหัสหลาม |
รายการเพิกถอนใบรับรอง (CRL) มีวัตถุประสงค์อะไร? | วัตถุประสงค์ของรายการเพิกถอนใบรับรอง (CRL) คือการแสดงรายการใบรับรองดิจิทัลที่ถูกเพิกถอนโดยผู้ออกใบรับรอง (CA) ก่อนวันหมดอายุตามกำหนดการ ซึ่งบ่งชี้ว่าไม่ควรเชื่อถือได้อีกต่อไป | ถามตอบความรู้ด้านความปลอดภัย |
องค์ประกอบของชุดข้อมูลที่ใช้สำหรับการฝึกโมเดลปัจจุบันและสัดส่วนที่สอดคล้องกันมีดังนี้:
เพื่อให้กระบวนการสร้างชุดข้อมูลอัตโนมัติง่ายขึ้น เราได้อัปเดต GPT ใน GPT Store ที่สร้างชุดข้อมูล QA ด้านความปลอดภัยทางไซเบอร์โดยเฉพาะ และผลลัพธ์การสร้างมีดังนี้:
ฉันอยากจะขอบคุณเพื่อนของฉัน Eric Ma; การทำงานร่วมกับเขาเพื่อปรับปรุงโครงการนี้อย่างต่อเนื่องถือเป็นประสบการณ์ที่มีความหมายที่สุดอย่างหนึ่ง ฉันยังอยากจะแสดงความขอบคุณต่อ CUHKSZ He Lab ที่ฉันได้เรียนรู้มากมายและกำหนดแนวทางที่มั่นคงสำหรับการปรับปรุงเพิ่มเติม สุดท้ายนี้ ฉันขอขอบคุณสมาชิกของชุมชนโอเพ่นซอร์สทุกคน ขอบคุณสำหรับการสนับสนุนและความช่วยเหลือของคุณ ฉันจะพยายามอย่างเต็มที่เพื่อพัฒนาโครงการของฉัน ฉันหวังว่าคุณจะชอบมัน