Is it safe to mosh? by Jim Cheetham
- Replacement for ssh remote terminal connectivity, uses udp
- http://mosh.mit.edu/
- Remote terminal applications, changing IPs, intermittent connectivity, more robust and responsive than ssh
- It is safe? It depends…
- Use cases differ, requirements differ
- Highpoints
- No “disconnect” when roaming/sleeping
- SSP remains responsive; Control-C works when cat’ing a large file or big “find”
- Instant predictive local echo
- Very clean UTF-8 terminal
- In all the main distros
- Run from userspace
- Demo “Luckily one of the things I need is an unreliable network”
- Cloud at cost – cloudatcost.com – $35 VM for life
- connect via ssh, run mosh-server, disconnects and reconnects back via mosh
- Problems
- Terminal scrollback is not yet implimented
- “If you want scrollback, go get tmux. If you’ve got screen, go get tmux”
- Logging is not mature
- Server may live after client has died
- SSP transport
- diff and patch are the two main methods
- RTT times are tracked
- delayed acks reduce traffic requirements
- 3s heartbeats keep the session alive
- SSP Datagram
- PAyload from transport layer is opaque
- AES-128 protects the payload
- UDP – receives packets from anywhere
- Timestamps everything – maintain RTT estimates
- SSP authentication
- 63 bit monotonically increasing, unencrypted
- out of order packaets discarded
- at 2PB the session dies
- Payload must decrypt – not realistic to brute-force
- SSP allows roaming
- The server knows where the client was
- But doesn’t care – utmp is updated though
- Other protocols are “protected” by having fixed network endpoints – which can be spoofed
- Roaming
- IP shouldn’t have tied IPs to location, but too late now
- SSP is designed to ignore IP address
- What is safety
- Risk = Likelihood * damage
- If client or server is compromised then session can always be taken over
- What is unsafe
- Connections from known-bad locations – known in advance
- Connections from known-comprimised users – detected by behaviour
- Connections to insecure software – Prohibited by administrator
- Good and bad habits
- ssh password vs keys
- Detached terminal sessions with privilege
- YES for home users and Small business
- POSSIBLY for Enterprise users
Below The Line: Fixing The Voting Process With Technology by Benno Rice
- Australian Senate
- So many people vote above the line because it is only one tick, below the line up to 100 seperate votes
- If you vote above the line then you accept the order of preferences from the people you voted for
- Can get party preference lists from Australian Electoral comission
- Create a custom “how to vote card”
- Site ideas
- Store nothing
- Just do it
- First site 2010
- Python
- javascript, jquery, sortable
- ballot renderer – python, reportlab, WSGI, truly awful code
- Hosted on dreamhost
- Melted on polling day
- Typed in the data by hand, it was not fun
- 2013 version of site
- Got data in csv from AEC
- Also did lower house (Geo lookup to find electorate)
- Store and share ballots
- Can shuffle parties as well as candidates
- Links to party websites
- Ruby
- Javascript – Angular , ui.sortable
- Ballot renderer – Python – reportlab
- Geolocation – AEC has division boundaries mapped and availbale
- PostGIS, Python, Google Maps API
- Storing and sharing – python, redis
- Ballot rendering in html – ruby, Haml, Reactive via bootstrap
- Ballots stored under a random identifier that was never reused
- Rackspace hosting – free hosting
- Cloudflare as CDN
- 2600 concurrent users
- 165,000 unique visitors
- 34,000 PDFs
- Conclusion
- The senate voting system is broken
- You too can change the world
- Just do it
- 20+ people in the room used the site to vote below the line