Hà N Trang 4 DANH M C CÁC T VIT T T T vi t t t Gii thích WS Web service API Application Programming Interface XSS Cross-site scripting SOAP Simpl
Hình 23
T ng giao th ch v (Service Communication Protocol)
V i công ngh chun là SOAP SOAP là giao th c n m gi a t ng v n chuy n và t ng mô t thông tin v d ch v i dùng tri u g i m t service t xa thông qua m Có th d ng yêu c u th c thi method trên máy tính xa mà không c n chi ti t v n m
c s d miêu t c giao di n chung cho m t d ch v Web c cá th
c s d ng cho m t ngôn ng mô t giao ti p và thc thi d a trên XML D ch v Web s s d ng ngôn ng truy n tham s và các lo i d u cho các thao tác và ch li d ch v Web cung c p
T ch v (Service Registry)
T ng này có ch p trung d ch v vào trong m giúp m t d ch v Web có th d dàng khám phá ra nh ng d ch v ng, tc tìm ki m nh ng d ch v
Hi n t i, UDDI ( Universal Description, Discovery, and Integration) c s d th c hi n công vi c này UDDI
ch v i dùng có th g i th c thi các hàm, các ch c
a web service hay nói cách khác m t service c n ph cho phép các client có th g i th c hi n
Các t ng còn l i
các d ch v có tính an toàn, toàn v n và b o m t thông tin, trong kin trúc d ch v Web, còn có thêm các tng Policy, Security, Transaction, Management
mô t d ch v mà mình có th cung c p cho Service Broker
thông tin v c cung c p b i các Service Provider Cung c p ch m h Service Requester tr trong vi nh Service Provider phù h p Thành ph n chính c a Service Broker là UDD I.
c t nhu c u s d ng (lo i service, thi gian s d ng, resource c n thi t, m c giá, ) và g i cho Service Broker B ng vi c s d ng UDDI và ch m c a Service Broker, Service Requester có th tìm th y Service Provider thích h p
a Service Requester và Service Provider thi t l p kênh giao ti p s d ng giá c và các y u t khác trong vic s d ng service
XML (Extensible Markup Language)
XML do W3C phát tri n, XML là m t ngôn ng mô t n v i c u trúc do
i s d hình th c XML có ký pháp t không tuân theo m c t i s d có th qu nh d giao ti p v i nhau Thông tin c n truy n t i
c ch a trong các tag XML, ngoài ra không ch a b t c thông tin nào khác v cách s d ng hay hi n th nh ng thông tin y
Do WS là s k t h p c a nhi u thành ph ó web services s da các thành ph giao ti p v i nhau Vì v y XML là m t công c chính y i quy t vgi này T k t qu này, các ng d ng tích h ng s d ng XML Nh có kh ng h p này m à
thành ki n trúc n n t ng cho vi c xây d ng web service
WSDL (Web Services Description Language)
t tài li u XML mô t giao di n c a các d ch v web Tài lic s d ng cho bên yêu c u dich v (service requester) Bên yêu c u d ch v s s d ng các thông tin v giao di triu g i (invoke) d ch v web.
M t tài li u WSDL mô t m t t ng tru
c cng v d ling v t t c nhóm l i vào trong m t ràng bu c k t n i (binding) ch nh m t giao thc m c t nh d ng d li u cho m t portType c th K n m c
ng cách k t h p m a ch m ng v i m t binding N u m t client có
c m t tài li u WSDL và tìm th a ch cho m i port, nó có th g i các
C 2 ph n trên s p tin XML, bao gm:
UDDI (Universal Description , Discovery and Intergration)
V n Universal Description, Discovery, and Intergration (UDDI) là mt t p các quy t
Thc hi n tìm ki nh v nh ng doanh nghi p cung c p d ch v hay s n ph m theo ph n lo a lý
Thông tin v m t nhà cung c p d ch v bao g a ch , thông tin liên lnh danh
Thông tin k thut (Technical information) v Web service mà doanh nghi p cung c p (ví d d ng d ch v c cung c p)
có th s d ng các d ch v c tiên client ph i tìm d ch v , ghi nh n thông tin v cách s d ng d ch v và bi ng cung c p d ch v UDDI
t s thành ph n cho bi cho phép các client truy tìm và nh n l i nh ng thông tin yêu c u s d ng web services
Mun s d n các d ch v c a UDDI, b n thân UDDI cung c p m t t p
i d ng SOAP Web Service T c chia làm hai ph n: Inquiry API dùng truy v truy v n bao g m hai ph n con: M t ph t m và duy t thông tin trên m t UDDI registry, ph n còn l x lý l i tri u g i
Thành ph n x lý chính là b mô t m t th c th d ng các d ch v c a UDDI, các doanh nghi nh ng Web service mà h nh cung c c thêm vào UDDI registry thông qua Web site ho c s d ng các công c l p trình s d ng các d ch v c t
SOAP (Simple Object Accesss Protocol)
c công b và truy xut n còn m t v khá quan tr nào chúng ta truy xu t d ch v khi tìm th y? Câu tr l i là web servicves có th truy xu t b ng m t giao th c là Simple Object Access Protocol SOAP Nói cách khác chúng ta có th truy xu n UDDI registry b ng các l nh g i hoàn toàn theo ki u SOAP
SOAP là m t giao th c giao ti p có c nh d ng chung cho các ng d i v ng b u t Microsoft và phn
m vu t tr ng c a các ng d ng phân tán xây d ng t nhi u ngôn ng , h u hành khác nhau
SOAP là m c t c s d ng các tài li u XML theo dvi p
B nh ra các ng ng d ng ho t chi ti t SOAP cung c p m n và g n nh cho vi i thông tin có c u trúc
nh d ng gi a các thành ph n trong m ng phân tán s d ng XML
c thi t k d a trên nh ng chu n nh m gi m chi phí tích h p các h thng phân tán xây d ng trên nhi u n n t ng khác nhau m c càng th p càng t c t v
i d li u d a trên 3 khái ni n: Các thông
p là các tài lic truy bên gn bên nh n, bên nh n có th chuy n ti p d li
Khái nin nh t c a mô hình SOAP là vi c s d ng các tài li u XML
u này có nhic truy n d lip XML có th c t ng hc v i m t b n th so o
n, ta có th làm vi c v i XML trên h u h t m i n n t ng
Tóm l i SOAP, WSDL và UDDI có th k t h p v i Nhà cung c p Web Service mô t Web Service trong m t tài li u WSDL
t UDDI b ng cách s d ii M i s d ng d ch v tìm thông tin v nhà cung c p d ch v thích h p N u có, nó s tìm ki m ti p tModel r i t l y ra tài li u mô t WSDL iii Mt yêu c u d c t o ra d a trên tài li u mô t WSDL iv Yêu c u SOAP trên s c gn nhà cung c p d ch v c x lý.
QUI TRÌNH
-path-solod và Blue-path-d-path-
y ta th y r ng s phát tri n và ng d ng c a Web service hi n nay và c
t xu th t t y xây d ng m t d ch v t s không khó u i ch c n xây d ng xong m t Web service và thì có th d c hay ? Câu tr l i là
, còn m t v cho d ch v d ng là an toàn?V y th nào là an toàn d ch v Web, ta s tìm hi u p theo
Trong h ng thông tin truy n th ng, vth
n (Integrity), S n dùng (Avaibility) và Kh
c (Authentication) Tuy nhiên, v i ph n m ng d ch v
u v tính s n dùng là m t yêu c u r t quan tr
u v tính s n dùng ra làm 1 tính ch c l p và b sung yêu c u Không th ph nh n (Non-Repudiation) vào khía c nh an toàn c a ph n m m
ng d ch v ng th c l p là
ác th c (Authentication) và hân quy
- Lightweight Directory Access Protocol) [ref]
Hình 11: mô t cách t n công b ng cách s d i tham s
Nhng gi i h n v quy n truy c p tài nguyên c i s d c thi
n t c có th t n d ng nh ng l i này nh m truy c p vào tài kho n c a
i khác, xem các t p tin nh y c m, ho c thi hành nh ng ch phép: Ki m soát truy c mà ng d ng web cho phép truy cn n i dung, ng d ng cho m t s i s d ng và t chi truy c p cho m t s i s d ng khác Nh ng ki c th c hi n sau quá trình xác th c, và qu n lý các quy n truy c i s d c phép Ki m soát
M t mô hình qu n lý truy c p tài nguyên cho ng d ng web cc thi t k theo sát các n i dung và hàm ch a m t web site cung c p
Ví d v cách t n c ng d ng này là t n công vào trang web portal c a m t công ty cung c p d ch v c tuy tr n thong thì loi web portal này cung c i s h u thuê bao m t tài kho n trên trang web và cung c p các d ch v sau:
Cho phép m i s d c phép g i 5 tin nh n không t n ti n các thuê bao cùng m ng
i s d c upload s a ch cá nhân lên trang web và download khi có nhu c u
i s d c xem l ch s cuc g i c a máy thuê bao
N m soát quy n s d ng d ch v trên b l i, hacker có th có các ki t n công sau:
Si các tham s v s ng gi i h n tin nh n và có th g n cho phép không t n ti n m i ngày
Truy c p vào s a ch c a thuê bao khác
c l ch s cu c g i c a các thuê bao khác
Quá trình xác th c và qu n lý phiên truy c c b o v t t có th d n
n vi c thông tin tài kho n b m t c p: Qu n lý xác th c và phiên truy c p bao g m t t c các y u t qu n lý xác th i s d ng và các phiên truy c p Xác th i dùng là m t y u t quan tr nh xác thc m nh nh t v n có th b m c nh ng l n các chn lý xác thc, bao g m th i password, quên password, nh password trình duy t, c p nh t tài kho n và nh ng hàm ch
Xác th i dùng trên ng d ng bao g m s d ng m t username và password Nh c khác m m các gii pháp ph n c ng ho c m m d a trên các token mã hóa ho sinh tr c h c (biometrics) Tuy nhiên nh n h n ch do giá thành cao M t s ng l n l i ng d ng trong các hàm qu n lý tài kho n và phiên truy c p có th d n m tài kh i s d ng và th m chí tài kh an ci qu n tr
ng dng ph i theo dõi và duy trì phiên truy c p c i dùng nh m phân bi t các truy c p t i dùng khác nhau Giao th c HTTP không cung c p kh ng d ng web ph i t t ng thì, môi
ng phát tri n ng d ng cung c qu n lý phiên truy c i hình th các nhà l p trình nghiêng v phát tri riêng c a h Trong c h ng h p, n u token qu n lý phiên truy c c b o v , tin t c có th p token truy c p tài kho n c i khác
Tin t c s d ng l i tràn b m nh m n dòng l nh th c thi c a
ng d ng web: B ng cách g i m n c thi t k c bi n ng d ng, tin t c có th làm cho ng d ng web thi hành b t k v i vi c chi m quy n làm ch máy server M c dù là m t l i ph bi n, l i tràn b m là lo i l i r c phát hi n và ngay c c phát hi n, l i này r t khó
c l i d ng do tin t c c n m r có th vi n mã khai thác
Hình mô t m t cu c t n công tràn b m, hacker g n ng d ng web m t truy c p v i gói d li t mc cho phép mà hàm x lý c a
ng d ng có th x ng, d li trên b nh m
c khi x lý, d li c chèn lên các d li u quan trng khác trong b m, d n kh yêu c u c a hacker
Hình 12: mô t cách t n công d a vào l m
2.2.5 liên trang (Cross Site Scripting - XSS)
L i XSS x y ra khi m t ng d ng web b l i d g i d u xli ng là
n trình duy t c i s d ng Nh ng l h ng này r t ph bi n và x y ra trong b t c ph n nào c a ng d ng web có s d ng d u t li i dùng trong các giá tr ph n h i mà không ki m tra tính h p l M t tin t c có th s d ng l h g i dùng Trình duy t trong má i dùng không th bi n mã nào, và s n script này
B i vì trình duy t tin r n t m t ngun mã script có th truy cn cookies, session tokens, ho c b t k thông tin nh y c m n i trong trình duyp Nhn mã này còn có th s i n i dung trang web
H u qu c a t n công d ng XSS có th r t nguy hi m, bao g m l session cookie, cho phép tin t c chi m quy n s h a tài kho n Nh ng h u qu khác bao g m: l các t p tin c i s d ng
n trang web khác, s i n i dung trang web nhi dùng
Hình 13 mô t m t ví d t n công d ng cross site scripting v i h u qu là khách hàng b l a truy c p vào trang web gi m o nh p tài kho n khách hàng:
Hacker phát hi n l h ng cross- - site scripting trên trang web ca m t ngân hàng th t http://www.bank-that.com Hacker t o m t trang web trông gi ng ngân hàng th t t i
a ch http://www.bank-gia.comc so n m t email gi t nhân viên c a ngân hàng gn cho m t khách hàng Trong email, hacker so n m t n i dung yêu c u khách hàng b m vào m t link trông gi t link truy c p vào ngân hàng th t http://www.bank-that.com/dichvu.asp?url=http://www.bank-gia.com Khách hàng nhc emaing là email t phía ngân hàng th t, nên b m vào link Khi b m vào link, thay vì truy c p vào ngân hàng th t, trình duy t c c chuy n t n trang web ngân hàng gi do hacker t o s n trông gi t http://bank-gia.com Khách hàng nh và
ng d ng web có th s d ng các d li u vào làm tham s cho các hàm g i vào h ng N u tin t c nhúng các mã nguy hi m trong d th liu vào, h ng có th th chn mã nguy hi m này Nh ng cu c t n công d ng này bao g m các mã gn h u hành, g i các ng d ng qua l nh shell, và các hàm g d u (SQL injection) Nh li n mã nguy hi c vi t b ng perl, python và ngôn ng khác có th c chuyn và th c thi b i ng d ng web, h u hành ho c các ng d ng khác
R t nhi u ng d ng web s d ng các hàm c a h
thi hành các ch t trong nh
c s d ng nhi u nh t Khi ng d ng web s d ng d li u t t o ra
n mã th c thi, d li u t i dùng c c l c k ng N u không, tin t c có th kèm vào các ký t c bi n l nh, và nh ng thông tin x u này có th c chuyn h th
M t trong nh ng d ng ph bi n nh t c a l i injection là l i này x y ra khi ng d ng s d ng nh ng d li c ki m tra làm tham s xây d ng chu i l nh SQL B ng cách s d ng nh c bi t, hacker có th gây ra nh ng h u qu nghiêm tr t qua h th ng xác thc login mà không c n s d ng password ho c username; Truy c p vào m t ph n ho c t t c các thông tin trong CSDL; L c thông tin v c u trúc c d liu; Si ho c xóa thông tin trong CSDL; Ch y các l nh trong h u hành trên máy ch CSDL
Quy trình x lý báo l i có th gây ra nhi u v b o m t cho m t trang web
V ng nh t là khi các thông báo l i có ch a các thông tin nh y c
d li u, và các mã li dùng
Nhng l i này cung c p các thông tin v h ng, ng d ng m th p và thông th tin này ph c b o m t S d ng nh ng thông tin này, hacker có th dò tìm ra nh ng l i khác c a ng d ng
Tên và phiên b n ph m m d li u
Tên b ng và các c t trong b ng
N u trang web b m c l i SQL Injection, các thông tin trên s giúp cho hacker
Hình 14: hi n th thông báo l i SQL Injection
Nhng ng d ng web hay s d ng các hàm gi i thu t mã hóa nh m b o v an toàn cho d u Tuy nhiên nh ng hàm này và các mã ngu n có th có nhi u l i do l p li trình viên b t c n, d n vi c l ông tin quan tr th các ng d ng web c n
d li u nh y c d li u ho c trong m t t thng Thông tin nh y c m bao g m: m t kh u, s tín d ng, thông tin tài kho n, th ho c các thông tin c n b o v ch c s d b o v nhng thông tin này M c dù s d ng các hàm mã hóa không khó cho các l p trình viên, tuy nhiên, l p trình viên v ng m c nh ng l n khi áp d ng vào ng d ng web do không hi u rõ h m mã hóa Nhng l ng bao g m:
Không mã hóa d u quan trli t kh u
H u qu c a nh m y u này có th r t nghiêm tr n an toàn c a m t trang web, cho phép hacker lc toàn b các thông tin quan tr
ng d ng web r t d b t c t n công t ch i d ch v (DoS)
T n công t chi d ch v vào ng d n công làm tê li t ng d ng, làm cho các truy c p h p l không th c ti n hành
máy ch web ch có th x lý h tr m t s ng nh i s du king M t tin t c có th t o ra nhi u truy c ng th i t m t n công ng d ng S d ng load balancing s c t n công ki u này, tuy nhiên không th a hoàn toàn n u có quá nhi u truy c p cùng lúc
M t d ng khác c a t n công DoS ng d ng web d a trên các l i trong ch c