SlideShare a Scribd company logo
1 of 39
Download to read offline
WebRTC &	security:	101
OWASP	Wroclaw	#4
Alexander	Antukh
What is WebRTC?
WebRTC is	a	free,	open	project	that	provides	browsers	
and	mobile	applications	with	Real-Time	Communications	
(RTC)	capabilities	via	simple	APIs.	
>>	that’s	correct,	it’s	right	in	your	browser!
Real-time	what?
• Real-time	audio	and/or	video	calls
• Web	conferencing
• Direct	data	transfers
WebRTC ITW
• WhatsApp
• Facebook	Messenger
• Tons	of	web	chats
• And	many	more!
http://www.webrtcworld.com/webrtc-list.aspx
WebRTC architecture
WebRTC:	Signaling
• Signaling	in	three	words:	exchange	of	metadata
• Signaling	server:
• Loads	client-side	context	(JS	code)
• Mediates	control	messages	and	meta-meta	
between	endpoints
• Signaling	protocol	is	not	specified	(BIY)
WebRTC:	Media
• Encrypted P2P	connection between browsers
• Steps	for	setting	the	media	path	up:
• Exchange	of	media	parameters	(SDP)
• Exchange	of	network	parameters
• UDP	hole	punching
• STUN (Session	Traversal	Utilities	for	NAT)
• TURN (Traversal	Using	Relays	around	NAT)
• ICE (Interactive	Connectivity	Establishment)
SDP:	Session Description Protocol
• Initialization parameters for	streaming	media
• Session	announcement
• Session	invitation
• Parameter	negotiation	(mmtypes,	codecs,	...)
UDP	hole	punching
• Simple	but	not	always applicable (e.g.	symmetric NATs)
Browser A Browser B
NAT	/	Firewall NAT	/	Firewall
Public	server (S)
N:P2 M:P4
1. A	à N	à M	:	A:P1	⇄ N:P2
2. B	à M	à N	:	B:P3	⇄ M:P4
3. N:P2,	M:P4	à S
4. A:P1,	B:P3	⇄ S	(P2,	P4)
5. A:P1	à M:P4	à B
B:P3	à N:P2	à A
A	⇄ B
A:P1 B:P3
What about other scary acronyms?
• STUN
• To	collect your local network	setup	(local IPs,	
local subnets,	NAT	configuration…)
• TURN	
• To	relay your media	connection if P2P	fails
• ICE
• Bundles all STUN/TURN	info	for	exchange	via	the	
signaling channel	and	probing until pair works
WebRTC API
• getUserMedia():	capture	audio	and	video
• MediaRecorder*:	record	audio	and	video
• RTCPeerConnection:	stream	audio	and	video	
between	users
• RTCDataChannel:	stream	data	between	users
“Be	skeptical	of	reports	that	a	platform	'supports	WebRTC'.	Often	this	actually	just	
means	that	getUserMedia is	supported,	but	not	any	of	the	other	RTC	components”
WebRTC API:	getUserMedia()
navigator.getUserMedia =	navigator.getUserMedia ||
navigator.webkitGetUserMedia ||	navigator.mozGetUserMedia;
var constraints =	{
audio:	false,
video:	true
};
…
function	successCallback(stream)	{
window.stream =	stream;	//	stream	avail	to	console
if	(window.URL)	{
video.src =	window.URL.createObjectURL(stream);
}	else	{
video.src =	stream;
}
}
…
navigator.getUserMedia(constraints,	successCallback,	errorCallback);
WebRTC API:	RTCPeerConnection
• Responsible	for	managing	the	full	life-cycle	of	each	P2P	
connection	and	encapsulates	all	the	connection	setup,	
management,	and	state	within	a	single	easy-to-use	interface
• Connection	initiation:	SDP	description	exchange
• After	it	is	established:	sending	of	real-time	audio	and	video	
data	as	a	bitstream var conn	=	new	RTCPeerConnection(conf);	
conn.onaddstream =	function(stream)	{	
//	use	stream	here	
};
WebRTC API:	RTCDataChannel
• Enables	peer-to-peer	exchange	of	arbitrary	data,	
with	low	latency	and	high	throughput
• Features:
• Leveraging	of	RTCPeerConnection session	setup
• Multiple	simultaneous	channels,	with	prioritization
• Reliable	and	unreliable	delivery	semantics
• Built-in	security	(DTLS)	and	congestion	control
• Ability	to	use	with	or	without	audio	or	video
Try	my*	bear:	https://www.cubeslam.com/dcegjx
WebRTC API:	RTCDataChannel
var pc	=	new	webkitRTCPeerConnection(servers,
{optional:	[{RtpDataChannels:	true}]});
pc.ondatachannel =	function(event)	{
receiveChannel =	event.channel;
receiveChannel.onmessage =	function(event){
document.querySelector("div#receive").innerHTML =	event.data;
};
};
sendChannel =	pc.createDataChannel("sendDataChannel",	{reliable:	false});
document.querySelector("button#send").onclick =	function	(){
var data	=	document.querySelector("textarea#send").value;
sendChannel.send(data);
};
WebRTC API:	MediaRecorder
https://webrtc.github.io/samples/src/content/getusermedia/record/
• Introduced	back	in	Sep	2016	(still	experimental)
• Sample	recording	functionality:
• mediaRecorder.start()
• mediaRecorder.stop()
• mediaRecorder.ondataavailable à recordedBlobs.push(event.data)
• … and	then make it available for	play/download
• Example of	recorded video	object link:	
blob:https://webrtc.github.io/4d25f90a-244b-4e1c-9495-e5f21074aab9
WebRTC:	security perspective
• Browser	acts	as	TCB
• Natural	part	of	it,	not	a	plugin
• Frequent	updates
• Permissions	(explicit	user	consent*)
• Enforced	encryption
• RTP	is	explicitly	forbidden
• End-to-end	encryption	between	peers
• Mandatory	HTTPS	+	DTLS	/	SRTP
WebRTC:	security perspective
What	could	go	wrong?
• What	are	the	effects	of	JavaScript/HTML	injection?
• Can	we	steal	WebRTC credentials?
• Can	we	steal	privileged	information	about	a	client?
• What	are	the	effects	of	taking	over	a	signaling	server?
• Can	we	crash	the	server,	or	render	it	unresponsive?
• What	information	can	be	extracted?	
• Can	we	cause	a	client	to	connect	to	a	rogue	network?
WebRTC security:	browser
• Direct	data	transfer	between	peers	e.g.	in	chat
• …	might	equal	to	a	complete	takeover	of	the	victim’s	context	
in	case	of	XSS
• ...	as	well	as	leads	to	obtaining	internal	addresses	of	your	
counterparts	(more	soon)
• ...	and	facilitates	direct	transfers	of	malware
• Additional considerations:
• Poor registration mechanisms ~	access and	abuse
• Poor session termination ~	session reuse
WebRTC security:	Android	client
• Installation	permissions
• Malware to	capture private info	about the	user
• Data	storage
• Malicious app could steal data	from	WebRTC-powered app
• Network	interception
• Credentials could be	sent over HTTP	beforehand
• UI	phishing /	malware
WebRTC security:	in	between
• Signaling	server	takeover
• MiTM via	fake	user	or	creation	of	“invisible”	one?	;)
• Or	simply	crashing	it	and	bringing	chaos
• Registration	hijacking
• Capture/change	IP	addresses	to	forward	calls	to	attacker’s	server
• DoS	against	user’s	device
• Race	conditions	(overriding	legitimate	REGISTER	requests)
• Replay	attacks
WebRTC security:	authentication
• Signaling	server	should	not	be	trusted,	and	it	should	be	
possible	to	perform	authentication	independently
Identity	Providers	(Facebook	
Login,	BrowserID,	OAuth)	provide	
auth for	users	without	
participation	of	the	signaling	
server
WebRTC:	additional	considerations
• Screen	(over)sharing
• Privacy	issues	in	SRTP
• IP	location	privacy
Screen	(over)sharing in	one pic
Privacy	issues in	SRTP
• Encrypts	the	payload	of	RTP	packets,	not	the	
headers
• Example	of	possible	info	leak:
• timestamp
• audio	levels of	contained media
• ???
• PROFIT!
IP	location privacy
IP	location privacy:	scan your LAN!
https://aan.sh/LANScan/
What	could	go	wrong	with	that?
IP	location privacy:	scan your LAN!
Framework	for	developing	exploits	using	WebRTC – sonar.js
• Enumerate	hosts	on	internal	network
• Fingerprint	devices	using	onload()	events	and	known	
CSS/images
• Using	pre-set	DB	of	exploits	for	devices,	launch	them	
against	detected	one
https://thehackerblog.com/sonar-a-framework-for-scanning-and-exploiting-internal-hosts-with-a-webpage/
Demo time
IP	location privacy:	protection
• WebRTC	Leak	Prevent	and	similar	add-ons
• Browser	configuration
WebRTC:	security design	practices
• Secure	signaling	
• Authentication	and	peer	monitoring
• Permission	requests
• MitM protection
• Screen	sharing
• Fallback	measures
WebRTC:	security design	practices
• Secure	signaling	
It	is	recommended	to	implement	a	signaling	protocol	
that	provides	encryption (SIPS,	OpenSIP,	HTTPS	or	
WSS),	to	prevent	eavesdropping.
WebRTC:	security design	practices
• Authentication	and	peer	monitoring
Basic	apps	require	only	a	user's	ID	to	perform	a	call,	so	
it	might	be	a	good	idea	to	have	pre-registration	or	
authentication	to	prevent	from	untrusted	parties.	
Another	best	practice	is	to	consistently	monitor	the	
number	of	peers	in	communication	vs	total	number	on	
the	signaling	server	(no	spies,	please!)
WebRTC:	security design	practices
• Permission	requests
Clearly	detail	on	the	page	what	permissions	the	
application	will	ask	for,	as	often	users	will	agree	to	
permission	requests	or	similar	dialogs	without	
consciously	reading	the	message
WebRTC:	security design	practices
• MitM protection
Regular	monitoring	of	the	media	path	for	no	
suspicious	relays	and	encrypted	signaling	should	be	
presented
WebRTC:	security design	practices
• Screen	sharing
Before	initiating	the	streaming	of	any	part	of	the	
screen,	the	user	should	be	properly	notified	and	
advised	to	close	any	screen	containing	sensitive	
information
WebRTC:	security design	practices
• Fallback	measures
If	it is confirmed the	call is compromised by	unauth
party,	it should be	within the	power of	Web	
Application	server rendering	the	WebRTC capable
page to	cut off	the	call
Further	reading:
• https://www.html5rocks.com/en/tutorials/webrtc/basics/
• https://tools.ietf.org/html/draft-ietf-rtcweb-security-arch-12
• http://webrtc-security.github.io
• https://2015.appsec.eu/wp-content/uploads/2015/09/owasp-appseceu2015-desmet.pdf
• https://webrtchacks.com/webrtc-and-man-in-the-middle-attacks/
• https://arxiv.org/pdf/1601.00184.pdf
• https://thehackerblog.com/sonar-a-framework-for-scanning-and-exploiting-internal-hosts-
with-a-webpage/
Contact	me:	@c0rdis
Fin.

