OWASP / ASVS

Application Security Verification Standard
Creative Commons Attribution Share Alike 4.0 International
2.61k stars 637 forks source link

Request for Addition of WebRTC Security Subcategory in ASVS #1612

Open ImanSharaf opened 1 year ago

ImanSharaf commented 1 year ago

I noticed that there is a dedicated subcategory for WebSocket security, but not for WebRTC (Web Real-Time Communication). Given the growing adoption of WebRTC in modern applications for audio, video, and data communication, I believe it is essential to address its security considerations within the ASVS.

I would like to propose the addition of a new subcategory specifically for WebRTC security. This subcategory could include items such as:

I can write them in the ASVS style after we confirm what requirements we want to add. Also, there are some good write-ups that we can extract valuable checks out of them such as this one ($3,500 was paid as bounty by Slack):

Inclusion of these items and potentially others would significantly benefit the community by raising awareness and providing guidance on securing WebRTC implementations.

tghosth commented 1 year ago

Can you suggest requirements that you think are not explicitly covered by existing requirements.

For example, I think we already have a requirement that all communications should be via TLS so I don't think we need extra requirements for that.

tghosth commented 9 months ago

hi @ImanSharaf any thoughts on this?

ImanSharaf commented 9 months ago

The specific check related to the TURN server and XOR-PEER-ADDRESS addresses a unique WebRTC-related concern that isn't necessarily covered by general security guidelines. SDP exchanges are unique to WebRTC and similar real-time communication protocols. Validating and sanitizing these exchanges are essential as they contain vital information about the media and data streams. They could be exploited if not secured properly. Unlike traditional communication channels, WebRTC sessions have unique characteristics, and ensuring their secure termination is essential to avoid unintended data leaks or unauthorized access.

tghosth commented 9 months ago

So can you suggest some specific requirements @ImanSharaf ?

ImanSharaf commented 9 months ago

Sure, do we want to create a subcategory for WebRTC similar to Websocket?

elarlang commented 9 months ago

How many requirements you have in mind? Web Socket category in my opinion contains duplicates which can easily handled with "parent" or more general requirement (but this is separate topic).

tghosth commented 9 months ago

Yeah let's see the WebRTC requirements first and then decide if we want a dedicated section or not.

tghosth commented 5 months ago

@ImanSharaf do you have suggested requirements for this?

sandrogauci commented 4 days ago

Hi there, as mentioned on X, we should be able to help on this very topic since it is one of our favorites :slightly_smiling_face:.

Some references of past publications:

Also attaching the mindmap that we created to illustrate the WebRTC infrastructure attack surface as we see it.

WebRTC Infrastructure Attack Surface

We hope to convert some of this into ASVS styled requirements. Is this a good direction?

cc: @tghosth @ImanSharaf