node security project - lxjs 2013

41
Wednesday, October 2, 13

Upload: evilpacket

Post on 12-May-2015

1.856 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 2: Node Security Project - LXJS 2013

Hi, I’m Adam

Wednesday, October 2, 13

Page 3: Node Security Project - LXJS 2013

Hi, I’m Adam@adam_baldwin@liftsecurity@nodesecurity

Wednesday, October 2, 13

Page 4: Node Security Project - LXJS 2013

Hi, I’m Adam@evilpacket

Wednesday, October 2, 13

Page 5: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 6: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 7: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 8: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 9: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 10: Node Security Project - LXJS 2013

Node Security ProjectWednesday, October 2, 13

Page 11: Node Security Project - LXJS 2013

Why

Wednesday, October 2, 13

Page 12: Node Security Project - LXJS 2013

•precommit-hook for linting•pull requests for peer review•education / values

Things we had control over

Wednesday, October 2, 13

Page 13: Node Security Project - LXJS 2013

•other peoples code•the delivery system (npm)

Things we didn’t have control over

Wednesday, October 2, 13

Page 14: Node Security Project - LXJS 2013

npm install altlhethings

Wednesday, October 2, 13

Page 15: Node Security Project - LXJS 2013

npm install fs

Wednesday, October 2, 13

Page 16: Node Security Project - LXJS 2013

npm install http

Wednesday, October 2, 13

Page 17: Node Security Project - LXJS 2013

npm install socketio

Wednesday, October 2, 13

Page 18: Node Security Project - LXJS 2013

404

Wednesday, October 2, 13

Page 19: Node Security Project - LXJS 2013

~/analyzer$ node print.js ./output/output.json buffer: 604child_process: 2867dgram: 836dns: 674fs: 15036http: 12084https: 2819os: 1311readline: 909string_decoder: 65timers: 230tty: 335vm: 354

Wednesday, October 2, 13

Page 20: Node Security Project - LXJS 2013

•Core modules....•Punctuation is hard•Improve integrity checking

Conclusions

Wednesday, October 2, 13

Page 21: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 22: Node Security Project - LXJS 2013

How

Wednesday, October 2, 13

Page 23: Node Security Project - LXJS 2013

nodesecurity.io/contributors

Wednesday, October 2, 13

Page 24: Node Security Project - LXJS 2013

New Process

Wednesday, October 2, 13

Page 25: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 26: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 27: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 28: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 29: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 30: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 31: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 32: Node Security Project - LXJS 2013

child_process.exec[pid 31152] execve("/bin/sh", ["/bin/sh", "-c", "ls"]

child_process.execFile[pid 31176] execve("/bin/ls", ["/bin/ls"]

Wednesday, October 2, 13

Page 33: Node Security Project - LXJS 2013

Wednesday, October 2, 13

Page 34: Node Security Project - LXJS 2013

Catalyst for Change

Wednesday, October 2, 13

Page 35: Node Security Project - LXJS 2013

Improved Resources

Wednesday, October 2, 13

Page 36: Node Security Project - LXJS 2013

Private issues &

Pull RequestsWednesday, October 2, 13

Page 37: Node Security Project - LXJS 2013

“I wish @github had private issues and pull requests for open source projects to improve responsible disclosure of security issues! Please RT”

j.mp/lxjs-nspWednesday, October 2, 13

Page 38: Node Security Project - LXJS 2013

nodeschool.ioWednesday, October 2, 13

Page 39: Node Security Project - LXJS 2013

security.md

Wednesday, October 2, 13

Page 40: Node Security Project - LXJS 2013

github.com/nodesecurity

Wednesday, October 2, 13

Page 41: Node Security Project - LXJS 2013

</presentation> @adam_baldwin@liftsecurity@nodesecurity

@evilpacket

Wednesday, October 2, 13