-
-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal: (sub)category "Client-Side" (browser-side) #1230
Comments
Or... to create "Browser communication" (in whatever correct wording) category which should contain additionally:
It even may contain abstract requirement, that don't do any decision on the client side: |
So I think XSSI, CSRF, click jacking are "Confused deputy" and could potentially be classified like that. I think calling them HTTP source validation is a little misleading most of the remediation do not involve validations but rather functionality restrictions (e.g. not allowing site to be iframed or not using JSONP functionality.) I think Cookie security is something slightly different and whilst the different flags could theoretically be in different sections, for simplicity I think it is better that they are together. |
@elarlang what are our next steps on this? |
depends on related discussion #1220 (comment) |
I just asked you a question there :) |
As those requirement did not find their place under V9, we need to have some separate (sub)category somewhere else. It requires maybe a bit more analyze, is it worth separate category or we can handle it with subcategories somewhere else. |
... or should I just create new category "Client-Side", then start collection all client-side related requirements there and then we can see, how they going to group to subcategories and what is the best name for the category itself. |
That seems like a sensible approach. How do you want to handle this? Do you want to prepare a PR or just a list of issues? |
Client-SideClient-Side is not best title, because in this context requirements are meant only for browser. Communication with API can be done with browser or from another service, so it's not the subject for this category. It should contain requirements which are handling:
ArchitectureTBD
HTTP response headers
* Note that 14.4.3 is being separately discussed in #1311 need some nice title here"Verify that request was initiated by trusted party" and "Verify that the response is readable only for trusted parties" requirements. SOP and CORS related rules. Data integrity related requirements:
Functionality integrity requirements:
Confidentiality related requirements
Belongs here as well, but need to find good category name
WebSocketWhere to keep V13.5 WebSocket category? |
Are you proposing a new chapter with controls that are enforced by the browser? If so, I have a few thoughts:
Is that useful feedback? |
This chapter should contain requirements, which takes down attack vectors via victim browser. It's more question and being more precise with descriptions and subcategory titles here - but I think that CSRF, JSONP, XSSI ("Confused deputy via victim browser") belongs here - those attacks do not exists without a browser (those are called SSRF then).
yes, we can move forward |
Ok, the idea of attacks which don't exist without the browser is an interesting one... That is why you want the requirement from #1299 to be in here? |
Yes, it fits to this criteria. |
Ok, I think you need to create a label for "big decisions" where we get feedback from the other leaders before finalizing. Do you agree? This issue would seem to match that category |
Late to the party but really do like the Client-Side category here as it could encompass other facets of client controls |
Back to this issue. This ping-pong has been here now for one and half year. Conclusions:
Agreement for this proposal from @danielcuthbert is here: #1230 (comment)
As it was more than a year ago, @danielcuthbert is welcome to recheck and revalidate it. New question (#1230 (comment)) from @tghosth - should CSRF as option 3 belong to the cateogry. Agreement from @jmanico is here: #1230 (comment)
I have not seen any other proposals. In CSRF issue - the concept got clarified I guess. In JSONP issue it's written it waits for this issue - why, if it does not belong here? What else is needed? If I do the math: |
At this point, I think you should get the PR done. If you want CSRF to go in there as well then go for it, I agree this has dragged on too long. |
Agreed |
special mention for @tghosth |
I have made some proposed changes and included comments with my logic: |
Elar is working on creating the monster PR for this based on individual commits for each requirement (to help traceability) |
my idea is actually a bit the opposite - to avoid monster PR and put the content in with small PRs :) edit: but the monster arrived... |
…e left behind, see OWASP#1808).
…ts to brower-related category
The new "Web Frontend Security" category is in place, with temporary number V50. https://github.com/OWASP/ASVS/blob/master/5.0/en/0x50-V50-Web-Frontend-Security.md There is still a lot of work to do with that, but for those changes it makes sense to open new issue per topic. As a structure change proposal, we can say it is done. |
Great work @elarlang ! |
Goal: to cover all requirements, where an application need to check, was a HTTP request made by the browser/client legit or forced by malicious actor from 3rd party site. It includes attack vectors like CSRF, XSSI, ClickJacking, etc.
To which category it should belong, I'm not sure. Just by title, it feels first idea to put to "V9 Communications", but this one seems to be "configuration only" category (the name should say it as well).
Related discussions and issues:
The text was updated successfully, but these errors were encountered: