??中文| Englisch |文档/Wiki | ❓提问/Issues |讨论/Diskussionen
安全 / 审计 / 便捷
HuggingFace下载
AutoAudit-7B, diese Version ist eine auf Alpaca-Lora trainierte Demoversion. Es schneidet im Bereich der Netzwerksicherheit hervorragend ab und liefert zufriedenstellende Antworten auf Englisch. Derzeit mangelt es jedoch an Kontextverständnis und es ist ein größeres Parametermodell erforderlich, um diese Einschränkung zu beheben.
AutoAudit-8B-Instruct, diese Version wurde auf Basis von Llama3-8B-Instruct verfeinert und ihre Leistung bei der Beantwortung von Cybersicherheitsanfragen wurde deutlich verbessert. Auch die grundlegenden Fähigkeiten des Modells wurden im Vergleich zu AutoAudit-7B erheblich verbessert.
AutoAudit-Qwen, aufgrund der begrenzten Verfügbarkeit des chinesischen Cybersicherheitskorpus befindet sich dieses Modell noch in der Erforschungs- und Planungsphase.
Weitere LLMs folgen bald
Dieses Projekt untersucht die Anwendung von Large Language Models (LLMs) im Bereich der Cybersicherheit, angetrieben durch die Komplexität der Domäne und den dringenden Bedarf an robusten Abwehrmechanismen. Cybersicherheit umfasst verschiedene Bereiche wie Betriebssysteme, Netzwerkprotokolle, Malware-Analyse und Bedrohungserkennung . Da Cyber-Bedrohungen immer komplexer und umfangreicher werden, stellen LLMs eine vielversprechende Möglichkeit dar, die Bedrohungserkennung, -analyse und -reaktion durch fortschrittliche Sprachverarbeitungsfunktionen zu verbessern. Ihre Fähigkeit, große Datenmengen zu interpretieren, zu generieren und zu synthetisieren, macht LLMs zu einem transformativen Werkzeug zur Bewältigung komplexer Cybersicherheitsherausforderungen.
Im Vergleich zu herkömmlichen Methoden können LLMs fein abgestimmt werden, um sich an die sich ständig ändernde Bedrohungslandschaft anzupassen und domänenübergreifende Wissensverbindungen und umsetzbare Notfallreaktionen bereitzustellen. Sie können auch sich wiederholende Analyseaufgaben automatisieren, Daten aus mehreren Quellen integrieren und Risikobewertungen erstellen, die subtile Bedrohungen erfassen, wodurch die Anpassungsfähigkeit und Widerstandsfähigkeit von Sicherheitssystemen verbessert wird. Daher spielen LLMs eine entscheidende Rolle bei der Stärkung der Cybersicherheits-Verteidigungsrahmen, indem sie Experten bessere Unterstützung bieten und einen umfassenderen und flexibleren Schutz ermöglichen.
Für interaktiven Komfort und zur Bewältigung praktischer Sicherheitsüberprüfungsszenarien haben wir das AutoAudit-Modell mit ClamAV gekoppelt, um eine Plattform für Sicherheitsüberprüfungen zu erstellen (wobei das Frontend von Bootstrap-Vorlagen inspiriert ist). Wenn Sie das AutoAudit-Modell direkt herunterladen möchten, können Sie HuggingFace besuchen, um die Gewichte zu erhalten.
Laden Sie den Inhalt dieses Repositorys auf Ihren lokalen oder Remote-Server herunter:
git clone [email protected]:ddzipp/AutoAudit.git
cd AutoAudit
Erstellen Sie eine Conda-Umgebung:
conda create --name AutoAudit python=3.8
conda activate AutoAudit
Abhängigkeiten installieren:
pip install -r requirements.txt
Installieren Sie ClamAV und fügen Sie ClamAV zum Umgebungspfad hinzu.
Legen Sie die Pfade für das Lama-Modell und die Lora-Gewichte in der Sandbox fest:
sandbox/yahma/llama-7b-hf
sandbox/lilBuffaloEirc/autoaudit_20230703_attempt2
Führen Sie den folgenden Befehl aus, um das Projekt zu starten:
python manage.py runserver
Wir haben die Self-Instruct-Methode zur Datensatzorganisation übernommen, die menschliche Anmerkungen und selbst generierte Daten kombiniert. Der Datensatz stammt hauptsächlich von Github, Kaggle, Sicherheitswebsites und öffentlich verfügbaren Datensätzen zu Sicherheitslücken. Anschließend wird es einer Bereinigung und Datenanreicherung unterzogen, um Dialogdaten zu erstellen. Der Datensatz ist streng im Alpaca-Modelldatensatzformat organisiert und in drei Teile unterteilt: Anweisung, Eingabe und Ausgabe. In der Ausgabe geben wir an, dass die Analyse detaillierte Informationen (Analyse), Sicherheitsbewertung (Label), Sicherheitsrisiken (Risiko) und entsprechende Lösungen (Lösung) umfassen soll. Ausführliche Informationen zum Datensatz (einschließlich Format und Organisation) finden Sie unter AutoAudit-Trainingsdaten. Hier einige Beispiele:
Frage | Antwort | Thema |
---|---|---|
Bitte bewerten Sie, ob diese Aussage Sicherheitslücken aufweist:" oder pg_sleep ( TIME ) --" | 1. Analyse : Die SQL-Anweisung scheint eine SQL-Injection zu versuchen, indem sie mithilfe der Funktion „pg_sleep“ einen Sleep-Befehl einfügt.n 2. Label : hochn 3. Risiko : Die angegebene SQL-Anweisung birgt ein hohes Risiko einer SQL-Injection. Es nutzt die Funktion „pg_sleep“, um einen zeitbasierten blinden SQL-Injection-Angriff zu versuchen.n 4. Lösung : Implementieren Sie eine ordnungsgemäße Eingabevalidierung und Parametrisierung, um SQL-Injection-Angriffe zu verhindern. | SQL-Analyse |
Bitte analysieren Sie, ob dieser Python-Codeausschnitt Sicherheitsrisiken birgt: „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, port))" | 1. Analyse : Das Python-Code-Snippet definiert eine Klasse namens „Backdoor“ mit einer Initialisierungsmethode „ init “. Die Klasse baut eine Socket-Verbindung zu einer angegebenen IP-Adresse und einem angegebenen Port auf.n 2. Label : Niedrign 3. Risiko : Das angegebene Python-Code-Snippet weist ein geringes Sicherheitsrisiko auf. Es stellt hauptsächlich eine Socket-Verbindung her, was ein üblicher Netzwerkvorgang ist. Das tatsächliche Sicherheitsrisiko hängt jedoch von den Implementierungsdetails der Klasse und ihrer Verwendung ab.n 4. Lösung : Stellen Sie sicher, dass für die „Backdoor“-Klasse und ihre Verwendung geeignete Sicherheitsmaßnahmen vorhanden sind, wie z. B. eine ordnungsgemäße Eingabevalidierung und sichere Kommunikationsprotokolle , Zugriffskontrollen und Fehlerbehandlung, um potenzielle Sicherheitsrisiken zu mindern. | Python-Codeanalyse |
Was ist der Zweck der Zertifikatssperrliste (CRL)? | Der Zweck der Zertifikatssperrliste (CRL) besteht darin, die digitalen Zertifikate aufzulisten, die von der ausstellenden Zertifizierungsstelle (CA) vor ihrem geplanten Ablaufdatum gesperrt wurden, um anzuzeigen, dass ihnen nicht mehr vertraut werden sollte. | Fragen und Antworten zum Sicherheitswissen |
Die Zusammensetzung des zum Training des aktuellen Modells verwendeten Datensatzes und ihre entsprechenden Anteile sind wie folgt:
Um den Prozess der automatisierten Datensatzgenerierung zu vereinfachen, haben wir auch die GPT im GPT Store aktualisiert, die sich der Generierung von Cybersicherheits-QA-Datensätzen widmet. Die Ergebnisse der Generierung lauten wie folgt:
Ich möchte meinem Freund Eric Ma danken; Mit ihm zusammenzuarbeiten, um dieses Projekt kontinuierlich zu verbessern, war eine der bedeutungsvollsten Erfahrungen. Ich möchte auch dem CUHKSZ He Lab meinen Dank aussprechen, wo ich so viel gelernt und meine Richtung für weitere Verbesserungen gefestigt habe. Abschließend möchte ich mich bei allen Mitgliedern der Open-Source-Community bedanken. Vielen Dank für Ihre Unterstützung und Hilfe. Ich werde mein Bestes geben, um mein Projekt zu entwickeln, ich hoffe, dass es Ihnen gefällt.