Este es, de hecho, uno de los casos en que los "atacantes" también pueden usar las mismas herramientas utilizadas por los "defensores". Hay un libro que fue único por su época, ya que fue el primero en documentar las formas en que la criptografía podría usarse no solo como defensa, sino también como ofensiva (Cryptography malicioso: Exponer Cryptovirology, FWIW). >
Sin embargo, le explico que se está perdiendo el cuello de botella más importante, que debe medirse utilizando los mismos perfiladores que usarían los desarrolladores de software. Determine el cuello de botella más importante utilizando perfiladores y úselo; no asuma automáticamente que encontrará ese cuello de botella en el código cargado de excepciones.
El problema computacional con excepciones es que hay clases de optimizaciones que se pueden desactivar, pero nos centramos demasiado en eso. El problema real, y uno que no discutimos con suficiente frecuencia, es que las excepciones son como goto
, pero en tres dimensiones (que abarcan no solo una función, sino múltiples niveles de llamadas de función, para crear potencialmente un "código spaghetti") ; Cuando se usan de manera inapropiada (lo que es fácil de hacer, como en el caso de goto
), ¡pueden convertir el mantenimiento en un dolor de cabeza serio! Por lo tanto, el cuello de botella más importante de las excepciones es mucho más probable que se mida en horas humanas, en lugar de microsegundos de CPU ...
Por lo tanto, desde una perspectiva de seguridad, y en un nivel mucho más alto que el nivel de máquina ... a un nivel personal , Ciertamente podría utilizar excepciones como una forma de denegación de servicio. DEFCON 23 presentó una idea similar en una presentación titulada Repsych: Guerra psicológica en ingeniería inversa . Sin embargo, el objetivo no es derribar un sistema , sino convencer a los curiosos de que se rindan y se vayan . Es una denegación de servicio interpersonal. Podría utilizar esta idea suya con éxito moderado, por ejemplo, para atormentar a los analistas antivirus.
De lo contrario, creo que debería centrarse en usar su generador de perfiles para determinar el cuello de botella más importante.