No, eso es simplemente incorrecto.
Al igual que con una cárcel. No solo están diseñados para evitar que alguien se escape, sino también para evitar que alguien se involucre. Siempre hay que pensar en ambos sentidos.
Solo un ejemplo: windows tenía una vulnerabilidad que permitía la ejecución de código arbitrario inyectado en JPG (creo que el formato era JPG, pero no estoy seguro. No importa aquí de todos modos). Ahora tengo una pequeña descarga que infecta directamente tu PC. Dado que no aplicó ninguna actualización de Windows, todavía es vulnerable y la PC está infectada. Ahora has bloqueado las conexiones entrantes. Afortunadamente, ya estoy dentro de tu PC, así que todo lo que necesito hacer es crear una conexión de salida. No necesito entrar para obtener cosas de tu PC, si puedo meterme dentro de una manera normal y luego salir. Sé que este ejemplo incluye muchas incertidumbres, pero debería hacer para demostrar el principio. Los ataques de la vida real probablemente serán más complejos, pero deberían funcionar de la misma manera. En general, los PC domésticos suelen estar vinculados a una IP dinámica. Es muy probable que nadie ataque a este tipo de PC desde "el exterior", sino a través de programas maliciosos, por lo que no permitir las conexiones entrantes puede hacer que su servidor sea más seguro (e inutilizable); para tu PC doméstico esto no se aplica.
El error principal ya está dentro de esta línea:
No te preocupes, sé lo que estoy haciendo. Para estar infectado, debes permitir que el código se ejecute localmente. Si este código no puede ejecutarse, no puede estar infectado.
Es bastante correcto, tienes que permitir que la ejecución del código localmente esté infectada. Hasta ahora todo bien, pero la ejecución de código local ocurre todos los días. Solo considera este sitio Se ejecuta un poco de código javascript - dentro de su navegador. Esto debería, en teoría, ser seguro; prácticamente hay muchas vulnerabilidades que pueden ejecutarse para producir un comportamiento bastante feo. "Sé lo que estoy haciendo" ya es una idea falsa, ya que eso está mucho más allá de las posibilidades de cualquiera. Y, en general, la actualización de Windows es gratuita, no lleva mucho tiempo si se programa correctamente. Entonces, ¿por qué rechazaría la mejora gratuita de la seguridad?
Por último, pero no menos importante:
mete todo en una caja de arena y estás bien
En teoría eso es correcto. Pero no diría en teoría, si no hubiera un giro. Las cajas de arena, al igual que cualquier otra pieza de software, tienen errores, debilidades, etc. Por ejemplo, JavaScript se ejecuta en una caja de arena, al igual que el resto del navegador. Aún así, uno puede hacer un daño masivo utilizando JavaScript como punto de partida para la ejecución de código malicioso. ¿Por qué? Debido a que la caja de arena no es perfecta y tiene orificios, permite la ejecución de código arbitrario, si se usa de la manera correcta. Siguiente punto: volviendo al ejemplo de JPG de arriba: hay maneras de salir de la caja de arena sin siquiera insertar ningún código para hacerlo.
TL; DR
Esto ignora varios factores:
El eslabón más débil es siempre el factor humano. "Sé lo que estoy haciendo" está mal. Eso nunca sucederá hasta el punto en que sepa lo suficiente, asegúrese de que su PC esté absolutamente segura. Las PC de casa generalmente no son atacadas desde el exterior, sino que distribuyen malware que infecta la PC, por lo que bloquear las conexiones entrantes es solo una pérdida de tiempo. Las cajas de arena, al igual que otros programas de seguridad, tienen debilidades y errores. Son una mejora de seguridad, pero nada en lo que basarse únicamente. Además: ¿por qué rechazarías alguna seguridad gratuita? Las actualizaciones de Windows generalmente están ahí por una razón.