Para comenzar, investigaría de inmediato y adquiriría un firewall y un detector de paquetes. De esta manera puede analizar CADA paquete que ingresa a su sistema con un programa personalizado que sería su proyecto, luego podría ir un paso más allá y enviar los comandos API correctos al firewall para bloquear un puerto específico o una dirección IP.
DOS (Denegación de servicio)
Este es probablemente el más fácil de detectar, depende del servicio que se le niegue. Si su conexión a Internet se interrumpe, un simple ping a un sitio web como Google podría ser suficiente para decirlo. Algunos ataques de DOS provienen de un exploit que confundirá el servicio al punto de no ser utilizable, lo que requeriría un vistazo al servicio que se está negando.
MIM (Man in the Middle)
Este es probablemente el más difícil de detectar, sugiero leer las respuestas aquí ¿Puedo detectar un ataque MITM? . En teoría, SSL y conocer la huella digital antes de conectarse, digamos desde otra dirección IP y enrutar todos juntos, entonces SSL debería poder avisarle bastante bien.
Olfateando
Esto sería una prueba al ver si una tarjeta de red está en modo promiscuo.
Tal vez más información sobre su proyecto y lo que puede hacer para detectar un ataque, es decir, ¿puede usar el lenguaje que desee, el sistema y el atacante? Esto podría proporcionar una pregunta directa más enfocada.