So I figured that we are supposed to write a blog during our practicum phase. Here I am.
- I missed the first official week, which was right after the exams anyway. I doubt anybody was able to do anything after the Biometrics exam.
- In the second week, I moved back to Germany. Slowly though: I attended LinuxTag and visited a friend…
- The third week began with some administrative stuff (i.e. taxes and care about a grant). I also almost finished running GNOME Foundation Board of Directors elections: Preliminary Result.
- More work related: I tried to updated from Fedora 12 to Fedora 13 (to get latest QEmu and tools). Didn’t work (as expected) out of the box. Encountered (and reported) a couple of annoying bugs. My favourite: The update tool tries to mount /boot and swap. But /boot is left unclean because the preupgrade tool apparently does a hard reboot (i.e. w/o unmounting the filesystems properly). And swap can’t be found by the upgrade tool (for whatever reason). In both cases the installer just stops working and reboots the machine (sic!), as opposed to just fsck /boot or continue w/o swap.
- Began to set up working environment: LaTeX Template, cloned qemu repository, looked a bit at QEmu code.
- Tried to install some Operating Systems to break. Microsoft didn’t let me.
- Read some stuff
- Filed two bugs against Zotero (my bibliography tool): One problem in fullscreen mode and one with proxied URLs.
- Went to a regulars’ table (for the first time after 9 month) and found out that one of them runs a company and they do USB security assessment atm. They are trying to make QEmu emulate a mass storage that returns a good file on the first read and a bad file (i.e. virus) on the second read. Sounded interesting, we’ll keep in touch and exchange details.
- Right now I’m missing kind of a plan for my work. I haven’t really structured my work or broken it up. So I’m trying to see how many weeks I actually have (I know that I’ll go at least to GUADEC, the annual GNOME conference, for one week. I might even be invited to GNOME.Asia in Taiwan…) and what I could possibly do in that time.
- I do have a high level idea of what needs to be done, i.e.
- Patch QEmu to pipe USB communication in and out,
- write some backend that uses these pipes to communicate with the guest,
- find a smart algorithm to create/modify fishy USB packets (i.e. try to understand how a webcam communicates and set funny values for resolution on purpose),
- try to exploit an Operating System (probably best to start off with a self-broken USB driver or application)
- I’ll try to have a roadmap by the beginning of the next week.