Top Banner
OWASP TOP10 Azaz a 10 legkritikusabb hiba web- alkalmazásokban 2012. November 28.
37

OWASP TOP10

Jun 26, 2015

Download

Technology

Az előadás 2012. november 28.-án az OWASP Day Hungary konferencián hangzott el. Célja a web-alkalmazásokat érintő 10 legjelentősebb sérülékenység bemutatása.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1. OWASP TOP10Azaz a 10 legkritikusabb hiba web-alkalmazsokban 2012. November 28.

2. Bemutatkozs Prm Dniel Tanszki mrnk az budai Egyetemen. Az iSec Newton Security csoport egyik vezetje. prem.daniel@nik.uni-obuda.hu 3. A TOP10 bemutatsaA projekt clja, hogy sszegyjtse egy dokumentumba a webesalkalmazsokat rint tz legjelentsebb srlkenysgi fajtt sezltal segtsget nyjtson a szervezeteknek, hogy biztonsgosabbprogramkdot kszthessenek.Az els lista 2003-ban ltott napvilgot, majd frisstettk 2004-ben, akvetkez kiads 2007-ben debtlt s a jelenlegi utols verzi2010. prilis 19.-n kerlt a nyilvnossg el.A dokumentum eredeti nyelve angol, de lefordtottkfrancia, nmet, olasz, spanyol, knai, japn, koreai, indonz, vietnmis hber nyelvre! 4. A TOP10 felhasznli U.S. Defense Information Systems Agency U.S. Federal Trade Commission Payment Card Industry (PCI) British Telecom Citibank HP IBM Global Services Symantec s mg sokan msok 5. A TOP10-es lista ttekintsehttps://www.owasp.org/index.php/Top_10 6. A1: Injection A befecskendezs lnyege, hogy adatokat vagyutastsokat juttatunk be az alkalmazson keresztl aparancsrtelmeznek SQL, LDAP, XPath, OS Shell, kdbefecskendezs, stb Sajnos a mai napig igen elterjedt (fleg az SQL Injection)azonban elg egyszeren elkerlhet lenne megfelelodafigyelssel Az elmlt vekben olyan szervezetek estek ldozatulennek a tmadsi formnak mint aSony, LinkedIn, eHarmony s a Yahoo 7. A1: Injection 1. Hacker Hanry betlti az oldalt 2. Majd a tmadst az rlapbaberja s bekldi a szerverre 3. Az alkalmazs felpti az SQLlekrdezst s tovbbtja azadatbzis fel 4. Az adatbzis lefuttatja amdostott lekrdezst s azadatokat visszakldi azalkalmazsnak 5. Az alkalmazs kiadja azSELECT * FROM `users`user #1: Kiss Bla, kiss.bela@email.hu, adatokat, jvhagyja auser #2: Nagy Nra,=OR 1=1 -- WHERE `name` nora.nagy@webcim.hu, hozzfrst, lefuttatja azAND `pass` = ; utastsokatuser #n: Tth Pter, pepe@webmail.hu, 8. A1: Injection Javaslatok: Alkalmazzunk megfelel bemeneti paramter ellenrzst (pl.: tpus, hossz, rtk, stb) Ahol csak tehetjk, alkalmazzunk White List alap ellenrzst a bemen adatokon Hasznljunk jl bevlt technikkat, mint a Prepared Statements vagy Stored Procedures A kiosztott adatbzis jogosultsgot minimalizljuk Bvebben:http://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet 9. A2: Cross-Site Scripting (XSS) A tmads a felhasznlk bngszjben hajtdik vgre Lehet trolt, tkrztt s DOM alap Szinte biztosan tallhat minden web-alkalmazsban XSSsrlkenysg Tipikusan a felhasznli munkamenet vagyrzkeny/szemlyes adatok megszerzsre hasznlatos. Deelfordul, hogy segtsgvel mdostjk a weboldaltartamt, esetleg a ltogatt tirnytjk egy adathalszoldalra Az elmlt idszakban olyan honlapokban talltak XSShibkat, mint az iwiw.hu, ebay.com, cnn.com, adobe.com,amazon.com, microsoft.com, myspace.com 10. A2: Cross-Site Scripting (XSS)Trolt XSS 1. Hacker Hanry betlti az oldalts az rt kdjt bekldi azalkalmazsnak 2. Alice betlti az alkalmazst atrolt kddal egytt 3. Alice bngszje lefuttatja akdot s kiszolgltatja azadatokat vagy mdostja ahonlap szerkezt mivel a teljesDOM elrhet4. Hacker Hanry letlti adocument.write(szerverrl milyen adatokat ); 11. A2: Cross-Site Scripting (XSS) Javaslatok: Ne hasznljuk fel (s ne jelentsk meg) kzvetlenl afelhasznlk ltal bevitt adatokat Alkalmazzunk kimeneti kdolst (pl.: HTML entitsok)minden felhasznli adatra Ha bejv HTML adatot kell kezelni, akkor pedigminden esetben meg kell tiszttani az adatokathttp://www.owasp.org/index.php/AntiSamy Bvebben:https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet 12. A3: Broken Authentication and Session Management Az alkalmazsok a felhasznlk hitelestst s munkamenet kezelstgyakran nem megfelelen hajtjk vgre, gy lehetv teszik a tmadknak,hogy megszerezzk esetleg kitalljk a jelszavakat s munkamenetazonostkat, vagy egyb vgrehajtsi hibkat kihasznlvamegszemlyestsenek egy felhasznlt. A bejelentkezst sok esetben titkostott csatornn (SSL) lehet elvgezni, azonban ezsokszor nem knyszertett, teht lehallgathat Msik alapvet hiba, hogy munkamenet azonost vdelmrl is megfeledkeznk. Tudnikell, hogy kinek adtuk oda, meddig rvnyes, stb Egy hacker szemszgbl szinte lnyegtelen, hogy a felhasznlnv s jelsz prost szerzimeg vagy a munkamenet azonostt, hiszen mind a kett segtsgvel meg tudjaszemlyesteni az ldozatot Termszetesen ide tartozik mg a gyenge jelsz kezels, azaz nincs minimlis hossz, vagynincs megkvetelve a jelsz komplexits Valamint a nem kell krltekintssel megtervezett jelsz emlkeztet 13. A3: Broken Authentication andSession Management Lehallgats: 1. Hacker Hanry monitorozza awww.site.com?JSESSION=93C6A...hlzati forgalmat 2. Alice bejelentkezik azalkalmazsba 3. Hacker Hanry megszerezteAlice belpsi adatait Munkamenet eltrts: 1. Alice munkamenett az oldalURL-ben adja vissza 2. Alice kattint egy linkre, amitegy bejegyzsben tallt(pl.: http://www.evil.com) 3. Hacker Hanry letlti a naplreferer tartalmt 3. Hacker Hanry megszemlyestiAlicet a munkament birtokban 14. A3: Broken Authentication andSession Management Javaslatok: A belptets legyen egyszer, centralizlt s standardizlt gyeljnk arra, hogy a belpsi adatokat s a munkamenetazonostt mindig SSL csatornval vdjk Felejtsk el az automatizlt srlkenysg vizsglatieszkzket Ellenrizzk az SSL tanstvny hitelessgt srvnyessgt Bizonyosodjunk meg arrl, hogy a kilps biztosanmegsznteti a munkamenetet s a benne trolt adatokat Bvebben:https://www.owasp.org/index.php/Authentication_Cheat_Sheethttps://www.owasp.org/index.php/Session_Management_Cheat_Sheet 15. A4: Insecure Direct ObjectReferences Akkor fordul el, amikor egy hivatkozst helyeznk el egyllomnyra, oldalra, knyvtrra vagy brmilyen objektumra,anlkl, hogy brmilyen hozzfrs vezrlst alkalmaznnk Ez a tma rinti a jogosultsg kezelst s az A8-as URLhozzfrs korltozsnak hinynak fejezett Gyakori hiba, hogy csak azokat a tartalmakat listzzuk,amelyhez a felhasznlnak joga van. Azonban a szerveroldalon amikor a konkrt krs vgrehajtdik ezt mr nemellenrizzk jra. gy a tmad brmikor trja az objektumhivatkozst s olyan tartalomhoz is hozzfrhet, amelyheznorml esetben nem lenne szabad 16. A4: Insecure Direct Object Referenceshttps://onlinebank.com/overview? acc=4057 acc=40561. A felhasznl betlti a bankonline fellett 2. Hacker Hanry szreveszi, hogya sajt azonostja a 4057 3. Majd mdostja a paramtert 4. Vgl Hacker Hanry megszerzildozata szmlasszestjntallhat informcikat 17. A4: Insecure Direct Object References Javaslatok: Kerljk a Path Traversal, Local File Inclusion lehetsgt A kzvetlen linkels helyett alkalmazzunk valamilyen lekpzsi technikt: http://webapp.com/get?file=SecretReport.pdf http://webapp.com/get?file=C5LDJ28S832K Ellenrizzk, hogy a paramter megfelel formtum-e Minden esetben ellenrizzk, hogy a felhasznl jogosult-e a tartalom elrsre gyeljnk arra is, hogy csak a megfelel mveletet vgezhesse el az adott objektummal a felhasznl (pl.: olvass, rs, trls) Bvebben:https://www.owasp.org/index.php/Top_10_2007-Insecure_Direct_Object_Reference 18. A5: Cross-Site Request Forgery(CSRF) Ebben a tmadsban a tmad rveszi az ldozat bngszjt, hogyegy krst intzzen a srlkeny alkalmazs fel Ez a mdszer azrt sikeres, mert a bngsz minden krshez elkldiaz azonostsi adatokat is, mint pl.: Authentication Header, Session ID,IP cm, Windows domain creditentials, stb Tovbb az is hozzjrul, hogy az ldozat nem lp ki az alkalmazsbl Az elz kt pont hatsaknt a tmad olyan krseket indthat asrlkeny alkalmazs fel, amit az legitim forgalomnak fog rtkelni Tipikusan arra hasznljk, hogy tutalsokat kezdemnyezzenek,esetleg zroljanak egy fikot, vagy bizalmas adatokhoz frjenek hozz 19. A5: Cross-Site Request Forgery (CSRF) 1. Hacker Hanry elhelyezi azrtalmas kdot egy honlapon,amit az ldozati is ltogat 2. Alice megltogatja asrlkenyalkalmazst, viszont nem 3. jelentkezik ki AliceKicsivel ksbb megltogatja azt az oldalt, ahov Hacker Hanry beszrta az rtalmas kdjt 4. Alice bngszje rtelmezi akdot, majd egy legitimnektn krst intz a srlkenyalkalmazshoz Alice nevben,amit valjban Hacker Hanry 20. A5: Cross-Site Request Forgery (CSRF) Javaslatok: Hasznljunk token rendszert, ahol rzkeny adatok feldolgozsa trtnik, ezltal ellehetetlentve a tmadt, hogy krst hamistson A tokennek kriptogrfiai erssgnek vagy randomnak kell lennie Kerljk a token URL-be helyezst, mert a referer mezvel kiolvashat rlapok esetben a rejtett mez ersen javasolt Minden egyes krsnek egyedi tokenje legyen, lehetleg lejrati idvel Hasznljunk msodlagos (ktfaktoros) authentikcit az rzkeny mveletekhez Bvebben:https://www.owasp.org/index.php/CSRF_Prevention_Cheat_Sheet 21. A6: Security Misconfiguration Az igazi biztonsg megkveteli, hogy a teljes rendszer napraksz sjl konfigurlt legyen az opercis rendszertl a web s adatbzisszerveren t a teljes alkalmazsig Mindezeket a belltsokat meg kell hatrozni, vgre kell hajtanimajd folyamatosan karbantartani s ellenrizni Fontos azt is tudni, hogy a gyrtk a termkeket alapbl nem abiztonsgos konfigurcival ltjk el, hiszen akkor a hasznlatbavtel igen nehzkes lenne. Emiatt azt ksbbi belltsokkal kellmegteremteni Nem szabad megfeledkezni hogy nem csak az OS-t s azalkalmazsokat kell ellenrizni, hanem minden osztlyknyvtrats kls modult is amelyet az alkalmazs hasznl 22. A6: Security Misconfiguration 23. A6: Security Misconfiguration Javaslatok: Ellenrizni kell a belltsokat minden szinten Javasolt a Hardening Guide-ok alkalmazsa Az automatizls ezen a ponton NAGYON HASZNOS lehet Tartsuk napra ksszen a rendszereket a javtsokkal, nem csak az opercis rendszer s az alkalmazsokat, hanem minden osztlyknyvtrra fordtsunk kell figyelmet Elemezzk a vltozsok biztonsgi hatst Bvebben:https://www.owasp.org/index.php/Configurationhttps://www.owasp.org/index.php/Testing_for_configuration_management 24. A7: Insecure Cryptographic Storage Elmulasztjuk meghatrozni az rzkeny adatokat gy ltalbannem a kell krltekintssel kezeljk ket Valamint nem figyelnk elgg, hogy minden elfordulsi helyenmegfelelen kezeljk azokat Ebbe a rszbe beletartozik: a gyenge titkosts, ami miatt visszafejthet az adat a titkostsi kulcs nem megfelel kezelse (pl.: a szalagos meghajtra kerlt adatokat titkostjuk, majd a kulcs ugyan arra a szalagra kerl) a hibsan implementlt jelsz kivonatok, hiszen egy szs nlkli hash akr nhny ra alatt visszafejthet lehet a napl llomnyokba bekerlt ellenrizetlen adatok (pl.: a webszerver napljba letroljuk a felhasznli jelszavakat) 25. A7: Insecure Cryptographic Storage1. Az ldozat megadja a bankkrtya adatait az alkalmazsnak2. A hibanaplz lementi a krs adatait a napl llomnyba, mivel a Fizetsi tjr nem elrhet3. Minden IT dolgoz szmra elrhetek a napl llomnyok a hibakeress cljbl4. Egy bels munkatrs mris meglovastja a naplban tallhat 4 milli krtya szmot 26. A7: Insecure Cryptographic Storage Javaslatok: Azonostsuk az rzkeny adatokat Azonostsuk a helyeket ahova az rzkeny adatok kerlhetnek Vdjk az adatokat s folyamatokat megfelel titkostssal vagy kivonatolssal Hasznljunk standard s bizonytott eljrsokat ne talljunk ki sajtot, mert az nem bizonytott A kulcsok kezelse legyen megoldva s kell krltekintssel kezelve Kszljnk fel kulcsserre Bvebben:https://www.owasp.org/index.php/Top_10_2007-Insecure_Cryptographic_Storagehttps://www.owasp.org/index.php/Guide_to_Cryptographyhttps://www.owasp.org/index.php/Codereview-Cryptography 27. A8: Failure to Restrict URLAccess Ez a tma kapcsolatban ll a jogosultsg kezelssel s az A4-esfejezettel, ami a nem biztonsgos kzvetlen objektum hozzfrs cmetviselte Ez a fejezet viszont kifejezetten az alkalmazs oldalaira tr ki az URLmanipullsval Az alapvet problma, hogy a jogosultsgokat a linkrendszerbe ptik beles csak azokat a linkeket vagy menket jelentik meg a felhasznl szmraamihez joga van, azonban ha kzzel trja a hivatkozsokat s a szerveroldalon nem trtnik meg az jraellenrzs, hogy tnylegesen jogosult-e atartalom megtekintsre vagy mdostsra 28. A8: Failure to Restrict URLAccesshttps://onlinebank.com/ admin /overview user 1. A felhasznl betlti a bank online fellett2. Hacker Hanry szreveszi, hogy felhasznl szerepkrben van3. Majd mdostja a paramtert, ezltal a szerepkrt4. Vgl Hacker Hanry magasabb jogkrre tesz szert, mint alapbl jrna neki, gy tbb informcihoz jut hozz 29. A8: Failure to Restrict URLAccess Javaslatok: Minden oldalnak 3 dologra van szksge: Ellenrizze, hogy a felhasznl belpett-e (ha nem publikus a tartalom) Vgre kell hajtani a felhasznli vagy a szerepkr alap jogosultsgkezelst Teljesen le kell tiltani a lehetsgt a jogosulatlan krelmeknek, amelyek konfigurcisllomnyokra, napl fjlokra vagy forrs llomnyokra irnyulnak Alkalmazzunk White List fle megkzeltst Az automatizlt eszkzk itt is sokszor gyengnek bizonyulnak Bvebben:https://www.owasp.org/index.php/Guide_to_Authorizationhttps://www.owasp.org/index.php/Testing_for_Path_Traversalhttps://www.owasp.org/index.php/Forced_browsing 30. A9: Insufficient Transport Layer Protection Az alkalmazsok gyakran nem hitelestik vagy titkostjk az rzkenyadatokat a hlzati forgalomban, ezltal srl a bizalmassg s asrtetlensg Ha mgis, akkor elfordul, hogy gyenge algoritmusokat, rvnytelentanstvnyokat hasznlnak, esetleg nem megfelelen kezelik ket A tmad emiatt knnyszerrel hozzfrhet olyan privt adatokhoz, mintaz infrastruktra elemei, opercis rendszer adatok, felhasznliazonostk, bankkrtya adatok, egszsggyi informcik, pnzgyiadatok, stb A megszerzett adatokat ksbbi tmadshoz felhasznlhatja, de akr afeketepiacon is eladhatja 31. A9: Insufficient Transport Layer Protection 1. A kls tmad knnyednlehallgathatja a hlzatiforgalmat s megszerezheti abelpsi adatokat 2. Sok esetben csak a webszerver s a kliens kzttikapcsolat titkostott, ekkorminden gond nlkl egy belstmad lehallgathatja azalkalmazs s a backendkztti forgalmat 32. A9: Insufficient Transport Layer Protection Javaslatok: Alkalmazzunk TLS kapcsolatot mindenhol, ahol rzkeny adat kzlekedik Egyenknt minden zenetet titkostsunk Digitlisan rjuk al az zeneteket Standard algoritmusokat hasznljunk Megfelelen troljuk a kulcsokat s a tanstvnyokat Ellenrizzk az SSL tanstvnyokat mieltt hasznljuk Bvebben:https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheethttps://www.owasp.org/index.php/Testing_for_SSL-TLS 33. A10: Avoiding Unvalidated Redirects and Forwards A webes alkalmazsok gyakran tirnytjk (Redirect) vagy tovbbtjk(Forward/Transfer) egy msik lapra a felhasznlkat Megfelel ellenrzs nlkl a tmad ezt kihasznlhatja s tirnythatja afelhasznlt egy adathalsz oldalra De akr egy tovbbts segtsgvel jogosulatlan tartalomhoz ishozzfrhet a tmad, hiszen kikerlheti a hozzfrs vezrlsmechanizmust 34. A10: Avoiding UnvalidatedRedirects and Forwards 1. Hacker Hanry levelet kld azAlice cges E-mail cmre 2. Alice kattint a linkre, mivelmegbzik benne, hiszen jdomain nvre mutat 3. Az alkalmazs nem ellenrzi aredirect paramtert teht szlAlice bngszjnek, hogytirnytja a kvetkez lapra,ami jelen esetben egyadathalsz oldalFrom: noreply@nav.hu 4. Alice bngszje betlti azhttp://nav.gov.hu/ado?ev=2012To: alice@cegem.huadathalsz oldalt&...&redirect=www.adathalasz.huSubject: Nem vrt ad visszatrts5. Alice megbzik az adathalszoldalban, hiszen az elbbA nyilvntartsunk szerint nnek lehetsge van ad visszatrtstellenrizte az cmet signyelnie! A folyamat elkezdshez krjk kattintson ide.kinzete is megegyezik azeredetivel 35. A10: Avoiding UnvalidatedRedirects and Forwards Javaslatok: Minimalizljuk az tirnytsok szmt az alkalmazsban Ha alkalmazzuk, akkor kerljk a felhasznli paramterben megadhat tirnytsokat Ha elkerlhetetlen a paramteres tirnyts akkor mindig ellenrizzk, hogy a felhasznl jogosult-e az tirnytott oldalt elrni Kls tirnyts esetn ellenrizzk, hogy a cl szerepel-e a fehrlistn Bvebben:https://www.owasp.org/index.php/Open_redirect 36. Hogyan lehet megoldani ezeket a problmkat? Fejlessznk biztonsgos kdot OWASPs Guide to Building Secure Web Applications http://www.owasp.org/index.php/Guide OWASPs Application Security Verification Standard http://www.owasp.org/index.php/ASVS OWASPs Enterprise Security API http://www.owasp.org/index.php/ESAPI Ellenrizzk az alkalmazst Legyen egy szakrti csoport aki tnzi az alkalmazst OWASPs Code Review Guide http://www.owasp.org/index.php/Code_Review_Guide OWASPs Testing Guide http://www.owasp.org/index.php/Testing_Guide 37. KSZNM A FIGYELMET