1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu các lỗ hổng ứng dụng web và cách phòng chống

72 19 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 3,07 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Đỗ Hoành Bách NGHIÊN CỨU CÁC LỖ HỔNG ỨNG DỤNG WEB VÀ CÁCH PHÒNG CHỐNG LUẬN VĂN THẠC SĨ KỸ THUẬT CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS Trần Đức Khánh Hà Nội – Năm 2014 Lời cam đoan Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn trung thực chƣa đƣợc công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực luận văn đƣợc cảm ơn thơng tin trích dẫn luận văn đƣợc rõ nguồn gốc Học viên Đỗ Hoành Bách Lời cảm ơn Trƣớc tiên, xin đƣợc gửi lời cảm ơn đến tất q thầy giảng dạy chƣơng trình Cao học Cơng nghệ thơng tin khóa CH2012B – Viện Công nghệ thông tin Truyền thông – Đại học Bách Khoa Hà Nội Các thầy cô truyền đạt cho tơi kiến thức hữu ích làm sở để tơi hồn thành luận văn Tơi xin chân thành cảm ơn TS Trần Đức Khánh tận tình hƣớng dẫn cho thời gian thực luận văn Những kiến thức Thầy hƣớng dẫn, bảo cho nhiều kinh nghiệm thời gian thực luận văn Sau xin gửi lời biết ơn sâu sắc đến gia đình ln tạo điều kiện tốt cho tơi suốt q trình học nhƣ thực luận văn Do thời gian có hạn kinh nghiệm nghiên cứu khoa học chƣa nhiều nên luận văn khơng tránh khỏi thiếu sót, mong nhận đƣợc ý kiến đóng góp thầy/cơ anh chị học viên Hà Nội, ngày tháng năm 2014 Học viên Đỗ Hoành Bách Mục lục Lời cam đoan Lời cảm ơn Mục lục Danh mục kí hiệu, chữ viết tắt Danh mục bảng .7 Danh mục hình vẽ, đồ thị CHƢƠNG 1: TỔNG QUAN .10 1.1 Tổng quan an ninh thông tin mạng máy tính 10 1.2 Nhu cầu thực tế 11 CHƢƠNG 2: LỖ HỔNG AN NINH WEBSITE 12 2.1 Tổng quan lỗ hổng an ninh website .12 2.2 Một số lỗ hổng an ninh website phổ biến 13 2.2.1 SQL Injection 13 2.2.2 Cross Site Scripting (XSS) 22 2.2.3 Cross-site Request Forgery (CSRF) .26 2.2.4 Directory Traversal .28 2.2.5 Padding Oracle 31 CHƢƠNG XÂY DỰNG HỆ THỐNG WEBSITE THỬ NGHIỆM .48 3.1 Môi trƣờng thử nghiệm 48 3.2 Kịch thử nghiệm 48 3.2.1 SQL Injection 48 3.2.2 XSS .49 3.2.3 Directory Traversal .49 3.2.4 CSRF .50 3.2.5 Padding Oracle 50 3.3 Kết thử nghiệm .51 3.3.1 SQL Injection 51 3.3.2 XSS .55 3.3.3 Directory Traversal .58 3.3.4 CSRF .61 3.3.5 Padding Oracle 64 KẾT LUẬN 70 4.1 Những kết đạt đƣợc .70 4.2 Định hƣớng phát triển 70 TÀI LIỆU THAM KHẢO 72 Danh mục kí hiệu, chữ viết tắt Từ viết tắt Ý nghĩa SQL Structured Query Language – ngơn ngữ truy vấn mang tính cấu trúc XSS Cross-Site Scripting – lỗ hổng bảo mật CSRF Cross-Site Request Forgery – lỗ hổng bảo mật URL Uniform Resource Locator – địa tham chiếu tài nguyên Internet CBC Cipher Block Chaining – mơ hình mã hóa khối IV CBC-R PHP IIS CMS Initialization Vector – Vector khởi tạo thuật toán CBC CBC Reverse – kĩ thuật mã hóa xâu ký tự Padding Oracle Hypertext Preprocessor – ngôn ngữ lập trình web Internet Information Server – phần mềm máy chủ web Microsoft Content Management System – hệ thống quản trị nội dung Danh mục bảng Bảng Escape Characters 15 Bảng Html Entities 25 Bảng Ph p toán XOR 34 Danh mục hình vẽ, đồ thị Hình Các mơ hình mã hóa .32 Hình Sơ đồ mã hóa 34 Hình Sơ đồ giải mã 35 Hình Hệ thống Oracle mật mã học 36 Hình Padding theo chuẩn PKCS7 37 Hình Xâu mã hóa 38 Hình Q trình mã hóa 38 Hình Quá trình giải mã 39 Hình Padding sai 40 Hình 10 Thay đổi byte cuối khối .41 Hình 11 Cho đến padding 41 Hình 12 Giải mã byte 42 Hình 13 Cho đến padding 42 Hình 14 Giải mã tồn khối 43 Hình 15 Sơ đồ giải mã 43 Hình 16 Minh họa lỗi Padding ASP.NET .46 Hình 17 Trang web điện thoại di động 51 Hình 18 Thay đổi nội dung biến id 52 Hình 19 Lấy đƣợc thơng tin tài khoản đăng nhập .53 Hình 20 Biến id không đƣợc xử lý kỹ .53 Hình 21 Lọc từ khóa nguy hiểm 54 Hình 22 Khơng khai thác đƣợc lỗ hổng SQL Injection sau khắc phục .54 Hình 23 Form nhập liệu hiển thị 55 Hình 24 Lỗ hổng XSS 56 Hình 25 Ch n trang web khác vào link để lừa ngƣời dùng 57 Hình 26 Biến name khơng đƣợc xử lý kỹ 57 Hình 27 Sử dụng hàm htmlentities để mã hóa biến đầu vào 57 Hình 28 Khơng khai thác đƣợc lỗ hổng XSS sau xử lý biến đầu vào 58 Hình 29 Website thử nghiệm Directory Traversal 59 Hình 30 Hiển thị file boot.ini hệ điều hành .60 Hình 31 Biến file không đƣợc xử lý kỹ 60 Hình 32 Lọc ký tự nguy hiểm 61 Hình 33 Khơng khai thác đƣợc lỗ hổng Directory Traversal sau khắc phục .61 Hình 34 Trang web thử nghiệm CSRF 62 Hình 35 Quản trị website thêm, sửa, xóa nội dung thơng tin 62 Hình 36 Đƣờng link hacker lừa gửi cho quản trị viên .63 Hình 37 Nội dung ẩn bên file html 63 Hình 38 Các nội dung ban đầu website bị vơ tình bị xóa .64 Hình 39 Trang web ngân hàng thử nghiệm Padding Oracle 65 Hình 40 WebResource ScriptResource .65 Hình 41 Sử dụng ScriptResource để hiển thị file tài nguyên máy chủ 66 Hình 42 Cấu hình Custom Errors web.config 66 Hình 43 Gửi truy vấn tới Webserver để phát khả tồn lỗ hổng 67 Hình 44 Mã hóa byte chuỗi ký tự đƣờng dẫn tới file web.config .67 Hình 45 Kết mã hóa cuối xâu đƣờng dẫn tới web.config 68 Hình 46 Nội dung file web.config với nhiều thông tin nhạy cảm 68 Hình 47 Sửa lại cấu hình file web.config Remote Only 69 Hình 48 Khơng khai thác đƣợc lỗ hổng Padding Oracle sau khắc phục .69 CHƢƠNG 1: TỔNG QUAN 1.1 Tổng quan an ninh thông tin mạng máy tính Mạng Internet với ứng dụng đƣợc coi phát minh vĩ đại văn minh nhân loại Với kết nối rộng lớn Internet, website xuất bật lên nhƣ kênh thông tin hữu dụng hoạt động Có thể dễ dàng nhận thấy diện website hầu hết lĩnh vực: công ty giới thiệu, quảng cáo mắt sản phẩm dịch vụ website; tổ chức y tế sử dụng website để tƣ vấn mang thông tin sức khỏe đến ngƣời; trƣờng học tiến hành ển sinh, chí đào tạo website…Các quan phủ sử dụng website nhƣ kênh truy ền thông nhằm ên truyền chủ trƣơng, quy định hay tiếp xúc với ngƣời dân Đặc biệt năm gần đây, trào lƣu mạng xã hội đƣa Facebook, Twitter hay Linkedin trở thành phần thiếu đời sống nhiều ngƣời Những điều tuyệt vời mà web mang lại cho xã hội phủ nhận Tuy nhiên, mặt trái lợi ích hậu vơ nghiêm trọng website mắc lỗ hổng an ninh Những lỗ hổng bị hacker lợi dụng để gây hại tới tài nguyên website tới ngƣời truy cập, sử dụng Ngày nay, mà dịch vụ nhƣ Internet Banking, ví điện tử hay giao dịch chứng khoán trực tuyến phát triển nhanh theo xu chung thƣơng mại điện tử tổn thất tiền bạc chẳng thể đong đếm hệ thống website bị công Không gây tổn thất kinh tế, website mặt tổ chức, cá nhân, vậy, tổn thất lớn uy tín website bị công Gần đây, việc báo điện tử Vietnamnet bị công gây xôn xao dƣ luận để lại hậu vô nghiêm trọng cho đơn vị Hàng tháng có nhiều website Việt Nam bị công, chiếm quyền điều khiển Đáng ý số có khơng website ngân hàng, cơng ty chứng khốn, tổ chức phủ giáo dục mắc lỗ hổng nghiêm trọng 10 H nh 28 Không khai thác lỗ hổng XSS sau xử lý biến đầu vào 3.3.3 Directory Traversal Trang web thử nghiệm trang đơn giản sử dụng hàm include PHP để hiển thị file nội dung thành phần: 58 H nh 29 Website thử nghiệm Directory Traversal Khi ngƣời dùng click vào link có dạng: http://10.53.20.194/directory/index.php?file=football.php webserver nạp trang football.php lên hiển thị Nếu biến đầu vào file không đƣợc xử lý kĩ tồn lỗ hổng Directory Traversal Có thể thay đổi biến đầu vào nội dung đặc biệt để hiển thị file khác hệ thống: 59 H nh 30 Hiển thị file boot.ini hệ điều hành Nguyên nhân gây lỗ hổng biến đầu vào không đƣợc xử lý kỹ càng, không đƣợc lọc ký tự nguy hiểm: H nh 31 iến file không xử lý kỹ Sau xử lý biến đầu vào, lọc từ khóa nguy hiểm số hàm PHP, thực thử lại việc khai thác lỗ hổng Directory Traversal: 60 H nh 32 Lọc ký tự nguy hiểm H nh 33 Không khai thác lỗ hổng Directory Traversal sau khắc phục 3.3.4 CSRF Website thử nghiệm đƣợc xây dựng tảng GetSimple CMS Đây tảng mở đƣợc viết ngôn ngữ PHP 61 H nh 34 Trang web thử nghiệm CSRF H nh 35 Qu n trị website thêm, sửa, xóa nội dung thơng tin 62 Chính tính thêm, sửa, xóa mắc lỗi CSRF không kiểm tra kỹ quyền thực thi tính Hacker gửi cho quản trị website đƣờng link có ẩn giấu chức trên: H nh 36 Đường link hacker lừa gửi cho qu n trị viên Thực chất bên file html, đƣờng link với chức thêm, sửa, xóa viết website đƣợc ẩn giấu kh o l o điểm ảnh có độ lớn 0: H nh 37 Nội dung ẩn bên file html Nếu quản trị viên click vào đƣờng link mà hacker gửi cho vơ tình thực thi chức thêm, sửa, xóa nội dung website làm website thay đổi 63 H nh 38 Các nội dung ban đầu website bị vơ t nh bị xóa Để khắc phục lỗ hổng này, cần thêm biến token để kiểm tra tính xác thực chức thêm, sửa, xóa nội dung website trƣớc thực chúng 3.3.5 Padding Oracle Nội dung trang web thử nghiệm trang hiển thị thông tin ngân hàng đƣợc viết ngôn ngữ NET: 64 H nh 39 Trang web ngân hàng thử nghiệm Padding Oracle Thành phần WebResource ScriptResource hiển thị phần Page Source: H nh 40 WebResource ScriptResource 65 H nh 41 Sử dụng ScriptResource để hiển thị file tài nguyên máy chủ Cấu hình Custom Errors file web.config đƣợc cấu hình Off: H nh 42 Cấu h nh Custom Errors web.config 66 Khai thác lỗ hổng Padding Oracle cơng cụ mạng, mã hóa đƣờng dẫn tới file máy chủ web, ví dụ file web.config: H nh 43 Gửi truy vấn tới Webserver để phát kh tồn lỗ hổng H nh 44 Mã hóa byte chuỗi ký tự đường dẫn tới file web.config 67 H nh 45 Kết qu mã hóa cuối xâu đường dẫn tới web.config H nh 46 Nội dung file web.config với nhiều thông tin nhạy c m 68 H nh 47 Sửa lại cấu h nh file web.config Remote Only H nh 48 Không khai thác lỗ hổng Padding Oracle sau khắc phục 69 KẾT LUẬN 4.1 Những kết đạt đƣợc Sau hoàn thành, luận văn đạt đƣợc kết nhƣ sau: - Tìm hiểu tổng quan an tồn thơng tin cho mạng máy tính - Nghiên cứu khái niệm, nguyên nhân, chất lỗ hổng ứng dụng web sau: o Lỗ hổng SQL Injection o Lỗ hổng XSS o Lỗ hổng CSRF o Lỗ hổng Directory Traversal o Lỗ hổng Padding Oracle - Nghiên cứu đƣa cách khắc phục hệ thống gặp lỗ hổng cách phịng chống lỗ hổng cho lập trình viên quản trị viên website - Xây dựng hệ thống website thử nghiệm việc cơng phịng chống lỗ hổng Đây môi trƣờng thuận tiện cho việc nghiên cứu, hiểu sâu chất lỗ hổng ứng dụng web Những kết đạt đƣợc nhƣ đáp ứng đƣợc yêu cầu đặt ban đầu luận văn “Nghiên cứu lỗ hổng ứng dụng web cách phòng chống” 4.2 Định hƣớng phát triển Luận văn đáp ứng đƣợc yêu cầu đặt ban đầu Tuy nhiên điều kiện hạn chế thời gian tài liệu nên kết đạt đƣợc chƣa thể bao trùm hết toàn lỗ hổng ứng dụng web Trong thời gian tới, có điều kiện, luận văn tiếp tục phát triển hoàn thiện nội dung sau: 70 - Nghiên cứu bổ sung thêm nội dung liên quan đến lỗ hổng ứng dụng web khác, lỗ hổng đƣợc phát - Nghiên cứu thêm biện pháp khắc phục, phòng chống lỗ hổng ứng dụng web nhƣ sử dụng tƣờng lửa ứng dụng web - Xây dựng hệ thống website thử nghiệm nhiều tảng đƣợc sử dụng nhƣ Linux, Windows Server 71 TÀI LIỆU THAM KHẢO Arnold K.L.Y, Kenneth G.P., Chris J.M (2005), Padding Oracle Attacks on CBC-mode Encryption with Secret and Random IVs, Information Security Group - Royal Holloway - University of London, Surrey OWASP (2013), The Ten Most Critical Web Application Security Risks, OWASP Foundation, Los Angeles Rizzo J., Thai Duong (2010), Practical Padding Oracle Attack, Blackhat Europe 2010, Barcelona Serge V (2002), CBC Padding: Security Flaws in SSL, IPSEC, WTLS,…, Swiss Federal Institute of Technology, Zurich Simson G., Gene S (2001), Web Security, Privacy & Commerce, 2nd Edition, O‟Reilly Media, California 72 ... Injection) Một số webserver thực việc tắt thông báo lỗi SQL, nên ứng dụng web mắc lỗi khai thác theo cách dựa vào thông báo lỗi đƣợc Tuy nhiên, cách kiểm tra khác nữa, dựa vào mệnh đề sai Hacker... loại lỗ hổng an ninh mà website mắc phải, tƣơng ứng với kiểu công khác Tuy nhiên, tồn phổ biến loại lỗ hổng sau: - Lỗi SQL Injection: Website sử dụng giá trị biến mà ngƣời dùng nhập vào để đƣa vào... trang web dị tìm kiếm lỗ hổng CSRF Do trang web đƣợc phát triển tảng mở GetSimple CMS nên tìm kiếm thơng tin lỗ hổng trang web từ nguồn công bố lỗ hổng mạng Internet - Bƣớc 2: Khai thác lỗ hổng

Ngày đăng: 15/02/2022, 19:00

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w