2 puntos por GN⁺ 2024-05-27 | 2 comentarios | Compartir por WhatsApp
  • En medio de la amenaza constante de ataques aéreos en Ucrania, Home Assistant se usa como un sistema de alertas de seguridad en casa que envía información sobre la aproximación de misiles y drones al teléfono y a los altavoces
  • Como una simple sirena antiaérea no basta para evaluar la situación, se separan en distintos niveles de riesgo el despegue de MiG-31K, drones suicidas, misiles balísticos, misiles de crucero y ataques combinados
  • La integración incorporada Ukraine Alarm monitorea las alertas antiaéreas de todo el país y solo activa alertas críticas e indicaciones por altavoz inteligente cuando hay familiares en Kyiv
  • Los canales de monitoreo en Telegram se revisan cada 5 segundos con HA Multiscrape, y detectan ataques inminentes y peligro directo mediante palabras clave como despegue de Tu-95, Kyiv, nombres de barrios y frases de evacuación
  • Cuando se detecta peligro directo, se activa de inmediato una alerta al volumen máximo en el teléfono y un aviso en el HomePod del dormitorio para moverse a un refugio detrás de dos paredes, como el baño

Situación de los ataques aéreos en Ucrania y niveles de riesgo

  • Desde la invasión total de Rusia en 2022, Ucrania recibe a diario ataques con distintos tipos de armas, excepto nucleares, y Home Assistant se usa para avisar sobre amenazas en aproximación
  • Las sirenas antiaéreas pueden sonar varias veces al día, así que ir al refugio cada vez detiene por completo la vida cotidiana
  • Mucha gente, cuando suena la sirena, revisa en el teléfono cuál es el nivel de riesgo real
  • El riesgo de ataque aéreo se divide en varios tipos
    • Despegue de MiG-31K: puede ocurrir varias veces al día, y el MiG-31K puede portar misiles hipersónicos Kh-47M2 Kinzhal. Como no se puede predecir si realmente los lleva, mucha gente asume ese nivel de riesgo
    • Ataque con drones suicidas: suele realizarse con drones iraníes Shahed 136; aunque la mayoría sean derribados, siguen siendo peligrosos y atemorizantes. Por el sonido del motor, les dicen “mopeds” o “lawn-mowers”
    • Ataque con misiles balísticos: los misiles balísticos como el 9K720 Iskander son extremadamente rápidos, cerca de 2 km/s, y el tiempo para esconderse puede ser de apenas 10 minutos. La forma más rápida es ocultarse detrás de dos paredes, como en un pasillo o baño
    • Ataque con misiles de crucero: los misiles de crucero como Kalibr son relativamente lentos y vuelan como aviones, pero recorren largas distancias y pueden llegar a cualquier parte del país
  • El tipo más peligroso es el ataque combinado
    • Primero agotan la defensa aérea con drones y misiles de crucero, y después siguen golpes balísticos o hipersónicos
    • Normalmente ocurre durante la noche, alrededor de las 4 a. m.

Monitoreo de alertas antiaéreas con Home Assistant

  • La integración incorporada Ukraine Alarm de Home Assistant monitorea el sistema nacional de alertas antiaéreas
    • Enciende y apaga sensores de seguridad dentro de Home Assistant
  • Ante cualquier tipo de riesgo, envía una alerta crítica y hace que un altavoz inteligente reproduzca un mensaje
  • La automatización está configurada para que, aunque las sirenas de la calle suenen en toda la ciudad, dentro de casa uno se despierte con seguridad y pueda revisar la situación
  • La automatización de la sirena antiaérea de Kyiv usa como disparador el cambio de estado de binary_sensor.alerts_kyiv_air
    • Si pasa de off a on, usa “Air Alert goes off!”
    • Si pasa de on a off, usa “It is safe now!”
    • Solo se ejecuta cuando sensor.family_in_kyiv está en on, así que funciona únicamente cuando alguien está en Kyiv
  • La alerta se ejecuta mediante script.announcement
    • Con force_speak: true hace que hable incluso en modo no molestar
    • La notificación push se configura con critical: 1 y volumen 0.75

Scraping de canales de Telegram

  • Durante los ataques aéreos, los canales de Telegram ofrecen actualizaciones en tiempo real sobre el riesgo, las trayectorias de vuelo y el tipo de ataque
  • En vez de mirar el teléfono constantemente para decidir si hay peligro directo o si todavía se puede dormir unas horas, esa tarea se delega a Home Assistant
  • Se aclara que, si estás en Ucrania, las advertencias oficiales indican que debes ir al refugio y que esta configuración no debe seguirse como guía de acción
  • Para el scraping se usa la integración personalizada HA Multiscrape
    • También existe la integración incorporada scrape de Home Assistant, pero tiene limitaciones porque hay que crear varios sensores desde un solo scrape y manejar listas de datos
  • Se extrae la página web de Telegram como https://t.me/s/war_monitor, se lee la lista .js-message_text y se usa el mensaje más reciente para decidir sensores y atributos

