using System.Security.Cryptography;
public class CameraSecurity
public static bool DetectCameraVulnerability(string cameraIp, int cameraPort)
if (cameraIp.StartsWith("http://") && cameraPort == 80)
public static void SendSecurityAlert(string cameraIp)
var fromAddress = new MailAddress("noreply@securitesystem.com", "Système de sécurité");
var toAddress = new MailAddress("responsable@sncf.com");
const string subject = "Alerte de vulnérabilité de caméra";
string body = $"Vulnérabilité détectée sur la caméra {cameraIp} : accès non sécurisé.";
var smtp = new SmtpClient
Host = "smtp.mailtrap.io",
Credentials = new NetworkCredential("username", "password"),
using (var message = new MailMessage(fromAddress, toAddress)
Console.WriteLine($"Alerte envoyée pour la caméra {cameraIp}");
public static string EncryptCameraStream(string videoStream)
using (Aes aesAlg = Aes.Create())
aesAlg.Key = Encoding.UTF8.GetBytes("12345678901234567890123456789012");
aesAlg.IV = Encoding.UTF8.GetBytes("1234567890123456");
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
byte[] encrypted = encryptor.TransformFinalBlock(Encoding.UTF8.GetBytes(videoStream), 0, videoStream.Length);
return Convert.ToBase64String(encrypted);
public static void Main(string[] args)
string cameraIp = "http://192.168.1.101";
bool isVulnerable = DetectCameraVulnerability(cameraIp, cameraPort);
Console.WriteLine("Vulnérabilité détectée sur la caméra !");
SendSecurityAlert(cameraIp);
string videoStream = "Flux vidéo non sécurisé";
string encryptedStream = EncryptCameraStream(videoStream);
Console.WriteLine("Flux vidéo chiffré : " + encryptedStream);
Console.WriteLine("La caméra est sécurisée.");