So, beta2 Harmattan firmware was released.
I've generally liked it (specially now that RSS viewer app http:// links open in new browser windows, the first feature request I filled in developer.nokia.com!).
However, one of the things I wanted to check was what was going to happen to the develsh application, because in the beta1 release, this application was granted so many privileges that one could use it to even disable Aegis itself, therefore enabling development of stuff that Aegis would otherwise prohibit, like
qole's easy debian, the insertion of kernel modules, or running random binaries without having to care about packaging them previously,
a thing developers usually like to do.
I wanted to check what happened to develsh because I published
one method of disabling Aegis "using" the privileges granted by develsh. Despite what many people thought, this does not "crack" Aegis, but rather uses privileges that were granted to us. I avoided using the word "hole" while describing the method because I thought it was not a security hole: rather, this had to be an allowed, premeditated thing. A kind of "yes, Aegis is there for the average user, but you install develsh and you still have the hackable device you've come to love from earlier incantations".
Oh, how wrong I was!
Nokia has now greatly reduced the amount of privileges granted to develsh in beta2. Up to the point you now
CANNOT even issue a deadly simple dmesg command to _read_ the kernel log.
Is this a reaction from Nokia because the above method allowed you to disable Aegis? Is this the first move from Nokia in the cat and mouse game that is going to be played starting now -- the same game Apple likes to play with jailbreakers?
I don't know.
I would like a clear answer here.
Because I am going to play for another turn in this cat and mouse game. I've found yet another "security hole" -- this time, I'm slightly more confident to use the "hole" word, which is _really_ sad -- in Aegis, and thus, I'm again running the device the way
I intended, loading kernel modules and running arbitrary binaries. Which is also the way many other developers would like to run their devices.
But, if this new "Aegis hole" is fixed, I am
not playing any more turns. That's it for me at least. What I do afterwards, I don't know, but it surely doesn't include the word Harmattan.
Some clarifications:
- To slightly increase the chances of not having the hole "fixed" by next firmware release, I'm not telling publicly this time.
- I am NOT against Aegis per se. Aegis could eventually turn into a wonderful per-app permissions system that rivals Android's in features, all while still allowing you to use a normal GNU libc instead of some crap Java layer. I am _completely_ against not having control of Aegis.
- _If_ the answer includes something that mentions "open mode", my next question will be
Where is the promised open mode? . _No one_ has found it.
Now, as I am told, you _can_ run realMeego on the N9/50, and since that doesn't have Aegis, well, it's as good as open mode. But you _lose_ Harmattan in the process. We were told Open Mode would mean we'd lose a few things, some DRM'd apps, potentially Ovi Music, and god knows. But I at least was SURELY not told I'd lose THE ENTIRE OPERATING SYSTEM AND THAT I'D HAVE TO INSTALL MY OWN IF WANTED TO GO OPEN MODE!
- I still don't know what's exactly the point of Aegis on the N9/N950. It is clearly not finished. The level of granularity that has been reached with the current set of tokens is nowhere near being ideal for a per-app permissions system (an app could silently turn on the microphone on the device, record _everything_, and send it all via the Internet to a random host in North Korea, all without needing a SINGLE Aegis token!).
So, why are you _pissing_ developers by not allowing at least ONE clear, official, approved way to disable Aegis _without_ losing the operating system?