News
Project 2 ResultsWritten on 23.02.24 by Leon Bettscheider Dear students,
We have published the results of project 2. You can find your results and your passing status on your Personal Status page. Note: If your results indicate "Legit Submission: 0", we will be in touch with you via e-mail shortly.
Congratulations to all who… Read more Dear students,
We have published the results of project 2. You can find your results and your passing status on your Personal Status page. Note: If your results indicate "Legit Submission: 0", we will be in touch with you via e-mail shortly.
Congratulations to all who passed! |
Second chance for Test 1 ResultsWritten on 08.02.24 by José Antonio Zamudio Amaya Dear all,
Dear all,
If your result is FAIL, we have discovered that you have cheated, and you have failed Project 1. |
Project 2 FixWritten on 07.02.24 by Leon Bettscheider Dear all,
There was an issue in the grammar that might have caused problems with oracle 4 and oracle 5. Please download the latest revision (Version 2) of project 2 which fixes the issue.
Happy Fuzzing, Leon |
Exercise 12 SolutionWritten on 05.02.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 12. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 12. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
[ACTION REQUIRED] Oral Exam UpdateWritten on 01.02.24 by Leon Bettscheider Dear all,
This is an update to the previous announcement "Test Results".
If you belong to category 2, sign up for a time slot at https://dud-poll.inf.tu-dresden.de/sectest-ws2324-exam1/ but do not use your matriculation number but instead a pseudonym of your choice. Then, send an… Read more Dear all,
This is an update to the previous announcement "Test Results".
If you belong to category 2, sign up for a time slot at https://dud-poll.inf.tu-dresden.de/sectest-ws2324-exam1/ but do not use your matriculation number but instead a pseudonym of your choice. Then, send an e-mail to José and Leon using the following template: --- Subject: [Security Testing] Pseudonym for Oral Exam Pseudonym: <your pseudonym> Matriculation number: <your matriculation number here> ---
We have deleted all previously submitted time slots. If you submitted your time slot already, please be sure to submit it again using a pseudonym.
Thanks for your understanding.
|
Test ResultsWritten on 01.02.24 by Leon Bettscheider Dear all,
We have graded the test. There are two possible outcomes: PASS and FAIL. You can find the results on your Personal Status page.
If your result is PASS: Congratulations! We do not need any additional information from you. If your result is FAIL, there are two possible… Read more Dear all,
We have graded the test. There are two possible outcomes: PASS and FAIL. You can find the results on your Personal Status page.
If your result is PASS: Congratulations! We do not need any additional information from you. If your result is FAIL, there are two possible reasons for this:
If you belong to category 1: You must come to office 2.06 in the main CISPA building (Stuhlsatzenhaus) on Thursday, February 8 at 11:30 for a short oral exam. Allow one hour for this exam, i.e. you will need to stay until 12:30. If you belong to category 2: You must come to office 2.06 in the main CISPA building (Stuhlsatzenhaus) on Thursday, February 8 between 14:00 and 18:00 for an in-depth oral exam (10 minutes). We ask you to provide your preferred time slot at https://dud-poll.inf.tu-dresden.de/sectest-ws2324-exam1/ until Sunday, February 4, 23:59. Only provide one time slot. If the time slot is already taken by another student, choose a different one. When selecting a time slot, please state your matriculation number in the field "Name".
Unexcused absences from the oral examination will result in failure of the course. |
Only today: course evaluationWritten on 31.01.24 by Andreas Zeller Dear all, Today (and only today), you have the chance to evaluate the course. We're looking forward to your feedback! Please follow this link: https://qualis.uni-saarland.de/eva/?l=147110&p=s0j3d9 Don't delay – fill this out today! Looking forward to see you, and best wishes, Andreas… Read more Dear all, Today (and only today), you have the chance to evaluate the course. We're looking forward to your feedback! Please follow this link: https://qualis.uni-saarland.de/eva/?l=147110&p=s0j3d9 Don't delay – fill this out today! Looking forward to see you, and best wishes, Andreas Zeller |
Exercise 11 SolutionWritten on 29.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 11. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 11. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Project 2Written on 25.01.24 by Leon Bettscheider Dear all, We have released Project 2. You can find it under Information > Material. Follow the instructions in sheet.pdf carefully. Dear all, We have released Project 2. You can find it under Information > Material. Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Exercise 12Written on 24.01.24 by Leon Bettscheider Dear all, We have released Exercise 12. You can find it under Information > Material. Please read the chapter Testing Web Applications and Testing Graphical User Interfaces for this exercise. As a reminder, each exercise comes as a… Read more Dear all, We have released Exercise 12. You can find it under Information > Material. Please read the chapter Testing Web Applications and Testing Graphical User Interfaces for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Test today at end of lectureWritten on 24.01.24 by Andreas Zeller Dear all, Today's test will be conducted at the _end of the lecture_. So in case you're currently late, do not worry – the test will not start before 17:00. See you later -- Andreas Zeller |
Exercise 10 SolutionWritten on 22.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 10. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 10. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Project 1 ResultsWritten on 18.01.24 by Leon Bettscheider Dear students,
We have published the results for project 1. You can find your results and your passing status on your Personal Status page. We repeated the measurements five times and used the maximum branch coverage achieved by your fuzzer in these five runs for grading, which is in your… Read more Dear students,
We have published the results for project 1. You can find your results and your passing status on your Personal Status page. We repeated the measurements five times and used the maximum branch coverage achieved by your fuzzer in these five runs for grading, which is in your favor.
Goals: - Dimension 1: The goal branch coverage is 45%. Reaching at least 45% gives you 5/5 points in this dimension. - Dimension 2: We introduced 30 bugs into sqlite. If your fuzzer could trigger at least 20 of them, you get 3/3 points. - Dimension 3: We measured how many syntactically different inputs your fuzzer produces. If your fuzzer could generate at least 1000 syntactically different inputs, you get 2/2 points.
You pass the project if you meet the minimum passing criterion of 30% branch coverage or if you achieved 5/10 points in total.
Happy Fuzzing! |
Lecture video for "Compiler testing" chapter now availableWritten on 17.01.24 by Andreas Zeller Dear all, I hope you are safe and did not suffer from the extreme weather today. The topic for this week is compiler testing. The chapter is ready for you to study and now comes with a freshly recorded lecture video. Enjoy! Best wishes -- Andreas Zeller |
Exercise 11Written on 17.01.24 by Leon Bettscheider Dear all, We have released Exercise 11. You can find it under Information > Material. Please read the chapter Testing Compilers for this exercise. It is recommended to review the chapter Fuzzing with Constraints as well as the ISLa language specification. Dear all, We have released Exercise 11. You can find it under Information > Material. Please read the chapter Testing Compilers for this exercise. It is recommended to review the chapter Fuzzing with Constraints as well as the ISLa language specification. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
No in-presence meeting (and no test) tomorrow due to extreme weatherWritten on 16.01.24 by Andreas Zeller Dear all, Given several extreme warnings about black ice, tomorrow's in-presence meeting is canceled. The written test on Project 1 will be delayed by one week. The topic for this week is compiler testing. The chapter is ready for you to study; we will add a short introduction video… Read more Dear all, Given several extreme warnings about black ice, tomorrow's in-presence meeting is canceled. The written test on Project 1 will be delayed by one week. The topic for this week is compiler testing. The chapter is ready for you to study; we will add a short introduction video soon. Stay safe, everybody -- Andreas Zeller |
Exercise 9 SolutionWritten on 15.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 9. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 9. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Exercise 10 UpdateWritten on 11.01.24 (last change on 11.01.24) by Leon Bettscheider Dear all,
there was a file missing from Exercise 10. Please download the latest version of Exercise 10 which fixes this.
Happy Fuzzing! |
Project 1 Test Next WeekWritten on 11.01.24 by Leon Bettscheider Dear all,
as announced in yesterday's lecture, there will be a short (5-10 minutes) written test on Project 1 next week. The test will take place at the usual location (CISPA Lecture Hall at Stuhlsatzenhaus) during the next lecture (17 January 2024 16:15). In this test, you will have to… Read more Dear all,
as announced in yesterday's lecture, there will be a short (5-10 minutes) written test on Project 1 next week. The test will take place at the usual location (CISPA Lecture Hall at Stuhlsatzenhaus) during the next lecture (17 January 2024 16:15). In this test, you will have to answer a couple of simple questions about your implementation, e.g.: "How would you add <insert simple feature here> to your code? Where would you add it?" The test won't be difficult. The purpose is to make sure that you are the author of your submitted project.
You have to bring the following things: - Your Student ID Card - Your Laptop with your Project 1 Code (alternatively: the printout of your Project 1 Code) such that you can look up details in your code. |
Exercise 10Written on 10.01.24 by Leon Bettscheider Dear all, We have released Exercise 10. You can find it under Information > Material. Please read the chapters Fuzzing Configurations and Fuzzing APIs for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear all, We have released Exercise 10. You can find it under Information > Material. Please read the chapters Fuzzing Configurations and Fuzzing APIs for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Exercise 8 SolutionWritten on 08.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 8. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 8. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Exercise 7 SolutionWritten on 08.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 7. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 7. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Exercise 6 SolutionWritten on 08.01.24 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 6. You can find it in the category Solutions under Information > Material. |
Exercise 9Written on 03.01.24 by Leon Bettscheider Dear all, We have released Exercise 9. You can find it under Information > Material. Please read the chapters Tracking Information Flow for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear all, We have released Exercise 9. You can find it under Information > Material. Please read the chapters Tracking Information Flow for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Project 1 Deadline Extended Until January 5Written on 02.01.24 by Leon Bettscheider Dear all,
due to popular demand, we extend the deadline of Project 1. You must hand in the project until January 5 at 23:59.
Happy Fuzzing! |
Exercise 8Written on 20.12.23 by Leon Bettscheider Dear all, We have released Exercise 8. You can find it under Information > Material. Please read the chapters Greybox Fuzzing with Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear all, We have released Exercise 8. You can find it under Information > Material. Please read the chapters Greybox Fuzzing with Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Exercise 4-2 InformationWritten on 19.12.23 by Leon Bettscheider Dear all, if you think you got too few points for Exercise 4-2, drop me an email so I can re-check it. Please make sure to compare submission to our solution first. Include your reasoning on why you think you should have more points in your email. Thanks, Leon |
Exercise 7Written on 14.12.23 by José Antonio Zamudio Amaya Dear students, We have released Exercise 7. You can find it under Information > Material. Please read the chapters Mutation-Based Fuzzing and Greybox Fuzzing for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear students, We have released Exercise 7. You can find it under Information > Material. Please read the chapters Mutation-Based Fuzzing and Greybox Fuzzing for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Project 1 Time LimitWritten on 13.12.23 by Leon Bettscheider Dear all,
I've uploaded a revision of the Project 1 PDF.
The only change is that we impose a hard execution time limit of **30 minutes** (one core only) on your fuzzer.
From the PDF: **Your fuzzer will be stopped as soon as 100.000 inputs or 30 minutes of execution time… Read more Dear all,
I've uploaded a revision of the Project 1 PDF.
The only change is that we impose a hard execution time limit of **30 minutes** (one core only) on your fuzzer.
From the PDF: **Your fuzzer will be stopped as soon as 100.000 inputs or 30 minutes of execution time are reached.**
- Example 1: Your fuzzer generated only 20.000 inputs after 30 minutes. We will stop it after 30 minutes, and use the coverage achieved with these 20.000 inputs.
- Example 2: Your fuzzer generated 100.000 inputs after 10 minutes. We will use the coverage achieved with these 100.000 inputs.
Happy Fuzzing,
Leon
|
AskbotWritten on 12.12.23 by Leon Bettscheider Dear all,
Askbot is the main communication channel for questions and remarks about the exercises and projects of this course. Please check Askbot regularly for any updates. If you post a questions, please make sure to give it an appropriate tag (e.g.: `exercise5-2`) so others can find… Read more Dear all,
Askbot is the main communication channel for questions and remarks about the exercises and projects of this course. Please check Askbot regularly for any updates. If you post a questions, please make sure to give it an appropriate tag (e.g.: `exercise5-2`) so others can find it.
Thanks! Leon |
Exercise 5 SolutionWritten on 11.12.23 by Leon Bettscheider Dear all, We have uploaded a sample solution for Exercise 5. You can find it in the category Solutions under Information > Material. We listened to your feedback:
Dear all, We have uploaded a sample solution for Exercise 5. You can find it in the category Solutions under Information > Material. We listened to your feedback:
|
Exercise 6Written on 07.12.23 by José Antonio Zamudio Amaya Dear students, We have released Exercise 6. You can find it under Information > Material. Please read the chapter Mining Input Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear students, We have released Exercise 6. You can find it under Information > Material. Please read the chapter Mining Input Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Bug in `Coverage` outputWritten on 06.12.23 by Andreas Zeller Dear all, In the coding demo this morning, I was confused by a feature in the Fuzzing Book Dear all, In the coding demo this morning, I was confused by a feature in the Fuzzing Book I have now changed the code and documentation such that a Enjoy Python! -- Andreas Zeller |
Exercise 4 SolutionWritten on 04.12.23 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 4. You can find it in the category Solutions under Information > Material. |
Exercise 5Written on 29.11.23 by Leon Bettscheider Dear students, We have released Exercise 5. You can find it under Information > Material. Please read the chapter Code Coverage for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Dear students, We have released Exercise 5. You can find it under Information > Material. Please read the chapter Code Coverage for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Exercise 3 SolutionWritten on 27.11.23 by José Antonio Zamudio Amaya Dear all, We have uploaded a sample solution for Exercise 3. You can find it in the category Solutions under Information > Material. |
Exercise 4Written on 23.11.23 by José Antonio Zamudio Amaya Dear students, We have released Exercise 4. You can find it under Information > Material. Please read the chapters Probabilistic Grammar Fuzzing and Fuzzing with Generators for this exercise. As a reminder, each exercise comes as a… Read more Dear students, We have released Exercise 4. You can find it under Information > Material. Please read the chapters Probabilistic Grammar Fuzzing and Fuzzing with Generators for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Project 1Written on 22.11.23 by Leon Bettscheider Dear all, We have released Project 1. You can find it under Information > Material. Follow the instructions in sheet.pdf carefully. Dear all, We have released Project 1. You can find it under Information > Material. Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Update on fuzzing with probabilitiesWritten on 22.11.23 by Andreas Zeller Hi everyone, In today's lecture, I was puzzled to see that despite specifying a high probability for long numbers...
... the fuzzer output would contain only one such long number, with the other <integer>s being single… Read more Hi everyone, In today's lecture, I was puzzled to see that despite specifying a high probability for long numbers...
... the fuzzer output would contain only one such long number, with the other <integer>s being single digits. It turns out that this is on purpose, as the fuzzer limits the expansion length. As soon as the number of nonterminals reaches max_nonterminals, the fuzzer expands the remaining nonterminals with the shortest possible expansion (in our case, <digit>), disregarding all probabilities. You can override this behavior by passing a keyword parameter max_nonterminals to the fuzzer constructor, say max_nonterminals=100. But then you also may get very long expansions, taking some time. If you want to follow the decisions made by the fuzzer, add log=True as a keyword parameter to the fuzzer constructor, and you'll be able to follow every step. Enjoy fuzzing – Andreas Zeller |
Exercise 2 SolutionWritten on 20.11.23 by Leon Bettscheider Dear all, We have uploaded a sample solution for Exercise 2. You can find it in the category Solutions under Information > Material. |
Exercise 3Written on 15.11.23 by José Antonio Zamudio Amaya Dear students, We have released Exercise 3. You can find it under Information > Material. Please read the chapters Efficient Grammar Fuzzing and Grammar Coverage for this exercise. As a reminder, each exercise comes as a ZIP file… Read more Dear students, We have released Exercise 3. You can find it under Information > Material. Please read the chapters Efficient Grammar Fuzzing and Grammar Coverage for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Won't be at the Q&A/lecture on WednesdayWritten on 13.11.23 by Andreas Zeller Dear all, Due to a change of travel on short notice, I will not be able to join the Q&A/lecture this upcoming Wednesday. However:
Dear all, Due to a change of travel on short notice, I will not be able to join the Q&A/lecture this upcoming Wednesday. However:
Hope to see you in person soon again, and keep on fuzzing, Andreas Zeller
|
Python fuzzingbook 1.2.1 updateWritten on 13.11.23 by Andreas Zeller Dear all, We have released a new fuzzingbook Python package (version 1.2.1). This fixes a nasty bug that would accidentally fix the random seed, making all further random decisions deterministic (i.e., produce the same result every time). This is now fixed. To update your fuzzingbook package,… Read more Dear all, We have released a new fuzzingbook Python package (version 1.2.1). This fixes a nasty bug that would accidentally fix the random seed, making all further random decisions deterministic (i.e., produce the same result every time). This is now fixed. To update your fuzzingbook package, run $ pip install --upgrade fuzzingbook If you want to keep your current fuzzingbook package but work around the bug, insert the following lines after importing from fuzzingbook. import random import time random.seed(time.time()) # make random random again Thanks a lot to the anonymous student who pointed out the issue! Best -- Andreas Zeller |
Register in LSF by November 30Written on 13.11.23 by Andreas Zeller Dear all, Our examination office tells me all UdS students must register for the course in the UdS LSF system by November 30. (LSF course number is 147110). Only if you are registered in LSF on time will you be able to obtain credit points. (Non-UdS students attending follow a different process… Read more Dear all, Our examination office tells me all UdS students must register for the course in the UdS LSF system by November 30. (LSF course number is 147110). Only if you are registered in LSF on time will you be able to obtain credit points. (Non-UdS students attending follow a different process and need not register in LSF.) Don't delay, register today! Andreas Zeller |
Exercise 1 SolutionWritten on 13.11.23 by Leon Bettscheider Dear Students, We have uploaded a sample solution for Exercise 1, you can find it in the category Solutions under Information > Material. |
Exercise 2Written on 08.11.23 by Leon Bettscheider Dear students, We have released Exercise 2. You can find it under Information > Material. Please read the chapter Fuzzing with Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that… Read more Dear students, We have released Exercise 2. You can find it under Information > Material. Please read the chapter Fuzzing with Grammars for this exercise. As a reminder, each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. If you have any questions, please ask on Askbot. |
Exercise 0 SolutionWritten on 06.11.23 by Leon Bettscheider Dear Students, We have uploaded a sample solution for Exercise 0, you can find it in the category Solutions under Information > Material. |
Exercise 0 + Exercise 1Written on 25.10.23 by Leon Bettscheider Dear Students, We have published Exercise 0 and Exercise 1. You can find them at Information > Material. Please read the FuzzingBook chapters Introduction to Software Testing and Fuzzing: Breaking Things with Random Inputs to prepare for these exercises. Dear Students, We have published Exercise 0 and Exercise 1. You can find them at Information > Material. Please read the FuzzingBook chapters Introduction to Software Testing and Fuzzing: Breaking Things with Random Inputs to prepare for these exercises. Each exercise comes as a ZIP file that contains:
Follow the instructions in sheet.pdf carefully. We ask you to submit your solutions as a ZIP file via the CMS on your Personal Status page. |
Welcome to the "Security Testing" course!Written on 25.10.23 by Leon Bettscheider Welcome to the "Security Testing" course! Welcome to the "Security Testing" course! The LSF registration will be open by next week.
|