Disabling would not affect ISO Live Mode, true, but stopping will. systemctl disable ... tells systemd to not start a service automatically (kinda; there are exceptions), while systemctl stop ... tells systemd to terminate a running service. Thus, if you boot into an “UNRESTRICTED Session”, then run sudo systemctl stop emerg-shutdown.service, it will stop the emerg-shutdown background process. That process is responsible for the instant shutdown when the USB drive is removed (see emerg-shutdown - Instantly Power Off the System), so stopping it should prevent the shutdown.
Yes and no. ISO files themselves are difficult to modify and can’t simply be mounted read-write. Beyond that, the majority of the OS itself is stored in a container file using a fundamentally read-only format known as SquashFS. Security-wise, it’s best to read the ISO as potentially read-write, but from a user standpoint the ISO is fully read-only.
That being said, you can boot Kicksecure from an ISO flashed to one USB drive, and then install Kicksecure to another USB drive, giving you a persistent, portable installation. This is a supported use case of Kicksecure, see:
I have heard of it and used it briefly. I wouldn’t call its codebase “very small”:
┌─╴aaron@kf-m2g5:~/Github/dillo
└─╴$ find -type f | wc -l
549
┌─╴aaron@kf-m2g5:~/Github/dillo
└─╴$ sloccount .
...
SLOC Directory SLOC-by-Language (Sorted)
31279 src_top_dir ansic=17114,cpp=14127,sh=38
23277 dw cpp=23277
4760 dpi ansic=3939,cpp=821
4451 src_IO ansic=4438,cpp=13
3734 test cpp=2579,ansic=953,sh=197,awk=5
2630 lout cpp=2630
1375 dpid ansic=1375
784 dlib ansic=784
387 dpip ansic=387
214 top_dir perl=131,sh=66,ansic=17
0 devdoc (none)
0 doc (none)
0 icons (none)
Totals grouped by language (dominant language first):
cpp: 43447 (59.61%)
ansic: 29007 (39.80%)
sh: 301 (0.41%)
perl: 131 (0.18%)
awk: 5 (0.01%)
Total Physical Source Lines of Code (SLOC) = 72,891
Development Effort Estimate, Person-Years (Person-Months) = 18.06 (216.78)
(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months) = 1.61 (19.30)
(Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule) = 11.23
Total Estimated Cost to Develop = $ 2,440,334
(average salary = $56,286/year, overhead = 2.40).
SLOCCount, Copyright (C) 2001-2004 David A. Wheeler
SLOCCount is Open Source Software/Free Software, licensed under the GNU GPL.
SLOCCount comes with ABSOLUTELY NO WARRANTY, and you are welcome to
redistribute it under certain conditions as specified by the GNU GPL license;
see the documentation for details.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."
That’s about 67% of the size of the combined codebases of Kicksecure and Whonix. I don’t think it would be practical for us to review it.
There have historically been two CVEs in Dillo that would have potentially permitted arbitrary code execution:
https://www.cve.org/CVERecord?id=CVE-2005-0012
https://www.cve.org/CVERecord?id=CVE-2009-2294
Dillo also appears to lack a browser sandbox similar to those used by Chromium and Firefox. Therefore I don’t really see Dillo as a good choice for a secure default browser.