2016-08-16 - Hands-on session
August 22, 2016 ยท View on GitHub
The hands-on session started out with another walkthrough of the Aapo architecture. A clarification to earlier drafts:
- A2 does not fetch bus timetables. The Android client fetches bus schedules directly from oulunliikenne.fi(?), as well as included a list of links to university services. These should be checked for cookies or other authentication credentials.
Some new items were discovered:
- A2 is used for push notifications with Google and Apple services (exam registrations, lecture room changes, ...).
- A2 sends email notifications via Oodi web services (contact us, weekly course feedback in the Aapo Android app).
Quick hands-on testing of the certificate validation in the iPhone app was tried with Mitmproxy - to no effect. The Android phone did not find our adhoc wlan, so it could not be tested.
Testing the certificate checks in the new Caleidon Tuudo, as well as between T1/A1/A2 is recommended. The new Tuudo app adds another middle layer to the model, which might remove the need for A1. Fuzzing the REST API is another recommendation.
The web app seems a bit redundant, as it only adds another UI to Oodi. It should be checked for web app faults, eg. according to OWASP guidance. The upcoming three-actor model with Futurice and Caleidon highlights the importance of clarifiying responsibilities for development, administration and responding to security defects and incidents.
Some random remarks:
- Firewalling external accesses from A1/A2 would diminish post-exploitation possibilities (reverse shells etc).
- In modern system building actions such as fetching external inputs and doing notifications are often compartmentalized to containers etc.
- After the introduction of Tuudo, the old applications as well as their API:s should be deprecated and eventually removed.