9. Basic principles of security
discredit
HTTP
WEB Server +
Logics Server
WEB Server +
Logics Server
DBMSDBMS OSOS
SQL • commands
• files
BrowserBrowser
(X)HTTP(S)
28. Client side vulnerability
A3 - XSS
XSS - execute malicious Java Script code
inside authorized user session, who has
higher privileges than attacker
29. Client side vulnerability
A3 - XSS
WEB Server
+ Logics
Server
WEB Server
+ Logics
Server
DBMSDBMS OSOS
SQL • commands
• files
(X)HTTP(S)
BrowserBrowser
WEB Server +
Logics Server
WEB Server +
Logics Server
DBMSDBMS OSOS
SQL • commands
• files
BrowserBrowser
(X)HTTP(S)
User
data
Stored Reflected
37. SOAP API & JSON API
SOAP UI
• SoapUI is a free and open source cross-platform Functional Testing solution
• http://www.soapui.org/about-soapui/what-is-soapui-.html
Иными словами:
Нарушение функциональности:
НЕвозможность получения санкционированного доступа к функциям и данным системы
Нарушение защищенности:
возможность получения НЕсанкционированного доступа к данным и функциям
1) Fuzzing-proxy, f.e. Fiddler (intercepting proxy). Fuzzing - перебор всех возможных векторов атаки
Manual security code review (debugger)
2) White box-code scanners (HP Fortify)
3) Комбинейшн-ввод вредоносных данных извне (i,.e. блек бокс)+отслеживание обработки приложением этих данных (вайт бокс)
4) Black box-fuzzers (HP Web inspect)
XHTTP-Extended HTTP – все запросы и ответы отправляются исключительно в headers. Остальные данные передаются через XML. Все функции HTTP типа TLS, аутентификации и др. oстаются неизменными
Методы защиты-одни из многих. Простые для проверки. Говорим о них так как время ограничено, соответственно рассматриваем только какие-то конкретные
ПОСТ в ГЕТ-уязвимость работает только для простых параметров, не работает для XML JSON и любой другой формы данных
Происходит в силу SOAP/REST-работают с XML JSON а не просто с HTML
Валидаторы должны быть на обеих сторонах-клиента и сервера. Например, может показывать клиенту что что-то делать нельзя, но по факту это делать можно.
Если обошли ограничения на клиенте, сервер не должен пропускать этот обход. (отправили с клиента вредоносное, но сервер ее все равно не принял)
Clear request Headers – Slow POST - http://habrahabr.ru/post/116056/
Код иньекция– компилируемые языки . По сути ломает машину , которая хостит веб-серер(ис)
Xpath-говорит иксемелю откуда брать данные. Контролируя икспас можно указывать серверу какие данные выбирать, например для сравнения.
Special symbols-Можно создать White list-список только разрешенных символов, которые можно использовать.
Validators + Parametrized query=defense in depth-несколько уровней защиты
Parametrized query example:
$request = sql_prepare('insert into table(name) values(:1)');
sql_execute($request, Array('Вася')); Так мы отдельно задаем запрос, вместо данных подставляя в него номера связываемых переменных (:1, :2,...)
К удобству пользования фиддлером-можно посмотреть время отклика страницы до тысячной секунды.
Code injection-слишком круто для создания просто файлика на машине которая хостит веб-серис. Так как код иньекция тотально деструктивна в целом.
Пример-доступ к важному файлу осуществляется по ссылке.допустим видит ее только админ, но если ее получит не админ, он так же само может пройти по ней
crossdomain.xml-A cross-domain policy file is an XML document that grants a web client permission to handle data across domains
clientaccesspolicy.xml-то же самое
А10-доверительбный сайт-внутри ссылки редирект на левый сайт-кража логин\пароль-редирект на доверительный сайт. Юзер ниче не заметил, креды украли.
Запрещать редиректы на сторонние сайты
На клиента существует множество атак, но мы рассматриваем ОВАСП топ 10, где на КС всего несколько атак
Special symbols-html encoding кодировка всех символов, с помощью которых можно сделать теги.
Можно создать white list-список только разрешенных тегов, которые можно использовать.
Хтмл инсайд-во все формы, которые рефлектяться пользователю.все что контролируется пользователем и выводится на страничке.
Юзер проходит по ссылке, содержащей невалидный редирект, попадает на вредоносный сайт с тем же интерфейсом и вводит личные данные. Затем редиректиться обратно на доверительный сайт.пользователь ничего не заметил, данные украдены
SOAP — Simple Object Access Protocol
REST-Representational State Transfer
SOAP-может использовать другие протоколы, например SMTP. На практике это реализуется достаточно сложно
http://habrahabr.ru/post/75248/ - SOAP vs REST
OWASP SS vulnerabilities
Programming language helps to automate routine tasks