Что почитать по веб-безопасности в 2016 новичку?
1. Для того, чтобы понимать, как производится та или иная атака/взлом - нужно очень хорошо понимать, как работает и устроен тот или иной продукт, какие процессы происходят внутри него.
В первую очередь, конечно же, следует тщательно разобраться с устройством сети(как работает интернет, что такое пакет, протоколы, из чего они состоят, dns и тд). Как работает фаервол, для чего он нужен и т.д. Также крайне советовал бы научиться основам системного администрирования. А также стать более-менее уверенным пользователем unix-like систем. (сложные команды можно подсмотреть в гугле), но перемещение, логи, отслеживание состояния системы, правила для фаервола - помнить, понимать и уметь использовать.
2. После этого посмотреть в сторону sql или других БД, как они работают, какие можно допустить ошибки. XSS уязвимости. 
Понять, что такое утечка памяти и из-за чего она возникает.
2.1 Методы шифрования, обмен ключами, длина ключа, шифры. Что такое VPN и т.д. 
3. Чтобы всё это было не скучно, предлагаю Вам участвовать в CTF, которые проходят во всем мире с завидной регулярностью.
Следить можно здесь, например: https://vk.com/invulnerble
Также можете попробовать потренироваться самостоятельно, для этого есть тестовые кейсы, например: OWASP
https://www.owasp.org/index.php/Main_PageОСТОРОЖНО! СПОЙЛЕРЫ!:(а точнее разбор заданий)
https://habrahabr.ru/post/250551/
4. Также материалы по безопасности и ресурсы для обучения периодически добавляю здесь: https://github.com/lgg/studying/tree/master/securityupd:
Как идет ДДос атака?
Собственно изучив первый пункт, Вы найдете ответ.
Как крадут фотки из айклауда?
Изучают систему, как она устроена, после этого находят уязвимость. Например, надо понимать, каким образом работает авторизация/аутентификация, проверка прав пользователя на то или иное действие, принадлежность файла тому или иному пользователю. Понимая, как это работает - можно додумать, где возможно программистом была допущена ошибка.
Как пишутся программы для подбора паролей
Зависит от шифрования. Есть брутфорс, радужные таблицы и много других. Опять таки, когда Вы дойдете до методов шифрования, то тоже ответите на этот вопрос.
https://stepik.org/course/Анализ-безопасности-веб-...