Dados sintéticos de segurança de IoT usando Amazon Bedrock


No cenário em rápida evolução da Web das Coisas (IoT), a segurança é basic. Um exemplo crítico que sublinha este desafio é a prevalência de dispositivos de rede inseguros com portas SSH abertas, uma das principais ameaças à segurança, de acordo com a fundação sem fins lucrativos Open Worldwide Utility Safety Mission (OWASP). Essas vulnerabilidades podem permitir o controle não autorizado de dispositivos IoT, levando a graves violações de segurança. Em ambientes onde milhares de milhões de dispositivos conectados geram grandes quantidades de dados, garantir a segurança e integridade destes dispositivos e das suas comunicações torna-se cada vez mais complexo. Além disso, a recolha de dados de segurança abrangentes e diversificados para prevenir tais ameaças pode ser assustadora, uma vez que os cenários do mundo actual são muitas vezes limitados ou difíceis de reproduzir. É aqui que entra em jogo a técnica de geração de dados sintéticos usando IA generativa. Ao simular cenários, como tentativas de acesso não autorizado, anomalias de telemetria e padrões de tráfego anormais, esta técnica fornece uma solução para preencher a lacuna, permitindo o desenvolvimento e teste de medidas de segurança mais robustas para dispositivos IoT na AWS.

O que é geração de dados sintéticos?

Dados sintéticos são dados gerados artificialmente que imitam as características e padrões dos dados do mundo actual. Ele é criado usando algoritmos sofisticados e modelos de aprendizado de máquina, em vez de usar dados coletados de fontes físicas. No contexto da segurança, os dados sintéticos podem ser usados ​​para simular vários cenários de ataque, padrões de tráfego de rede, telemetria de dispositivos e outros eventos relacionados à segurança.

Os modelos generativos de IA surgiram como ferramentas poderosas para geração de dados sintéticos. Esses modelos são treinados em dados do mundo actual e aprendem a gerar amostras novas e realistas que se assemelham aos dados de treinamento, preservando suas propriedades e padrões estatísticos.

A utilização de dados sintéticos para fins de segurança oferece inúmeros benefícios, especialmente quando integrados num ciclo de melhoria contínua da segurança da IoT. Este ciclo começa com a suposição de ameaças contínuas dentro de um ambiente IoT. Ao gerar dados sintéticos que imitam estas ameaças, as organizações podem simular a aplicação de proteções de segurança e observar a sua eficácia em tempo actual. Esses dados sintéticos permitem a criação de conjuntos de dados abrangentes e diversos sem comprometer a privacidade ou expor informações confidenciais. À medida que as ferramentas de segurança são calibradas e refinadas com base nessas simulações, o processo retorna, permitindo mais geração e testes de dados. Este ciclo vicioso garante que as medidas de segurança evoluam constantemente, ficando à frente de potenciais vulnerabilidades. Além disso, a geração de dados sintéticos é económica e escalável, permitindo a produção de grandes volumes de dados adaptados a casos de utilização específicos. Em última análise, este ciclo fornece um ambiente robusto e controlado para testes, validação e aprimoramento contínuos das medidas de segurança da IoT.

Dados sintéticos de segurança de IoT usando Amazon Bedrock

Figura 1.0 – Ciclo contínuo de aprimoramento da segurança da IoT usando dados sintéticos

Benefícios da geração de dados sintéticos

A aplicação de dados de segurança sintéticos gerados por modelos generativos de IA abrange vários casos de uso no domínio IoT:

  1. Teste e validação de segurança: Dados sintéticos podem ser usados ​​para simular vários cenários de ataque, testar controles de segurança e validar a eficácia dos sistemas de detecção e prevenção de intrusões em um ambiente controlado e seguro.
  2. Detecção de anomalias e caça a ameaças: Ao gerar dados sintéticos que representam comportamentos normais e anômalos, os modelos de aprendizado de máquina podem ser treinados para identificar possíveis ameaças e anomalias à segurança em ambientes de IoT de forma mais eficaz.
  3. Resposta a Incidentes e Análise Forense: Dados de segurança sintéticos podem ser usados ​​para recriar e analisar incidentes de segurança passados, permitindo melhor resposta a incidentes e capacidades de investigação forense.
  4. Conscientização e Treinamento em Segurança: Dados sintéticos podem ser usados ​​para criar cenários realistas de treinamento em segurança, ajudando a educar e preparar profissionais de segurança para vários desafios de segurança de IoT.

