Hoạt động của Register server và Location Server

Một phần của tài liệu bảo mật hệ thống call center (Trang 33 - 177)

2

2.3.4.1Hoạt động của Register server và Location Server

Hình 2. 8: Hoạt động của register Server và Location Server

Khi một UA mới tham gia vào mạng, nó sẽ gửi bản REGISTER (1) lên

Register Server để đăng kí và cập nhật vị trí. Register Server sẽ trả lại bản tin 200 OK (4) xác nhận việc đăng kí đã thành công. Đồng thời Register Server cũng sẽ

thông báo với Location Server để cập nhật vị trí của UA vừa đăng kí (2,3)

Trong trường hợp UA chuyển vị trí, như ví dụ trên hình vẽ là chuyển từnơi

làm việc (work) về nhà (home), thì quá trình đăng kí và cập nhật vị trí cũng diễn ra

tương tự, các bản tin số 5,6,7,8 là dành cho việc cập nhật vị trí khi UA đăng kí với Register Server tại nhà (home).

Quá trình đăng kí được thực hiện ngay khi UA kết nối vào hệ thống VoIP, việc này nhằm mục đích báo cho hệ thống biết là UA đang kết nối cũng như vị trí hiện thời của nó, nhờđó Server có thể chuyển cuộc gọi đến cho UA khi có yêu cầụ

CHƯƠNG 2: HỆ THỐNG CALL CENTER 2.3.4.2 Hoạt động của Proxy Server

Hình 2. 9: Hoạt động của Proxy Server

Hình trên là một ví dụ về cuộc gọi SIP được thực hiện giữa 2 UA thông qua Proxy Server. Quá trình thực hiện như sau:

 Khi có yêu cầu thực hiện cuộc gọi, UA1 sẽ gửi bản tin INVITE (1) tới

 Proxy Server.

 Thuê bao bị gọi là UA2 đang nằm trong vùng quản lý của Proxy Server nên nó gửi bản tin INVITE (2) đến ngay cho UA2 mà không cần tham khảo

Location Server. Đồng thời phát bản tin 100 Trying (3) về cho UA1 để báo rằng cuộc gọi đang được thực hiện.

 UA2 chấp nhận cuộc gọi, gửi bản tin 180 Ringing (4) về cho Proxy Server

thông báo UA2 đang rung chuông. Sau khi nhận được bản tin (4), Proxy Server cũng gửi bản tin 180 Ringing (5) về cho UA1.

 UA2 gửi bản tin 200 OK (6) về cho Proxy để báo hiệu rằng UA2 đã nhấc

máỵ Sau đó, Proxy cũng gửi bản tin 200 OK (7) về cho UA1.

 Hai bản tin ACK (8,9) được gửi lần lượt từ UA1 tới Proxy và Proxy tới

CHƯƠNG 2: HỆ THỐNG CALL CENTER

 Đàm thoại kết thúc, UA1 gác máy, gửi bản tin BYE (10) đến cho Proxy, sau

đó Proxy gửi BYE (11) đến UA2 báo hiệu kết thúc cuộc gọị

 Hai bản tin 200 OK (12,13) lần lượt được gửi từ UA2 về Proxy và Proxy về UA1 để hoàn tất kết thúc cuộc gọị

2.3.5 Các giao thức vẫn chuyển SIP 2.3.5.1 UDP 2.3.5.1 UDP

UDP là giao thức tầng vận chuyển không có điều khiển tắc nghẽn. Nó được

dùng để vận chuyển bản tin SIP vì đơn giản và thích hợp với các ứng dụng thời gian thực. Các bản tin SIP thường có kích thước nhỏ hơn MTU (Message Transport

Unit). Nếu bản tin lớn thì phải dùng TCP, vì lý do này mà SIP không có chức năng

chia nhỏ góị

Hình 2. 101: Trao đổi bản tin SIP bằng UDP

2.3.5.2 TCP

TCP là giao thức ở tầng vận chuyển đáng tin cậy do có điều khiển tắc nghẽn, hơn

nữa nó có thể vận chuyển gói tin có kích thước bất kỳ. Nhược điểm của nó là tăng độ trễ.

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG VÀO H THNG

CALL CENTER

Hệ thống Call Center được phát triển dựa trên mã nguồn mở Asterisk, mà

