Đăng ký Đăng nhập
Trang chủ Một số hình thức tấn công và giải pháp phòng chống tấn công ứng dụng trang thông...

Tài liệu Một số hình thức tấn công và giải pháp phòng chống tấn công ứng dụng trang thông tin điện tử kênh truyền hình cand (antv)

.PDF
73
276
149

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SĨ MỘT SỐ HÌNH THỨC TẤN CÔNG VÀ GIẢI PHÁP PHÒNG CHỐNG TẤN CÔNG ỨNG DỤNG TRANG THÔNG TIN ĐIỆN TỬ KÊNH TRUYỀN HÌNH CAND (ANTV) ĐOÀN THỊ KIM DUNG CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ SỐ: 60480201 HƯỚNG DẪN KHOA HỌC: PGS. TS. ĐOÀN VĂN BAN HÀ NỘI - 2017 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của bản thân. Các số liệu, kết quả trình bày trong luận văn này là số liệu thực tế hoàn toàn trung thực. Những tài liệu được sử dụng trong luận văn có nguồn gốc và trích dẫn rõ ràng, đầyđủ. Hà nội, 08 tháng 12 năm 2017 Đoàn Thị Kim Dung LỜI CẢMƠN Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc và chân thành tới thầy giáo hướng dẫn khoa học: PGS.TS Đoàn Văn Ban, người đã tận tình chỉ bảo, hướng dẫn tôi trong suốt quá trình làm luận văn. Sự giúp đỡ quý báu của thầy giáo về mặt định hướng nghiên cứu khoa học và là nguồn động viên tinh thần rất lớn giúp tôi hoàn thành luận văn của mình. Tôi xin cảm ơn tất cả các thầy cô giáo đã hết lòng giúp đỡ tôi trong suốt quá trình học tập. Tôi xin cảm ơn tập thể lớp và bạn bè đã hỗ trợ tôi trong những ngày tháng học tập tại Viện. Tôi cũng xin cảm ơn gia đình đã động viên tôi trong suốt thời gian hoàn thành luận văn này. MỤC LỤC MỞ ĐẦU ....................................................................................................................7 CHƯƠNG 1CÁC DỊCH VỤ CỦA WEB VÀ VẤN ĐỀ ĐẢM BẢO AN NINH THÔNG TIN ................................................................................................... 10 1.1 Tình hình an ninh mạng trong nước và thế giới .....................................10 1.2 Các khái niệm trong ứng dụng web .........................................................12 1.2.1 Ngôn ngữ lập trình ..............................................................................13 1.2.2 Hosting và tên miền .............................................................................16 1.2.3 Cơ sở dữ liệu ........................................................................................16 1.2.4 Cookies .................................................................................................16 1.2.5 Session ..................................................................................................17 1.3 Các dịch vụ web .........................................................................................18 1.3.1 Đặc điểm ...............................................................................................18 1.3.2 Ưu diểm và nhược điểm của Web service ...........................................18 1.3.3 Các thành phần của Web service ........................................................20 1.3.4 Quy trình xây dựng Web service .........................................................25 1.3.5 An toàn cho dịch vụ Web .....................................................................27 1.4 Các lỗi bảo mật hệ thống ứng dụng trên nền web ..................................28 1.5 Nguy cơ bị tấn công của ứng dụng web ...................................................29 1.6 Kết luận chương .........................................................................................30 CHƯƠNG 2MỘT SỐ KỸ THUẬT TẤN CÔNG VÀ BIỆN PHÁP PHÒNG TRÁNH ....................................................................................................................31 2.1 Tấn công từ chối dịch vụ (DDOS) ............................................................31 2.1.1 Khái niệm .............................................................................................31 2.1.2 Cách thức tấn công ..............................................................................32 2.1.3 Các dạng tấn công ...............................................................................32 2.1.4 Mô hình tấn công DDoS ......................................................................34 2.1.5 Phân loại tấn công DDoS ....................................................................35 2.1.6 Khó khăn trong việc phòng chống ......................................................38 2.1.7 Biện pháp phòng chống .......................................................................39 2.2 Tấn công CSRF ..........................................................................................40 1 2.2.1 Khái niệm CSRF ..................................................................................40 2.2.2 Các đặc tính của tấn công CSRF ........................................................40 2.2.3 Các hình thức tấn công CSRF ............................................................41 2.2.4 Cách phòng chống và bảo mật ............................................................47 2.3 Tấn công XSS .............................................................................................49 2.3.1 Khái niệm .............................................................................................49 2.3.2 Các thức tấn công ................................................................................50 2.3.3 Các dạng tấn công ...............................................................................50 2.3.4 Biện pháp phòng chống .......................................................................51 2.3.5 Kiếm tra lỗi XSS ...................................................................................52 2.4 Một số lỗ hổng bảo mật khác phổ biến nhất hiện nay............................53 2.4.1. Lỗi Hearbleed .......................................................................................53 2.4.2. Khai thác qua Phishing .......................................................................54 2.4.3. Một số giải pháp phòng chống tấn công .............................................54 2.5 Một số công cụ tấn công ............................................................................55 2.5.1. Maxisploit Scanner ..............................................................................55 2.5.2. Paros Proxy ..........................................................................................56 2.6 Kết luận ......................................................................................................56 CHƯƠNG 3THỰC NGHIỆM TẤN CÔNG WEBSITE KÊNH TRUYỀN HÌNH CAND (ANTV).............................................................................................57 3.1 Đặt bài toán ................................................................................................57 3.1.1 Mô tả bài toán tấn công và phòng thủ ................................................57 3.1.2 Xác định yêu cầu và chức năng của ứng dụng ..................................57 3.1.3 Môi trường và công cụ thực hiện ........................................................58 3.2 Tấn công ứng dụng web ............................................................................59 3.2.1 Tấn công CSRF....................................................................................59 3.2.1 Tấn công XSS .......................................................................................63 3.3 Kết quả thực nghiệm .................................................................................67 3.4 Giải pháp phòng chống tấn công ..............................................................67 3.4.1 Giải pháp phòng chống CSRF ............................................................67 3.4.2 Giải pháp phòng chống XSS ...............................................................68 2 3.5 Kết luận ......................................................................................................68 KẾT LUẬN ..............................................................................................................69 TÀI LIỆU THAM KHẢO ......................................................................................70 3 DANH MỤC CÁC TỪ VIẾT TẮT DDoS - Tấn công từ chối dịch vụ (DistributedDenial of Service) CSRF – Tấn công CSRF ( Cross Site Request Forgery) XXS – Tấn công XSS (Cross Site Scripting) XML – Extensible Markup Language HTML – Hyper Text Markup Language 4 DANH MỤC HÌNH VẼ Hình 1. 1: Biểu đồ thống kê số lượng lỗ hổng bảo mật từ 2010-2014[1] .................10 Hình 1. 2: Mô hình cấu trúc ứng dụng website .........................................................12 Hình 1. 3: Các thành phần của Web service .............................................................20 Hình 2. 1: Mô hình tấn công DDoS cơ bản...............................................................31 Hình 2. 2: Mô hình tấn công DDoS ..........................................................................33 Hình 2. 3 Kẻ tấn công sử dụng Agent Handler để tấn công .....................................34 Hình 2. 4: Kẻ tấn công sử dụng các mạng IRC .........................................................34 Hình 2. 5: Hiển thị tấn công DOS – đang tấn công Smurt sử dụng gói ICMP làm ngập các giao tiếp khác .............................................................................................35 Hình 2. 6: Mô hình tấn công bằng các gói SYN .......................................................38 Hình 2. 7 : Cơ chế tấn công CSRF ............................................................................40 Hình 2. 8: Cách thức tấn công chung của tấn công CSRF ........................................42 Hình 2. 9: Cách thức tấn công chung của tấn công CSRF ........................................42 Hình 2. 10 : Danh sách sản phẩm..............................................................................43 Hình 2. 11: Nội dung mail kèm theo mã độc ............................................................44 Hình 2. 12: Tiến hành gửi nội dung cho người dùng ................................................45 Hình 2. 13: Người dùng thực hiện hành động vô tình gây thiệt hại về dữ liệu ........45 Hình 2. 14: Danh sách sản phẩm sau khi bị tấn công ...............................................45 Hình 2. 15: Mô hình tấn công CSRF theo phương thức POST ................................46 Hình 2. 16: Cấu trúc tấn công Cross-Site Srcipting ..................................................49 Hình 2. 17: Giao diện chính của Maxisploit Scanner ...............................................55 Hình 3. 1: Giao diện khi cài đặt thành công xampp ..................................................58 Hình 3. 2: Giao diện localhost...................................................................................59 Hình 3. 3: Giao diện quản trị cơ sở dữ liệu PHPMyadmin .......................................59 Hình 3. 4: Giao diện trang chủ kênh truyền hình ANTV ..........................................59 Hình 3. 5: Giao diện danh sách tin tức ......................................................................60 Hình 3. 6: Giao diện đăng nhập dành cho quản trị ..................................................60 Hình 3. 7: Giao diện danh sách bài viết của trang ....................................................61 Hình 3. 8: Thu nhập thông tin, mã bài viết là 3 ........................................................61 Hình 3. 9: Url xóa bài viết .........................................................................................61 5 Hình 3. 10: Tiến hành việc gửi email cho admin ......................................................62 Hình 3. 11: Gửi link có kèm Url xóa bài viết ...........................................................62 Hình 3. 12: Người dùng nhận email, click vào link và vô tình xóa bài viết .............62 Hình 3. 13: Giao diện trang tin tức chi tiết của Website ...........................................63 Hình 3. 14: Ta nhận thấy ở cuối mỗi bài viết đều có ô comment, đây là nơi rất dễ dàng dính lỗi bảo mật XSS........................................................................................63 Hình 3. 15: Kiểm tra lỗi bảo mật XSS bằng cách chèn đoạn script vào ô comment 63 Hình 3. 16: Màn hình hiện lên popup, như vậy website bị lỗ hổng bảo mật XSS ....64 Hình 3. 17: Truy vấn lấy cookie người dùng ............................................................64 Hình 3. 18: Thực hiện việc đánh cắp cookie người dùng lưu trữ tại server riêng. ...64 Hình 3. 19: Đoạn code mô phỏng việc lấy thông tin từ website gửi về ....................65 Hình 3. 20: Toàn bộ thông tin cookie đã được đánh cắp ..........................................65 Hình 3. 21: Bài viết chính thức trên website .............................................................66 Hình 3. 22: Kẻ tấn công thực hiện việc thay đổi thông tin trên website bằng đoạn mã javascript .............................................................................................................66 Hình 3. 23: Bài viết đã bị thay đổi nội dung .............................................................66 6 MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay, con người đang bước vào giai đoạn kỷ nguyên số với sự bùng nổ thông tin mạnh mẽ. Các tổ chức, doanh nghiệp cũng đi theo mô hình số hóa, giới thiệu, định hướng thông tin trên Internet. Việc sử dụng Internet trở nên thân quen và trở thành một công cụ không thể thiếu trong đời sống thì lợi ích của website với các cơ quan Nhà nước và doanh nghiệp là vô cùng lớn. Internet mang lại rất nhiều lợi ích nhưng bên cạnh đó nó cũng là một con dao hai lưỡi nếu các nhà quản trị mạng quản lý không thật tốt thông tin website của mình. Website được đưa lên Internet có nghĩa là đã công bố cho mọi người. Và từ đây có những nguy cơ không thể lường trước được. Một kẻ mạo danh có thể tấn công website, chiếm lấy quyền quản trị sau đó đưa thông tin xấu, sai sự thật làm ảnh hưởng tới uy tín của các cơ quan, doanh nghiệp.Vì vậy, bảo mật thông tin website là việc làm hết sức cấp thiết đặc biệt như trong thời điểm hiện nay. Năm 2016, hàng loạt các website, diễn đàn lớn trong nước bị tấn công như:Ngân hàng TMCP Ngoại thương Việt Nam (Vietcombank), Vietnamworks.com, Sân bay Nội Bài, Tân Sơn Nhất,…khiến bị nghẽn mạng nghiêm trọng và thông tin, mật khẩu của khách hàng đã bị đánh cắp, tin tặc lợi dụng lấy cắp tiền trong tài khoản. Các cơ quan quản lý, nhà mạng và các chuyên gia an ninh thông tin của Hiệp hội An toàn thông tin (VNISA) cùng phối hợp tìm kiếm giải pháp chống lại. Tại website của kênh Truyền hình CAND, trong 4 năm hoạt động, website gặp nhiều sự cố về bảo mật thông tin mạng điển hình tháng 6/2014 và tháng 1/2016 trước Đại hội Đảng toàn quốc lần thứ 12 tại Việt Nam website truyền hình công an nhân dân gặp nhiều sự cố của một số kẻ mạo danh đãtấn công website, chiếm lấy quyền quản trị sau đó đưa thông tin xấu, sai sự thật làm ảnh hưởng tới uy tín cũng như định hướng sai thông tin của Đảng, Nhà nước và Bộ công an. Vì vậy, bảo mật thông tin website là việc làm hết sức cấp thiết đặc biệt như trong thời điểm hiện nay. Xuất phát từ thực tế trên, luận văn tiến hành khảo sát tình hình bảo mật thông tin website, phân tích các hướng tấn công mà kẻ mạo danh có thể sử dụng để đánh chiếm quyền quản trị website.Sau khi đã nắm được một số phương thức tấn công, 7 luận văn nêu một số phương pháp phòng chống tấn công website. Cuối cùng là thực nghiệm tấn công vào website bằng một trong nhưng phương thức tấn công đã nêu ra. 2. Mục đích nghiên cứu Nghiên cứu về các cơ chế tấn công website như DDoS, CSRF, XSS và cách phòng chống các nguy cơ tấn công website. 3. Đối tượng và phạm vi nghiên cứu Cụ thể là:  Các khái niệm về website, bảo mật website, tấn công website.  Các khái niệm cơ bản về các hình thức tấn công, mô hình tấn công, lỗ hổng tấn công của một số hình thức tấn công DDoS, CSRF, XSS.  Thực nghiệm tấn công vào website có lỗ hổng.  Đưa ra giải pháp phòng chống và bảo vệ. 4. Nhiệm vụ nghiên cứu  Tìm hiểu về các hình thức, cơ chế tấn công website như DDoS, CSRF, XSS.  Tìm hiểu cách thức phòng chống các cơ chế tấn công website và ứng dụng giải pháp phòng chống lên website thông tin điện tử kênh truyền hình CAND (ANTV). 5. Phương pháp nghiên cứu  Đọc tài liệu phân tích, tổng hợp lý thuyết.  Nghiên cứu các tài liệu về mã hóa, hệ mật mã của các tác giả trong và ngoài nước, các bài báo, thông tin trên mạng, tìm hiểu các mô hình bảo mật,… để phát hiện các cơ chế tấn công website và đề xuất cách thức phòng chống tấn công website, ứng dụng giải pháp phòng chống lến website thông tin điện tử.  Khai thác hệ thống mã nguồn mở và ngôn ngữ lập trình hướng đối tượng Java, Javascript, PHP. Các cơ sở dữ liệu Mysql, Sql Server, Postgre Sql,... để xây dựng ứng dụng demo cho các phương pháp tấn công.  Vận dụng các lý thuyết về bảo mật website, các phương pháp tấn công, lỗ hổng trong việc xây dựng website để tiến hành tấn công. 8 6. Bố cục của luận văn Mở đầu Chuơng 1: Các dịch vụ của web và vấn đề đảm bảo an ninh thông tin. Chuơng 2: Một số kỹ thuật tấn công và biện pháp phòng tránh. Chuơng 3: Thực nghiện tấn công trang thông tin điện tử truyền hình Công an nhân dân (ANTV). Kết luận Tài liệu tham khảo 9 CHƯƠNG 1 CÁC DỊCH VỤ CỦA WEB VÀ VẤN ĐỀ ĐẢM BẢO AN NINH THÔNG TIN 1.1 Tình hình an ninh mạng trong nước và thế giới Theo thống kế từ tổ chức Cơ sở dữ liệu về lỗ hổng bảo mật quốc gia (NVD) công bố trong năm 2014, trung bình mỗi ngày có 19 lỗ hổng bảo mật trên các hệ điều hành máy tính được thông báo. Các lỗ hổng nguy hiểm được đánh giá theo tác động bảo mật của chúng cao hay thấp, chẳng hạn như lỗ hổng cho phép tin tặc thực thi các mã độc từ xa được xem là lỗ hổng phổ biến và gây nguy cơ mất an ninh cao. Hình 1. 1: Biểu đồ thống kê số lượng lỗ hổng bảo mật từ 2010-2014 (Nguồn :thông báo và dữ liệu từ Cơ sở dữ liệu về lỗ hổng bảo mật quốc gia (NVD) - Viện nghiên cứu về các tiêu chuẩn và công nghệ quốc gia (NIST) ) Một website tồn tại quá nhiều lỗ hổng bảo mật là cơ sở để các tín tặc truy cập và đánh cắp cơ sở dữ liệu của cá nhân, tổ chức như thông tin thẻ tín dụng, danh sách khách hàng, báo cáo tài chính, làm sai lệch quy trình hoạt động vì mục đích bất hợp pháp, … 10 Tháng 6-2015, tin tặc đã phát hiện được lỗ hổng và tấn công vào Văn phòng quản lý nhân sự ở Mỹ. Cuộc tấn công này khiến cho thông tin cá nhân của hơn 20 triệu người bị đánh cắp, trong đó có khoảng 5.6 triệu người bị đánh cắp cả dữ liệu vân tay. Ở Việt Nam, theo thống kê năm 2015, chỉ riêng 9 tháng đầu năm đã có 2.790 webiste của các cơ quan, doanh nghiệp tại Việt Nam bị hacker xâm nhập, trong đó có 34 website chính chủ .gov.vn và 122 website giáo dục edu.vn. Trong diễn biến căng thẳng trước tình hình biển Đông, hacker Trung Quốc cũng tăng cường tấn công vào các cơ quan nhà nước. Có 1.597 trường hợp trong đó nhiều nhóm hacker Trung Quốc tấn công thay đổi giao diện các trang web đặt tại Việt Nam, trong đó có khoảng 10 trang thuộc các cơ quan quản lý nhà nước. Gần đây nhất là vụ tấn công vào hệ thống của hãng hàng không Việt Nam Airline vào cuối tháng 7/2016. Sự việc này gây ra những hậu quả vô cùng nghiêm trọng với một hệ thống lớn và có tầm quan trọng đối với quốc gia như vậy.Khoảng 400.000 dữ liệu khách hàng của Việt Nam Airline đã bị đánh cắp. Nhóm hacker tấn công trang web Vietnam Airlines tự xưng là 1937CN. Tuy rất nổi tiếng với nhiều vụ tấn công tương tự với các quốc gia khác nhưng cho đến nay thông tin về nhóm hacker này còn khá ít. Đầu tháng 11/2016, website https://www.vietnamworks.com chuyên về lĩnh vực tìm viêc và tuyển dụng quy mô lớn ở Việt Nam đã bị tin tặc tấn công và đánh cắp nhiều thông tin thành viên. Sau đó, Cục an toàn thông tin – Bộ Thông tin và Truyền thông đã đưa ra khuyến cáo đối với người dùng có tài khoản. Sự việc thậm chí còn tệ hơn khi tin tặc lấy được thông tin mật khẩu chưa được mã hóa của người dùng. Qua kiểm tra ngẫu nhiên, nhiều người dùng sử dụng chung mật khẩu cho nhiều tài khoản khác nhau kể cả tài khoản ngân hàng. Hiện tại, tin tặc tấn công vẫn chưa bị phát hiện nên trong thời gian tới những cuộc tấn công có thể tiếp tục xảy ra. Những vụ tấn công liên tiếp xảy ra trong thời gian gần đây nhằm vào những công ty lớn cho thấy nguy cơ mất an toàn an ninh có thể xảy ra ở bất kỳ đâu. Các biện pháp phòng tránh sẽ không bao giờ thừa để bảo vệ thông tin cho công ty, doanh nghiệp trong thời đại số ngày nay [2]. 11 1.2 Các khái niệm trong ứng dụng web Ứng dụng web là một chương trình chạy trên nền tảng web, thường được cài đặt trên máy chủ của một Web Server trên mạng, người dùng truy cập vào mạng và sử dụng ứng dụng này thông qua một trình duyệt web. Ưu điểm của ứng dụng web như hoạt động dễ dàng, không cần cài đặt trên máy cá nhân, giao diện tùy biến, đẹp và phong phú giúp người sử dụng có thể dễ dàng sử dụng và tương tác. Website là tập hợp nhiều trang web được tổ chức theo các danh mục. Khi doanh nghiệp xây dựng website nghĩa là họ đang muốn đưa ra kênh thông tin quảng bá về các lĩnh vực, các thông tin sản phẩm, các dịch vụ, … Đây là một hình thức marketing online rất đơn giản mà mang lại hiệu quả cao. Để tạo nên một website động cần phải có 3 yếu tố cơ bản:  Cần phải có tên miền (domain).  Nơi lưu trữ website (hosting).  Cơ sở dữ liệu (database). Ngày nay, với sự bùng nổ của mạng Internet, các ứng dụng web cũng phát triển đa dạng áp dụng vào nhiều lĩnh vực khác nhau như cổng thông tin điện tử, giao dịch ngân hàng, bán hàng trực tuyến, mạng xã hội, bản đồ, công cụ tìm kiếm… Hình 1. 2: Mô hình cấu trúc ứng dụng website [3] 12 Cấu trúc 1 ứng dụng web thường có tầng gồm: Tầng trình bày, tầng logic và tầng cơ sở dữ liệu. Tầng trình bày có nhiệm vụ hiển thị dữ liệu người dùng theo bố cục trang web thông qua trình duyệt web. Tầng logic xử lý thông tin yêu cầu từ phía người dùng, có thể lấy thông tin từ cơ sở dữ liệu và trả về tầng hiện thị cho người dùng, như vậy tầng logic được xem như cầu nối.Tâng cơ sở dữ liệu là nơi lưu dữ thông tin, quản lý file và phân quyền truy cập. Các hệ quản trị cơ sở dữ liệu như Mysql, Sql Server, Postgre Sql, Mongodb… 1.2.1 Ngôn ngữ lập trình Một ứng dụng web thường được xây dựng bằng các ngôn ngữ chạy phía web server như Php, Java, C#, … Mỗi ngôn ngữ có những đặc điểm và cấu hình môi trường hoạt động khác nhau. Java là ngôn ngữ lập trình hướng đối tượng được phát triển bởi James Gosling năm 1991. Ban đầu, Java có tên gọi là Oak có nghĩa là cây sồi vì quanh nơi làm việc của ông có rất nhiều loại cây này. Năm 1995 Oak được đổi tên thành Java và được tạp chí Times bình chọn là một trong mười sản phẩm tốt nhất. Java được sử dụng để làm các ứng dụng cá nhân, ứng dụng web, ứng dụng cho doanh nghiệp và ứng dụng điện thoại. Một chương trình Java được biên dịch thành bytecode, sau đó sẽ chạy trên môi trường thực thi. Java là sự lựa chọn của nhiều lập trình viên vì một chương trình Java có thể chạy trên mọi nền tảng ứng đúng với tiêu chí “write one, run anywhere”. Java có nhiều đặc điểm và tính năng nổi bật so với các ngôn ngữ khác.  Đơn giản: Cú pháp của java dựa trên C++, gỡ bỏ nhiều đặc điểm gây bối rối và hiếm khi được sử dụng chẳng hạn như các con trỏ tường minh, nạp chồng toán tử, … Hỗ trợ dọn rác tự động (Garbage Collection) trong Java.  Hướng đối tượng: Lập trình hướng đối tượng (OOP) là một phương pháp làm đơn giản hóa việc phát triển và duy trì phần mềm bằng việc cung cấp một số quy tắc. Một số khái niệm cơ bản của hướng đối tượng (OOP) là đối: Đối tượng, tính kế thừa, tính đa hình, tính trừa tượng, tính bao đóng.  Độc lập nền tảng: Một Platform là môi trường phần cứng hoặc phần 13 mềm trong đó một chương trình chạy. Có hai loại Platform: một loại dựa trên phần mềm (software-based) và một loại dựa trên phần cứng (hardware-based). Java cung cấp software-based platform. Java Platform khác với nhiều nền tảng khác ở chỗ nó chạy ở trên các nền tảng hardware-based khác. Nó có hai thành phần là Runtime Environment và API (Application Programming Interface).  Roubust: Java sử dụng hệ quản trị bộ nhớ mạnh mẽ. Đó là. Java sử dụng ít con trỏ hơn để tránh các vấn đề liên quan tới bảo mật. Bên cạnh đó còn có Trình dọn rác tự động (Garbage Collection) trong Java. Đó là xử lý ngoại lệ (Exception Handling) và kiểm tra kiểu. Tất cả những thứ này là cho Java là Robust.  Độc lập cấu trúc: Đó là không có đặc điểm nào mà phụ thuộc vào trình triển khai.  Portable: Chương trình được biên dịch thành Java Bytecode và chạy bất cứ nền tảng nào.  Hiệu suất cao: Với việc sử dụng Just-In-Time compilers, Java giúp nâng cao hiệu năng, giúp việc debug được dễ dàng cũng như nhanh chóng phát hiện lỗi.  Phân tán: Chúng ta có thể tạo các ứng dụng phân tán trong Java. RMI và EJB được sử dụng để tạo các ứng dụng này. Chúng ta có thể truy cập các file bằng việc gọi các phương thức từ bất cứ thiết bị nào trên Internet.  Đa luồng: Một Thread là giống như một chương trình riêng rẽ, thực thi một cách đồng thời. Chúng ta có thể viết các chương trình Java mà xử lý nhiều tác vụ cùng một lúc bằng việc định nghĩa nhiều Thread. Lợi thế chính của Multi-thread là nó chia sẻ cùng bộ nhớ. Các Thread là quan trọng cho Multi-media, Web App, … Khác với Java, PHP là một ngôn ngữ kịch bản, thông dịch và mã nguồn mở. PHP là ngôn ngữ có cú pháp đơn giản, dễ sử dụng và thời gian xây dựng sản phẩm ngắn. PHP có thể nhúng vào trong các trang html để thực thi chức năng. Hiện nay, Php đã phát hành phiên bản PHP 7, cung cấp nhiều tính năng mới. Các ứng dụng 14 lớn sử dụng Php có thể kể tới Wordpress, Facebook, … PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux (LAMP).  Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi lại cho trình duyệt.  MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server, …) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu.  Linux: Hệ điều hành mã nguồn mở được sử dụng rất rộng rãi cho các website. Thông thường các phiên bản được sử dụng nhiều nhất là RedHat Enterprise Linux, Ubuntu, … C# là một ngôn ngữ lập trình đơn giản, hiện đại, mục đích tổng quát, hướng đối tượng được phát triển bởi Microsoft và được phê chuẩn bởi European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO). C# được phát triển bởi Anders Hejlsberg và team của ông trong khi phát triển .Net Framework. C# được thiết kế cho Common Language Infrastructure (CLI), mà gồm Executable Code và Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level đa dạng trên các nền tảng và cấu trúc máy tính khách nhau. Ngôn ngữ này được lập trình bằng công cụ Visual Studio kết hợp với cơ sở dữ liệu Sql Server hoặc Oracle. Ứng dụng viết bằng ngôn ngữ này không thể chạy trên server linux và rất khó lập trình nếu như không có Visual Studio. Còn nhiều ngôn ngữ lập trình khác cũng đang trở lên phổ biến để xây dựng ứng dụng như Javascript, Python, Ruby, Go lang, … Các kỹ thuật tấn công vào một website ngày nay chủ yếu tập trung vào những lỗ hổng trong quá trình tạo ứng dụng của những lỗ hổng trong quá trình tạo ứng dụng của những nhà sản xuất website hơn là tấn công vào hệ thống mạng hoặc hệ điều hành. 15 1.2.2 Hosting và tên miền Hosting là không gian lưu trữ trên máy chủ có cài đặt các dịch vụ như world wide web (www), truyền file (FTP), Mail, … Hosting là nơi diễn ra tất cả các hoạt động trao đổi thông tin giữa website với người sử dụng. Một doanh nghiệp có thể thuê hosting của nhà cung cấp dịch vụ hoặc tự trang bị máy chủ riêng tùy vào kinh phí cũng như mục đích sử dụng. Khi sử dụng Hosting cần chú ý tới hai thông tin quan trọng là dung lượng và băng thông truy cập. Dung lượng hosting là không gian lưu trữ trên server. Băng thông là lượng dữ liệu được truyền tải với người truy cập. Tên miền là một địa chỉ định danh trên Internet đại điện cho một website. Website được truy cập bằng cách viết tên miền trên trình duyệt. Tên miền cũng có nhiều loại được phân biệt với nhau bằng đuôi như tên miền tổ chức chính phủ .org, tên miền giáo dục .edu hoặc tên miền công ty, doanh nghiệp, tổ chức .com hoặc tên miền quốc gia .vn, … Mỗi tên miền là duy nhất trên thế giới, việc mua bán tên miền có thể thực hiện thông qua dịch vụ của nhà cung cấp. 1.2.3 Cơ sở dữ liệu Để xây dựng một website động, không thể thiếu được đó là một cơ sở dữ liệu lưu trữ thông tin dữ liệu của website.Với mỗi ứng dụng web, cơ sở dữ liệu được thiết kế phù hợp. Cơ sở dữ liệu được phân chia loại thành cơ sở dữ liệu dạng file, cơ sở dữ liệu quan hệ, cơ sở dữ liệu bán cấu trúc, cơ sở dữ liệu hướng đối tượng. Các ngôn ngữ lập trình sẽ truy vấn dữ liệu từ cơ sở dữ liệu và hiển thị lên trang web. Ngoài ra, các hệ quản trị cơ sở dữ liệu như My Sql, Sql Server, Postgres, … được phát triển để thao tác với cơ sở dữ liệu. 1.2.4 Cookies Cookies là một đoạn dữ liệu được ghi vào đĩa cứng hoặc bộ nhớ của máy người sử dụng. Nó được trình duyệt gửi ngược lên lại server mỗi khi trình duyệt tải một trang web từ server. Những thông tin được lưu trữ trong cookies hoàn toàn phụ thuộc vào website trên server. Mỗi website có thể lưu trữ những thông tin khác nhau trong cookie, ví dụ thời điểm lần cuối ta ghé thăm website, đánh dấu ta đã login hay 16 chưa. Cookie được tạo ra bởi website và gửi tới trình duyệt, do vậy hai website khác nhau (cho dù cùng host trên một web server) sẽ có hai cookie khác nhau gửi tới trình duyệt. Ngoài ra, mỗi trình duyệt quản lý và lưu trữ cookie theo cách riêng của mình, cho nên hai trình duyệt cùng truy cập vào một website sẽ nhận được hai cookie khác nhau. Mỗi máy ở phía người dùng có thể lưu trữ được số lượng lớn cookies, khoảng 300 cookies.Kích thước tối đa cho một cookie là 4KB.Mỗi website giới hạn khoảng 20 cookies. Nếu vượt quá giới hạn lưu trữ, máy phía người dùng tự động xóa đi những cookies ít sử dụng hoặc không còn sử dụng. 1.2.5 Session Session là phiên bản làm việc, mục đích của nó đơn giản để lưu trữ một biến và duy trì biến đó tồn tại từ trang này sang trang khác. Nếu như với các biến thông thường, khi trang web bắt đầu thực thi, biến đó sẽ được cấp phát bộ nhớ, lưu giá trị và thu hồi vùng nhớ sau khi trang kết thúc. Session sẽ khác, nó có thể được tạo ra, tồn tại trên server, có thể xuyên từ trang này sang trang khác, chỉ mất đi khi ta xóa, hết hạn hoặc tắt trình duyệt. Session khi sinh ra được lưu trên một file có tên dài dòng, khó đoán và tạo ngẫu nhiên là session id trên máy chủ và đồng thời ở máy client cũng có một cookie sinh ra có nội dung đúng như session ID đối với mỗi ngôn ngữ lập trình web sẽ có tên cookie quy trình như Php là PHPSESSID, Jsp là JSESSIONID, …Các giá trị của biến session sẽ được lưu trong file. Ứng dụng: Thông thường session được ứng dụng vào việc quản lý đăng nhập, đăng xuất của thành viên. Với những tác vụ cần xác nhận là thành viên mới sử dụng được, chúng ta cần yêu cầu thành viên đăng nhập vào hệ thống.Nhưng nếu chỉ dùng biến thông thường thì mỗi lần cần thực hiện lại đăng nhập vào. Trong khi ấy, nếu dùng session thì sau khi đăng nhập, 1 biến session được tạo ra, thì biến này sẽ tồn tại từ trang này sang trang khác, như thế khi cần thực hiện tác vụ khác cần đăng nhập, ta chỉ cần kiểm tra xem có tồn tại biến session này hay chưa là đủ. Nếu tồn tại rồi thì thôi, chưa tồn tại thì đăng nhập. 17
- Xem thêm -

Tài liệu liên quan