AI in de praktijk: de kracht van kennis bij aaZoo
Bij aaZoo streven we ernaar om voorop te lopen in de technologische vooruitgang. Continu onderzoeken we op welke manier we innovatieve technologie kunnen inzetten in ons dagelijkse werk. Zo maakt ons Secure Operations team onder andere gebruik van Generative AI voor het verbeteren van de kwaliteit van onze automatiseringen en diensten. En hebben we onlangs een nieuw script ontwikkeld dat een cruciale rol kan spelen in het analyseren en verklaren van configuratiewijzigingen binnen de netwerk- en beveiligingsinfrastructuur. Dit script maakt gebruik van een Large Language Model (LLM) met contextinformatie om configuratiewijzigingen in begrijpelijke taal uit te leggen.
In deze blog lichten we toe hoe wij AI inzetten in de praktijk en hoe dit helpt om onze klanten te voorzien van de beste bescherming tegen cyberdreigingen.
Wat is een Large Language Model?
Een LLM is een geavanceerd type kunstmatige intelligentie (AI) dat gebaseerd is op neurale netwerken. Het is speciaal ontworpen om menselijke taal te begrijpen en te genereren. Een LLM wordt getraind met enorme hoeveelheden tekstdata, waardoor het complexe taaltaken kan uitvoeren. Denk aan tekstgeneratie, tekstclassificatie, vraag- en antwoordsystemen en vertalingen tussen verschillende talen. Voor dit script maken we gebruik van de LangChain bibliotheken om documentatie in te leren en hiermee de LLMs die we gebruiken betere context mee te geven. Hierdoor worden de antwoorden accurater.
Hoe het script werkt
Het script begint met het ontvangen van een ‘diff’ bestand vanuit ons versiebeheersysteem, dat de verschillen tussen oude en nieuwe configuraties bevat. Vervolgens gebruikt het de volgende stappen om de wijzigingen te analyseren:
1. Extractie: Het script haalt de relevante apparaat- en klantinformatie uit het bestand door middel van een API-koppeling naar onze Forgejo Git instantie.
2. Opzoeken: Met behulp van API’s zoekt het script naar aanvullende informatie over het apparaat in interne databases zoals NetBox. Hiermee voegen we context toe aan de AI prompt, zodat het al weet om welke klant, type apparaat en leverancier het gaat.
3. Gokken: als het systeem niet gevonden kan worden in onze interne databases, dan gebruiken we de LLM om de configuratie te analyseren en op basis daarvan te ‘gokken’ wat voor type apparaat het is. Aangezien de LLM toegang heeft tot alle handleidingen van onze leveranciers, is de kans groot dat we een accurate gok maken. We gebruiken hiervoor de volgende code:
guess_prompt = PromptTemplate.from_template(
"""Use the following pieces of context to answer the question at the end. You will answer with only one single word. No other words.
Context: {context}
Question: {question}
Single worded Answer:"""
)
def guess_devicetype(diff):
gpt_assistant_prompt = f"What is this for machine? You can only answer with a single word, the words you can choose from can only be one of these 5: Firewall, Loadbalancer, Switch, Router, Access-Point."
query = gpt_assistant_prompt
vector_store = Chroma(persist_directory=chroma_path, embedding_function=embedding,collection_metadata={"hnsw:space": "cosine"})
retriever = vector_store.as_retriever(search_type="similarity", search_kwargs={"k": 6})
chain = (
{"context": retriever | format_docs, "question": RunnablePassthrough()}
| guess_prompt
| llm
| StrOutputParser()
)
result = chain.invoke(query)
response = {"answer": result}
return response["answer"]
4. Analyse: De AI gebruikt de verzamelde informatie om de wijzigingen te interpreteren en te beschrijven in technische termen. Het gebruikt hiervoor de ingelezen handleidingen van leveranciers die we door middel van LangChain in een Vector Database hebben opgeslagen.
5. Vertaling: Ten slotte vertaalt het script de technische beschrijving naar een duidelijk leesbaar verslag dat begrijpelijk is voor onze technische teamleden. Dit verslag is opgebouwd volgens het volgende template:
Privacy gewaarborgd
Bij aaZoo nemen we de privacy van onze klanten en de beveiliging van hun gegevens uiterst serieus. In het tijdperk van Kunstmatige Intelligentie (AI) is het essentieel om een evenwicht te vinden tussen technologische vooruitgang en de bescherming van gevoelige informatie. Daarom hebben we een strikt beleid geïmplementeerd dat de manier waarop we met data omgaan, reguleert.
Lokale AI voor gevoelige data: hoogste niveaus van privacy en gegevensbescherming
Voor het verwerken van gevoelige gegevens maken we gebruik van lokale AI-systemen. Dit betekent dat alle analyses en verwerkingen plaatsvinden binnen de veilige grenzen van onze eigen infrastructuur. We zetten de tool Ollama (https://ollama.com/) in, samen met gefinetunede modellen, om ervoor te zorgen dat gevoelige informatie nooit onze systemen verlaat. Dit stelt ons in staat om de hoogste niveaus van privacy en gegevensbescherming te handhaven, terwijl we toch de voordelen van AI benutten voor complexe data-analyses.
Azure OpenAI voor algemene data
Voor minder gevoelige taken, zoals het genereren van teksten, gebruiken we een eigen Azure OpenAI-instance. Deze aanpak zorgt ervoor dat de gegevens die we verwerken niet gedeeld worden met externe partijen, zoals OpenAI of Microsoft. Onze Azure OpenAI-instance is volledig geïsoleerd, waardoor we de controle behouden over de data en de verwerking ervan. Dit biedt ons de flexibiliteit om AI te gebruiken voor een breed scala aan toepassingen, zonder concessies te doen aan de privacy van onze klanten.
De voordelen van AI voor aaZoo en onze klanten
Dit script stelt ons in staat om snel en nauwkeurig configuratiewijzigingen te beoordelen, waardoor het vier-ogen-principe, een veiligheidsmaatregel waarbij twee personen onafhankelijk van elkaar een proces of beslissing moeten controleren om fouten en risico’s te minimaliseren, effectief wordt geautomatiseerd. Het resultaat is een aanzienlijke verbetering van de kwaliteit en veiligheid van onze dienstverlening.
Een voorbeeld van de uitvoer van het script.
Door AI in te zetten, kunnen we ons aanpassen aan de snel veranderende eisen van de netwerkbeveiliging en blijven we onze klanten voorzien van de beste bescherming tegen cyberdreigingen. Dit is slechts een voorproefje van hoe we bij aaZoo de toekomst van Secure Operations vormgeven met behulp van AI.
Zo blijven we vooroplopen in ons werkveld van Networking & Security. We zijn erg enthousiast over de verdere ontwikkeling van deze technologieën en wat dit betekent voor de continue verbetering van onze dienstverlening.
Meer weten? Neem dan gerust contact met ons op!