Trong ki u t n công n đnh m t phiên làm vi c, hacker n đnh s n session ID cho n n nhân tr c khi h đ ng nh p vào h th ng. Sau đó, hacker s s d ng session ID này đ bu c vào phiên làm vi c c a n n nhân đó.
Tóm t t quá trình t n công:
• B c 1: Thi t l p session ID.
H th ng qu n lí session theo 2 h ng:
+ H ng t do: ch p nh n b t kì m t session ID, n u ch a t n t i session thì t o m i m t session ID
+ H ng gi i h n: ch ch p nh n session ID nào đãđ ng kí tr c đó.
V i h th ng h ng t do hacker ch c n thi t l p m t session ID b t kì, nh và sau đó s d ng l i session ID này. h ng gi i h n, hacker ph i đ ng kí m t session ID v i ng d ng.
Ph thu c vào qui trình qu n lí phiên làm vi c mà hacker l u tr th i gian s ng c a phiên làm vi c cho đ n khi n n nhân đ ng nh p vào h th ng. Thông th ng m t phiên làm vi c không t n t i vô h n đnh. H th ng s t đ ng h y b phiên làm vi c n u nó không th c hi n m t thao tác nào (th i gian nhàn r i ) ho c h t h n đnh.
Do đó b c 1a là k t n công s b o trì phiên làm vi c b ng cách g i yêu c u đ n server.
Ch ng 7: Chi m h u phiên làm vi c
Hình 7.II-1: S l c quá trình t n công ng i dùng b ng k thu t n đnh session • B c 2: G i ID này đ n trình duy t n n nhân.
Hacker g i session ID v a t o đ n ng i dùng và vi c trao đ i ID session còn tùy vào ng d ng mà có th qua URL, bi n n form hay cookie. Các cách t n công thông d ng g m:
o T n công session ID trên tham s URL.
o T n công session ID b ng bi n n form.
o T n công session ID trong cookie.
• B c 3: t nh p vào phiên làm vi c c a n n nhân.
Sau khi n n nhân đ ng nh p vào h th ng qua session ID đãđ c ch đnh s n và ch a thoát kh i ng d ng, hacker lúc này b t đ u dùng session ID đó đ b c vào phiên làm vi c c a n n nhân.
Ch ng 7: Chi m h u phiên làm vi c
Hình 7.II-2: Mô t chi ti t quá trình th c hi n t n công ng i dùng b ng k thu t n đnh phiên làmvi c.
Ch ng 7: Chi m h u phiên làm vi c
II.1. T n công Session ID trên tham s URL
Hacker g i m t liên k t yêu c u ng i dùng đ ng nh p vào h th ng máy đích v i sessionIDđãđ c nđnh s n trên URL.
Ví d 7.II.1-1:
http://online.worldbank.com/login.jsp?sessionid=1234
Hình 7.II.1-1: T n công thông qua tham s URL
1. Hacker m d ch v tr c tuy n c a ngân hàng thông qua đa ch online.worldbank.com
2. Nh n đ c m t session ID t trình ch đ xác đnh phiên làm vi c c a hacker. Ví d session ID có giá tr là 1234.
3. Sau đó hacker s tìm cách g i m t liên k t đ n m t ng i dùng nào đó có tài kho n trong ngân hàng này. Nh ng liên k t đó th ng là d n đ n trang đ ng nh p vào tài kho n trong ngân hàng ví d liên k t là http://online.workbank.com/login.jsp?sessionid=1234, đ l a ng i dùng làm vi c trong phiên làm vi c c a hackerkhi ng i dùng nh n đ c liên k t này,
Ch ng 7: Chi m h u phiên làm vi c
4. Ng i dùng b m c l a và m ng d ng Web b ng liên k t c a hacker. Do đã có session ID (c a hacker) nên trình ch s không t o m t session ID m i. 5. Ng i dùng v n ti p t c đ ng nh p v i thông tin c a mình đ qu n lý tài
kho n.
6. Khi đó hacker s vào tài kho n c a ng i dùng mà không c n ph i đ ng nh p vì có cùng phiên làm vi c.
Nh n xét: Cách t n công nàyđòi h i ng d ng ph i t o session ID ngay khi ng i dùng s d ng ng d ng. D b phát hi n b i ng i dùng.
II.2. T n công Session ID trong bi n n form
K thu t này c ng t ng t nh k thu t bi n n form, ngh a là sau khi hacker xem mã HTML c a trang Web, nh n th y session ID đ c đ t trong bi n n form, hacker s g i m t sessionID c ng trên URL đ n ng i dùng ho c m t trang Web gi ng trangđích nh ng v i bi n n form mang giá tr nđnh s n.
Nh n xét: Ph ng pháp này c ng không kh thi và c ng d b phát hi n nh ph ng pháp trên.
II.3. T n công Session ID trong cookie
B ng vi c l i d ng cookie, hacker có ba cách đ đ a m t session ID đ n trình duy t c a n n nhân:
• S d ng ngôn ng k ch b n( Javascript, VBscript..) đ thi t l p m t cookie trong trình duy t c a n n nhân.
• S d ng th <META> đ thi t l p thu c tính Set-Cookie
Ch ng 7: Chi m h u phiên làm vi c
C th là:
a) Thi t l p m t cookie trên trình duy t b ng ngôn ng k ch b n:
H u h t trình duy t đ u h tr các ngôn ng k ch b n th c thi trên trình duy t nh Javascript, VBScript. C hai ngôn ng này có th thi t l p m t cookie cho trình duy t b ng cách thi t l p giá tr “ document.cookie”.
Ví d 7.II.3-1:
http://online.workbank.com/<script>document.cookie= “sessionid=1234; domain= .workbank.com”;</script>.idc
Bên c nh đó, hacker có th thi t l p th i gian s ng cho cookie, domain cookie… và cách này phù h p v i nh ng h th ng h ng “t do”. Ví d domain nào thu c .workbank.com đ u có th đ c đ c giá tr cookie này.
b) Dùng th <META> v i thu c tính Set-Cookie:
ng d ng c ng có th thi t l p cookie cho trình duy t b ng th <META> trong HTML.
Ví d 7.II.3-2:
< meta http-equiv= Set-Cookie content=”sessionid=1234”>
Meta tag Injection (Thêm th meta):
V i nh ng h th ng ki m tra đ i s v i th <SCRIPT> thì k thu t XSS g p nhi u khó kh n, do đó thêm th <META> là ph ng pháp khá h u hi u cho phép thao tác trên cookie. Thông th ng th <META> đ c đ t gi a th
Ch ng 7: Chi m h u phiên làm vi c
<HEAD></HEAD> nh ng nó v n có th đ c x lí n u đ t b t c đâu trong trang HTML.
Ví d 7.III-3:
http://online.workbank.dom/<meta%20http-equiv=Set-
Cookie%20content=”sessionid=1234;%20 Expires=Friday, %201-Jan- 2010%2000:00:00%20GMT”>.idc
Ph ng pháp này chi m u th h n XSS ch không b phá h y trong IE ( không cho phép thao tác các ngôn ng k ch b n trên trình duy t), ngo i tr th <META REFRESH>
c) Thi t l p cookie dùng thu c tính Set-Cookie trong header HTTP response: Cách này thi t l p m t cookie cho trình duy t b ng cách dùng Set-Cookie trong header HTTP thông qua k thu t t n công DNS server,…
II.4. Cách phòng ch ng
Tr c h t c ng c n nói rõ r ng vi c phòng ch ng ki u t n công n đnh session ID này không thu c trách nhi m c a trình ch Web server, vì trình ch ch cung c p API qu n lí phiên làm vi c cho ng d ng. Vì th , ch ng d ng m i c n có nh ng bi n pháp phòng ch ng l i ki u t n công này.
• Bi n pháp 1: Ch ng vi c đ ng nh p v i m t session ID có s n
Theo ki u t n công này, ng i dùng đ ng nh p vào h th ng thông qua m t session ID do hacker t o s n thay vì cho trình ch t o m i, do đó đ có th phòng ch ng, ng d ng ph i h y b session ID đ c cung c p b i trình duy t
Ch ng 7: Chi m h u phiên làm vi c
c a ng i dùng khi đ ng nh p và luôn t o m t session ID m i khi ng i dùng
đ ng nh p thành công.
• Bi n pháp 2: Phòng ch ng nh ng hacker bên ngoài h th ng
Vi c t o ng d ng trên h th ng theo h ng gi i h n ( ch t o m t session ID m i cho ng i dùng sau khi h thành công ) s khi n cho nh ng hacker không ph i là ng i dùng h p l c a h th ng không th s d ng ph ng pháp t n công này.
• Bi n pháp 3: Gi i h n ph m vi ng d ng c a session ID
o K t h p Session ID v i đa ch c a trình duy t.
o K t h p Session ID v i thông tin ch ng th c đ c mã hoá SSL c a ng i dùng.
o Xóa b session khi ng i dùng thoát kh i h th ng hay h t hi u l c, có th th c hi n trên trình ch ho c trình duy t (cookie)
o Ng i s d ng ph i dùng ch đ thoát kh i h th ng đ xóa b session hi n th i và có th nh ng session ID còn l u l i trên h th ng khi h quên thoát ra ngoài nh ng l n tr c
o Thi t l p th i gian h t hi u l c cho session, tránh tr ng h p hacker có th duy trì session và s d ng nó lâu dài.