Luận Văn Nghiên cứu một số vấn đề về bảo mật ứng dụng web trên internet

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    MỤC LỤC

    GIỚI THIỆU
    Tổ chức của luận văn .
    PHẦN THỨ NHẤT: CƠ SỞ LÍ THUYẾT .
    Chương 1: Giới thệu Ứng dụng Web
    I. KHÁI NIỆM ỨNG DỤNG WEB
    II. MÔ TẢ HOẠT ĐỘNG CỦA MỘT ỨNG DỤNG WEB .
    Chương 2: Các khái niệm, thuật ngữ liên quan
    I. HACKER
    II. HTTP HEADER .
    III. SESSION .
    IV. COOKIE
    V. PROXY .
    Chương 3: Giới thiệu sơ lược về các kĩ thuật tấn công Ứng dụng Web
    I. KIỂM SOÁT TRUY CẬP WEB
    I.1. Thâm nhập hệ thống qua cửa sau
    II. CHIẾM HỮU PHIÊN LÀM VIỆC .
    II.1. Ấn định phiên làm việc
    II.2. Đánh cắp phiên làm việc .
    III. LỢI DỤNG CÁC THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ LIỆU NHẬP HỢP
    LỆ . .
    III.1. Kiểm tra tính đúng đắn của dữ liệu bằng ngôn ngữ phía trình duyệt
    III.2. Tràn bộ đệm .
    III.3. Mã hóa URL
    III.4. Kí tự Meta
    III.5. Vượt qua đường dẫn
    III.6. Chèn mã lệnh thực thi trên trình duyệt nạn nhân
    III.7. Thêm câu lệnh hệ thống . .
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    III.8. Chèn câu truy vấn SQL .
    III.9. Ngôn ngữ phía máy chủ
    III.10. Kí tự rỗng . .
    III.11. Thao tác trên tham số truyền .
    IV. ĐỂ LỘ THÔNG TIN .
    V. TỪ CHỐI DỊCH VỤ .
    PHẦN THỨ HAI: CÁC KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB
    Chương 4: Thao tác trên tham số truyền
    I. THAO TÁC TRÊN URL
    I.1. Khái niệm .
    I.2. Một số biện pháp khắc phục .
    II. THAO TÁC TRÊN BIẾN ẨN FORM .
    II.1. Khái niệm
    II.2. Một số biện pháp khắc phục .
    III. THAO TÁC TRÊN COOKIE
    III.1. Khái niệm .
    III.2. Một số biện pháp khắc phục
    IV. THAO TÁC TRONG HTTP HEADER .
    IV.1. Khái niệm
    IV.2. Một số biện pháp khắc phục
    Chương 5: Chèn mã lệnh thực thi trên trình duyệt nạn nhân (Cross Side Scripting) .
    I. KĨ THUẬT TẤN CÔNG CROSS-SITE SCRIPTING (XSS) .
    II. PHƯƠNG PHÁP TẤN CÔNG XSS TRUYỀN THỐNG .
    III. MỘT SỐ WEBSITE TÌM THẤY LỖ HỔNG XSS .
    IV. TẤN CÔNG XSS BẰNG FLASH .
    V. CÁCH PHÒNG CHỐNG
    Chương 6: Chèn câu truy vấn SQL (SQL Injection) .
    I. KHÁI NIỆM SQL INJECTION .
    II. GIỚI THIỆU MÔ HÌNH CƠ SỞ DỮ LIỆU .
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    III. CÁC CÁCH TẤN CÔNG .
    III.1. Kĩ thuật tấn công SQL Injection .
    III.2. Tấn công dưa vào câu lệnh SELECT
    III.3. Tấn công dưa vào câu lệnh HAVING .
    III.4. Tấn công dưa vào câu lệnh kết hợp UNION
    III.5. Tấn công dưa vào lệnh INSERT .
    III.6. Tấn công dưa vào STORED PROCEDURE
    III.7. Nâng cao .
    III.7.1. Chuỗi kí tự không có dấu nháy đơn .
    III.7.2. Tấn công 2 tầng
    III.7.3. Tránh sự kiểm soát .
    III.7.4. Dùng Extended Stored Procedure
    III.7.4.1. Dùng Extended Stored Procedure có sẵn trong hệ thống SQL Server .
    III.7.4.2. Dùng Extended Stored Procedure tự tạo .
    III.7.4.3. Nhập tập tin văn bản vào bảng
    IV. CÁCH PHÒNG CHỐNG
    IV.1. Kiểm tra dữ liệu
    IV.2. Khoá chặt SQL Server (SQL Server Lockdown) .
    Chương 7: Chiếm hữu phiên làm việc (Session Management)
    I. TỔNG QUAN VỀ SESSION ID
    II. ẤN ĐỊNH PHIÊN LÀM VIỆC .
    II.1. Tấn công Session ID trên tham số URL
    II.2. Tấn công Session ID trong biến ẩn form .
    II.3. Tấn công Session ID trong cookie .
    II.4. Cách phòng chống .
    III. ĐÁNH CẮP PHIÊN LÀM VIỆC
    III.1. Tấn công kiểu dự đoán phiên làm việc (Prediction sessionID)
    III.2. Tấn công kiểu vét cạn phiên làm việc (Brute force ID) .
    III.3. Tấn công kiểu dùng đoạn mã để đánh cấp phiên làm việc .
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    III.4. Cách phòng chống .
    III.5. Sự khác biệt giữa đánh cắp phiên làm việc (session hijacking) và ấn định phiên
    làm việc (session fixation) .
    Chương 8: Tràn bộ đệm (Buffer Overflow)
    I. KHÁI NIỆM .
    II. SƠ ĐỒ TỔ CHỨC CỦA BỘ NHỚ .
    II.1. Stack .
    II.2. Push và Pop
    II.3. Cách làm việc của hàm
    II.4. Shell code .
    III. MỘT SỐ CÁCH GÂY TRÀN BỘ ĐỆM QUA ỨNG DỤNG WEB .
    IV. CÁC CÁCH PHÒNG CHỐNG .
    Chương 9: Từ chối dịch vụ (DoS) .
    I. KHÁI NIỆM
    II. NHỮNG KHẢ NĂNG BỊ TẤN CÔNG BẰNG DOS .
    III. CÁC KĨ THUẬT TẤN CÔNG
    III.1. Khái niệm về Tcp bắt tay ba chiều
    III.2. Lợi dụng TCP thực hiện phương pháp SYN flood truyền thống
    III.3. Tấn công vào băng thông
    III.3.1. Kiểu tấn công thứ 1
    III.3.2. Kiểu tấn công thứ 2
    III.4. Kiểu tấn công vào tài nguyên hệ thống .
    IV. BIỆN PHÁP PHÒNG CHỐNG .
    Chương 10: Một số kĩ thuật tấn công khác .
    I. MÃ HÓA URL (URL Encoding)
    I.1. Khái niệm
    I.2. Một số biện pháp phòng chống .
    II. KIỂU TẤN CÔNG VƯỢT ĐƯỜNG DẪN
    II.1. Khái niệm
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    II.2. Một số biện pháp phòng chống
    III. TẤN CÔNG DỰA VÀO KÍ TỰ RỖNG .
    III.1. Khái niệm
    III.2. Một số biện pháp phòng chống .
    IV. NGÔN NGỮ PHÍA TRÌNH CHỦ .
    IV.1. Khái niệm
    IV.2. Cách tấn công
    IV.3. Biện pháp phòng chống
    Chương 11: Tổng kết quá trình tấn công của Hacker .
    I. THU THẬP THÔNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU
    II. KHẢO SÁT ỨNG DỤNG WEB
    III. TẤN CÔNG
    Chương 12: Tổng kết các biện pháp phòng chống .
    I. VỚI NHỮNG NHÀ QUẢN TRỊ MẠNG
    II. VỚI NHỮNG NHÀ THIẾT KẾ ỨNG DỤNG WEB .
    III. VỚI NGƯỜI SỬ DỤNG ỨNG DỤNG WEB .
    PHẦN THỨ BA: CHƯƠNG TRÌNH WEB CHECKER
    Chương 13: Chương trình Web Checker
    I. ĐẶC TẢ CHƯƠNG TRÌNH WEB CHECKER
    I.1. Tổng quan .
    I.2. Yêu cầu .
    I.2.1. Yêu cầu chức năng .
    I.2.1. Yêu cầu phi chức năng .
    II. KIẾN TRÚC CHƯƠNG TRÌNH WEB CHECKER
    II.1. Kiến trúc chương trình Web Checker .
    II.2. Giao tiếp giữa chương trình với trình chủ Web .
    III. CÀI ĐẶT .
    III.1. Ngôn ngữ cài đặt
    III.2. Phương pháp cài đặt .
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    III.2.1. Sử dụng mô hình giao diện dạng Dialog .
    III.2.2. Sử dụng ActiveX Control (Microsoft Web Browser) .
    III.2.3. Sử dụng giao diện lập trình Window Socket 2
    III.2.4. Một số lớp và hàm chính được cài đặt trong chương trình .
    III.3. Mô tả chương trình và cách sử dụng
    III.3.1. Màn hình chương trình
    III.3.2. Cách sử dụng .
    IV. ĐÁNH GIÁ CHƯƠNG TRÌNH
    IV.1. Những vấn đề đạt được
    IV.2. Những vấn đề hạn chế
    KẾT LUẬN .
    I. NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC .
    II. HƯỚNG PHÁT TRIỂN .
    PHỤ LỤC

    GIỚI THIỆU

    Ngày nay, khi Internet được phổ biến rộng rãi, các tổ chức, cá nhân đều có nhu cầu
    giới thiệu thông tin của mình trên xa lộ thông tin cũng như thực hiện các phiên giao
    dịch trực tuyến. Vấn đề nảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngày
    càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở thành đối tượng
    cho nhiều người tấn công với các mục đích khác nhau. Đôi khi, cũng chỉ đơn giản là để
    thử tài hoặc đùa bỡn với người khác.
    Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số lượng
    các vụ tấn công trên Internet cũng tăng theo cấp số nhân. Trong khi các phương tiện
    thông tin đại chúng ngày càng nhắc nhiều đến những khả năng truy nhập thông tin của
    Internet, thì các tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an
    toàn dữ liệu cho các máy tính được kết nối vào mạng Internet.
    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 đó
    Khoa CNTT
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    -Trang 8-
    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 (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ỹ.
    Khoa CNTT
    Nghiên cứu một số vấn đề về bảo mật ứng dụng Web trên Internet
    -Trang 9-
    Với những công cụ tự động tìm lỗ hổng tuy giúp rất nhiều cho những nhà lập trình
    Web nhưng vẫn không thể ngăn chặn toàn bộ vì công nghệ Web đang phát triển nhanh
    chóng (chủ yếu chú trọng đến yếu tố thẩm mĩ, yếu tố tốc độ ) nên dẫn đến nhiều
    khuyết điểm mới phát sinh. Sự tấn công không nằm trong khuôn khổ vài kĩ thuật đã
    phát hiện, mà linh động và tăng

    TÀI LIỆU THAM KHẢO

    ã Hacking Exposed, Stuart McClure, Joel Scambray, George Kurtz
    ã RFC2617, J.Franks, P. Hallam-Baker, J.Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart – 06/1999
    ã http://www.sqlsecurity.com/
    ã http://www.nextgenss.com/papers/
    ã http://www.owasp.org/
    ã http://www.4guysfromrolla.com/webtech/
    ã http://www.guardent.com/
    ã http://www.idefense.com/
    ã http://www.jmu.edu/computing/info-security/engineering/issues/
    ã http://www.microsoft.com/technet/support/
    ã http://www.microsoft.com/technet/security/
    ã http://community.whitehatsec.com/
    ã http://www.codeproject.com/
     

    Các file đính kèm:

Đang tải...