Detección de ataque inminente por despegue de Tu-95

  • Los misiles de crucero normalmente los transportan y lanzan bombarderos Tu-95
  • El Tu-95 vuela unas 3 horas hasta el punto de lanzamiento de misiles, y después del lanzamiento los misiles tardan aproximadamente entre 1 y 2 horas en llegar a Kyiv
    • Durante ese tiempo se prepara un refugio como el baño
    • Se reúnen documentos y se puede dormir unas horas antes de que empiece el ataque
  • Esta situación suele darse por la tarde y significa que esa noche podría haber un ataque masivo con misiles
  • El sensor hace scraping de la lista de mensajes del canal de Telegram cada 5 segundos
    • Convierte el mensaje más reciente a minúsculas para revisarlo
    • Busca combinaciones específicas de palabras equivalentes a “take off”, “plane” y “tu-95”
    • El mensaje más reciente se guarda en el atributo latest_message
  • Cuando el sensor se enciende, significa que los bombarderos ya están en el aire y todavía queda tiempo para prepararse
    • La automatización se ejecuta cuando binary_sensor.imminent_attack_in_war_monitor o binary_sensor.imminent_attack_in_operinform cambian de off a on
    • El título de la alerta es “Bombers take off 🛫” y el mensaje usa latest_message del sensor

Alertas de peligro directo y acción de evacuación

  • El sensor de peligro directo envía una alerta cuando hay una amenaza inmediata para la ubicación del usuario
  • Durante ataques nocturnos aparece la disyuntiva entre ir al refugio y pasar una noche sin dormir, o quedarse en la cama lo más posible para poder trabajar al día siguiente
  • La exposición prolongada a este entorno lleva a calcular el riesgo
    • Para poder trabajar hace falta dormir lo suficiente
    • Las defensas aéreas derriban regularmente las amenazas entrantes
    • En Kyiv, el riesgo de impacto directo o de fragmentos se considera, según una estimación no científica, comparable a un nivel asumible similar al de ser atropellado por un auto
    • Si ocurre un impacto directo, las probabilidades de sobrevivir son muy bajas
    • Si un misil o dron es derribado cerca, la onda expansiva puede romper ventanas
  • La mayor parte del tiempo se duerme en la cama, y cuando la situación se vuelve grave se busca refugio en el baño
    • La idea es quedar detrás de dos paredes para protegerse de fragmentos de vidrio y de la onda expansiva cuando haya explosiones cerca
  • El sensor de peligro directo busca palabras clave específicas
    • Condición de ubicación: “Kyiv” o el nombre del barrio
    • Condición de peligro: expresiones equivalentes a “warning”, “be in a safe place” y “fast target”
    • Si ambas condiciones son verdaderas, el sensor se enciende
  • Cuando el sensor se enciende, se considera que hay peligro directo y que hay que esconderse de inmediato
    • Envía una alerta crítica con el título Direct Danger ⚠️
    • La notificación push se configura con critical: 1 y volumen 1
    • El volumen del HomePod del dormitorio se ajusta a 0.6
    • El altavoz reproduce mensajes de advertencia en ucraniano como “escóndete de inmediato” y “amenaza de ataque en Kyiv”
    • Con force_speak: true, la indicación del altavoz se ejecuta a la fuerza

2 comentarios

 
humblebee 2024-05-28

