**Note to instructors:** solutions to the problems will only be given to
the instructors who have adopted the book as a required text (any version and any edition) in their
courses. You can use your course syllabus as a proof.

Software Security |
|||

01. Set-UID Programs | Slides | Problems | Lab |

02. Environment Variables and Attacks | Slides | Problems | Lab |

03. Shellshock Attack | Slides | Problems | Lab |

04. Buffer Overflow Attack | Slides | Problems | Lab |

05. Return-to-libc Attack and ROP | Slides | Problems | Lab |

06. Format String Vulnerability | Slides | Problems | Lab |

07. Race Condition Vulnerability | Slides | Problems | Lab |

08. Dirty COW | Slides | Problems | Lab |

09. Reverse Shell | Slides | Problems | - |

Web Security |
|||

10. Cross-Site Request Forgery Attack | Slides | Problems | Lab |

11. Cross-Site Scripting Attack | Slides | Problems | Lab |

12. SQL Injection Attack | Slides | Problems | Lab |

Hardware Security |
|||

13. Meltdown Attack | Slides | Problems | Lab |

14. Spectre Attack | Slides | Problems | Lab |

Network Security |
|||

15. Packet Sniffing & Spoofing | Slides | Problems | Lab |

16. Attacks on the TCP Protocol | Slides | Problems | Lab |

17. Firewall | Slides | Problems | Lab1, Lab2 |

18. DNS and Attacks | Slides | Problems | Lab1, Lab2 |

19. Virtual Private Network | Slides | Problems | Lab |

20. The Heartbleed Bug and Attack | Slides | Problems | Lab |

Cryptography |
|||

21. Secret-Key Encryption | Slides | Problems | Lab |

22. One-Way Hash Function | Slides | Problems | Lab |

23. Public Key Cryptography | Slides | Problems | Lab |

24. Public Key Infrastructure | Slides | Problems | Lab |

25. Transport Layer Security | Slides | Problems | - |

26. Bitcoin and Blockchain | Slides | Problems | - |