Asterisk được kết hợp bởi nền tảng công nghệđiện thoại (VoIP) và các dịch vụđiện thoạị Khi nghiên cứu sâu vào hệ thống của chúng ta thì được thấy đa phần được sử

dụng công cụ chính là IP và các giao thức mạng. Chính vì thế các Attacker đã tận dụng nền tảng này tấn công vào hệ thống Call Center để thực hiện mục đích. Dưới

đây là các hình thức tấn công phổ biến nhất hiện nay:

3.1 Các nguy cơ tấn công đối với hệ thống Call Center theo quan điểm mạng IP 3.1.1 Dos ( Denial of Service ) 3.1.1 Dos ( Denial of Service )

3.1.1.1 Định nghĩa về tấn công DoS

Trường hợp tấn công đơn giản 1 - 1 DoS ( Denial of Service ) là hình thức tấn công từ chối dịch vụ, có nhiều cách để thực hiện tấn công kiểu này (VD: SYN Flooding,..), thực chất là Attacker tận dụng lỗ hổng bảo mật nào đó để yêu cầu Server làm việc nào đó, mục đích là không để Server có khả năng đáp ứng yêu cầu dịch vụ của các Client khác, như vậy gọi là "từ chối dịch vụ" của các Client khác hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống. Thường thì kẻ tấn công là từ một máỵ

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

 Nếu kẻ tấn công không có khả năng xâm nhập được vào hệ thống thì chúng cố gắng tìn cách làm cho hệ thống sụp đổ và không có khả năng phục vụ người dùng bình thường.

 Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ

thống nhưng nó có thểlàm gián đoạn dịch vụ mà hệ thống đó cung cấp. Như định nghĩa DoS khi tấn công vào một hệ thống sẽ khai thác những cái yếu nhất của hệ thống để tấn công.

3.1.1.2 Các mục đích tấn công DoS

 Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi

đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho

người dùng bình thường.

 Cố gắng làm ngắt kết nối giữa hai máy và ngăn chặn quá trình truy cập vào dịch vụ.

 Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụnào đó

 Cố gắng ngăn chặn các dịch vụ không cho người khác có khảnăng truy cập vàọ

 Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch vụđó như bị:

+ Disable Network - Tắt mạng

+ Disable Organization - Tổ chức không hoạt động + Financial Loss – Tài chính bị mất

3.1.1.3 Mục tiêu kẻ tấn công thường sử dụng tấn công DoS

Như đã trình bày ở bên trên tấn công DoS xảy ra khi kẻ tấn công sử dụng hết tài nguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình

thường được, vì vậy các tài nguyên chúng thường ngắm đến khi tấn công là gì:  Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên

 Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổđĩa, và CPU Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS.

 Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều hoà, hệ thống điện, hệt thống làm mát và nhiều tài nguyên khác của doanh nghiệp. Trường hợp khi nguồn điện vào máy chủ web bị ngắt thì người dùng sẽ không thể truy cập vào máy chủđó.

 Phá hoại hoặc thay đổi các thông tin cấu hình.

 Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà…

3.1.1.4 Các dạng tấn công DoS

Tấn công Smurf và Fraggle

- Tn công Smurf: là thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới

địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công. * Chúng ta cần lưu ý là: Khi ping tới một địa chỉ là quá trình hai chiều – Máy A ping tới máy B thì máy B reply lại hoàn tất quá trình. Khi máy A ping tới địa chỉ

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

máy Ạ Nhưng máy A được thay địa chỉ nguồn của máy C và máy A ping tới địa chỉ Broadcast của một mạng nào đó, thì toàn bộ các máy tính trong mạng đó sẽ

reply lại vào máy C chứ không phải máy A và đó là tấn công Smurf. Ở đây kẻ tấn công sẽ sử dụng một phần mềm Wireshark để phân tích gói tin ICMP và sẽthay đổi

địa chỉ nguồn đến máy cần tấn công.

- Kết quảđích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP cực lớn và làm cho mạng bị rớt hoặc bị chậm lại không có khả năng đáp ứng các dịch vụ

khác.

- Quá trình này được khuyếch đại khi có luồng ping reply từ một mạng được kết nối với nhau ( mạng BOT ).

Hình 3. 2: Mô hình tấn công Smurf sử dụng gói ICMP làm ngập các giao tiếp khác.

