Bài giảng an toàn và bảo mật hệ thống thông tin chuyên đề 3 các kỹ thuật tấn công phổ biến vào hệ thống thông tin (tt)

68 662 0
Bài giảng an toàn và bảo mật hệ thống thông tin   chuyên đề 3  các kỹ thuật tấn công phổ biến vào hệ thống thông tin (tt)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1/28/2016 AN TOÀN THÔNG TIN CHO CÁN BỘ KỸ THUẬT Học viện Công nghệ Bưu Viễn thông CHUYÊN ĐỀ CÁC KỸ THUẬT TẤN CÔNG PHỔ BIẾN VÀO HỆ THỐNG THÔNG TIN 1/28/2016 TỔNG QUAN NỘI DUNG Khái quát kỹ thuật công hệ thống máy tính Một số kỹ thuật công phổ biến Một số kỹ thuật công phổ biến 1/28/2016 Một số kỹ thuật công phổ biến Tấn công Spoofing Tấn công IP Fragmentation Tấn công Packet Sniffing Tấn công MitM (Man-in-the-Middle) Tấn công Replay Tấn công Session Hijacking Tấn công TCP Sequence Prediction Một số kỹ thuật công phổ biến Tấn công DoS DDoS  Ping of Death  Land Attack  SYN Flooding Tấn công DNS 10 Tấn công Buffer Overflow 11 Tấn công Format String 12 Tấn công Back Door 13 Tấn công kiểu Social Engineering 1/28/2016 2.1 Tấn công giả mạo (Spoofing) Spoofing  Tấn công giả mạo (Spoofing) tình người/một chương trình giả mạo thành công người khác/một chương trình khác cách làm sai lệch liệu đạt lợi không đáng  Có nhiều loại công giả mạo như:  Giả mạo IP  Giả mạo MAC  Giả mạo URL  Giả mạo ARP  Giả mạo DNS  Giả mạo địa Email 1/28/2016 Giả mạo địa IP  Giả mạo địa IP kỹ thuật dùng để chiếm quyền truy cập trái phép vào máy tính Kẻ công gửi thông điệp đến máy tính sử dụng địa IP giả mạo với mục đích lừa gạt để người nhận tin thông điệp phát từ máy tính đáng tin cậy  Có nhiều kỹ thuật hacker sử dụng để lấy địa IP tin cậy, sau sửa đổi tiêu đề gói tin để chèn địa giả mạo Tuy nhiên, router firewall hệ với cấu hình thích hợp ngăn chặn giả mạo IP Giả mạo địa IP (tiếp) A www.abc.com 10.10.10.1 124.111.1.10 http://www.abc.com 10.10.10.1 124.111.1.10 Src_IP dst_IP Any (>1024) Src_port 80 dst_port Giả mạo 11.11.11.1 134.117.1.60 Src_IP dst_IP Any (>1024) Src_port 80 dst_port 10 1/28/2016 Giả mạo địa IP (tiếp) 11 Tại dễ dàng thực công giả mạo IP?  Các lỗi cấu hình router  Router quan tâm địa đích  Việc xác thực dựa địa nguồn  Thay đổi trường gói tin IP dễ dàng 12 1/28/2016 Các biến thể công giả mạo IP Có số công sử dụng giả mạo IP: Non-blind spoofing Blind spoofing Tấn công chiếm kết nối (connection hijacking) Tấn công từ chối dịch vụ (DoS) Tấn công Smurf 13 Các biến thể công giả mạo IP (tiếp) Non-blind spoofing  Tấn công xảy kẻ công nằm subnet với mục tiêu bị công Khi đó, mục tiêu bị công quan sát trường sequence acknowledgement gói tin 14 1/28/2016 Mạo danh Người gửi partner Tôi nhận gói tin từ bạn Tôi xử lý nó! Nạn nhân 15 Bắt tay bước: Kẻ công SYN(A) ACK(A+1) SYN(B) ACK(B+1) A B Host tin cậy 16 1/28/2016 Các biến thể công giả mạo IP (tiếp) Blind spoofing  Tấn công xảy từ bên ngoài, truy cập giá trị sequence acknowledgement gói tin Kẻ công thường gửi nhiều gói tin đến máy tính mục tiêu để lấy mẫu giá trị sequence  Tấn công sử dụng giả mạo để can thiệp vào kết nối (hoặc tạo kết nối) không subnet với mục tiêu 17 flooding attack Người gửi Ô hay, có nhiều gói tin đến Nhưng gói thật sự? Nạn nhân 18 1/28/2016 Các biến thể công giả mạo IP (tiếp) Tấn công chiếm kết nối (connection hijacking)  Trong kiểu công này, bên công chặn kết nối hợp lệ hai host để kiểm soát thông tin sau loại bỏ thay đổi thông tin gửi bên tham gia lúc đầu mà họ 19 Reflection attack Người gửi Ô hay, có nhiều gói tin trả lời không kèm yêu cầu… Gói tin IP giả mạo src: nạn nhân dst: reflector reflector Nạn nhân 20 10 1/28/2016 Demo  Jumps: http://nsfsecurity.pr.erau.edu/bom/Jumps.html Giới thiệu cách ngôn ngữ C sử dụng khung ngăn xếp để lưu trữ biến cục bộ, chuyển biến từ hàm tới hàm giá trị tham chiếu, trả lại trỏ điều khiển đến chương trình gọi thoát chương trình gọi Minh họa dùng giả mã trường hợp ngôn ngữ C  Stacks: http://nsfsecurity.pr.erau.edu/bom/Stacks.html 107 “Phá Stack”*  Ý tưởng chung làm tràn đệm đến mức ghi đè lên địa trả  Khi hàm thực hiện, nhảy đến địa ngăn xếp  Ta đặt số mã đệm thiết lập địa trả để trỏ đến nó! *tham khảo Phrack 49-7 108 54 1/28/2016 Trước sau address of s return-address void foo(char *s) { char buf[100]; strcpy(buf,s); … address of s pointer to pgm saved sp buf Small Program 109 2.11 Tấn công Format String 55 1/28/2016 Hãy thử tìm lỗi #include int main(int argc, char* argv[]) { if (argc > 1) printf(argv[1]); return 0; } Chương trình dễ bị công format string, gọi chương trình với xâu có chứa ký tự đặc biệt dẫn đến kết công tràn đệm 111 Tấn công Format String  int printf(const char *format [, argument]…);  snprintf, wsprintf …  Chuyện xảy thực hiện: printf(string);  Khi xâu ký tự (string) người dùng cung cấp?  Nếu có chứa ký tự đặc biệt, ví dụ: %s, %x, %n, %hn? 112 56 1/28/2016 Tấn công Format String  Tại điều xảy ra?  Nhiều chương trình trì hoãn thông báo đầu để hiển thị hàng loạt: fprintf(STDOUT, err_msg);  Trong đó, err_msg đưa vào người dùng  Nếu người dùng thay đổi err_msg cách tùy ý, công format string xảy 113 Tấn công Format String  %x đọc in bytes từ ngăn xếp  Điều làm rò rỉ liệu nhạy cảm  %n ghi số ký tự in vào ngăn xếp  Điều dẫn đến công làm tràn đệm  C format strings phá vỡ nguyên lý “không trộn liệu & code”  “Dễ dàng” phát & sửa chữa:  thay printf(str) printf(“%s”, str) 114 57 1/28/2016 Sử dụng máy Unix  Máy Unix: eustis.eecs.ucf.edu  Phải sử dụng SSH để kết nối  Tìm SSH client rỗi Internet • Ví dụ, Putty (dựa dòng lệnh) • http://en.wikipedia.org/wiki/Ssh_client • Tìm SSH client dựa GUI  Username: NID  Password mặc định: khởi tạo tên bạn viết in hoa chữ số cuối PID bạn 115 Ví dụ“%x” - Rò rỉ nhớ #include void main(int argc, char **argv){ int a1=1; int a2=2; int a3=3; int a4=4; printf(argv[1]); } czou@:~$ /test czou@eustis:~$ /test "what is this?" what is this?czou@eustis:~$ czou@eustis:~$ czou@eustis:~$ /test "%x %x %x %x %x %x" bfc994b0 bfc99508czou@eustis:~$ czou@eustis:~$ Bfc994b0: trỏ ngăn xếp lưu Bfc99508: địa trả 116 58 1/28/2016 #include void foo(char *format){ int a1=11; int a2=12; int a3=13; int a4=14; printf(format); } void main(int argc, char **argv){ foo(argv[1]); printf("\n"); } $./format-x-subfun "%x %x %x %x : %x, %x, %x 80495bc e d c : b, bffff7e8, 80483f4 biến số " Trả lại địa 117  Các xâu (“%x:%x:%s”) làm gì?  In từ nhớ ngăn xếp  Xử lý từ nhớ ngăn xếp địa nhớ in tất thứ '\0‘ • Segment bị lỗi đến nhớ chương trình khác 118 59 1/28/2016  Sử dụng định dạng %n để viết giá trị cho địa nhớ máy nạn nhân  %n - viết byte lúc  %hn - viết byte lúc  Cho phép kẻ công gắn công chứa mã độc  Giới thiệu code đâu nhớ máy nạn nhân  Sử dụng lỗi định dạng xâu để ghi đè lên địa trả lại ngăn xếp (hoặc trỏ hàm) với trỏ tới mã độc 119 Ví dụ với “%n” viết liệu vào nhớ #include void main(int argc, char **argv){ int bytes; printf(“%s%n\n”, argv[1], &bytes); printf(“You input %d characters\n”, bytes); } czou@eustis:~$./test hello hello You input characters 120 60 1/28/2016 Con trỏ hàm bị ghi đè - Function Pointer Overwritten  Con trỏ hàm: (được dùng công PHP 4.0.2) High addr buf[128] FuncPtr Of stack  Việc tràn đệm ghi đè lên trỏ hàm  Khó phòng thủ kiểu công return-address overflow 121 Tìm lỗi tràn đệm Kẻ công tìm tràn đệm sau:  Chạy chương trình server đích máy cục  Vấn đề yêu cầu với thẻ dài Tất thẻ dài kết thúc với “$$$$$”  Nếu web server sập, tìm “$$$$$” để xác định vị trí tràn Một số công cụ tự động: eEye Retina, ISIC Sau sử dụng phân tách gỡ lỗi (disassemblers debuggers) (ví dụ, IDA-Pro) để khai thác 122 61 1/28/2016  char Signed 8-bit integer text string  Không nên gán giá trị > 128 cho biến “char”  unsigned char Unsigned 8-bit integer  short Signed 16-bit integer  unsigned short Unsigned 16-bit integer  int Signed 32-bit integer (Không dùng long)  unsigned int Unsigned 32-bit integer  long long Signed 64-bit integer  unsigned long long Unsigned 64-bit integer  float 32-bit real  double 64-bit real 123 Tự kiểm tra #include void main(void){ /* short x = 32767;*/ unsigned short x = 65535; x = x +1; printf("x= %d\n", x); }  Thử chạy để xem việc tràn xảy  Sửa đổi định nghĩa x để xem trường hợp tràn số nguyên khác 124 62 1/28/2016 2.12 Tấn công Back Door Tấn công Backdoor (BD) Backdoor: phần mềm ẩn kỹ thuật phần cứng, thường dùng để kiểm tra xử lý cố Theo chuẩn quốc gia Mỹ cho Viễn thông 126 63 1/28/2016 Tấn công Trojans  Kẻ công sử dụng kỹ thuật mạng xã hội phương tiện khác để cài đặt chương trình độc hại máy nạn nhân Ví dụ, kẻ công gửi email với file chạy, file hát mừng sinh nhật, tới người dùng không nghi ngờ  Khi người dùng chạy file, cài đặt chương trình độc hại mà người dùng Attacker Attack activity Mail Client E-mail Trojan “Trojan” downloads backdoor 127 Attacks: Trojans Attacker Kẻ công sau tương tác với chương trình độc hại để giành quyền điều khiển host nạn nhân, cho phép chúng làm điều chúng muốn mạng từ phía sau tường lửa Attack activity Mail Client E-mail Trojan “Trojan” downloads backdoor Kẻ công truy nhập backdoor, server bị thỏa hiệp Kẻ công có toàn quyền kiểm soát máy chủ 128 64 1/28/2016 2.13 Tấn công Social Engineering Tấn công Social Engineering  Social engineering kỹ thuật lợi dụng ảnh hưởng niềm tin để lừa người nhằm mục đích lấy cắp thông tin thuyết phục nạn nhân để thực việc  Các kiểu công  Dựa người  Dựa máy tính • Mạo danh qua gọi hỗ trợ • Cửa sổ pop-up • Nghe trộm • Giả mạo (Phishing) • Nhìn trộm • Phần mềm giả danh • Tailgating • Trojan • Tìm thông tin thùng rác • SMS • Ăn cắp tài liệu • Email • Piggybacking • Chat 130 65 1/28/2016 Các kiểu công  Mạo danh  Giả làm người sử dụng hợp pháp nhân dạng yêu cầu thông tin nhạy cảm: • Xin chào Tôi A, làm phận X Tôi quên mật email tôi, nhờ anh đọc lại giúp không  Giả làm người sử dụng quan trọng: thư ký giám đốc, khách hàng quan trọng  Giả làm nhân viên hỗ trợ kỹ thuật yêu cầu ID+mật để khôi phục liệu 131 Các kiểu công (tiếp)  Nghe trộm  Nghe trộm điện thoại đọc tin nhắn trái phép  Nhìn trộm  Nhìn trộm bàn phím người dùng nhập mật cách nhìn sau lưng, hay chí ống nhòm, webcam  Tailgating  Đeo thẻ nhân viên giả mạo để xâm nhập vào công ty  Tìm thông tin từ thùng rác  Hóa đơn, thông tin liên lạc, thông tin tài chính, thông tin cá nhân 132 66 1/28/2016 Các kiểu công (tiếp)  Piggybacking  Giả vờ quên thẻ nhà để người khác rủ lòng thương  người có thẩm quyền cho phép truy cập trái phép  Cửa sổ pop-up  Lừa người dùng điền thông tin download phần mềm độc hại  Giả mạo (Phishing)  Lừa đảo cách giả mạo qua phương tiện liên lạc email, SMS  Phần mềm giả danh  Giả dạng hình chờ hay phần mềm hợp lệ 133 Các mối nguy hại khác từ người  Tấn công từ bên trong:  Đối thủ cạnh tranh muốn gây thiệt hại cách cài người họ vào công ty  Nhân viên bất mãn  Những nhân viên bất mãn với công ty tự phá hoại bán thông tin cho công ty cạnh tranh 134 67 1/28/2016 Nguy từ mạng xã hội  Kẻ công mạo danh mạng xã hội để tạo tham gia vào nhóm mà nạn nhân tham gia thu thập thông tin riêng tư họ Các thông tin sử dụng cho công khác 135 68 [...]... xạ giữa các cổng và các địa chỉ MAC)  Loại bỏ vấn đề tràn bộ nhớ  Các hệ thống kiểm tra xâm nhập  Xem xét được số lượng lớn đáp ứng ARP  Honeypot  Tạo mật khẩu giả mạo và gửi mật khẩu qua mạng  Xác định kẻ tấn công khi họ sử dụng mật khẩu 44 22 1/28/2016 2.4 Tấn công MitM (Man-in-the-Middle) Kịch bản chung Server Kẻ tấn công Client 46 23 1/28/2016 Các kịch bản tấn công MITM  Cách tấn công khác...1/28/2016 Các biến thể của tấn công giả mạo IP (tiếp) 4 Tấn công từ chối dịch vụ (DoS)  Khi tiến hành các cuộc tấn công, kẻ tấn công giả mạo IP nguồn khiến việc truy tìm và ngăn chặn DoS trở nên khó khăn Do đó khi nhiều máy đã bị hack tham gia vào các cuộc tấn công, rất khó khăn để có thể nhanh chóng ngăn chặn các lưu lượng truy cập này  Giả mạo IP hầu như luôn được sử dụng trong tấn công từ chối... (DoS), trong đó kẻ tấn công tiêu hao băng thông và tài nguyên bằng cách gây ngập lụt các mục tiêu với rất nhiều gói tin trong một khoảng thời gian ngắn 21 Các biến thể của tấn công giả mạo IP (tiếp) 5 Tấn công Smurf  Gửi gói tin ICMP ping với địa chỉ IP nguồn giả mạo tới một mạng LAN, rồi sau đó gói tin này sẽ được quảng bá đến tất cả các host trên mạng LAN  Mỗi host sẽ gửi một gói tin trả lời đến địa...  Tấn công từ chối dịch vụ, như là đặt lại các kết nối 71 DoS bị công kích bởi session hijacking  Giả sử kẻ tấn công có thể đoán số thứ tự cho một kết nối đang tồn tại:  Kẻ tấn công có thể gửi gói tin Reset tới kết nối đóng Kết quả trong DoS  Bài toán thành công, cơ bản là 1/ 232 (32 -bit seq.#)  Hầu hết các hệ thống cho phép chấp nhận một cửa sổ lớn seq # • Xác xuất thành công cao hơn nhiều  Tấn. .. chí không biết tí gì về mật khẩu ! Alice’s balance = $200 $100 55 Tấn công lặp lại  Trước tiên, kẻ tấn công chặn thông điệp  Việc này khá dễ dàng 56 28 1/28/2016 Tấn công lặp lại (tiếp)  Sau đó, kẻ tấn công truyền lại (lặp lại) thông điệp tới host đích ban đầu  Không cần thiết phải đọc được thông điệp để truyền lại 57 Tấn công lặp lại (tiếp)  Tại sao lại thực hiện tấn công lặp lại?  Để chiếm... giữa Alice và Bob  Kẻ tấn công sniff các gói tin  Nhìn thấy các gói tin TCP giữa Bob và Alice và các số thứ tự (sequence number) của chúng  Kẻ tấn công nhảy vào, gửi các gói TCP tới Bob; địa chỉ IP nguồn = Địa chỉ IP của Alice  Lúc này Bob sẽ nghe lệnh được gửi từ kẻ tấn công, vì nghĩ là nó được gửi từ Alice  Nguyên lý phòng thủ: mã hóa  Kẻ tấn công không có khóa để mã hóa và chèn lưu lượng có ý... Statefull” 31 2 .3 Tấn công Packet Sniffing 16 1/28/2016 Định tuyến IP Alice Office gateway Packet 121.42 .33 .12 Source 121.42 .33 .12 Destination 132 .14.11.51 5 Sequence Bob 132 .14.11.1 ISP 132 .14.11.51 121.42 .33 .1  Định tuyến internet sử dụng địa chỉ IP số  Định tuyến điển hình sử dụng một số hops 33 Packet Sniffing  Promiscuous Network Interface Card (Cạc giao diện mạng ngẫu nhiên) đọc tất cả các gói tin. .. fragflag offset =1040 =x =0 =37 0 29 Tấn công phân mảnh IP  Tấn công phân mảnh IP  Giá trị offset quá nhỏ  Xác định các gói nhỏ bất thường  Có thể vượt qua một số thiết bị lọc gói tin  Sự chồng lấn các mảnh IP  Giá trị offset xác định sự chồng lấn  Tấn công Teardrop 30 15 1/28/2016 Tấn công phân mảnh IP (tiếp)  Router và Internet Gateway là các thiết bị chung  Các gói tin được phân mảnh không đúng... tcpdump (for unix)  Snort (sniffing và kiểm tra xâm nhập) 38 19 1/28/2016 Sniffing chủ động qua một switch Làm thế nào kẻ tấn công có thể sniff các gói tin đến/từ một nạn nhân? Kẻ tấn công switch Nạn nhân Có thể lấy được các gói tin của nạn nhân đi đến kẻ tấn công! 39 Sniffing qua một switch: cách tiếp cận làm tràn bộ nhớ switch  Host gửi ngập tràn các frames với các địa chỉ MAC nguồn ngẫu nhiên ... năng quản trị mạng 36 18 1/28/2016 Sniffing  Kẻ tấn công nằm bên trong firewall  Yêu cầu:  Host của kẻ tấn công được kết nối với môi trường chia sẻ  NIC phải ở trong “chế độ ngẫu nhiên”  Lấy và chuyển đi  Các userid và password  Số thẻ tín dụng  Các cuộc hội thoại email bí mật  Tấn công Island hopping: • Xử lý tất cả các khung đến NIC  Sniffer có 2 thành phần:  Đi qua các máy tính đơn (ví ... TỔNG QUAN NỘI DUNG Khái quát kỹ thuật công hệ thống máy tính Một số kỹ thuật công phổ biến Một số kỹ thuật công phổ biến 1/28/2016 Một số kỹ thuật công phổ biến Tấn công Spoofing Tấn công IP... Fragmentation Tấn công Packet Sniffing Tấn công MitM (Man-in-the-Middle) Tấn công Replay Tấn công Session Hijacking Tấn công TCP Sequence Prediction Một số kỹ thuật công phổ biến Tấn công DoS DDoS... of Death  Land Attack  SYN Flooding Tấn công DNS 10 Tấn công Buffer Overflow 11 Tấn công Format String 12 Tấn công Back Door 13 Tấn công kiểu Social Engineering 1/28/2016 2.1 Tấn công giả mạo

Ngày đăng: 30/03/2016, 14:44

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan