You typically don't see ASLR enabled on these armhf embedded devices. I see the statement by the author, " quickly confirmed on the device that address space layout randomization (ASLR) was enabled...", but how was it quickly checked? What was the output of /proc/sys/kernel/randomize_va_space?
Also not familiar at all with the checksec program, but from my look at the documentation, you expect to see PIE enabled not DSO (which implies dynamic shared object).
checksec is part of the pwntools suite. Along with other tools for finding ROP gadgets and shellcode generation.
So, what exact parts of the STL do you use in your code base? Most be mostly compile time stuff (types, type trait, etc).