Título Completo
Contribuições de Códigos Python para a Cibersegurança nos Cuidados de Saúde
Autoria
Ricardo Costa Val do Rosário
Introdução
1. A seguir um texto inédito e idealizado pelo autor
2. A transformação digital na saúde tem elevado o uso de registros eletrônicos, telemedicina e dispositivos IoMT (Internet of Medical Things).
3. Isso ampliou a superfície de ataque para cibercriminosos.
4. Este documento explora como Python pode fortalecer a cibersegurança hospitalar, apresentando códigos aplicáveis e fluxograma acadêmico.
# 1. Ameaças e Desafio
1. Ransomware: Criptografia de dados críticos e exigência de resgate.
2. Phishing: Fraudes que visam roubo de credenciais.
3. Ameaças internas: Uso indevido de acessos legítimos.
4. Dispositivos IoMT inseguros: Firmware desatualizado e senhas fracas.
2. Python na Cibersegurança
1. Python oferece bibliotecas como Scapy, Psutil e Flask para:
2. Monitoramento de tráfego de rede.
3. Detecção de anomalias com Machine Learning.
4. Proteção de APIs e autenticação multifator.
5. Validação de dados clínicos.
2.1 Fluxograma de Estratégias Python
[Início] → [Monitoramento Rede] → [Detecção Anomalias] → [Bloqueio Automático] → [Alertas]
3. Exemplos de Códigos Python
# 3.1 Bloqueio de Comunicação M2M Suspeita
1. Monitoramento de comunicação M2M suspeita na rede IoMT usando Scapy
2. Este script detecta tentativas de comunicação para fora da rede local e alerta o administrador
import scapy.all as scapy
def detectar_comunicacao_suspeita(packet):
if packet.haslayer(scapy.IP):
destino = packet[scapy.IP].dst
if "192.168." not in destino:
# Verifica se o destino está fora da rede local
print (atenção: comunicação suspeita detectada com {destino}")
# Aqui poderia ser implementado bloqueio via firewall
# os.system(f"iptables -A OUTPUT -d {destino} -j DROP")
print("Monitoramento iniciado. Pressione Ctrl+C para interromper.")
scapy.sniff(filter="ip", prn=detectar_comunicacao_suspeita, store=False)
Saída
import scapy.all as scapy
def detectar_comunicacao(packet):
if packet.haslayer(scapy.IP) and "192.168." not in packet[scapy.IP].dst:
print("Comunicação suspeita detectada")
scapy.sniff(filter="ip", prn=detectar_comunicacao)
# 3.2 Checklist de Dispositivos
1. Script para validar checklist de dispositivos médicos em análises clínicas
2. Garante que os resultados correspondem ao paciente correto
import time
def validar_checklist(dispositivo, paciente_id, checklist):
if all(item in checklist for item in ['identidade', 'parâmetros calibrados', 'data/hora verificada']):
print(f"Dispositivo {dispositivo}: Checklist OK para paciente {paciente_id}.")
else:
print(f"Alerta: Checklist incompleto no {dispositivo} para paciente {paciente_id}!")
# Aqui pode ser enviada uma notificação ao administrador
# Simulação
dispositivos = ['Microscópio eletrônico', 'Centrífuga', 'Dosador']
for d in dispositivos:
validar_checklist(d, 'Paciente123', ['identidade', 'parâmetros calibrados', 'data/hora verificada'])
time.sleep(1)
Saída
def validar(dispositivo, paciente, checklist):
if all(i in checklist for i in ['identidade', 'calibração', 'data/hora']):
print(f"{dispositivo}: OK para {paciente}")
else:
print(f"Alerta: Checklist incompleto em {dispositivo} para {paciente}")
# 3.3 Detector de Ransomware
1. Detector simples de ransomware com bloqueio de processos suspeitos
2. Identifica processos que tentam sobrescrever muitos arquivos rapidamente
import psutil
import time
def detectar_ransomware():
while True:
for proc in psutil.process_iter(['pid', 'name', 'cpu_percent']):
if proc.info['cpu_percent'] > 80:
# Processo usando muita CPU
print(f"Alerta: Processo suspeito detectado - {proc.info['name']} (PID {proc.info['pid']})")
# Bloqueio do processo (apenas com permissão do administrador)
# proc.kill()
time.sleep(5)
print("Monitoramento de ransomware iniciado...")
detectar_ransomware()
Saída
import psutil
def monitorar():
for proc in psutil.process_iter(['name', 'cpu_percent']):
if proc.info['cpu_percent'] > 80:
print(f"Processo suspeito: {proc.info['name']}")