- Tn công Fraggle (UDP flood), các Attacker sử dụng UDP echo và tương tựnhư

tấn công Smurf.

Hình 3. 3: Mô Hình tấn công Fraggle sử dụng gói UDP

Tương tự như Smurt attack nhưng thay vì dùng gói tin ICMP ECHO REQUEST thì sẽ dùng cách tấn công này sẽ dùng gói tin UDP ECHO gởi đến mục

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

tiêụ Nhưng Flaggle Attack nguy hiểm hơn Smurt attack rất nhiềụVì Attacker tấn công bằng một gói tin ECHO REQUEST với địa chỉ bên nhận là một địa chỉ

broadcast, toàn bộ hệ thống thuộc địa chỉ này lập tức gửi gói tin REPLY đến port echo của victim, sau đó từ victim một gói tin ECHO REPLY lại gửi trở về địa chỉ

broadcast, và quá trình cứ thế tiếp diễn.

Tấn công Buffer overflow

- Buffer Overflow xảy ra khi một chương trình phải ghi thông tin xuống buffer nhiều hơn khoảng trống trong bộ nhớ quy định của nó.

- Khi đó attacker có thể overwrite lại đường dẫn thực thi của chương trình,

điều khiển cho chương trình chạy đoạn mã nguy hiểm của attacker thay vì đoạn mã của chương trình.

Ví d: Send 1 email với file đính kèm có tên lớn hơn 256 ký tự hoặc send 1 gói ICMP với size lớn.

Tấn công Ping of Death

Hình 3. 4: Mô hình tấn công Ping Of Death

Tấn công Ping of Death (hay PoD) có thể làm tê liệt cả mạng lưới dựa trên lổ

hổng của hệ thống TCP/IP. Kích thước tối đa cho 1 gói dữ liệu là 65,535 bytes. Nếu ta gửi các gói tin lớn hơn nhiều so với kích thước tối đa thông qua lệnh “ping” đến

máy đích thì sẽlàm máy tính đích bị treọ

Nhưng gửi 1 gói tin lớn hơn kích thước quy định là điều trái với luật của giao thức TCP/IP, vì vậy Attacker đã khéo léo gửi các gói tin trên các đoạn phân mảnh. Khi máy tính victim ráp các phân mảnh dữ liệu thì sẽ nhận thấy gói tin quá lớn.

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

Tấn công Teardrop

Hình 3. 5: Cơ chế tấn công Teardrop

- Trong mạng chuyển mạch gói, dữ liệu được chia thành nhiều gói tin nhỏ, mỗi gói tin có một giá trị offset riêng, có thể truyền đi theo nhiều con đường khác

nhau để tới đích. Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu được kết hợp lại như ban đầụ

- Lợi dụng điều này, Attacker có thể tạo ra nhiều gói tin có giá trị offset trùng lặp nhau hoặc chồng chéo lộn xộn và gửi đến mục tiêu muốn tấn công. - Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ này từ kẻ tấn công và không hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một phần tài nguyên hệ thống, nếu quá trình đó liên tục xảy ra hệ thống không còn tài nguyên cho các ứng dụng khác, phục vụ các user khác mà thậm chí còn có thể bị treo máỵ

Tấn công SYN Flood

- Được xem là một trong những kiểu tấn công DoS kinh điển nhất. Lợi dụng sơ hở của thủ tục TCP khi thực hiện giao thức “bắt tay ba bước”, mỗi khi client

(máy khách) muốn thực hiện kết nối (connection) với server (máy chủ) thì nó thực

hiện việc bắt tay ba bước (three – ways handshake) thông qua các gói tin (packet).

Bước 1:Client sẽ gửi các gói tin (packet chứa SYN=1) đến máy chủ để yêu cầu kết nốị

Bước 2: Khi nhận được gói tin này, server sẽ gửi lại gói tin SYN/ACK để

thông báo cho client biết là nó đã nhận được yêu cầu kết nối và chuẩn bị tài nguyên cho việc yêu cầu nàỵ Server sẽ giành một phần tài nguyên hệ thống như bộ nhớ đệm (cache) để nhận và truyền dữ liệụNgoài ra, các thông tin khác của client như địa chỉ IP và cổng (port) cũng được ghi nhận.