🇺🇦💙💛💪🌟🙌🌍✨

 
GN⁺ 2024-05-27
Opiniones en Hacker News
  • Que esto exista es fascinante y aterrador.
    Cuando se usa mucho YAML para K8s o Ansible, normalmente se valida en un entorno de pruebas antes de ponerlo en producción; aquí, en cambio, un solo bug en YAML podría hacer que alguien pierda la vida.

    • Aquí la expresión battle tested se usa de forma literal.
    • Lo realmente aterrador es que esto se parece menos a un sistema de alerta y más a una herramienta para aguantar. Incluso en Kyiv, su utilidad como sistema de alerta es limitada.
      No es que ya se esté en la etapa de aceptar el destino, pero si uno ya renunció a ir a un refugio real, puede configurarlo para evitar los fragmentos de vidrio durante una hora, en vez de esconderse durante horas cada vez que vienen misiles de crucero y drones letales.
      En lugares más cercanos al frente que Kyiv, casi no sirve. Incluso los misiles balísticos no hipersónicos o las bombas planeadoras tienen tiempos de vuelo tan cortos que se termina oyendo la alarma y la explosión casi al mismo tiempo.
    • La mayor parte ya se trasladó a la UI de Home Assistant, así que es menos propensa a errores que antes.
    • Bienvenidos a la línea temporal del futuro distópico. Se va a poner peor.
  • En https://alerts.in.ua/en se pueden ver estadísticas como la cantidad y duración de las alertas aéreas en toda Ucrania, y el número de explosiones reportadas por medios según región y período.
    Hay una sección de resumen estadístico; hay que presionar el botón del reloj de arena en la parte inferior de la pantalla y filtrar por período.

    • Trabajo con estadísticas, y rara vez deseo que hubiera menos puntos de datos.
  • La verdadera pregunta es por qué no existe una API oficial que informe con detalle la naturaleza del peligro. No debería ser necesario scrapear Telegram para saber el tipo y la velocidad del arma aérea y su tiempo estimado de llegada.
    Por cierto, Kropyva también vale la pena. Es algo así como un Uber para artillería, y es muy útil para borrar fuerzas rusas.

    • Una API única de ese tipo estaría bajo ataque constantemente.
      En la práctica, al usar otros servicios se está distribuyendo la superficie de ataque.
    • La razón principal es la descentralización.
      Los periodistas que actualizan estos canales reciben información no solo de fuentes internas de la defensa aérea ucraniana, sino también de activistas de inteligencia de fuentes abiertas (OSINT) que monitorean comunicaciones de radio rusas con SDR, y de personas en Rusia y Bielorrusia que observan desde tierra los despegues de aviones. Es muy peligroso, pero hay formas relativamente seguras de enviar información, y los aviones suelen ser ruidosos.
      Si un periodista desaparece por cualquier motivo, otros pueden seguir publicando actualizaciones. Cada oblast también tiene sus propios canales que avisan de ataques, algunos operados por administraciones regionales o servicios de emergencia.
      El personal de defensa aérea está demasiado ocupado como para monitorear esto directamente y redactarlo. Muchas veces lo mejor que pueden hacer es dejar un mensaje corto en un chat grupal o en un bot de Telegram antes de que la situación empeore; al mismo tiempo, deben ajustar el momento de divulgar la información para dar suficiente tiempo de advertencia sin revelar las capacidades ni ubicaciones de los puestos de observación ucranianos.
      El sistema tiene que ser simple. No todo el personal entrenado de defensa aérea es técnico, y muchos ni siquiera saben qué es una API. Muchos ucranianos tampoco pueden manejar una API, pero sí pueden leer alertas en Telegram.
      Los periodistas que curan los canales de monitoreo también reciben del público reportes sobre las rutas de vuelo de misiles y drones. Hay algunas apps que usan el GPS y la brújula del teléfono y permiten apuntar el celular hacia el objeto para enviar datos, pero al final se trata de tener varios canales de información fáciles de usar para personas no técnicas.
      Incluso enviar un mensaje con una ubicación aproximada diciendo que se escuchó pasar un misil de crucero puede ayudar, porque la cobertura de radar no es del 100%. Estos mensajes se reenvían a los responsables de la defensa aérea ucraniana que intentan interceptarlos en tiempo real.
      El problema de seguridad también es claro. Los contactos personales y el acceso a chats grupales se pueden verificar, y en los canales de Telegram es difícil romper el anonimato desde afuera, por lo que tampoco es fácil convertir los dispositivos de los autores en blancos de ciberataques. En cambio, una API tendría que estar abierta al mundo entero, así que se volvería un objetivo de inmediato.
      Es un sistema desordenado, pero funciona.
      Kropyva no está disponible para el público general y está lejos de las capacidades de sistemas similares de la OTAN. Su fortaleza es que es una app de Android que corre en tablets baratas, así que no depende de hardware provisto por el complejo militar-industrial. Ese hardware es más seguro y robusto, pero muchísimo más caro.
  • Al leer que “Home Assistant tiene una integración integrada Ukraine Alarm. Monitorea el sistema nacional de alertas aéreas y alterna sensores de seguridad en HA”, no conozco bien la comunidad de HA, pero parece que habría que tener muchísimo cuidado con los commits nuevos que afecten a este plugin.

    • Debe estar corriendo en miles, quizá millones de hogares, así que espero que de todos modos estén revisando todo.
    • No sé exactamente qué se está insinuando sobre la comunidad de HA, pero, por separado, en una situación así habría que tomarse muy en serio el riesgo de ataques a la cadena de suministro de software.
      Lo ideal sería que un grupo de pares confiables revise el código con muchísimo cuidado y use firmas, etc., para asegurarse de que todos, por decirlo así, “reciban exactamente aquello por lo que pagaron”.
      Quizá no se dependa de esto al punto de que haya vidas en juego, pero si es lo bastante importante como para usarlo, sin duda también lo es como para verificarlo bien.
      Dicho eso, es fácil decirlo desde mi posición, cuando no estoy intentando dormir mientras una lista aterradora de municiones cae sobre mi casa; medidas simples como “no actualizar desde una configuración verificada” podrían ser suficientes.
  • Que esto exista es a la vez escalofriante e inspirador.

    • Nunca pensé que terminaría leyendo en la vida real un tutorial de programación para hacer matching de strings con despegues de Tu-95 y lanzamientos de Kalibr. Se siente demasiado irreal.
      Parece una guía de modding de Cold Waters.
  • Es un uso interesante de Home Assistant. En la siguiente sección menciona un monitor de uptime, y me da curiosidad qué usan para mantenerse en línea. Supongo que algo como un UPS o respaldo con baterías.

    • Desde el invierno de 2022, la mayoría ya tiene algo preparado. Rusia atacó a civiles e infraestructura, y eso, combinado con la falta de defensa aérea, provocó cortes de luz de manera sistemática.
      Aun así, la mayoría tenía que trabajar, así que compró UPS, EcoFlow, generadores y sistemas solares; quienes tenían menos presupuesto incluso usaron baterías DIY. Este año es parecido.
    • En Ucrania, como la red eléctrica sigue bajo ataque, parece que de todos modos se necesita un UPS.
  • Usar tecnología para mejorar la vida ya es impresionante, pero usar tecnología para sobrevivir a ataques con misiles es algo de otro nivel.
    A veces me pregunto si algún día la humanidad podrá detener la guerra para siempre.

    • No creo que ese estado sea estable. Si no hay guerras, se pierde la capacidad de pelear y, al final, se vuelve más fácil que un grupo pequeño ataque a un adversario mucho más grande pero débil.
      Incluso si una guerra se resolviera con la rendición inmediata del país atacado y un solo invasor dominara el mundo, dentro de ese sistema volverían a surgir facciones compitiendo por el poder.
      Si la tecnología defensiva superara de forma permanente a la ofensiva, quizá podría ser una solución, pero aun así creo que la gente encontraría la manera. Una guerra también podría empezar como una forma de modificar psicológicamente la lealtad de las personas.
    • Los seres humanos estamos inherentemente inclinados hacia la guerra o el conflicto. Es nuestro defecto fatal.
    • “¿Podrá la humanidad algún día detener la guerra para siempre?” es una pregunta demasiado amplia y filosófica. Es una pregunta lejana sobre la que todos podríamos debatir durante mucho tiempo tomando café.
      Una pregunta más realista y práctica sería: “¿Por qué Biden no detuvo la guerra?”.
      Ahí sí empieza el debate de verdad. Ideas contradictorias, bastante hostilidad, personajes con tendencias como MTG y sus seguidores, y, por supuesto, este comentario recibirá tantos votos negativos que se irá hasta el infierno.
      Ese es justamente el punto. Aunque sea el mismo tema, nuestra forma de pensar cambia mucho según si se trata de una situación hipotética lejana o de una realidad física.
  • Los canales de Telegram han sido un salvavidas para mucha gente y también un gran recurso para la prensa. Es interesante la forma en que se usan aquí.
    Supongo que los actores estatales rusos pagarían mucho dinero por tomar el control de estos canales o infiltrarse en ellos.

  • Es una situación realmente absurda. El estrés de soportar ataques así a cualquier hora, de día o de noche, creo que me envejecería 10 años. Y aun así se espera que unas horas después, o al día siguiente, vuelvas a trabajar.

    • Es una situación absurda, y lo ha sido desde febrero de 2022; al mismo tiempo, se ha convertido en una nueva normalidad de la que de verdad queremos salir. Pero no estamos tan desesperados como para rendirnos.
      Este es solo uno de los factores de estrés relacionados con la guerra. Siguen llegando noticias semanales de víctimas civiles; leemos y escuchamos cosas horribles que vivieron personas que escaparon de territorios ocupados o fueron liberadas, como Bucha o Kherson; llegan noticias de amigos y conocidos muertos en combate, el reclutamiento, y una perspectiva de futuro incierta pero, en general, bastante sombría.
      Por eso un día pasa como si fueran años. No repitan nuestros errores y escríbanles a sus representantes.
  • Es exactamente mitad inspirador y mitad espantoso. ¿Cuándo entenderá Occidente que Putin solo respeta la fuerza y se armará de valor?
    Hay que darles a los ucranianos todo lo que necesitan. Es lo correcto y, al mismo tiempo, el acuerdo militar del siglo. Mientras Ucrania sigue desgastando enormemente al ejército ruso, la OTAN no tiene que perder ni un solo soldado.
    O dejamos que Rusia gane y tendremos que hacernos cargo de millones de refugiados ucranianos. Y probablemente después Rusia atacará a otro país.