Como o Amazon Bedrock ajuda?

Base Amazônica é um serviço gerenciado de IA generativa com capacidade de ajudar as organizações a gerar dados sintéticos de alta qualidade em vários domínios, incluindo segurança. Com o Amazon Bedrock, os usuários podem aproveitar modelos avançados de IA generativa para criar conjuntos de dados sintéticos que imitam as características de seus dados do mundo actual. Uma das principais vantagens do Amazon Bedrock é a capacidade de lidar com formatos de dados estruturados, semiestruturados e não estruturados, tornando-o adequado para gerar dados de segurança sintéticos de diversas fontes, como logs de rede, telemetria de dispositivos e alertas de detecção de invasões. .

Gerando dados sintéticos de segurança para IoT

Nesta postagem do weblog, usaremos o Amazon Bedrock com Soneto antrópico de Claude 3 para gerar dados de log sintéticos. Aqui está um exemplo de incitar para Amazon Bedrock:

Create a python operate that generates artificial safety log entries for an AWS IoT setting consisting of varied linked gadgets akin to sensible residence home equipment, industrial sensors, and wearable gadgets. The log entries ought to embrace several types of occasions, together with: 
1. Gadget authentication and connection occasions (profitable and failed makes an attempt) 
2. Gadget telemetry and sensor knowledge transmissions 
3. Community visitors patterns (regular and anomalous) 
4. Safety incidents and potential assaults (e.g., unauthorized entry makes an attempt, malware detection, distributed denial-of-service (DDoS) assaults) 
5. System and software log messages associated to safety occasions 

Every log entry ought to have the next format: 
{ "timestamp": "2024-07-23 16:51:17.384", "logLevel": "INFO", "traceId": "e2893ea0-8c00-b560-5e71-9fb35a9654c2", "accountId": "123456789012", "standing": "Success", "eventType": "Publish-Out", "protocol": "MQTT", "topicName": "/iot/check/system", "clientId": "virtualDevice1", "principalId": "ad4f9225b1753fc27feb79341bf13d17bedbd3f8d6514ba626bfb22d1851e472", "sourceIp": "1.2.3.4", "sourcePort": 36954 }

Right here is one other log instance:
{ "timestamp": "2024-07-23 16:38:46.504", "logLevel": "ERROR", "traceId": "c9c54f40-5d9a-6693-5ddf-d52fb16e514f", "accountId": "123456789012", "standing": "Failure", "eventType": "Join", "protocol": "MQTT", "clientId": "virtualDevice1", "principalId": "ad4f9225b1753fc27feb79341bf13d17bedbd3f8d6514ba626bfb22d1851e472", "sourceIp": "2.3.4.5", "sourcePort": 46028, "motive": "AUTHORIZATION_FAILURE", "particulars": "Authorization Failure" }

Moreover, make sure that the generated log entries are various, sensible, and consultant of varied IoT safety eventualities, together with each benign and malicious actions. The artificial knowledge also needs to preserve the statistical properties and patterns present in real-world IoT safety logs.

Os resultados podem ser capturados através do Playground de bate-papo Amazon Bedrockou acessado programaticamente por meio das APIs da AWS, como as destacadas abaixo:

import boto3
import json

bedrock = boto3.shopper(service_name="bedrock-runtime",region_name="us-west-2")