Bước 3: Cuối cùng, client hoàn tất việc bắt tay ba lần bằng cách hồi âm lại

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER Hình 3. 6: Quá trình bắt tay 3 bước

- Do TCP là thủ tục tin cậy trong việc giao nhận (end-to-end) nên trong lần

bắt tay thứ hai, server gửi các gói tin SYN/ACK trả lời lại client mà không nhận lại được hồi âm của client để thực hiện kết nối thì nó vẫn bảo lưu nguồn tài nguyên chuẩn bị kết nối đó và lập lại việc gửi gói tin SYN/ACK cho client đến khi nào nhận được hồi đáp của máy client.

- Vấn đề quan trọng là ở đây khi client không hồi đáp cho Server. Và có hàng nhiều, nhiều client như thế trong khi server vẫn “ngây thơ” lặp lại việc gửi packet đó và giành tài nguyên để chờ gói tin phản hồi trong lúc tài nguyên của hệ thống là có giới hạn! Các Attacker tấn công sẽ tìm cách để đạt đến giới hạn đó.

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

- Nếu quá trình đó kéo dài, server sẽ nhanh chóng trở nên quá tải, dẫn đến

tình trạng crash (treo) nên các yêu cầu hợp lệ sẽ bị từ chối không thể đáp ứng được.

Có thể hình dung quá trình này cũng giống hư khi máy tính cá nhân (PC) hay bị

“treo” khi mở cùng lúc quá nhiều chương trình cùng lúc vậy.

- Thông thường, để giả địa chỉ IP gói tin, các Attacker có thể dùng Raw Sockets (không phải gói tin TCP hay UDP) để làm giả mạo hay ghi đè giả lên IP gốc của gói tin. Khi một gói tin SYN với IP giả mạo được gửi đến server, nó cũng như bao gói tin khác, vẫn hợp lệ đối với server và server sẽ cấp vùng tài nguyên cho

đường truyền này, đồng thời ghi nhận toàn bộ thông tin và gửi gói SYN/ACK ngược lại cho Client. Vì địa chỉ IP của client là giả mạo nên sẽ không có client nào nhận được SYN/ACK packet này để hồi đáp cho máy chủ. Sau một thời gian không

nhận được gói tin ACK từ client, server nghĩ rằng gói tin bị thất lạc nên lại tiếp tục

gửi tiếp SYN/ACK, cứ như thế, các kết nối (connections) tiếp tục mở.

Hình 3. 8: Mô hình tấn công của Attacker sử dụng SYN Flood

- Nếu như kẻ tấn công tiếp tục gửi nhiều gói tin SYN đến server thì cuối cùng server đã không thể tiếp nhận thêm kết nối nào nữa, dù đó là các yêu cầu kết

nối hợp lệ. Việc không thể phục nữa cũng đồng nghĩa với việc máy chủ không tồn

tạị Việc này cũng đồng nghĩa với xảy ra nhiều tổn thất do ngưng trệ hoạt động, đặc

CHƯƠNG 3: CÁC NGUY CƠ TẤN CÔNG HỆ THỐNG CALL CENTER

- Đây không phải là kiểu tấn công bằng đường truyền cao, bởi vì chỉ cần

một máy tính nối internet qua ngã dial-up đơn giản cũng có thể tấn công kiểu này (tất nhiên sẽ lâu hơn chút).

Tấn công LAND

Hình 3. 9: Mô hình tấn công bằng Land Attack

Land Attack là một kiểu tấn công cũng gần giống như SYN Attack, nhưng

thay vì dùng các địa chỉ ip không có thực, Attacker sẽdùng chính địa chỉ ip của nạn

nhân. Điều này sẽ tạo nên một vòng lặp vô tận trong chính hệ thống nạn nhân đó,

giữa một bên cần nhận thông tin phản hồi còn một bên thì chẳng bao giờ gởi thông tin phản hồịVà nghiên cứu gần đây cho thấy, Windows XP SP2 và Windows 2003 rất dễ bị tấn công bởi phương pháp nàỵ Nhưng trên thực tế thì các hệđiều hành như

Sun OS, BSD (Unix) và Macs là dễ bị tấn công bằng phương pháp nàỵ

Một phần của tài liệu bảo mật hệ thống call center (Trang 33 - 177)