web security · 2017-11-30 · web security robert malmgren [email protected] +46-708-330378 robert...
TRANSCRIPT
Web security
Robert [email protected]+46-708-330378www.romab.com
Robert Malmgren AB Trust is goodcontrol is better
2007-11-21
Upplägg
Angreppsscenarios
Hot och risker
Säkerhetsinitiativ
Ofta funna dumheter
Do’s & Don’ts
Något om nya teknologier
Säkerhetskultur & säkerhetsmognad
Sammanfattning
Internet
InternetInternet
Internet
Angreppsprinciper (1)
Klient/Server angrepp Server/Klient angrepp
Riktade angreppAngrepp mot slumpvisa offer
Internet
Internet
Angreppsprinciper (2)
Distribuerad DoS-attackFörtal/parodi/phising-site
Internet
Google hacking
Internet
Angreppsprinciper (3)
Komplexitetsfaktorn
Server operating systems:Solaris
Server operating systems:
Windows 2003
Standardized Client operating
systems:Windows 2000 Windows XP
Netw
ork
com
ponents
Em
bedded O
S
Lin
ux
...
Firmware, BIOS, Drivers, Virtual Host Software
Inte
rne
t E
xp
lore
r
MS
Offi
ce
Acro
bat
rea
de
r
SA
PG
UI
...
IIS
web
serv
er
Ora
cle
Web
serv
er
Exch
an
ge
Mic
rosoft
CA
...
Ap
ach
e
ntp
d
Entr
ust
CA
SA
P
...
PrintS
erv
er
Sim
ula
tion
soft
wa
re
Middleware
Operatingsystems
Low levelsupport software
Applications
Databases, integration software, transaction systems, Java, Perl, ...
Firew
all
so
ftw
are
.NET framework, shared libraries, ...Components
...
Client ServerEnterprise
ServerInfrastr.
components
Hot
Interna system innehållande känslig information blir tillgängliga för angrepp pgr för hård integration utan kontroll på risker och typ/nivå av exponering
Juridiskt ansvar för hur webbplatsen nyttjas eller missbrukas: chattar, kommentarsfält, gästbok
Information på webbsidan förvanskasdefacement, bedrägeri, malwarespridning
Tekniska hot Legala eller andra hot
Opublicerad information läcker ut (vid fel tillfälle)
Värddatorn övertas och missbrukas av obehöriga
Spårdata och annan dynamisk inte sparad och går inte att återskapa
Omedvetna fel Medvetenhandling
Hot: Jakten på säkerhetshål fortsätter
Säkerhetsproblem i populärkulturen...
http://www.xkcd.com/327/
Buzz word bingo: WebServices, Web 2.0
Web clientWeb client
Web Server
Business Logic
Back-end support applications
JavaScript Logic
Web Server
Business Logic
Web client
Back-end support applications
JavaScript Logic
Web Server
Business Logic
Web client
Back-end support applications
Web Server
Business Logic
Back-end support applications
3rd party
Buzz word bingo: WebServices, Web 2.0
Web 2.0 öppnar upp för nya typer av angrepp mot, inte minst, klienten
Brandväggar för WebServices är andra djur än klassiska IP- adressfiltrerande brandväggar
Svårt - Tvingar nät/brand-väggsadministratörerna att tolka affärslogiken
Många lösningar nyttjar inte de säkerhetskoncept som finns framtagna:
autentisering, signering, etc
Skapar en mängd nya säkerhetstjänster
Internet
HTML & CSSJavaScriptXHR-objektHTTP Webb AppServer
Tjänster
Databas
Initiativ för webbsäkerhet
Permanenta tekniska skydd
Permanenta orga- nisatoriska skydd
Ha genomtänkt informationsstruktur, test- och produktionssättningförfarande
Inför en BRA utvecklings-metodik / kräv att leverantören kan påvisa att de nyttjar sådan
Nätbaserad brandvägg
Hostbaserad brandvägg
Hostbaserad IDSNätbaserad IDS
Pärlor för svin?Investeringarna felaktiga alt. ofullständiga om vi inte förstår tekniska förutsättningar, vad som skall skyddas eller skyddsvärdet på det som skall skyddas
Reverseproxy
Hostbaserad IPS
Nätbaserad IPS
Härdat OS på värddator
Microsoft Secure
Development
Lifecycle Model
Penetrationstester
Försvar i djupled
Nät
verk
ssky
dd
Sky
dd i
OS
Sky
dd i
appl
ikat
ion
Åtk
omst
skyd
d
Beh
örig
hets
kont
roll
Sek
rete
ss
Åtk
omst
skyd
d
Beh
örig
hets
kont
roll
Sek
rete
ss
Skyddadinformation
Åtk
omst
skyd
d
Beh
örig
hets
kont
roll
Sek
rete
ss
Barriär 1 Barriär 2 Barriär 3
Seriöst dumma idéer
Slita på E-legitimation för än det ena, än det andra - ena dagen privat, andra dagen på jobbet, tredje dagen för en förenings räkning
Att lita på indata som kommer från något som en användare kan påverka
PIN-kodsbaserade inloggningar, medför såväl enkla uttömmande sökningar som DoS-attacker
Att använda samma dator till alltför många tjänster
Att hyra en “hacker” för att testa säkerheten
Att lägga ut information publikt på webben som egentligen skulle ligga på ett skyddat och begränsat åtkomligt extranet
Hårdkodade lösenord i program och skript
Att naivt tro att alla är snälla som läser filen robots.txt
Do’s & Dont’s
Blanda inte utveckling, test och produktionsmiljöer
Förstå riskerna med införande av nya lösningar
Gör inte utveckling i produktionsmiljön Förstå databasen som nyttjas -
använd fullt ut de säkerhets- mekanismer som ingår
Använd mekanismer som finns i programspråk för att undvika säkerhetsproblem:
taint, sandlådor, etc
Försvar på djupet
Undvik att koda fast dig i specifika versioner, tex av appservern
Do’s Don’ts
Lägg inte ut information i tron att den inte syns bara för att den saknar länkar från webbsidor
KISS-principen
Ge inte ut för mycket information i felmeddelanden
Do’s & Dont’s
Do’s Don’ts
LOGGAR!!!
Använd inte Pop-up-rutor med text som ändå ingen läser....
Loggar behöver vara korrekta, kompletta och användbara
Skydda den personliga integriteten
Okontrollerad indexering och sökning av de egna webbsidorna
Som användare på webben - lämna inte integritetskänslig information
Lägg inte in säkerhetsfunktioner i enbart klientsidan
Kom ihåg: Internet glömmer inte
OWASP är din vän!
BRA utvecklingsguider
BRA testguider
mängder med BRA testverktyg
BRA topplistor över angrepp
www.owasp.org
Exempel för utbildning
Open Web Application Security Project
!
!"#$%&'(%)*+,'(-.+/0+1"$2+033456,+7"8#-9.+:33/;/<=/+ !'>-+?+)@+=
A+0334+:'9(*-9B+6*&C+'*D5)9+%(E+F@@%$%'(-EC+F$$+G%>H(E+G-E-9I-DC+!
+
"#$%&'()!*+(%&'()!,'&$+!-../!
J%>"9-+/+%$$"E(9'(-E+'+&)*E)$%D'(-D+I%-K+)@+(H-+8'("9%(2+)@+E-&"9%(2+L9)>9'8E+%*+:0333+)9>'*%M'(%)*EC+F*+)9>'*%M'(%)*+H'E+()+-I)$I-+(H9)">H+@)"9+D%E(%*&(+8'("9%(2+LH'E-EC+
0'1%&#!23!"#$%&'()!4&51&+6!*+(%&'()7!-../!
89'::;%9
<1=5&+=$#!4>+:#
?@+&#=#::
4>+:#
,5&&#$('A#
4>+:#
BC#&+('5=+9
DE$#99#=$#!4>+:#
*+(%&'()
F'6#
,-I-$)L+7-K
!)$%&2 +N-(
,-E%>*
F9&H%(-&("9-
Initiate StrategicProgram
6*E(%("(-+!9)&-EE-E
O)*&$"D-+O'(&HPQL
!9)R-&(E
S9'&T+S-&H*)$)>2 +'*D
U"E%*-EE+OH'*>-
O)*(%*")"E
!9)&-EE
68L9)I -8-*(
G-I %-K+N('("E+V")
WG-PXYE('#$%EH+N-&"9%(2
S-'8
141781-1
-/G
/.G-.G
/G
+7)(-.+SH-+L)L"$'(%)*+D%E(9%#"(%)*E+9-L9-E-*(+(2L%&'$+$'9>-+:0333P(2L-+)9>'*%M'(%)*EC+
"5%&$#H!I+&(=#&!JK%9)!-..LM!
89'::;%9!<1=5&+=$#!4>+:#!
Z9>'*%M'(%)*E+%*+(H-+#$%EE@"$+%>*)9'*&-+LH'E-+'9-+&H'9'&(-9%M-D+#2+L9-EE"9-+()+9-D"&-+(H-+%*@)98'(%)*+E-&"9%(2+#"D>-(C+N"&H+)9>'*%M'(%)*E+(2L%&'$$2+H'I-+'+K-$$PD)&"8-*(-DB+-[(-*E%I-+E-(+)@+L)$%&%-E+(H'(+%E+'+*"8#-9+)@+2-'9E+)$DB+K%(H+$%(($-+'K'9-*-EE+)@+%(+%*+(H-+"E-9+&)88"*%(2C+F+*"8#-9+)@+%*I-E(8-*(E+H'I-+#--*+8'D-+%*+L9-I-*(%I-+'*D+D-(-&(%I-+E-&"9%(2+(-&H*)$)>%-EC+\H%$-+$%(($-+)9+*)+'*'$2E%E+%E+D)*-+)*+(H-+-@@-&(%I-*-EE+)@+(H-+E-&"9%(2+())$EB+(H-+'EE"8L(%)*+-[%E(E+(H'(+(H-+-*(-9L9%E-+%E+E-&"9-C+F*2+E-&"9%(2+#9-'&H-E+(H'(+D)+)&&"9+'9-+(2L%&'$$2+*)(+9-L)9(-D+)9+'9-+'&&-L(-D+'E+H'I%*>+#--*+"*'I)%D'#$-C+G-'&(%)*E+()+8'R)9+E-&"9%(2+%*&%D-*(E+#2+E"&H+)9>'*%M'(%)*E+&-*(-9+)*+(-&H*)$)>%&'$+E)$"(%)*E+)9+'((-8L(E+()+L9)H%#%(+&-9('%*+#"E%*-EE+'&(%I%(%-EC+6*+E"&H+)9>'*%M'(%)*EB+(H-+E-&"9%(2+EL-&%'$%E(+K)9TE+%*+%E)$'(%)*+'*D+'((-8L(E+()+D%&('(-+E-&"9%(2+&)*(9)$E+()+(H-+#"E%*-EE+K%(H+$%(($-+9->'9D+@)9+E'(%E@2%*>+D%@@-9-*(%'(-D+#"E%*-EE+9-]"%9-8-*(EC+6*D--DB+%*+E"&H+)9>'*%M'(%)*EB+(2L%&'$$2+*)+-@@-&(%I-+&)88"*%&'(%)*+-[%E(E+#-(K--*+(H-+E-&"9%(2+(-'8B+(H-+#"E%*-EE+'*D+(H-+&)9L)9'(-+9%ET5&)8L$%'*&-+@"*&(%)*EC+SH-+E-&"9%(2+#"D>-(+%E+#-%*>+&"(B+'*D+)9>'*%M'(%)*'$$2B+(H-+E-&"9%(2+(-'8+W%@+%(+-[%E(EX+%E+#-%*>+L"EH-D+D)K*+(H-+)9>'*%M'(%)*'$+9-L)9(%*>+H%-9'9&H2C+:'9(*-9^E+D'%$2+%*(-9'&(%)*E+%*D%&'(-+(H'(+'#)"(+0_+L-9&-*(+)@+:0333+)9>'*%M'(%)*E+K-9-+%*+(H%E+E('>-+%*+033_C+N"9L9%E%*>$2B+-I-*+E)8-+@%*'*&%'$+%*E(%("(%)*E+@%*D+(H-8E-$I-E+'8)*>+(H%E+>9)"LC+
Utvecklingskurvan för säkerhet
Utvecklingskurvan för säkerhet 2
11
activities (e.g., incident data, revenue lost to cyber attacks) to the respective requirements and to IT security investments.
3.3 Metrics Types
The maturity of an organization’s IT security program determines the type of metrics that can be
gathered successfully as depicted in Figure 3-1.
Figure 3-1. Security Program Maturity and Types of Measurement
A program’s maturity is defined by the existence and institutionalization of processes and procedures. As a security program matures, its policies become more detailed and better
documented, the processes that it uses become more standardized and institutionalized, and it produces data that can be used for performance measurement in greater quantity. According to NIST SP 800-26, the security program progresses from having policies (Level 1) to having
detailed procedures (Level 2), implementing these procedures (Level 3), testing compliance with and effectiveness of the procedures (Level 4), and finally fully integrating policies and
procedures into daily operations (Level 5). A mature program normally deploys multiple
Designing Systems That People Will Trust
Design for Usability
Psychological Acceptability Revisited
Guidelines and Strategies for Secure Interaction Design
Apropå Gulans föredrag...
Fighting Phishing at the User Interface
Sanitization and Usability
Security Administration Tools and Practices
Privacy Issues and Human-Computer Interaction
A User-Centric Privacy Space Framework
Five Pitfalls in the Design for Privacy
Firefox and the Worry-Free Web
Users and Trust: A Microsoft Case StudyKälla http://www.oreilly.com/catalog/securityusability
Apropå Gulans föredrag...
Källa http://people.ischool.berkeley.edu/~ping/sid/sid72.tif
Att vara förberedd...
Slutsatser (1)
Antagonistfaktorn och programmerade hot utelämnas eller misförstås i riskanalyser
WebServices kan leda till exponering av programåtkomst
“JavaScript is the new Shellcode”
Sårbarheter finns överallt, inte minst i plattformen man nyttjar, tex XML Core components, PHP, Java, Ruby, WAS, IAS, Apache, IIS, etc
Många lösningar skapar cirkelberoenden mellan komponenter, vilket omöjliggör patchning och uppgradering
Det finns ingen magisk silverkula
Slutsatser (2)
Spårbarhet är en av de grundläggande säkerhetsfunktionerna. Spårbarhet (i form av loggar) är i praktiken ofta helt oanvändbara när de behövs som mest...
Tänk på det juridiska ansvaret som ändå finns: PuL, Lag om ansvar för elektroniska anslagstavlor, mm, mm
Undvik att bli en tjänst som nyttjas för att skada tredje part: SMS-bombning, phishing,
Att ligga i teknikens framkant medför per automatik större risker: oprövad teknik, oupptäckta säkerhetshål, etc
Angrepp sker numera ofta från server till klient, efter det att en intern användare “bjudit in”.