immediate=""''''

physique = json.dumps({
    "messages" : (
        { 
            "position" : "consumer",
            "content material" : "immediate"
        }),
    "anthropic_version": "bedrock-2023-05-31",
    "max_tokens": 2000,
    "temperature": 0.75,
    "top_k" : 250
})

response = bedrock.invoke_model(
    modelId='anthropic.claude-3-sonnet-20240229-v1:0',
    contentType="software/json",
    settle for="software/json",
    physique=physique
)

response_body = json.hundreds(response('physique').learn())
print(response_body('content material')(0)('textual content'))

Dado que os modelos generativos de IA não são determinísticos, sua resposta pode variar, mas provavelmente será semelhante ao código mostrado abaixo:

Here is a Python operate that generates artificial safety log entries for an AWS IoT setting primarily based in your necessities:

```python
import random
import uuid
import datetime
import json
import ipaddress

def generate_iot_security_log():
    # Outline potential values for varied fields
    log_levels = ("INFO", "WARN", "ERROR")
    event_types = ("Join", "Disconnect", "Publish-In", "Publish-Out", "Subscribe", "Unsubscribe")
    protocols = ("MQTT", "HTTP", "WebSocket")
    matters = ("/iot/system/telemetry", "/iot/system/standing", "/iot/system/command")
    client_types = ("smartHome", "industrial", "wearable")
    account_ids = ("123456789012", "234567890123", "345678901234")
    status_options = ("Success", "Failure")

    # Generate random values
    timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")(:-3)
    log_level = random.alternative(log_levels)
    trace_id = str(uuid.uuid4())
    account_id = random.alternative(account_ids)
    standing = random.alternative(status_options)
    event_type = random.alternative(event_types)
    protocol = random.alternative(protocols)
    topic_name = random.alternative(matters)
    client_type = random.alternative(client_types)
    client_id = f"{client_type}Gadget{random.randint(1, 1000)}"
    principal_id = uuid.uuid4().hex
    source_ip = str(ipaddress.IPv4Address(random.randint(0, 2**32 - 1)))
    source_port = random.randint(1024, 65535)

    # Create the bottom log entry
    log_entry = {
        "timestamp": timestamp,
        "logLevel": log_level,
        "traceId": trace_id,
        "accountId": account_id,
        "standing": standing,
        "eventType": event_type,
        "protocol": protocol,
        "clientId": client_id,
        "principalId": principal_id,
        "sourceIp": source_ip,
        "sourcePort": source_port
    }

    # Add event-specific particulars
    if event_type in ("Publish-In", "Publish-Out", "Subscribe", "Unsubscribe"):
        log_entry("topicName") = topic_name

    if standing == "Failure":
        log_entry("motive") = "AUTHORIZATION_FAILURE"
        log_entry("particulars") = "Authorization Failure"

    # Add security-specific occasions
    if random.random() < 0.1:  # 10% likelihood of safety occasion
        security_events = (
            ("Malware", "Potential malware detected on system"),
            ("UnauthorizedAccess", "Unauthorized entry try detected"),
            ("DDoS", "Potential DDoS assault detected"),
            ("AnomalousTraffic", "Anomalous community visitors sample detected")
        )
        security_event, particulars = random.alternative(security_events)
        log_entry("securityEvent") = security_event
        log_entry("securityDetails") = particulars

    # Add telemetry knowledge for some occasions
    if event_type == "Publish-In" and random.random() < 0.3:  # 30% likelihood of telemetry knowledge
        telemetry = {
            "temperature": spherical(random.uniform(18, 28), 2),
            "humidity": spherical(random.uniform(30, 70), 2),
            "batteryLevel": random.randint(0, 100)
        }
        log_entry("telemetryData") = telemetry

    return json.dumps(log_entry)

# Instance utilization
for _ in vary(10):
    print(generate_iot_security_log())
```

This operate generates artificial safety log entries for an AWS IoT setting with the next options:

1. Numerous occasion sorts, together with system connections, telemetry knowledge transmissions, safety incidents.
2. Practical discipline values, akin to randomly generated IP addresses, ports, and UUIDs.
3. Selection in system sorts (sensible residence, industrial, wearable).
4. Each profitable and failed occasions.
5. Inclusion of security-specific occasions (malware detection, unauthorized entry, DDoS assaults, anomalous visitors).
6. Telemetry knowledge for some publish occasions.

The operate maintains the required log format and contains further fields when related. You may alter the chances and ranges of values to fine-tune the generated knowledge to match your particular necessities or to extra intently mimic real-world patterns.

To make use of this operate, merely name `generate_iot_security_log()` to get a single log entry as a JSON string. You may name it a number of occasions to generate a sequence of log entries.

Esta função python gera logs de segurança IoT que agora você pode enviar para Serviço de armazenamento simples da Amazon (Amazon S3) consultar com Amazon Atenasusar Visão rápida da Amazon para visualizar os dados ou integrar uma variedade de serviços da AWS para trabalhar com os dados como achar melhor. Este também é apenas um exemplo, e encorajamos você a trabalhar com o immediate para atender às necessidades da sua organização, pois há uma variedade de casos de uso. Por exemplo, você pode adicionar a frase adicional ao closing do immediate: “Além disso, a função python deve gravar em um bucket do Amazon S3 de escolha do usuário” para modificar a função python para gravar no Amazon S3.

Melhores práticas e considerações

Embora a geração de dados sintéticos usando IA generativa ofereça inúmeros benefícios, há várias práticas recomendadas e considerações a serem lembradas:

  1. Validação de modelo: valide e teste minuciosamente os modelos generativos de IA usados ​​para geração de dados sintéticos para garantir que eles produzam amostras realistas e estatisticamente precisas.
  2. Experiência em Domínio: Colabore com especialistas no assunto em segurança de IoT e cientistas de dados para garantir que os dados sintéticos representem com precisão cenários do mundo actual e atendam aos requisitos específicos do caso de uso.
  3. Monitoramento Contínuo: Monitore e atualize regularmente os modelos generativos de IA e os dados sintéticos para refletir as mudanças nas distribuições de dados subjacentes do mundo actual e nas ameaças emergentes à segurança.

Conclusão

À medida que o panorama da IoT continua a expandir-se, a necessidade de medidas de segurança abrangentes e robustas torna-se cada vez mais essential. A geração de dados sintéticos usando IA generativa oferece uma solução poderosa para enfrentar os desafios de obtenção de dados de segurança diversos e representativos para ambientes IoT. Ao usar serviços como o Amazon Bedrock, as organizações podem gerar dados de segurança sintéticos de alta qualidade, permitindo testes, validação e treinamento rigorosos de seus sistemas de segurança.

Os benefícios da geração de dados sintéticos vão além da simples disponibilidade de dados; também permite preservação da privacidade, economia e escalabilidade. Ao aderir às melhores práticas e aproveitar a experiência de cientistas de dados e profissionais de segurança, as organizações podem aproveitar o poder da IA ​​generativa para fortalecer a sua postura de segurança IoT e manter-se à frente das ameaças em evolução.

Sobre os autores

sim

Syed Rehan

Syed é gerente sênior de produtos de segurança cibernética na Amazon Internet Companies (AWS), operando na organização AWS IoT Safety. Como autor de livros publicados sobre AWS IoT, Machine Studying e Cybersecurity, ele traz amplo conhecimento para sua função international. Syed atende uma base diversificada de clientes, colaborando com especialistas em segurança, CISOs, desenvolvedores e tomadores de decisão de segurança para promover a adoção de serviços e soluções de segurança da AWS. Com profundo conhecimento de segurança cibernética, aprendizado de máquina, inteligência synthetic, IoT e tecnologias de nuvem, Syed atende clientes que vão desde startups até grandes empresas. Ele permite que eles construam soluções seguras baseadas em IoT, ML e IA no ambiente AWS

Anthony Harvey

Anthony é arquiteto de soluções especialista em segurança sênior da AWS no grupo mundial do setor público. Antes de ingressar na AWS, ele foi diretor de segurança da informação no governo native por meia década. Ele tem paixão por descobrir como fazer mais com menos e usar essa mentalidade para capacitar os clientes em sua jornada de segurança.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *