phân tích kỹ thuật mà hacker thường hay sự dụng đó là kỹ thuật buffer overflow

40 362 0
phân tích kỹ thuật mà hacker thường hay sự dụng đó là kỹ thuật buffer overflow

Đ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

Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang i ĐỀ TÀI TÌM HIỂU VỀ AN NINH MẠNG VÀ KỸ THUẬT BUFFER OVERFLOW Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang ii MỤC LỤC LỜI MỞ ĐẦU i DANH MỤC HÌNH ẢNH v DANH MỤC CÁC TỪ VIẾT TẮT vi CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ AN NINH MẠNG 1 1.1 TÌNH HÌNH AN NINH MẠNG THẾ GIỚI: 1 1.2 TÌNH HÌNH AN NINH MẠNG TẠI VIỆT NAM: 2 1.2.1 Thiếu nhận thức, nhân lực và đầu tư: 2 1.2.2 Tình hình tội phạm: 3 1.2.3 Cần hoàn thiện qui định của pháp luật: 4 1.2.4 Nâng cao nhận thức về an ninh mạng: 5 1.3 CÁC KHÁI NIỆM VÀ THUẬT NGỮ: 5 1.3.1 Hacker: 5 1.3.2 HTTP header: 6 1.3.3 Session: 6 Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang iii 1.3.4 Cookie: 7 1.3.5 Proxy: 9 CHƯƠNG 2: GIỚI THIỆU VỀ KỸ THUẬT BUFFER OVERFLOW 10 2.1 ĐỊNH NGHĨA: 10 2.2 LỖI BUFFER OVERFLOW VÀ NGUYÊN NHÂN GÂY LỖI: 12 2.3 STACK OVERFLOW: 13 2.3.1 Định nghĩa: 13 2.3.2 Mục đích chính của Stack buffer overflow: 13 2.4 HEAP OVERFLOW: 15 2.4.1 Định nghĩa: 15 2.4.2 OVERWRINGTING POINTERS (viết lại con trỏ): 16 2.4.3 Khai thác thư viện malloc(): 17 2.4.4 Mục đích của việc làm hỏng cấu trúc DLMALLOC: 18 2.5 CÁCH PHÁT HIỆN BUFFER OVERFLOW: 19 2.6 CÁCH PHÒNG TRÁNH BUFFER OVERFLOW: 21 2.6.1 Lựa chọn ngôn ngữ lập trình: 21 2.6.2 Sử dụng thư viện an toàn: 22 2.6.3 Chống tràn bộ đệm trên Stack: 22 2.6.4 Bảo vệ không gian thực thi: 22 2.6.5 Ngẫu nhiên hóa sơ đồ không gian địa chỉ: 23 2.6.6 Kiểm tra sâu đối với gói tin 23 CHƯƠNG 3: MỘT SỐ VÍ DỤ VỀ BUFFER OVERFLOW 24 3.1 Ví dụ file vul.c 24 3.2 Ví dụ tràn bộ đệm khi dữ liệu nhập vào lớn hơn định mức được phát: 24 Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang iv 3.3 Ví dụ shellcode trên linux: 26 KẾT LUẬN 28 TÀI LIỆU THAM KHẢO 33 Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang v DANH MỤC HÌNH ẢNH CHƯƠNG 1: Hình 1.1: Các thành phần của một cookie 8 Hình 1.2: Các phân đoạn chương trình thực thi 10 CHƯƠNG 2: Hình 2.1: Stack 13 Hình 2.2: Ví dụ Stack Overflow 14 Hình 2.3: Stack khi bị tấn công bởi Atacker 15 Hình 2.4: Heap 15 Hình 2.5: Ví dụ Heap Overflow 16 Hình 2.6: Heap Overflow 16 Hình 2.7: Các bước xác định Buffer Overflow 20 Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang vi DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Tên tiếng Anh Tên tiếng Việt CERT Computer Emegency Response Team Đội cấp cứu máy tính BKIS Bach Khoa Internet Security Trung tâm an ninh mạng Bách Khoa HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang 1 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ AN NINH MẠNG 1.1 TÌNH HÌNH AN NINH MẠNG THẾ GIỚI: Theo số liệu của CERT (Computer Emegency Response Team - "Đội cấp cứu máy tính"), số lượng các vụ tấn công trên Internet được thông báo cho tổ chức này là ít hơn 200 vào năm 1989, khoảng 400 vào năm 1991, 1400 vào năm 1993, và 2241 vào năm 1994, và năm 2001 là 5315 vụ. Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của tất cả các công ty lớn như AT&T, IBM, các trường đại học, các cơ quan nhà nước, các tổ chức quân sự, nhà băng Một số vụ tấn công có quy mô khổng lồ (có tới 100.000 máy tính bị tấn công). Hơn nữa, những con số này chỉ là phần nổi của tảng băng. Một phần rất lớn các vụ tấn công không được thông báo, vì nhiều lý do, trong đó có thể kể đến nỗi lo bị mất uy tín, hoặc đơn giản những người quản trị hệ thống không hay biết những cuộc tấn công đang nhằm vào hệ thống của họ. Điển hình là cuộc tấn công vào phần mềm thương mại của IBM tháng 3/2001, hai hacker đã tìm thấy lỗ hổng trên ứng dụng mà bất cứ ai với một trình duyệt Web cũng có thể lấy tài khoản của người dùng, thậm chí cả người quản trị. Không chỉ số lượng các cuộc tấn công tăng lên nhanh chóng, mà các phương pháp tấn công ngày càng tinh vi và có tổ chức. Mặt khác, việc quản trị các hệ thống mạng đòi hỏi nhà quản trị hệ thống có kiến thức và kinh nghiệm về hệ thống mạng chắc chắn, do đó sự yếu kém trong quản lý sẽ tạo nhiều điều kiện cho các hacker khai thác. Cũng theo CERT, những cuộc tấn công thời kỳ 1988-1989 chủ yếu là đoán tên người sử dụng-mật khẩu (UserID/password) hoặc sử dụng một số lỗi của các chương trình và hệ điều hành (security hole) làm vô hiệu hệ thống bảo vệ, tuy nhiên các cuộc tấn công vào thời gian gần đây còn bao gồm cả các thao tác như giả mạo địa chỉ IP, theo dõi thông tin truyền qua mạng, chiếm các phiên làm việc từ xa Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang 2 (telnet hoặc rlogin), cài trojan hay worm để kiểm soát hay điều khiển máy tính…vì thế, nhu cầu bảo vệ thông tin trên Internet là cần thiết nhằm mục đích bảo vệ dữ liệu, bảo vệ thông tin người dùng và bảo vệ hệ thống. Khi nói đến vấn đề bảo mật, hầu hết các chuyên gia bảo mật đều chú trọng đến sự an toàn của hệ thống mạng và hệ điều hành. Để bảo vệ cho hệ thống, phương pháp thường được chọn là sử dụng firewall. Tuy nhiên, theo tuyên bố của CSI/FBI: 78% nơi bị hại có sử dụng firewall và 59% thì bị tấn công thông qua Internet, cụ thể hơn là theo báo cáo của CSI/FBI Computer Crime và Security Survey thì tổng số thiệt hại do những ứng dụng Web bị tấn công từ năm 1997 đến năm 2000 là 626 triệu đôla Mỹ. 1.2 TÌNH HÌNH AN NINH MẠNG TẠI VIỆT NAM: Khi tốc độ ứng dụng công nghệ thông tin và phổ cập Internet được đẩy nhanh, đời sống thực ngày càng gần như phụ thuộc vào đời sống ảo trên mạng thì vấn đề an ninh mạng càng cần được coi trọng và đặt ở tầm an ninh quốc gia. Môi trường internet tại Việt Nam hiện có nhiều yếu tố gây mất an toàn như không có cơ chế định danh người dùng, khó kiểm soát các giao tiếp và thiếu sự phối hợp, giám sát giữa các tổ chức quản lý internet. Điều này dẫn tới sự bùng nổ của các hành vi: lấy cắp tài khoản, viết và phát tán virus máy tính, tấn công website…, mang lại nhiều nguy cơ tiềm tàng cho an ninh mạng 1.2.1 Thiếu nhận thức, nhân lực và đầu tư: An ninh mạng là một vấn đề mới đối với đa số người sử dụng máy tính. Những công ty lập trình website cũng chưa ý thức đầy đủ về vấn đề này. Ở công ty nước ngoài, mỗi lập trình viên sau khi tuyển dụng phải qua một khoá đào tạo lập trình đặc biệt về an ninh mạng. Tìm được công ty thiết kế website ở Việt Nam làm điều này rất khó. Việc đầu tư thời gian và công sức vào bảo mật có thể làm chậm tiến độ triển khai dự án, hiệu quả lại khó kiểm chứng. Tuy đã được các chuyên gia máy tính liên tục cảnh báo nhưng nhận thức về nguy cơ, tính rủi ro và hậu quả của Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang 3 tình trạng mất an ninh mạng vẫn chưa được quan tâm tìm hiểu đúng mức. Tình trạng lơ là, mất cảnh giác đối với nguy cơ virus tấn công các trang web xảy ra khá phổ biến trong giới quản trị website, thậm chí ngay cả đối với website của các doanh nghiệp CNTT. Rất nhiều website tồn tại các lỗ hổng có thể trở thành mục tiêu cho tin tặc, trong đó có những website có nội dung hết sức quan trọng liên quan đến chính phủ điện tử, thương mại điện tử, doanh nghiệp điện tử… Theo thống kê của Trung tâm An ninh mạng ĐHBK Hà Nội (BKIS) thì có khoảng 400 website luôn đặt trong tình trạng nguy hiểm, trong đó có website của các cơ quan nhà nước, các công ty và ngân hàng. Trung bình mỗi tháng, trung tâm BKIS phát hiện trên dưới hai chục trang web bị hacker tấn công, trong đó có cả trang web của những công ty tên tuổi như Viettel, VDC hay MobiFone. Bên cạnh đó, các doanh nghiệp đang phải đương đầu với sự thiếu hụt về nhân lực CNTT và hiểu biết về tội phạm mạng. Hiện nay, phần lớn các doanh nghiệp Việt Nam chưa có sự đầu tư đúng mức về công nghệ bảo mật cũng như về con người do chi phí cho lĩnh vực này khá cao. BKIS cho biết, các lổ hổng bảo mật trên các trang web của Việt Nam phần lớn là do các công ty viết phần mềm chưa quan tâm đến an toàn hệ thống và đầu tư cho an ninh mạng chưa đủ ngưỡng. Người quản trị mạng chưa làm tốt công việc của mình: đặt mật khẩu yếu, mở nhiều dịch vụ không cần thiết; các doanh nghiệp và tổ chức ở Việt Nam thường đầu tư dưới 10% chi phí CNTT cho bảo mật - một tỷ lệ dưới mức đảm bảo an toàn cho hệ thống thông tin. 1.2.2 Tình hình tội phạm: “An toàn mạng” ngày nay không chỉ trong phạm vi khái niệm an ninh mạng (network security) vốn dành cho những đối tượng chuyên nghiệp mà quan trọng hơn là bảo vệ các ứng dụng trong hệ thống của doanh nghiệp. Phần lớn các doanh nghiệp Việt Nam hiện chưa có hệ thống bảo mật dữ liệu chuyên nghiệp mà chủ yếu chỉ trang bị vài hệ thống bảo vệ: tường lửa, phần mềm chống virus. Các chuyên gia Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang 4 nhận định rằng: tình hình an ninh trên môi trường mạng ở Việt Nam đang ở tình thế rất đáng ngại khi số lượng và mức độ các loại hình tội phạm ngày càng gia tăng. Có thể chia tội phạm mạng ở Việt Nam thành 2 hai nhóm: tội phạm tấn công trang web, các cơ sở dữ liệu và phát tán virus; và tội phạm lợi dụng môi trường mạng để ăn cắp, tống tiền và tổ chức hoạt động phạm tội, như đánh bạc qua mạng, ăn cắp và làm giả thẻ tín dụng, dùng internet để trộm cước viễn thông. Cả hai nhóm tội phạm mạng này đều đang tăng cả về lượng và mức độ tác động. Thống kê của BKIS cho thấy, đầu năm 2008, số lượng virus mới tăng hơn rất nhiều so với trước. Tội phạm mạng ở Việt Nam hiện đã chuyển sang mục đích kiếm tiền chứ không còn là thoả mãn niềm ham mê ghi điểm “thành tích” như trước. Về mức độ tinh vi, các phương thức tội phạm mạng ở Việt Nam đang dần tiếp cận với thế giới. Thế giới có tội phạm gì liên quan đến môi trường mạng thì cũng nhanh chóng có ở Việt Nam. Mới đây, đơn vị chống tội phạm công nghệ cao (C15) thuộc Tổng cục Cảnh sát đã phối hợp với cơ quan chống tội phạm mạng của Anh bắt được một nhóm hacker Việt Nam ăn cắp mật khẩu thẻ tín dụng bán cho một tổ chức tội phạm của Anh. Trước đó, C15 đã bắt được một đường dây hơn 10 sinh viên ăn cắp thẻ tín dụng và làm giả thẻ tín dụng để rút tiền. Trong khi đó, yếu tố chính góp phần làm cho tình hình an ninh mạng ở Việt Nam thêm nghiêm trọng chính là hành lang pháp lý chưa đủ mạnh, hình phạt dành cho tội phạm mạng còn nhẹ, chưa tương xứng với thiệt hại do hành vi phạm tội gây ra nên chưa đạt mục đích trừng trị người phạm tội, giáo dục họ trở thành người có ích cho xã hội và giáo dục người khác tôn trọng pháp luật, đấu tranh phòng, chống tội phạm. Một bất cập nữa là các quy định liên quan đến tội phạm mạng quá chung chung, không áp dụng được vào các hành vi cụ thể, nhất là các quy định về tội phạm máy tính của bộ luật Hình sự. Các quy định thiếu rõ ràng làm cho các cơ quan lúng túng trong việc xử lý. 1.2.3 Cần hoàn thiện qui định của pháp luật: [...]... này là phải hiểu rõ lỗ hổng trên môi trường mạng để bịt kín, không để tội phạm mạng có đất hoạt động 1.3 CÁC KHÁI NIỆM VÀ THUẬT NGỮ: 1.3.1 Hacker: Hacker là một thuật ngữ dùng để chuyên chỉ những kẻ phá hoại các hệ thống mạng Hacker thường là những chuyên gia về máy tính Hacker không tạo ra các Lớp CCMM03A Trang 5 Đồ án An ninh mạng Module 17: Buffer Overflow kẽ hở chohệ thống, nhưng hacker lại là những... Bước 4: sử dụng các công cụ tự động như codeBlocker, eEye Retina, …  Bước 5: Sử dụng bộ phận phân tách và trình gỡ rối  Bước 6: Sử dụng IDA-Proto để xây dựng lại nơi bị khai thác Hình 2.7: Các bước xác định Buffer Overflow Lớp CCMM03A Trang 20 Đồ án An ninh mạng Module 17: Buffer Overflow 2.6 CÁCH PHÒNG TRÁNH BUFFER OVERFLOW: Các cách có thể cản trở đối các kĩ thuật khai thác lỗi buffer overflow: ... (char *)malloc(2); printf(Enter something: ); gets(buf); strcpy (buffer1 , buf); free (buffer1 ); free (buffer2 ); return (1); } Sau khi thực thi khai thác lỗi ta có kết quả sau: 2.5 CÁCH PHÁT HIỆN BUFFER OVERFLOW: Có 2 cách cơ bản để phát hiện các lỗi buffer overflow mà hacker có thể sử dụng :  Nhìn vào source code: Hacker tìm kiếm các string là các biến cục bộ trong các hàm của chương trình, xem xét chúng... liệu được copy vào buffer hay không  Những chương trình hoặc ứng dụng được lập trình không tốt khi tạo ra nó (khả năng lập trình kém) Một lỗi buffer overflow xuất hiện khi buffer cố gắng cấp phát 1 không gian lưu trữ có dữ liệu lớn hơn khả năng lưu trữ của nó Có 2 kiểu Buffer Overflow chính:  Stack overflow  Heap overflow Lớp CCMM03A Trang 12 Đồ án An ninh mạng Module 17: Buffer Overflow Stack (nơi... duyệt là an toàn Lớp CCMM03A Trang 29 Đồ án An ninh mạng Module 17: Buffer Overflow  Ngoài ra, ứng dụng cần kết hợp với HTTP Header, đặc biệt là thành phần Referer để đảm bảo trang yêu cầu không xuất phát từ máy hacker như trong kĩ thuật Buffer Overflow, thao tác trên biến ẩn form,…  Chứng thực người dùng:  Nhiều ứng dụng hiện nay quản lí một phiên làm việc của người dùng bằng sessionID nhưng sự yếu... trình Phân đoạn này được đánh dấu là chỉ đọc và sẽ gây ra lỗi nếu như ghi trên phân đoạn này Kích thước là cố định tại lúc thực thi khi tiến trình lần đầu tiên được nạp  data: là phân đoạn được sử dụng để lưu trữ các biến toàn cục và có khởi tạo giá trị ban đầu như là: int a=0; kích thước này cũng cố định tại lúc thực thi chương trình Lớp CCMM03A Trang 10 Đồ án An ninh mạng Module 17: Buffer Overflow. .. nhớ mà attacker có thể khai thác Trong ngôn ngữ C, các chuỗi (string) hay các buffer được thể hiện như sau: Con trỏ (pointer) sẽ chỉ trỏ vào byte đầu tiên của chuỗi hay buffer đó, và chúng ta xác định được kết điểm kết thúc khi con trỏ trỏ đến 1 byte null → không xác định độ dài của đối tượng nhập vào → có thể copy 1 buffer có độ dài lớn vào 1 buffer có độ dài nhỏ hơn → gây tràn bộ nhớ đệm (buffer overflow) ... trình duyệt cũng hỗ trợ cookie, mà còn tùy thuộc vào người dùng có chấp nhận chuyện lưu trữ đó hay không Ở những lần truy cập sau đến trang Web đó, ứng dụng có thể dùng lại những thông tin trong cookie (như thông tin liên quan đến việc đăng nhập vào Yahoo Messenger! ) mà người dùng không phải làm lại thao tác đăng nhập hay phải cung cấp lại các thông tin khác Cookie được phân làm 2 loại secure/non-secure... lí một phiên làm việc khiến cho hacker có thể dễ dàng kiểm soát được một phiên làm việc của người dùng như trong kĩ thuật “quản lí phiên làm việc” Vì thế, đối với một phiên làm việc, ứng dụng cần hủy ngay sau khi trình duyệt đóng kết nối  Mã hóa dữ liệu quan trọng:  Những thông tin quan trong như tên/mật khẩu, credit card,… cần được mã hóa để tránh hacker có thể lấy được nội dung và sử dụng chúng như... sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp những yêu cầu từ client đến server, cũng như trả lời của server đến client Vì vậy proxy server giống cầu nối trung gian giữa server và client Lớp CCMM03A Trang 9 Đồ án An ninh mạng Module 17: Buffer Overflow CHƯƠNG 2: GIỚI THIỆU VỀ KỸ THUẬT BUFFER OVERFLOW 2.1 ĐỊNH NGHĨA: Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình . KỸ THUẬT BUFFER OVERFLOW 10 2.1 ĐỊNH NGHĨA: 10 2.2 LỖI BUFFER OVERFLOW VÀ NGUYÊN NHÂN GÂY LỖI: 12 2.3 STACK OVERFLOW: 13 2.3.1 Định nghĩa: 13 2.3.2 Mục đích chính của Stack buffer overflow: . Module 17: Buffer Overflow Lớp CCMM03A Trang i ĐỀ TÀI TÌM HIỂU VỀ AN NINH MẠNG VÀ KỸ THUẬT BUFFER OVERFLOW Đồ án An ninh mạng Module 17: Buffer Overflow Lớp. thống mạng Hacker thường là những chuyên gia về máy tính. Hacker không tạo ra các Đồ án An ninh mạng Module 17: Buffer Overflow Lớp CCMM03A Trang 6 kẽ hở chohệ thống, nhưng hacker lại là những

Ngày đăng: 19/08/2015, 23:34

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