More Related Content

What's hot

[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera SoftwareOWASP
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilitiesOWASP
 
Hacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperHacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperAjin Abraham
 
Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeAjin Abraham
 
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015Ajin Abraham
 
Abusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAbusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAjin Abraham
 
Web & Cloud Security in the real world
Web & Cloud Security in the real worldWeb & Cloud Security in the real world
Web & Cloud Security in the real worldMadhu Akula
 
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer ProtectionOwasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer ProtectionAnant Shrivastava
 
[OWASP Poland Day] Saving private token
[OWASP Poland Day] Saving private token[OWASP Poland Day] Saving private token
[OWASP Poland Day] Saving private tokenOWASP
 
Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperAjin Abraham
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...OWASP
 
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCsw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCanSecWest
 
CSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCanSecWest
 
Testing Android Security Codemotion Amsterdam edition
Testing Android Security Codemotion Amsterdam editionTesting Android Security Codemotion Amsterdam edition
Testing Android Security Codemotion Amsterdam editionJose Manuel Ortega Candel
 
JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020Matt Raible
 
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...Denim Group
 
Malware collection and analysis
Malware collection and analysisMalware collection and analysis
Malware collection and analysisChong-Kuan Chen
 
Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017TriNimbus
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020OWASP
 
Shellcoding in linux
Shellcoding in linuxShellcoding in linux
Shellcoding in linuxAjin Abraham
 

What's hot (20)

[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software[Wroclaw #9] The purge - dealing with secrets in Opera Software
[Wroclaw #9] The purge - dealing with secrets in Opera Software
 
[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities[OPD 2019] Inter-application vulnerabilities
[OPD 2019] Inter-application vulnerabilities
 
Hacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - WhitepaperHacking Tizen: The OS of everything - Whitepaper
Hacking Tizen: The OS of everything - Whitepaper
 
Injecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at RuntimeInjecting Security into vulnerable web apps at Runtime
Injecting Security into vulnerable web apps at Runtime
 
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
Hacking Samsung's Tizen: The OS of Everything - Hack In the Box 2015
 
Abusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-onsAbusing, Exploiting and Pwning with Firefox Add-ons
Abusing, Exploiting and Pwning with Firefox Add-ons
 
Web & Cloud Security in the real world
Web & Cloud Security in the real worldWeb & Cloud Security in the real world
Web & Cloud Security in the real world
 
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer ProtectionOwasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
 
[OWASP Poland Day] Saving private token
[OWASP Poland Day] Saving private token[OWASP Poland Day] Saving private token
[OWASP Poland Day] Saving private token
 
Injecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime WhitepaperInjecting Security into Web apps at Runtime Whitepaper
Injecting Security into Web apps at Runtime Whitepaper
 
[OPD 2019] AST Platform and the importance of multi-layered application secu...
[OPD 2019]  AST Platform and the importance of multi-layered application secu...[OPD 2019]  AST Platform and the importance of multi-layered application secu...
[OPD 2019] AST Platform and the importance of multi-layered application secu...
 
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwearCsw2016 chaykin having_funwithsecuremessengers_and_androidwear
Csw2016 chaykin having_funwithsecuremessengers_and_androidwear
 
CSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on androidCSW2017 Geshev+Miller logic bug hunting in chrome on android
CSW2017 Geshev+Miller logic bug hunting in chrome on android
 
Testing Android Security Codemotion Amsterdam edition
Testing Android Security Codemotion Amsterdam editionTesting Android Security Codemotion Amsterdam edition
Testing Android Security Codemotion Amsterdam edition
 
JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020JHipster and Okta - JHipster Virtual Meetup December 2020
JHipster and Okta - JHipster Virtual Meetup December 2020
 
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
The ABCs of Source-Assisted Web Application Penetration Testing With OWASP ZA...
 
Malware collection and analysis
Malware collection and analysisMalware collection and analysis
Malware collection and analysis
 
Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017
 
[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020[OPD 2019] Top 10 Security Facts of 2020
[OPD 2019] Top 10 Security Facts of 2020
 
Shellcoding in linux
Shellcoding in linuxShellcoding in linux
Shellcoding in linux
 

Viewers also liked

[Wroclaw #3] 50 shadows of company's infosec
[Wroclaw #3] 50 shadows of company's infosec[Wroclaw #3] 50 shadows of company's infosec
[Wroclaw #3] 50 shadows of company's infosecOWASP
 
[Wroclaw #3] Security fix or workaround
[Wroclaw #3] Security fix or workaround[Wroclaw #3] Security fix or workaround
[Wroclaw #3] Security fix or workaroundOWASP
 
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnegoOWASP
 
GATTacking Bluetooth Smart
GATTacking Bluetooth SmartGATTacking Bluetooth Smart
GATTacking Bluetooth SmartOWASP
 
[Wroclaw #3] SELinux 101
[Wroclaw #3] SELinux 101[Wroclaw #3] SELinux 101
[Wroclaw #3] SELinux 101OWASP
 
Introduction to iOS Penetration Testing
Introduction to iOS Penetration TestingIntroduction to iOS Penetration Testing
Introduction to iOS Penetration TestingOWASP
 
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugsOWASP
 

Viewers also liked (7)

[Wroclaw #3] 50 shadows of company's infosec
[Wroclaw #3] 50 shadows of company's infosec[Wroclaw #3] 50 shadows of company's infosec
[Wroclaw #3] 50 shadows of company's infosec
 
[Wroclaw #3] Security fix or workaround
[Wroclaw #3] Security fix or workaround[Wroclaw #3] Security fix or workaround
[Wroclaw #3] Security fix or workaround
 
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
[Wroclaw #2] RNB - system raportowania dla potrzeb testu penetracyjnego
 
GATTacking Bluetooth Smart
GATTacking Bluetooth SmartGATTacking Bluetooth Smart
GATTacking Bluetooth Smart
 
[Wroclaw #3] SELinux 101
[Wroclaw #3] SELinux 101[Wroclaw #3] SELinux 101
[Wroclaw #3] SELinux 101
 
Introduction to iOS Penetration Testing
Introduction to iOS Penetration TestingIntroduction to iOS Penetration Testing
Introduction to iOS Penetration Testing
 
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
[Wroclaw #4] Fuzzing - underestimated method of finding hidden bugs
 

Similar to [Wroclaw #4] WebRTC & security: 101

D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)Common WebRTC mistakesand how to avoid them (RTC Expo 2019)
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)Tsahi Levent-levi
 
The State of WebRTC
The State of WebRTCThe State of WebRTC
The State of WebRTCRobin Hawkes
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...Brian Pulito
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsIMTC
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonAlan Quayle
 
Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...OutSystems
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingAmir Zmora
 
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"VOIP2DAY 2015: "WebRTC security concerns, a real problem?"
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"Quobis
 
WebRTC Security Concerns, a real problem?
WebRTC Security Concerns, a real problem?WebRTC Security Concerns, a real problem?
WebRTC Security Concerns, a real problem?VOIP2DAY
 
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.Vladimir Beloborodov
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overviewRouyun Pan
 

Similar to [Wroclaw #4] WebRTC & security: 101 (20)

WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC
WebRTCWebRTC
WebRTC
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)Common WebRTC mistakesand how to avoid them (RTC Expo 2019)
Common WebRTC mistakesand how to avoid them (RTC Expo 2019)
 
WebRCT
WebRCTWebRCT
WebRCT
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
Intro to WebRTC
Intro to WebRTCIntro to WebRTC
Intro to WebRTC
 
WebRTC
WebRTCWebRTC
WebRTC
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
The State of WebRTC
The State of WebRTCThe State of WebRTC
The State of WebRTC
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
 
WebRTC Standards from Tim Panton
WebRTC Standards from Tim PantonWebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
 
Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...Training Webinar: Enterprise application performance with server push technol...
Training Webinar: Enterprise application performance with server push technol...
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
 
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"VOIP2DAY 2015: "WebRTC security concerns, a real problem?"
VOIP2DAY 2015: "WebRTC security concerns, a real problem?"
 
WebRTC Security Concerns, a real problem?
WebRTC Security Concerns, a real problem?WebRTC Security Concerns, a real problem?
WebRTC Security Concerns, a real problem?
 
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.WebRTC. Yet Another Overview, for IT Technicians.
WebRTC. Yet Another Overview, for IT Technicians.
 
WebRTC overview
WebRTC overviewWebRTC overview
WebRTC overview
 

More from OWASP

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dAppsOWASP
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scaleOWASP
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentestOWASP
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core SecurityOWASP
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architectureOWASP
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS InfrastructureOWASP
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and DefensesOWASP
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computingOWASP
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOCOWASP
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokensOWASP
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzingOWASP
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSSOWASP
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security WorldOWASP
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP
 
OWASP Poland Day 2018 - Dani Ramirez - IPMI hacking
OWASP Poland Day 2018 - Dani Ramirez - IPMI hackingOWASP Poland Day 2018 - Dani Ramirez - IPMI hacking
OWASP Poland Day 2018 - Dani Ramirez - IPMI hackingOWASP
 
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...OWASP
 
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the Pipeline
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the PipelineOWASP Poland Day 2018 - Omer Levi Hevroni - Secure the Pipeline
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the PipelineOWASP
 

More from OWASP (20)

[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps[OPD 2019] Web Apps vs Blockchain dApps
[OPD 2019] Web Apps vs Blockchain dApps
 
[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale[OPD 2019] Threat modeling at scale
[OPD 2019] Threat modeling at scale
 
[OPD 2019] Life after pentest
[OPD 2019] Life after pentest[OPD 2019] Life after pentest
[OPD 2019] Life after pentest
 
[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security[OPD 2019] .NET Core Security
[OPD 2019] .NET Core Security
 
[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture[OPD 2019] Governance as a missing part of IT security architecture
[OPD 2019] Governance as a missing part of IT security architecture
 
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
[OPD 2019] Storm Busters: Auditing & Securing AWS Infrastructure
 
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
[OPD 2019] Side-Channels on the Web:
Attacks and Defenses
 
[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing[OPD 2019] Automated Defense with Serverless computing
[OPD 2019] Automated Defense with Serverless computing
 
[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC[OPD 2019] Advanced Data Analysis in RegSOC
[OPD 2019] Advanced Data Analysis in RegSOC
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing[OPD 2019] Rumpkernels meet fuzzing
[OPD 2019] Rumpkernels meet fuzzing
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS
 
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
[Wroclaw #9] To be or Not To Be - Threat Modeling in Security World
 
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure SoftwareOWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
OWASP Poland 13 November 2018 - Martin Knobloch - Building Secure Software
 
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-miningOWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
OWASP Poland Day 2018 - Amir Shladovsky - Crypto-mining
 
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contractsOWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
OWASP Poland Day 2018 - Damian Rusinek - Outsmarting smart contracts
 
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologiesOWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
OWASP Poland Day 2018 - Frans Rosen - Attacking modern web technologies
 
OWASP Poland Day 2018 - Dani Ramirez - IPMI hacking
OWASP Poland Day 2018 - Dani Ramirez - IPMI hackingOWASP Poland Day 2018 - Dani Ramirez - IPMI hacking
OWASP Poland Day 2018 - Dani Ramirez - IPMI hacking
 
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...
OWASP Poland Day 2018 - Pedro Fortuna - Are your Java Script based protection...
 
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the Pipeline
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the PipelineOWASP Poland Day 2018 - Omer Levi Hevroni - Secure the Pipeline
OWASP Poland Day 2018 - Omer Levi Hevroni - Secure the Pipeline
 

Recently uploaded

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

[Wroclaw #4] WebRTC & security: 101

Editor's Notes

  1. https://codelabs.developers.google.com/codelabs/webrtc-web/#0
  2. Unlike most real-time systems (e.g. SIP), WebRTC communications are directly controlled by some Web server, via a JavaScript API.
  3. Unlike most real-time systems (e.g. SIP), WebRTC communications are directly controlled by some Web server, via a JavaScript API.
  4. Two major paths: signaling and media
  5. Signaling is the process of coordinating communication. In order for a WebRTC application to set up a 'call', its clients need to exchange information: - Session control messages used to open or close communication. - Error messages. - Media metadata such as codecs and codec settings, bandwidth and media types. - Key data, used to establish secure connections. - Network data, such as a host's IP address and port as seen by the outside world. This signaling process needs a way for clients to pass messages back and forth.  Build It Yourself!
  6. https://2015.appsec.eu/wp-content/uploads/2015/09/owasp-appseceu2015-desmet.pdf
  7. As of today SDP is widely used in the contexts of Session Initiation Protocol (SIP), Real-time Transport Protocol (RTP), and Real-time Streaming Protocol (RSP). With that, once the SDP session descriptions have been exchanged via the signaling channel, both parties have now negotiated the type of streams to be exchanged, and their settings. We are almost ready to begin our peer-to-peer communication! Now, there is just one more detail to take care of: connectivity checks and NAT traversal. https://www.safaribooksonline.com/library/view/high-performance-browser/9781449344757/ch18.html
  8. N/A for symmetric NAT (restrictions to receive) Пользователь А отправляет пакет с порта P1 на M, и неважно, какой порт. Пакет игнорируется устройством М, но на устройстве N появляется временная таблица соответствия A:P1 с P2. Аналогично, B отправляет пакет с порта P3 на M. Пакет игнорируется устройством N, но на устройстве M появляется временная таблица соответствия B:P3 с P4. A и B отправляют аналогичные пакеты на S, и S узнает порты P2 и P4. A и B связываются с S и сообщают ему порты P1 и P2, а он им сообщает все, что знает. Подготовка проведена. Теперь A может отправлять пакет с A:P1 на M:P4 - и он будет переправлен на B. Аналогично, пакет с B:P3 на N:P2 может быть переправлен на A. You could run your own server with a custom protocol, our you could use STUN and existing STUN servers. (Only a few packets are needed for setup, the rest are peer-to-peer). Of course, some NAT firewalls are incompatible with the above, so you may need a custom protocol. Bittorrent does this: they use different techniques depending on which clients are behind firewalls and whatnot.
  9. ICE : A protocol for establishing direct connectivity once STUN or TURN address candidates are obtained.. offer/answer ICE candidates b/w peers. Used for establishing a connection between peers over the internet. By trying all possibilities in parallel, ICE is able to choose the most efficient option that works. ICE first tries to make a connection using the host address obtained from a device's operating system and network card; if that fails (which it inevitably will for devices behind NATs) ICE then obtains an external address using a STUN server. If that also fails, traffic falls back to routing via a TURN relay server. The key difference between STUN and TURN is that media will travel directly between both endpoints if STUN is used, whereas media will be proxied through the server if TURN is utilized. https://www.webrtc-experiment.com/docs/STUN-or-TURN.html Симметричный NAT (Symmetric NAT) — Трансляция, при которой каждое соединение, инициируемое парой «внутренний адрес: внутренний порт» преобразуется в свободную уникальную случайно выбранную пару «публичный адрес: публичный порт». При этом инициация соединения из публичной сети невозможна. ЗДЕСЬ STUN НЕ ПРОЙДЕТ!!! Cone NAT, Full Cone NAT — Однозначная (взаимная) трансляция между парами «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любой внешний хост может инициировать соединение с внутренним хостом (если это разрешено в правилах межсетевого экрана).
  10. https://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-history
  11. HTML5 !!! https://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-history
  12. https://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-history The RTCPeerConnection object accepts a conf parameter, which we will cover later in these tutorials. The onaddstream event is fired when the remote user adds a video or audio stream to their peer connection.
  13. https://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-history
  14. Faster than WS!
  15. http://qnimate.com/an-introduction-to-javascript-blobs-and-file-interface/
  16. Trusted computer base: We need to understand it’s not a plugin and is built-in the browser (frequent updates, no malware as could be in 3rd party apps). In order to access camera/voice/record, user has to give explicit permissions Signaling: HTTP, SIP and media: RTP Plus, secure certificate exchange (since unsigned, first sent via signaling channel, and then via media, and then compared) tools.ietf.org/html/draft-ietf-rtcweb-security-08 https://www.netscan.co/blog/webrtc-security-just-how-secure-is-web-real-time-communication/
  17. https://arxiv.org/pdf/1601.00184.pdf
  18. https://arxiv.org/pdf/1601.00184.pdf Registration fails = email, phone, …
  19. Most often SIP! Protection: SIPS
  20. https://arxiv.org/pdf/1601.00184.pdf
  21. https://tools.ietf.org/html/draft-ietf-rtcweb-security-08#section-4.1.1 http://webrtc-security.github.io (4.3.5, 4.5, 4.6, )
  22. https://tools.ietf.org/html/draft-ietf-rtcweb-security-08#section-4.1.1 http://webrtc-security.github.io (4.3.5, 4.5, 4.6, )
  23. https://tools.ietf.org/html/draft-ietf-rtcweb-security-08#section-4.1.1 http://webrtc-security.github.io (4.3.5, 4.5, 4.6, )
  24. https://tools.ietf.org/html/draft-ietf-rtcweb-security-08#section-4.1.1 http://webrtc-security.github.io (4.3.5, 4.5, 4.6, )
  25. Secure signaling: encryption (SIPS, OpenSIP, HTTPS or WSS). WebRTC does not impose any constraints on the signalling process, rather leaving the developer to decide upon their own preferred method Authentication and peer monitoring: by default no auth/pre-registration, WebRTC app requires only a user's ID in order to perform a call. Permission requests: users often click ”yes” – idea would be to clearly detail what kind of permissions are needed MitM: monitoring media path for suspicious relays + encrypted signaling Screensharing: before initiating the streaming of any part of the screen, the user should be properly notified and advised to close any screen containing sensitive information. Fallback measures: if it is confirmed the call is compromised by unauth party, it should be within the power of Web Application server rendering the WebRTC capable page to cut off the call.