DANH MỤC KÍ HIỆU VÀ VIẾT TẮTASP Active Server Pages - Kịch bản kích hoạt phía servercho trang web động ASP.NETASP.NET Một nền tảng ứng dụng web web application framework được phát triển
Trang 1BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
MÔN PHÒNG CHỐNG VÀ ĐIỀU TRA TỘI PHẠM MÁY
TÍNH
ĐỀ TÀI:
ĐIỀU TRA TẤN CÔNG WEB
Giảng viên hướng dẫn:
TS Nguyễn Mạnh Thắng
Khoa An toàn thông tin – Học viện Kỹ thuật Mật mã
Trang 2MỤC LỤC MỤC LỤC II DANH MỤC KÍ HIỆU VÀ VIẾT TẮT V DANH MỤC HÌNH VẼ VI DANH MỤC BẢNG BIỂU IX LỜI CẢM ƠN X LỜI NÓI ĐẦU XI
CHƯƠNG 1 TỔNG QUAN VỀ WEB 1
1.1.WORLD WIDE WEB 1
1.1.1 Khái niệm 1
1.1.2 Lịch sử ra đời 2
1.2 TRANG WEB (WEBPAGE) 6
1.3 WEBSITE 7
1.4 TRÌNH DUYỆT WEB 8
1.5 ỨNG DỤNG WEB 10
1.6 WEB CHÌM (DEEP WEB) 11
1.6.1 Nguồn gốc 11
1.6.2 Tài nguyên 12
1.6.3 Vấn đề truy cập 13
1.6.4 Nội dung 14
1.6.5 Các tầng trên Web chìm 14
1.7 DARK WEB 16
1.7.1 Khái niệm 16
1.7.2 Nội dung 17
1.8 KẾT LUẬN CHƯƠNG 1 18
CHƯƠNG 2 MỘT SỐ KỸ THUẬT TẤN CÔNG TRÊN ỨNG DỤNG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG 20
2.1 TẤN CÔNG BRUTEFORCE 20
2.1.1 Khái niệm 20
2.1.2 Đặc điểm 20
2.1.3 Biện pháp phòng chống 22
2.2 LỖI CHỨNG THỰC YẾU (INSUFFICIENT AUTHENTICATION) 22
2.2.1 Khái niệm 22
2.2.2 Biện pháp phòng chống 23
2.3 DỰ ĐOÁN, CHÈN PHIÊN (CREDENTICAL/SESSION PREDICTION) 23
Trang 32.3.1 Khái niệm 23
2.3.2 Biện pháp phòng chống 23
2.4 XSS – CROSS-SITE SCRIPTING 23
2.4.1 Khái niệm 23
2.4.2 Đặc điểm và cách thức hoạt động 24
2.4.3 Phân loại 26
2.4.4 Một số ví dụ 27
2.4.5 Biện pháp phòng chống 28
2.5 SQL INJECTION 29
2.5.1 Khái niệm 29
2.5.2 Các dạng lỗi 29
2.5.3 Một số dạng tấn công 31
2.5.4 Biện pháp phòng chống 34
2.6 LIỆT KÊ THƯ MỤC (DIRECTORY INDEXING) 35
2.6.1 Khái niệm 35
2.6.2 Biện pháp phòng chống 35
2.7 PATH TRAVERSAL 35
2.7.1 Khái niệm 35
2.7.2 Biện pháp phòng chống 36
2.8 TẤN CÔNG TỪ CHỐI DỊCH VỤ DOS VÀ DDOS 36
2.8.1 Khái niệm 36
2.8.1.1 DoS 36
2.8.1.2 DDoS 36
2.8.2 Sự khác biệt giữa tấn công DoS và DDoS 37
2.8.3 Tác hại 38
2.8.4 Các dạng tấn công phổ biến 39
2.8.5 Biện pháp phòng chống 40
2.9 KẾT LUẬN CHƯƠNG 2 42
CHƯƠNG 3 THỰC HÀNH TẤN CÔNG WEBSITE VÀ SỬ DỤNG ACUNETIX WEB VULNERABILITY SCANNER DÒ QUÉT LỖ HỔNG ỨNG DỤNG WEB, WIRESHARK ĐỂ GIÁM SÁT VÀ PHÂN TÍCH TẤN CÔNG DOS 43
3.1 THỰC HÀNH TẤN CÔNG SQL INJECTION TRÊN DVWA VÀ SỬ DỤNG ACUNETIX WEB VULNERABILITY SCANNER DÒ QUÉT LỖ HỔNG ỨNG DỤNG WEB 43
3.1.1 Giới thiệu 43
3.1.2 Chuẩn bị 44
3.1.3 Các bước thực hiện 44
Trang 43.1.3.1 Cài đặt DVWA 443.1.3.2 Thử nghiệm tấn công SQL Injection trên DVWA 483.1.3.3 Triển khai sử dụng Acunetix Web Vulnerability Scanner dò quét
lỗ hổng ứng dụng Web 58
3.4 THỰC HÀNH TẤN CÔNG DOS TRANG WEB TỰ DỰNG VÀ SỬ DỤNG
WIRESHARK ĐỂ PHÂN TÍCH 64
3.5 KẾT LUẬN CHƯƠNG 3 71 KẾT LUẬN XI TÀI LIỆU THAM KHẢO XII PHỤ LỤC XIII
Trang 5DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
ASP Active Server Pages - Kịch bản kích hoạt phía servercho trang
web động ASP.NETASP.NET Một nền tảng ứng dụng web (web application framework) được
phát triển và cung cấp bởi MicrosoftCAPTCH
A
Completely Automated Public Turing test to tell Computers and Humans Apart - Một loại kiểm thử dạng hỏi đáp được dùng trong máy tính để xác định xem người dùng có phải là con ngườihay không
CERN European Organisation for Nuclear Research- Tổ chức Nghiên
cứu Hạt nhân châu ÂuCSDL Cơ sở dữ liệu
CSS Cascading Style Sheets - Các tập tin định kiểu theo tầng
DDoS Distributed Denial of Service – Tấn công từ chối dịch vụ phân
tánDVWA Damn vulnerable web application - Một ứng dụng mã nguồn
PHP/MYSQL tập hợp sẵn các lỗi logic về bảo mật và ứng dụng web trong mã nguồn PHP
FTP File Transfer Protocol - Giao thức truyền tập tin
HTML Hypertext Markup Language - Ngôn ngữ Đánh dấu Siêu văn bản
IP Internet Protocol – Giao thức Internet - Địa chỉ IP
ISP Internet Service Provider - Nhà cung cấp dịch vụ Internet
MMORPG Massively Multiplayer Online Role-Playing Game - Trò chơi
nhập vai trực tuyến nhiều người chơiNTP Network Time Protocol - Một giao thức được sử dụng để đồng
bộ thời gian mạngPHP Hypertext Preprocessor - Ngôn ngữ lập trình kịch bản
SQL Structured Query Language - Ngôn ngữ truy vấn mang tính cấu
trúcURL Uniform Resource Locator - Địa chỉ web
WWW World Wide Web – Mạng toàn cầu
Xampp Chương trình tạo máy chủ Web (Web Server) được tích hợp sẵn
Apache, PHP, mysql, FTP Server, Mail Server và các công cụ như phpmyadmin
XSS Cross-site scripting - Một kiểu tấn công bảo mật trong đó kẻ tấn
công đưa các tập lệnh độc hại vào phần nội dung của các trang web
Trang 6DANH MỤC HÌNH V
Hình 1 1 Logo của World Wide Web 1
Hình 1 2 Chân dung Berners-Lee, London, 2014, cha đẻ WWW 1
Hình 1 3 Hành lang nơi WWW ra đời CERN, tầng trệt tòa nhà số 1 2
Hình 1 4 World Wide Web hoạt động như một giao thức lớp ứng dụng được chạy "trên đỉnh" (theo nghĩa bóng) Internet, giúp làm cho nó hoạt động nhiều hơn Sự ra đời của trình duyệt web Mosaic đã giúp web trở nên tiện dụng hơn rất nhiều, bao gồm hiển thị hình ảnh và hình ảnh chuyển động (GIF) 4
Hình 1 5 Giao diện trang web chủ của Youtube 6
Hình 1 6 Trang đầu của Website Wikipedia tiếng Anh, xem bởi trình duyệt Mozilla Firefox trên Microsoft Windows 7
Hình 1 7 Thị phần trình duyệt theo StatCounter 8
Hình 1 8 WorldWideWeb, trình duyệt web đầu tiên 9
Hình 1 9 Các tầng của internet được hình tượng thành một ngọn núi băng, web chìm nằm ở giữa núi băng 11
Hình 1 10 Biểu tượng trình duyệt Tor 13
Hình 1 11 Dark web - tầng dưới cùng của không gian mạng 16
Y Hình 2 1 Máy bẻ khóa trị giá 250.000 đô la của EFF này có thể bẻ khóa được thuật toán DES trong vài ngày Hình chỉ một phần bản mạch của máy với 64 con chip bẻ khóa dạng brute force 21
Hình 2 2 Các loại lỗ hổng Cross-site scripting 26
Hình 2 3 Sự khác biệt giữa tấn công DoS và DDoS 37
Hình 3 1 Trình giao diện điều khiển của XAMPP 44
Hình 3 2 Copy bộ source code DVWA và thư mục phpMyAdmin đã tải về máy và giải nén từ link ở mục 3.2 vào thư mục C:\xammpp\htdocs 45
Hình 3 3 Tạo CSDL có tên là “dvwa” trên trang quản trị phpMyAdmin 46
Hình 3 4 Tạo tài khoản người dùng cho CSDL dvwa 46
Hình 3 5 Sửa một số đoạn code trong file config.php trong thư mục config của dvwa 47
Hình 3 6 Giao diện trang đăng nhập tài khoản của dvwa 47
Hình 3 7 Giao diện trang quản trị của dvwa 48
Hình 3 8 Cấu hình bảo mật mức low (thấp) cho dvwa 48
Hình 3 9 Kết quả sau khi nhập: “1” vào trường User ID và nhấn Submit 49
Hình 3 10 Kết quả sau khi nhập: “ ‘or 1=1 - ” vào trường User ID và nhấn Submit 50
Hình 3 11 Kết quả sau khi nhập: “ ‘union select 1,version() - ” vào trường User ID và nhấn Submit 51
Trang 7Hình 3 12 Kết quả sau khi nhập: “ ‘union select 1,version() - ” vào trường User ID và nhấn Submit 52 Hình 3 13 Kết quả sau khi nhập: “ ‘union select 1,database() - ” vào trường User ID và nhấn Submit 52 Hình 3 14 Kết quả sau khi nhập: “ ‘union select 1,@@port - ” vào trường User ID và nhấn Submit 53 Hình 3 15 Kết quả sau khi nhập: “ ‘union select table_schema,null from
information_schema.tables -” vào trường User ID và nhấn Submit 53 Hình 3 16 Kết quả sau khi nhập: “ ‘union select table_schema,null from
information_schema.tables where table_schema=’dvwa’ -” vào trường User
ID và nhấn Submit 54 Hình 3 17 Kết quả sau khi nhập: “ ‘union select table_name,column_name from information_schema.columns where table_name=’dvwa’ -” vào trường User ID và nhấn Submit 55 Hình 3 18 Kết quả sau khi nhập: “ ‘union select user,password from users -” vào trường User ID và nhấn Submit 56 Hình 3 19 Lưu mật khẩu và tên người dùng trong bảng users vào Notepad để
sử dụng vào mục đích đăng nhập tài khoản trên DVWA 56 Hình 3 20 Đăng nhập vào trang quản trị DVWA với tên tài khoản là
“gordonb” và mật khẩu là “abc123” 57 Hình 3 21 Giao diện trang quản trị DVWA sau khi đăng nhập thành công 58 Hình 3 22 Khởi chạy chương trình quét của Acunetix bằng cách nhấn vào biểu tượng trên màn hình Windows 58 Hình 3 23 Giao diện đăng nhập tài khoản của Acunetix, nhập email và mật khẩu đã đăng ký khi cài đặt chương trình 59 Hình 3 24 Giao diện quản trị của chương trình quét lỗ hổng web Acunetix 59 Hình 3 25 Dán đường link của trang web mục tiêu mà ta cần quét, ở đây ta cần quét lỗ hổng của DVWA nên ta dùng link:”
http://localhost/dvwa/index.php” 60 Hình 3 26 Các tùy chọn quét lỗ hổng của Acunetix, ta để mặc định là Full Scan (quét toàn bộ) 60 Hình 3 27 Kết quả sau khi quét lỗ hổng của Acunetix 61 Hình 3 28 Thông tin về mục tiêu quét và số lượng lỗ hổng theo 4 mức độ: High, Medium, Low và Information 61 Hình 3 29 Thông tin mô tả về 1 lỗ hổng mức độ cao 62 Hình 3 30 Một số thông tin khác về lỗ hổng mức độ cao như nguy cơ, cách khắc phục và phân loại được liệt kê khá chi tiết 62 Hình 3 31 Thông tin mô tả về 1 lỗ hổng mức độ trung bình 63
Trang 8Hình 3 32 Thông tin về cách khắc phục, phân loại lỗ hổng mức độ trung bình
này và trang web tham khảo 63
Hình 3 33 Mô hình thực hành tấn công DoS trang Web tự dựng và sử dụng Wireshark để phân tích 64
Hình 3 34 Trang web tự tạo với tên miền “https://www.thuong.com” 65
Hình 3 35 Thực hiện Ping tới trang web www.thuong.com 65
Hình 3 36 Nhiều cửa sổ CMD được mở để thực hiện lệnh Ping tới tên miền www.thuong.com 66
Hình 3 37 Truy cập trang web với tên miền www.thuong.com trên máy chủ Web (máy nạn nhân) 67
Hình 3 38 Wireshark khi bắt gói tin trên card mạng Vmnet 8(NAT) 67
Hình 3 39 Thực hiện lọc gói tin chứa giao thức ICMP trên Wireshark bằng cách gõ lệnh “icmp” trên thanh có hình cờ xanh 68
Hình 3 40 Gói tin ICMP số 2 được chọn để phân tích 68
Hình 3 41 Phân tích gói tin ICMP số 2(Tiếp) 69
Hình 3 42 Tool hỗ trợ tấn công DoS có tên là DDOS Sux, điền IP mục tiêu là 192.168.1.2 và port 53 rồi nhấn nút “Attack That…” 69
Hình 3 43 Tại máy chủ web( máy nạn nhân) bật Task Manager lên và quan sát 70
Hình 3 44 Tải lại trang web bằng cách nhấn F5 70
Hình 3 45 Các gói tin TCP liên tục xuất hiện 71
Hình 3 46 Chọn một gói tin TCP bất kỳ và phân tích 71
Trang 9DANH MỤC BẢNG BIỂU
Bảng 2 1 So sánh giữa tấn công DoS và DDoS 46
Trang 10LỜI CẢM ƠN
Trong quá trình thực hiện chuyên đề này, nhóm chúng em đã nhận được
sự giúp đỡ tận tình của cán bộ hướng dẫn là ThS Nguyễn Mạnh Thắng – Giảngviên Khoa An toàn thông tin Học viện Kỹ thuật Mật mã, sự quan tâm sâu sắccủa cán bộ Hệ quản lý sinh viên, sự động viên của người thân và bạn bè
Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để nhómchúng em hoàn thành chuyên đề này!
CÁC SINH VIÊN THỰC HIỆN
Đỗ Như Thưởng – AT140744Hoàng Minh Thành – AT141048Nguyễn Đức Thắng - AT140439Đinh Văn Hoan - AT141022Nguyễn Trung Anh – AT140401
Trang 11LỜI NÓI ĐẦU
Con người đang sống trong kỷ nguyên 4.0, kỷ nguyên của khoa học kỹthuật và công nghệ Chắc hẳn chúng ta đã từng nghe ở đâu đó hoặc đã từng đượctìm hiểu qua về “WEB” Nếu tính cách của con người phức tạp bao nhiêu thì tacũng thấy “WEB” nó cũng tương tự như vậy Nhưng đã bao giờ chúng ta đặt câuhỏi là vì sao “WEB” tồn tại, rốt cuộc nó là cái gì, nó tác động như thế nào tớicuộc sống con người, bản chất của nó là gì chưa? Vâng, có rất nhiều câu hỏiđược đặt ra nhưng tóm lại mỗi người lại có một quan điểm, một cách nhìn khácnhau về nó
“WEB” rất giống con người, nếu không chăm chút kỹ lưỡng thì nó rất dễ
bị tổn thương bởi tác động từ môi trường xung quanh, mà ở đây chính là conngười, hơn hết vì con người đã tạo ra nó Bản thân “WEB” mang một khái niệmrất rộng, nó có thể là Website, trình duyệt Web, ứng dụng Web, và nó tồn tạirất nhiều lỗ hổng mà những kẻ tin tặc luôn muốn khai thác nhằm mục đích xấu
Vì vậy chuyên đề này sẽ giúp chúng ta có cái nhìn khái quát về “WEB”, cáchhoạt động, các kỹ thuật tấn công trên WEB, đặc biệt là ứng dụng WEB, cùngbiện pháp phòng chống tấn công thông qua 3 chương:
-Chương 1: Tổng quan về WEB
-Chương 2: Một số kỹ thuật tấn công trên ứng dụng WEB và biện pháp phòng chống
-Chương 3:Thực hành tấn công website và sử dụng Acunetix Web Vulnerability Scanner dò quét lỗ hổng ứng dụng web, Wireshark để giám sát và phân tích tấn công DoS
Dù đã mất khá nhiều thời gian tìm hiểu nhưng cũng không thể tránh khỏinhững sai sót khi biên soạn lên chuyên đề này, rất mong nhận được những đónggóp chân thành từ thầy và các bạn để chuyên đề này của chúng em được hoànthiện hơn
XIN CHÂN THÀNH CẢM ƠN!
CÁC SINH VIÊN THỰC HIỆN
Đỗ Như Thưởng – AT140744Hoàng Minh Thành – AT141048Nguyễn Đức Thắng - AT140439Đinh Văn Hoan - AT141022Nguyễn Trung Anh – AT140401
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ WEB 1.1.World Wide Web
1.1.1 Khái niệm
Hình 1 1 Logo của World Wide Web
World Wide Web, gọi tắt là WWW, mạng lưới toàn cầu là một khônggian thông tin toàn cầu mà mọi người có thể truy cập (đọc và viết) thông tin quacác thiết bị kết nối với mạng Internet; một hệ thống thông tin trên Internet chophép các tài liệu được kết nối với các tài liệu khác bằng các liên kết siêu vănbản, cho phép người dùng tìm kiếm thông tin bằng cách di chuyển từ tài liệu nàysang tài liệu khác Thuật ngữ này thường được hiểu nhầm là từ đồng nghĩa vớichính thuật ngữ Internet Nhưng Web thực ra chỉ là một trong các dịch vụ chạytrên Internet, ngoài Web ra còn các dịch vụ khác như thư điện tử hoặc FTP
Hình 1 2 Chân dung Berners-Lee, London, 2014, cha đẻ WWW
Nhà khoa học người Anh Tim Berners-Lee được cho là đã phát minh raWorld Wide Web khi làm việc cho CERN vào tháng 3 năm 1989 bằng cách gửiQuản lý thông tin: Đề xuất và viết trình duyệt web đầu tiên vào năm 1990 Trìnhduyệt được phát hành bên ngoài CERN năm 1991, lần đầu tiên cho các tổ chức
Trang 13nghiên cứu khác bắt đầu vào tháng 1 năm 1991 và công chúng trên Internet vàotháng 8 năm 1991 World Wide Web là trung tâm cho sự phát triển của Thời đạiThông tin và là công cụ chính mà hàng tỷ người sử dụng để tương tác trênInternet.
Tài nguyên web có thể là bất kỳ loại phương tiện có thể tải xuống nào,nhưng các trang web là phương tiện siêu văn bản đã được định dạng bằng Ngônngữ đánh dấu siêu văn bản (HTML) Định dạng như vậy cho phép các siêu liênkết nhúng có chứa URL và cho phép người dùng dễ dàng điều hướng đến các tàinguyên web khác Ngoài văn bản, các trang web có thể chứa các thành phầnhình ảnh, video, âm thanh và phần mềm được hiển thị trong trình duyệt web củangười dùng dưới dạng các trang kết hợp nội dung đa phương tiện
Nhiều tài nguyên web với một chủ đề chung, một tên miền chung hoặc cảhai, tạo nên một trang web Trang web được lưu trữ trong các máy tính đangchạy chương trình gọi là máy chủ web đáp ứng các yêu cầu được thực hiện quaInternet từ các trình duyệt web chạy trên máy tính của người dùng Nội dungtrang web có thể được cung cấp phần lớn bởi nhà xuất bản hoặc tương tác nơingười dùng đóng góp nội dung Các trang web cung cấp nội dung với vô số lý
do như thông tin, giải trí, thương mại, chính phủ hoặc phi chính phủ,
Trang 14Hình 1 3 Hành lang nơi WWW ra đời CERN, tầng trệt tòa nhà số 1
Vào ngày 12 tháng 3 năm 1989, ông đã gửi một bản ghi nhớ, có tiêu đề
"Information Management: A Proposal", cho ban quản lý tại CERN cho một hệthống có tên "Lưới" tham chiếu ENQUIRE, một dự án cơ sở dữ liệu và phầnmềm mà ông đã xây dựng vào năm 1980, trong đó sử dụng thuật ngữ "web"
Với sự giúp đỡ từ đồng nghiệp và người say mê siêu văn bản RobertCailliau, ông đã xuất bản một đề xuất chính thức hơn vào ngày 12 tháng 11 năm
1990 để xây dựng một "dự án siêu văn bản" có tên là "WorldWideWeb" (một từ)dưới dạng "web" của "tài liệu siêu văn bản" để xem "Trình duyệt"
Máy tính NeXT đã được Berners-Lee sử dụng làm máy chủ web đầu tiêntrên thế giới và cũng để viết trình duyệt web đầu tiên, WorldWideWeb vào năm
1990 Vào Giáng sinh năm 1990, Berners-Lee đã xây dựng tất cả các công cụcần thiết cho một Web hoạt động: trình duyệt web đầu tiên (cũng là trình chỉnhsửa web) và máy chủ web đầu tiên Trang web đầu tiên, mô tả chính dự án, đượcxuất bản vào ngày 20 tháng 12 năm 1990
Ông đã phát triển ba công nghệ thiết yếu:
Một hệ thống các mã định danh duy nhất trên toàn cầu cho các tàinguyên trên Web và các nơi khác, định danh tài liệu chung (UDI),sau này được gọi là định vị tài nguyên thống nhất (URL) và địnhdanh tài nguyên thống nhất (URI);
Ngôn ngữ xuất bản HyperText Markup Language (HTML);
Giao thức truyền siêu văn bản (HTTP)
Trang 15Được kết nối bởi Internet, các trang web khác đã được tạo ra trên khắp thếgiới Điều này thúc đẩy phát triển tiêu chuẩn quốc tế cho các giao thức và địnhdạng Berners-Lee tiếp tục tham gia vào việc hướng dẫn phát triển các tiêuchuẩn web, chẳng hạn như các ngôn ngữ đánh dấu để soạn các trang web và ôngủng hộ tầm nhìn của mình về Semantic Web World Wide Web cho phép truyền
bá thông tin qua Internet thông qua định dạng linh hoạt và dễ sử dụng Do đó, nóđóng một vai trò quan trọng trong việc phổ biến sử dụng Internet Mặc dù haithuật ngữ này đôi khi dùng lẫn nhau do được sử dụng phổ biến, World WideWeb là không đồng nghĩa với Internet Web là một không gian thông tin chứacác tài liệu siêu liên kết và các tài nguyên khác, được xác định bởi các URI củachúng Nó được triển khai như cả phần mềm máy khách và máy chủ sử dụng cácgiao thức Internet như TCP / IP và HTTP Berners-Lee được Nữ hoàngElizabeth II phong tước hiệp sĩ năm 2004 vì "các dịch vụ cho sự phát triển toàncầu của Internet" Ông không bao giờ xin cấp bằng sáng chế cho phát minh củamình
1.1.3 Chức năng
Hình 1 4 World Wide Web hoạt động như một giao thức lớp ứng dụng được chạy "trên đỉnh" (theo nghĩa bóng) Internet, giúp làm cho nó hoạt động nhiều hơn Sự ra đời của trình duyệt web Mosaic đã giúp web trở nên tiện dụng hơn rất nhiều, bao gồm hiển thị hình ảnh và hình ảnh chuyển động (GIF).
Các thuật ngữ Internet và World Wide Web thường được sử dụng màkhông có nhiều sự khác biệt Tuy nhiên, hai thuật ngữ không có nghĩa giốngnhau Internet là một hệ thống toàn cầu của các mạng máy tính được kết nối với
Trang 16nhau Ngược lại, World Wide Web là một tập hợp toàn cầu các tài liệu và các tàinguyên khác, được liên kết bởi các siêu liên kết và URI Tài nguyên web đượctruy cập bằng HTTP hoặc HTTPS, là các giao thức Internet cấp ứng dụng sửdụng các giao thức truyền tải của Internet.
Việc xem một trang web trên World Wide Web thường bắt đầu bằng cáchnhập URL của trang vào trình duyệt web hoặc bằng cách theo một siêu liên kếtđến trang hoặc tài nguyên đó Trình duyệt web sau đó khởi tạo một loạt cácthông báo truyền thông nền để tìm nạp và hiển thị trang được yêu cầu Vàonhững năm 1990, sử dụng trình duyệt để xem các trang web, và chuyển từ trangnày sang trang khác thông qua các siêu liên kết, được biết đến như là 'duyệtweb,' 'lướt web' (sau khi lướt kênh) hoặc 'điều hướng Web' Những nghiên cứuban đầu về hành vi mới này đã điều tra các mẫu người dùng trong việc sử dụngtrình duyệt web Một nghiên cứu, ví dụ, đã tìm thấy năm mẫu người dùng: lướtweb khám phá, lướt web cửa sổ, lướt phát triển, điều hướng giới hạn và điềuhướng mục tiêu
Ví dụ sau đây cho thấy chức năng của trình duyệt web khi truy cập mộttrang tại URL http://www.example.org/home.html Trình duyệt phân giải tênmáy chủ của URL (www.example.org) thành địa chỉ Giao thức Internet bằng Hệthống tên miền (DNS) được phân phối toàn cầu Tra cứu này trả về một địa chỉ
IP như 203.0.113.4 hoặc 2001: db8: 2e:: 7334 Trình duyệt sau đó yêu cầu tàinguyên bằng cách gửi yêu cầu HTTP qua Internet đến máy tính tại địa chỉ đó
Nó yêu cầu dịch vụ từ một số cổng TCP cụ thể nổi tiếng với dịch vụ HTTP, đểmáy chủ nhận có thể phân biệt yêu cầu HTTP với các giao thức mạng khác mà
nó có thể đang phục vụ Giao thức HTTP thường sử dụng số cổng 80 và đối vớigiao thức HTTPS, thông thường nó là số cổng 443 Nội dung của yêu cầu HTTP
có thể đơn giản như hai dòng văn bản:
Content-Type: text/html; charset=UTF-8
tiếp theo là nội dung của trang được yêu cầu Ngôn ngữ đánh dấu siêu văn bản(HTML) cho một trang web cơ bản có thể trông như thế này:
Trang 171.2 Trang Web (Webpage)
Hình 1 5 Giao diện trang web chủ của Youtube
Trang web (tiếng Anh là webpage): là một tập hợp các văn bản, hình ảnh,tệp tin tài liệu thích hợp với World Wide Web và được thực thi ở trình duyệtweb Một trình duyệt hiển thị một trang web trên màn hình máy tính hay các
Trang 18thiết bị di động Trang web, thường được xem là một tập tin, viết bằng mãHTML hay các ngôn ngữ đánh dấu tương tự Các trình duyệt web chứa nhiềucác phần tử tài nguyên web như: CSS, kịch bản phía máy khách, và hình ảnh,nhằm thể hiện cho một trang web.
Một trang web có thể được hiển thị bằng trình duyệt web Các trình duyệtweb thường làm nổi bật và gạch chân các liên kết siêu văn bản và các trang web
có thể chứa hình ảnh
Trang web thường được sử dụng để cung cấp thông tin cho người xem,bao gồm hình ảnh hoặc video giúp minh họa các chủ đề quan trọng Trang webcũng có thể được sử dụng như một phương pháp để bán sản phẩm hoặc dịch vụcho người xem Nhiều trang web tạo nên một website
Khi nhấp vào liên kết do công cụ tìm kiếm cung cấp, ta đang truy cập mộttrang web Internet bao gồm hàng triệu trang web, với nhiều trang được thêmvào mỗi ngày
Lưu ý: Trang web thường được hiểu nhầm với website, nhưng trên thực
tế, webpage chỉ là một tập con của website.
1.3 Website
Hình 1 6 Trang đầu của Website Wikipedia tiếng Anh, xem bởi trình duyệt
Mozilla Firefox trên Microsoft Windows.
Website, thường gọi là trang web hoặc trang mạng, là tập hợp các trangweb (webpage) có nội dung liên quan được xác định bằng một tên miền chung
Trang 19và được xuất bản trên ít nhất một máy chủ web Các ví dụ đáng chú ý là cácwebsite wikipedia.org, google.com và amazon.com.
Tất cả các trang web có thể truy cập công khai đều tạo thành World WideWeb Cũng có những trang web riêng tư chỉ có thể được truy cập trên mạngriêng, chẳng hạn như trang web nội bộ của công ty dành cho nhân viên của côngty
Các trang web thường dành riêng cho một chủ đề hoặc mục đích cụ thể,chẳng hạn như tin tức, giáo dục, thương mại, giải trí hoặc mạng xã hội Siêu liênkết giữa các trang web hướng dẫn điều hướng của trang web, thường bắt đầu vớitrang chủ
Người dùng có thể truy cập các trang web trên nhiều loại thiết bị, baogồm máy tính để bàn, máy tính xách tay, máy tính bảng và điện thoại thôngminh Ứng dụng được sử dụng trên các thiết bị này được gọi là trình duyệt web
Các trang web có thể được sử dụng theo nhiều kiểu khác nhau: trang web
cá nhân, trang web công ty cho công ty, trang web chính phủ, trang web tổ chức,v.v Các trang web có thể là sản phẩm của một cá nhân, một doanh nghiệp hoặc
tổ chức khác và thường dành riêng cho một chủ đề hoặc mục đích cụ thể Bất kỳtrang web nào cũng có thể chứa một siêu liên kết đến bất kỳ trang web nào khác,
do đó, sự phân biệt giữa các trang web riêng lẻ, theo nhận thức của người dùng,
có thể không rõ ràng
Một số trang web yêu cầu người dùng đăng nhập hoặc đăng ký để truycập nội dung Ví dụ về các trang web đăng ký bao gồm nhiều trang web kinhdoanh, trang web tin tức, trang web tạp chí học thuật, trang web trò chơi, trangweb chia sẻ tệp, bảng tin , email dựa trên web, trang web mạng xã hội, trangweb cung cấp dữ liệu thị trường chứng khoán theo thời gian thực, cũng như cáctrang web cung cấp nhiều dịch vụ khác
Trong khi "web site" là cách viết gốc của tiếng Anh (đôi khi được viết hoa
"Web site", vì "Web" là danh từ riêng khi đề cập đến World Wide Web), biếnthể này đã trở nên hiếm khi được sử dụng và "website" đã trở thành cách viếtchuẩn
Trang 201.4 Trình duyệt web
Hình 1 7 Thị phần trình duyệt theo StatCounter
Trình duyệt web là một ứng dụng phần mềm để truy cập thông tin trênWorld Wide Web Mỗi trang web, hình ảnh và video riêng lẻ được xác địnhbằng một URL riêng biệt, cho phép các trình duyệt truy xuất và hiển thị chúngtrên thiết bị của người dùng mới
Trình duyệt web đọc định dạng HTML để hiển thị, do vậy một trang web
có thể hiển thị khác nhau trên các trình duyệt khác nhau
Các trình duyệt web phổ biến nhất là Chrome, Firefox, Internet Explorer
và Microsoft Edge(Edge Chromuim)
Trang 21Hình 1 8 WorldWideWeb, trình duyệt web đầu tiên
Trình duyệt web đầu tiên, được gọi là WorldWideWeb, được phát minhvào năm 1990 bởi Sir Tim Berners-Lee Sau đó ông đã tuyển dụng NicolaPellow để viết Line Mode Browser,hiển thị các trang web trên các thiết bị đầucuối; nó được phát hành vào năm 1991
Năm 1993 là một năm đầy ấn tượng với việc phát hành Mosaic, đượccông nhận là "trình duyệt phổ biến đầu tiên trên thế giới" Giao diện đồ họa sángtạo của nó làm cho hệ thống World Wide Web dễ sử dụng và do đó người dùngtrung bình dễ tiếp cận hơn Điều này, đến lượt nó, đã làm bùng nổ sự bùng nổInternet của những năm 1990 khi Web phát triển với tốc độ rất nhanh MarcAndreessen, lãnh đạo của Mosaic, đã sớm thành lập công ty riêng của mình,Netscape, đã phát hành Netscape Navigator bị ảnh hưởng bởi Mosaic vào năm
1994 Navigator nhanh chóng trở thành trình duyệt phổ biến nhất
Microsoft ra mắt Internet Explorer vào năm 1995, dẫn đến một cuộc chiếntrình duyệt với Netscape Microsoft đã có thể đạt được một vị trí thống trị vì hai
lý do: nó đi kèm Internet Explorer với hệ điều hành Windows phổ biến của họ
và nó là phần mềm miễn phí mà không có giới hạn sử dụng Cuối cùng, thị phầncủa Internet Explorer đạt hơn 95% vào năm 2002
Năm 1998, tuyệt vọng để duy trì tính cạnh tranh, Netscape chuyển đổithành Mozilla Foundation để tạo ra một trình duyệt mới sử dụng mô hình phần
Trang 22mềm nguồn mở Công trình này phát triển thành Firefox, lần đầu tiên đượcMozilla phát hành vào năm 2004 Firefox đã đạt 28% thị phần trong năm 2011.
Apple phát hành trình duyệt Safari của họ năm 2003 Nó vẫn là trìnhduyệt thống trị trên nền tảng của Apple, mặc dù nó không bao giờ trở thành mộtyếu tố ở nơi khác
Người tham gia chính cuối cùng vào thị trường trình duyệt là Google Nó
là trình duyệt Chrome, ra mắt vào năm 2008, đã là một thành công lớn Nó dầndần chiếm thị phần từ Internet Explorer và trở thành trình duyệt phổ biến nhấttrong năm 2012 Nó vẫn chiếm ưu thế kể từ đó
Về mặt công nghệ, các trình duyệt đã mở rộng đáng kể khả năng HTML,CSS, JavaScript và đa phương tiện từ những năm 1990 Một lý do là cho phépcác trang web phức tạp hơn, chẳng hạn như các ứng dụng web Một yếu tố khác
là sự gia tăng đáng kể kết nối băng thông rộng, cho phép mọi người truy cập vàonội dung web chuyên sâu dữ liệu, chẳng hạn như phát trực tuyến trên YouTube,điều này không thể thực hiện được trong thời đại modem dial-up
Dù có nhiều biến thể, một ứng dụng Web thông thường được cấu trúc nhưmột ứng dụng ba lớp Ở dạng phổ biến nhất, một trình duyệt Web là lớp thứnhất, một bộ máy sử dụng một vài công nghệ nội dung Web động (như ASP,ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On Rails) làlớp giữa, và một cơ sở dữ liệu là lớp thứ ba Trình duyệt sẽ gửi yêu cầu đến lớpgiữa, lớp giữa sẽ phục vụ bằng cách tạo ra truy vấn và cập nhật cơ sở dữ liệu vàtạo ra giao diện người dùng
Trang 23Việc sử dụng mô hình ứng dụng Web thường có thể giảm số lỗi trong mộtchương trình, bằng cách làm cho mã nguồn đơn giản hơn, hoặc bằng cách chophép một nhóm chỉ tập trung vào một mô hình duy nhất Trong những ứng dụngthường bị phá hoại trên Internet, những vấn đề liên quan đến bảo mật do lỗi gây
ra trong chương trình là một vấn đề lớn Mô hình cũng có thể đề nghị việc sửdụng những việc tốt nhất nên làm như GET after POST
1.6 Web chìm (Deep web)
Hình 1 9 Các tầng của internet được hình tượng thành một ngọn núi băng, web
chìm nằm ở giữa núi băng.
Web chìm hay còn gọi là mạng chìm (deep web), web ẩn (invisible web,undernet, hay hidden web) là từ dùng để chỉ các trang hoặc nội dung trên thếgiới mạng World Wide Web không thuộc về Web nổi (Surface Web), gồmnhững trang không được đánh dấu, chỉ mục (index) và không thể tìm kiếm đượckhi dùng các công cụ tìm kiếm thông thường Nội dung của web chìm ẩn bêndưới các bản mẫu HTML, và có thể yêu cầu mật khẩu hoặc truy cập bảo mậtkhác qua trang web công cộng
Web chìm bao gồm nhiều ứng dụng rất phổ biến như web mail và ngânhàng trực tuyến nhưng nó cũng bao gồm các dịch vụ mà người dùng phải trảtiền, và được bảo vệ bởi một paywall, như video theo yêu cầu, một số tạp chí vàbáo chí trực tuyến, và nhiều hơn nữa Nhà khoa học máy tính Michael K.Bergman được cho là đã tạo ra thuật ngữ này vào năm 2001 như một thuật ngữlập chỉ mục tìm kiếm
Trang 24Năm 2011, lượng thông tin trên web chìm đã vượt hơn hẳn web nổi.
1.6.1 Nguồn gốc
Trong một bài báo chuyên đề về web chìm trên tạp chí ElectronicPublishing, Michael Bergman đã nhắc đến việc Jill Ellsworth đã sử dụng thuậtngữ Invisible Web vào năm 1994 để ám chỉ các website không đăng ký với bất
kỳ máy tìm kiếm nào cả Bergman đã trích dẫn một bài viết vào tháng 1
năm 1996 của Frank Garcia: "Một trang web được thiết kế hợp lý, nhưng người
lập ra trang web đó đã không để ý tới việc đăng ký nó với bất kỳ máy tìm kiếm nào Vì vậy, không ai tìm thấy nó và nó được ẩn Tôi gọi đó là web ẩn (Invisible Web)."
Thuật ngữ Invisible Web trước đó đã được Bruce Mount và Matthew B.Koll sử dụng tại Personal Library Software, trong một miêu tả về các công cụDeep Web @1 được tìm thấy trong một ấn phẩm vào tháng 12 năm 1996
Việc sử dụng lần đầu thuật ngữ Deep Web, hiện nay đã được mọi ngườicông nhận, đó là vào năm 2001 trong một nghiên cứu của Bergman
Khái niệm Deep Web được sử dụng để chỉ tất cả những trang web mà cácmáy tìm kiếm như Google, Bing, Yahoo không thể tìm thấy, baogồm databases, các thông tin đăng nhập, Webmail,
Các nội dung không được tạo liên kết hyperlink: các trang không liênkết với các trang khác, sẽ ngăn cản các chương trình dò (crawlingprogram) truy cập vào nội dung của nó Các trang này được truy cậptrực tiếp trên thanh địa chỉ trình duyệt, vì không có các đường dẫntừ/trong bất kỳ trang web nào khác
Các trang web phải xác thực truy cập: các trang yêu cầu phải đăng
ký và đăng nhập mới vào xem thông tin được (các tài nguyên đượcpassword bảo vệ)
Các trang web có nội dung thay đổi theo ngữ cảnh: các trang web nàyhiển thị nội dung thay đổi tùy thuộc vào một số điều kiện tác động, ví
dụ như người dùng từ các dải IP của châu Á truy cập vào thì sẽ đượcxem nội dung phù hợp cho khu vực châu Á
Các nội dung web bị giới hạn truy cập: một số trang web giới hạn việctruy cập tới các nội dung của nó bằng một số phương pháp kỹ thuật
Trang 25như file Robots.txt, CAPTCHAs hoặc tham số HTTP headers để ngăncấm các máy tìm kiếm truy cập nội dung của nó, cũng như tạo phiênbản cache nội dung.
Nội dung sinh từ script hoặc Flash, Ajax: một số trang web chỉ có thểtruy cập thông qua một liên kết được sinh ra bởi một đoạn
mã JavaScript (mà hva là một ví dụ trực tiếp), hoặc nội dung đượcnhúng bên trong Flash hoặc chỉ có thể được tải về thông qua Ajax
Các nội dung không theo kiểu HTML/text: Các nội dung dạng textđược mã hóa trong các file đa phương tiện (hình ảnh hoặc video) hoặccác định dạng file đặc biệt mà các cỗ máy tìm kiếm không thể xử lýđược
Nội dung văn bản chỉ có thể truy cập thông qua giao thức Gopher hoặccác file được lưu trữ trên các máy chủ FTP thì không được lập chỉ mụcbởi hầu hết các máy tìm kiếm hiện nay: các máy tìm kiếm thông dụngnhư Google mặc nhiên không lập chỉ mục cho các trang không dùnggiao thức HTTP hoặc HTTPS
vô định các truy vấn có thể xảy ra Chú ý là điều này có thể (một phần) đượcvượt qua bởi cách cung cấp các đường dẫn tới các kết quả truy vấn, nhưng điềunày lại vô tình làm thôi phồng sự nổi tiếng cho một trang deep web
Hình 1 10 Biểu tượng trình duyệt Tor
Từ lúc trình duyệt Tor ra đời, người dùng có thể dễ dàng truy cập đượcvài tầng trong deep web một cách khá an toàn (khỏi những trang dark web hoặcnhững trang web của tội phạm, web chứa nội dung phi pháp, hacker, thông tinmật ) tràn lan trong deep web mà không được kiểm soát, ảnh hưởng đến sự bảomật và an toàn của người truy cập Để duyệt các web trong đấy cần những thư
Trang 26viện các đường dẫn Và để truy cập được những trang web bảo mật hơn trongweb chìm, người dùng cần phải có kiến thức về phần mềm và phần cứng cao
Tor là phần mềm máy tính có chức năng xóa dấu vết, ẩn địa chỉ IP xuất
xứ của máy truy cập Internet khi gửi hay nhận thông tin qua mạng Internet Cácthông tin trao đổi qua Tor được mã hóa và truyền qua nhiều máy chủ trung giankhác nhau Nếu một máy trung gian Tor bị truy cập trộm, kẻ trộm cũng khôngthể đọc được các thông tin của người sử dụng vì các thông tin đã được mã hóa.Ngoài công dụng trên, Tor là một trong ứng dụng có thể dùng trong một trangweb chìm (Deep web) Tor đang trong giai đoạn được nhiều người tin dùng nhấtkhi lướt Deep Web mà không bị công khai bất kỳ thông tin cá nhân nào củangười dùng
Tor là công cụ giúp người ở những nơi bị ngăn chặn thông tin có thể vượttường lửa để tiếp cận với những luồng thông tin tự do và khách quan hơn ở bênngoài Bản chất của Tor là tự động và liên tục thay đổi proxy để bảo mật dữ liệu
Bán thông tin thẻ tín dụng bị đánh cắp và tài khoản người dùng
Bán các tài liệu giả mạo và tiền tệ
Tuyển dụng sát thủ
Bài bạc
Rửa tiền
Giao dịch nội gián
Một số lượng không nhỏ các trang Deep Web cung cấp những thông tinkhông tốt cho cộng đồng như ma tuý, tình dục (đặc biệt là tình dục liên quan đếntrẻ em - ấu dâm, tra tấn tình dục), mua bán vũ khí trái phép Đặc biệt là giao dịchtiền ảo (như Bitcoin), mua bán nội tạng, mua bán người
Deep Web cũng là nơi chia sẻ những tài liệu mật bị rò rỉ, thông quaWikiLeaks chẳng hạn
Trang 27Ranh giới giữa những gì mà các cỗ máy tìm kiếm phát hiện được và deepweb đã bắt đầu trở nên phai nhòa, khi các dịch vụ search bắt đầu cung cấp dịch
vụ truy xuất tới một phần hoặc toàn bộ các nội dung cấm cấp 1 Lượng nội dungdeep web đang được mở ra để tự do tìm kiếm khi các nhà xuất bản và thư thiệnđồng ý với các cỗ máy tìm kiếm lớn Trong tương lai, nội dung của deep web cóthể bị thu hẹp bởi vì cơ hội tìm kiếm thông tin bằng cách trả phí hoặc các dạngbản quyền khác ra đời
1.6.5 Các tầng trên Web chìm
Việc chia tầng trên Web chìm có ý kiến trái ngược: Một số cho rằngtrên Web chìm có 8 tầng (hoặc hơn) Trong khi số khác khẳng định rằng,
trên Web chìm hoàn toàn không có tầng nào cả và khái niệm tầng trên Web
chìm dùng để chỉ khả năng bảo mật, khó truy cập của một địa chỉ Internet nào
đó, hay mức độ nguy hiểm của các thông tin website chia sẻ được phân ranhờ FBI
Mức độ 1: Web nổi (Surface Web)
Dùng để chỉ những trang web mà chúng ta vẫn truy cập hàng ngàynhư Wikipedia, Youtube, Facebook Chúng gọi chung là Web nổi, mặc dù đôikhi chúng được gọi là Common Web (Web thông thường) và được cho là Tầng
0 của Internet, trong khi những trang web đen hơn như Reddit mới là tầng 1
của Internet
Mức độ 2: Web vô thừa nhận (Bergie Web)
Được cho rằng, đây là tầng cuối cùng mà một người dùng Internet có thểtruy cập một cách thông thường nhất mà không cần sự can thiệp khác để có thểtruy cập chúng (thông qua một proxy, dùng các trình duyệt hỗ trợ như Tor hoặc
có sự can thiệp đặc biệt vào phần cứng máy tính) Theo khuyến cáo, tốt nhấtkhông nên truy cập những trang web sau với mức độ cao hơn 2 Tại đây, ngườidùng có thể bắt gặp những trang web bí mật (ngầm) được liệt kê, ví dụnhư 4chan
Mức độ 3: Web ẩn, Web chìm (Deep web, Onion Web)
Tầng này có thể truy cập thông qua proxy hoặc hệ thống mạng Tor Chứađựng những thông tin nhạy cảm, kinh dị: ấu dâm, clip kinh dị, trang web của cáchacker (các trang chuyên hack) Vì là tầng đầu tiên của Internet mà việc truycập phải được phải thông qua một sự hỗ trợ từ mạng Tor hoặc thiết đặt phầncứng, nên đôi khi cũng dùng để chỉ cả những tầng cao hơn của Internet Tầngnày không thể truy cập bằng trình duyệt bình thường vì địa chỉ đuôi của trangweb loại này (.onion) khi truy cập sẽ bị DNS xem là địa chỉ web không hợp lệkhi truy cập Chỉ có khi đã kết nối với Proxy mới có thể vào tầng này bằng trìnhduyệt bình thường
Mức độ 4: Web điều lệ (Web Charter)
Trang 28Loại mạng này được chia thành 2 phần, để chỉ cách thức truy cập:
Phần 1: Được truy cập thông qua Tor, chứa đựng những nội dung liên
quan đến ma tuý, vũ khí, buôn bán người (human trafficking), giết người thuê,buôn bán các loại mặt hàng cấm Hoặc các ấn bản cấm (phim, sách về dị giáo,hoặc bạo lực ) thậm chí là chợ đen ma túy như Silk Road Đây là tầng cuốicùng có thể truy cập bằng trình duyệt Tor khi sử dụng máy tính bình thường Ởtầng này đối với người dùng chuyên nghiệp thường sẽ sử dụng Linux chứ khôngphải Windows vì Windows tuy bảo mật nhưng thực tế bên trong có rất nhiều lỗhổng bảo mật chưa được khai thác rất nguy hiểm cho người sử dụng
Phần 2: Truy cập chỉ khi có sự thay đổi về phần cứng (nâng cấp phần
cứng máy tính sao cho thật mạnh rồi tiếp tục vào.) (Ở đây chỉ nên sử dụng Linuxchứ không sử dụng Windows vì Windows ở đây đã hết an toàn Chúng thườngchứa đựng thí nghiệm tình dục trên trẻ em, phụ nữ mang thai và các thínghiệm khoa học kỳ lạ và vô cùng kinh khủng (kể cả trên cơ thể con người),thường khó được chấp nhận được vì tính vô nhân đạo của chúng
Mức độ 5: Web ẩn dạng mạng lưới xuyên thế giới - mạng trong
mạng
Nếu muốn truy cập được các trang web tại mức độ 5, cần có một hệthống máy trạm đặc biệt Tại đây là nơi rò rỉ những tài liệu mật của Quốc gia, tổchức mà vẫn thường thấy trên Wikileaks; các hoạt động tâm linh kỳ quái, cáchội đoàn hoạt động bí mật, những hoạt động hiến tế Chỉ có thể truy cập bằngmáy trạm Việc kết nối với loại mạng này được cảnh báo là nên truy cập bằngmột loại máy trạm đặc biệt, thường các loại máy này có cấu hình rất mạnh để cóthể giải mã tất cả khóa bảo mật có trong trang web Loại mạng này là mạng -trong - mạng, để kết nối vào loại web này cần thời gian rất lâu do phải kết nốivới nhiều máy chủ
Mức độ 7: The Fog/Virus Soup
Là nơi hoạt động của những chuyên gia An ninh Internet, các hacker,thường diễn ra các hành động phá hoại lẫn nhau, một cách công khai hoặc lénlút nhằm bảo vệ những thông tin mật (những đơn hàng giá trị cao hàng tỷ đôla).Mọi hoạt động tại đây đều không an toàn, đặc biệt là những tài nguyên tải về,thường chứa đựng virus máy tính
Trang 29 Mức độ 8: The Primarch System
Là nơi tận cùng của "Đại dương Internet", được phát hiện ra vàonăm 2000 trong một lần rà soát dữ liệu tập trung (Massive Deep Web Scan)
Việc có hay không việc phân tầng Deep Web dựa mức độ bảo mật củachúng vẫn chưa có sự thống nhất
1.7 Dark web
1.7.1 Khái niệm
Hình 1 11 Dark web - tầng dưới cùng của không gian mạng
Dark web (web tối) là những nội dung mạng World Wide Web nằm
trong darknet trực tuyến (là mạng của các trang web không thể truy cập từ
công cụ tìm kiếm (công cụ truy vấn dữ liệu) Nó bao gồm các trang web mà robots.txt được thiết lập để ngăn chặn Google và các công cụ tìm kiếm khác lập chỉ mục chúng trên Internet Chúng có thể là các trang web cá nhân, mạng ngang hàng, các mạng nội bộ như Tor.) nhưng không thể truy cập bằng những
cách thông thường mà phải sử dụng các phần mềm chuyên biệt Dark web làmột phần nhỏ của deep web, một thế giới mạng mà các công cụ tìm
kiếm như Google hay Bing không hiển thị ra Deep web và dark web là hai thuật
ngữ thường bị người dùng Internet nhầm lẫn Deep web là không gian mạng bị
ẩn trên các công cụ tìm kiếm thông thường và dark web là một phần của deepweb Sự nhầm lẫn hai khái niệm bắt đầu xuất hiện từ khoảng năm 2009, nhất là
từ sau vụ triệt phá chợ đen ảo Silk Road năm 2013 Dù vậy, các hãng thôngtấn đã được kêu gọi cần phân biệt hai khái niệm này
1.7.2 Nội dung
Một nghiên cứu vào tháng 12 năm 2014 của Gareth Owen từ Đại họcPortsmouth cho thấy loại nội dung được lưu trữ phổ biến nhất trên Tor là nộidung khiêu dâm trẻ em, tiếp theo là chợ đen, trong khi các trang web riêng lẻ có
Trang 30lưu lượng truy cập cao nhất dành riêng cho hoạt động của mạng botnet (xem sốliệu đính kèm) Nhiều trang web tố cáo duy trì sự hiện diện cũng như các diễnđàn thảo luận chính trị Các trang web liên quan đến Bitcoin, các dịch vụ liênquan đến gian lận và dịch vụ đặt hàng qua thư là một số trong số các trang web
có nhiều lợi nhuận nhất Nói chung chúng tập trung vào các nội dung như:
Botnet: Botnet thường được cấu trúc với các máy chủ điều khiển và ra
lệnh của chúng dựa trên một dịch vụ ẩn chống kiểm duyệt, tạo ra mộtlượng lớn lưu lượng truy cập liên quan đến bot
Dịch vụ bitcoin: Một nghiên cứu được thực hiện bởi Jean-Loup
Richet, một thành viên nghiên cứu tại ESSEC và được thực hiệnvới Văn phòng Liên Hợp Quốc về chống Ma túy và Tội phạm, đã nêubật những xu hướng mới trong việc sử dụng Bitcoin cho mục đích rửatiền Với Bitcoin, mọi người có thể che giấu ý định cũng như danh tínhcủa họ
Thị trường Darknet: Các thị trường darknet thương mại, nơi làm
trung gian cho các giao dịch mua bán ma túy bất hợp pháp [33] và cáchàng hóa khác
Các nhóm và dịch vụ hack: Nhiều tin tặc bán dịch vụ của họ theo
cách riêng lẻ hoặc thành một phần của các nhóm.Các nhóm như vậybao gồm xDedic, hackforum, Trojanforge, Mazafaka, dark0de và thịtrường darknet TheRealDeal Một số đã được biết là theo dõi và tốngtiền những kẻ ấu dâm rõ ràng Tội phạm mạng và dịch vụ hack các tổchức tài chính và ngân hàng cũng đã được cung cấp trên Dark web.Các nỗ lực giám sát hoạt động này đã được thực hiện thông qua các tổchức chính phủ và tư nhân khác nhau, và việc kiểm tra các công cụđược sử dụng có thể được tìm thấy trong tạp chí Khoa học Máy tínhThủ tục Sử dụng các cuộc tấn công từ chối dịch vụ phản ánh phân tánDNS (DRDoS) trên quy mô Internet cũng đã được thực hiện thông quaviệc tận dụng Dark Web Có rất nhiều trang web onion lừa đảo cũngxuất hiện, cuối cùng cung cấp các công cụ để tải xuống bị nhiễm trojanhoặc backdoor
Dịch vụ gian lận: Có rất nhiều diễn đàn tội phạm liên quan đến thẻ tín
dụng, PayPal và Bitcoin được dùng trong các trang web thương mạicũng như gian lận và các dịch vụ làm giả.[46] Nhiều trang web như vậylại là các trang lừa đảo
Tin đồn và nội dung chưa được xác minh
Phishing và scam: Lừa đảo qua các trang web nhân bản và các
trang lừa đảo khác
Khiêu dâm trái phép: Thường xuyên có hành động thực thi pháp
luật chống lại các trang web phân phối nội dung khiêu dâm trẻ em
Chợ đen: Nhiều hoạt động thương mại bất hợp pháp diễn ra trên Dark
web, ví dụ như: buôn bán tiền giả, thẻ ngân hàng hay tài khoản mạng
bị đánh cắp, súng, ma túy và các chất kích thích, các sản phẩm không
rõ nguồn gốc khác
Trang 31 Khủng bố: Có ít nhất một số trang web thật và gian lận tuyên bố được
sử dụng bởi ISIL (ISIS), bao gồm cả một trang giả bị thu giữ trongChiến dịch Onymous Với sự gia tăng của công nghệ, nó đã cho phépnhững kẻ khủng bố mạng phát triển mạnh mẽ bằng cách tấn công vàonhững điểm yếu của công nghệ Sau khi xảy ra các cuộc tấn công ởParis vào tháng 11 năm 2015, một trang web thực tế như vậy đã bị tấncông bởi một nhóm hacker Anonymous, GhostSec, và được thay thếbằng một quảng cáo cho Prozac Nhóm Hồi giáo Rawti Shax từng bịphát hiện hoạt động trên dark web
Mạng xã hội: Trong dark web, tồn tại các nền tảng truyền thông xã
hội mới nổi tương tự như trên World Wide Web Facebook và các nềntảng mạng xã hội truyền thống khác đã bắt đầu tạo ra các phiên bảndark web trên trang web của họ để giải quyết các vấn đề liên quan đếncác nền tảng truyền thống và để tiếp tục dịch vụ của họ trong tất cả cáclĩnh vực của World Wide Web Các ban nhạc có nội dung hạn chế nhưNhà thờ Thiên chúa giáo đã sử dụng deep web
1.8 Kết luận chương 1
Qua quá trình nghiên cứu chương này, chúng ta đã có thể hiểu được kháiquát “WEB” là gì, nó bao gồm những dạng tồn tại nào và những thành phần liênquan Ta có thể thấy WEB thật sự là một thứ gì đó vô cùng to lớn, khổng lồ sovới những gì ta được biết hoặc tìm hiểu trước đó, nó là một thứ gì đó mà cho dù
có dành cả cuộc đời chúng ta cũng chưa chắc nắm được hết về nó Tuy mới chỉđưa ra mức khái niệm và nội dung nhưng nó rất quan trọng trong việc tìm hiểubản chất của WEB phục vụ cho mục đích học tập và nghiên cứu Chương sau sẽtrình bày một số kỹ thuật tấn công trên ứng dụng WEB
Trang 32CHƯƠNG 2 MỘT SỐ KỸ THUẬT TẤN CÔNG TRÊN ỨNG
DỤNG WEB VÀ BIỆN PHÁP PHÒNG CHỐNG 2.1 Tấn công Bruteforce
2.1.1 Khái niệm
Bruteforce là cách thức thử tất cả các khả năng có thể có để đoán cácthông tin cá nhân đăng nhập: tài khoản, mật khẩu, số thẻ tín dụng…Nhiều hệthống cho phép sử dụng mật khẩu hoặc thuật toán mã hóa yếu sẽ tạo điều kiệncho tin tặc sử dụng phương pháp tấn công này để đoán tài khoản và mật khẩuđăng nhập Sau đó sử dụng các thông tin này để đăng nhập truy cập vào tàinguyên hệ thống
Tấn công Brute Force là tốt hay xấu tùy thuộc vào người sử dụng nó Nó
có thể được bọn tội phạm mạng cố gắng sử dụng để hack vào một máy chủmạng, hoặc nó có thể được một quản trị viên mạng dùng để xem mạng của mìnhđược bảo mật có tốt không Một số người dùng máy tính cũng sử dụng các ứngdụng brute force để khôi phục mật khẩu đã quên
2.1.2 Đặc điểm
Kiểu tấn công brute force là kiểu tấn công được dùng cho tất cả các loại
mã hóa Brute force hoạt động bằng cách thử tất cả các chuỗi mật khẩu có thể đểtìm ra mật khẩu Vì thế nên thời gian cần rất lâu, tùy theo độ dài của mật khẩunhưng khả năng để tìm ra là luôn luôn nếu không giới hạn thời gian Brute forcechỉ được dùng khi các phương pháp khác đều không có hiệu quả
Trang 33Hình 2 1 Máy bẻ khóa trị giá 250.000 đô la của EFF này có thể bẻ khóa được thuật toán DES trong vài ngày Hình chỉ một phần bản mạch của máy với 64
con chip bẻ khóa dạng brute force
Ngày nay, có 2 kỹ thuật xuất hiện đã tự chứng minh là có khả năng tấncông những mã hóa kiểu brute force Một là những GPU (graphics processsingunit), hai là FPGA (Field-programmable gate array - là một loại mạch tích hợp
cỡ lớn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được.Chữ field ở đây muốn chỉ đến khả năng tái lập trình "bên ngoài" của người sửdụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bándẫn.) GPU thì phổ biến rộng rải hơn và rẻ hơn theo tỷ số hiệu suất trên chi phí;FPGA thì kém hiệu quả hơn về năng lượng trên mỗi bài toán về mã hoc Cả hai
kỹ thuật đều dùng nguyên tắc xử lý song song (parallel processing) để áp dụngvào việc tấn công brute force Trong trường hợp GPU thì vài trăm đơn vị xử lý
và trong FPGA thì vài ngàn đơn vị, cả hai kỹ thuật này đều hiệu quả hơn lànhững máy tính thông thường Nhiều bài viết về FPGA đã chứng minh FPGArất công hiệu về năng suất, thí dụ như máy COPACOBANA FPGA Clustercomputer chỉ dùng năng lượng như 1 máy PC (khoảng 600 W) nhưng tính toánnhanh bằng 2.500 máy PC cộng lại trong một vài thuật toán Một vài hãng đãchế tạo ra những board PCI Express có gắn FPGA WPA và WPA2 đã bị tấn
Trang 34công thành công dùng FPGA, có thể giảm thiểu khối lượng công việc xuống cả
từ 50 cho đến vài trăm lần nếu dùng những CPU cổ điển
2.1.3 Biện pháp phòng chống
Vì không có logic đặc biệt nào được áp dụng trong các cuộc tấn côngBrute Force, ngoại trừ việc thử các kết hợp khác nhau của các ký tự được sửdụng để tạo mật khẩu, nên biện pháp phòng ngừa ở mức rất cơ bản và tương đối
Sử dụng cơ chế chứng thực (Basic hoặc Digest Authentication)
Hạn chế số lần đăng nhập hoặc khóa tài khoản đăng nhập sai
Sử dụng module Mod_Dosevasive để xác định dấu hiệu của kiểu tấncông này
Mật khẩu càng dài thì càng mất nhiều thời gian để crack nó Nếu mậtkhẩu của người dùng giống như 'PA$$w0rd', sẽ mất hơn 100 năm để crack nóbằng các ứng dụng tấn công brute force hiện có Xin vui lòng không sử dụngmật khẩu được đề xuất trong ví dụ, vì nó rất dễ dàng bị phá vỡ, bằng cách sửdụng một số phần mềm thông minh, có thể tổng hợp các mật khẩu đề xuất trongcác bài viết liên quan đến các cuộc tấn công brute force
Nếu người dùng đang sử dụng phần mềm website WordPress, thì cũng cónhiều plugin bảo mật WordPress tự động chặn các cuộc tấn công brute force Sửdụng tường lửa web như Sucuri hoặc Cloudflare là một tùy chọn khác mà ngườidùng có thể xem xét Một cách nữa để chặn các cuộc tấn công brute-force làkhóa các tài khoản sau một số lần nhập mật khẩu không chính xác Plugin LimitLogins WordPress rất tốt cho việc ngăn chặn các cuộc tấn công brute force trênblog của người dùng Các biện pháp khác bao gồm cho phép đăng nhập từ chỉcác địa chỉ IP được chọn, thay đổi URL đăng nhập mặc định thành một thứ khác
và sử dụng Captcha để tăng cường bảo mật blog WordPress của người dùng
Trang 352.2 Lỗi chứng thực yếu (Insufficient Authentication)
2.2.1 Khái niệm
Lỗi chứng thực yếu xuất hiện khi một website cho phép tài khoản không
có đủ quyền truy cập các nội dung nhạy cảm Tình trạng này thường gặp ở cáctrang quản trị website Nếu doanh nghiệp không phân quyền chặt chẽ cho từngvai trò quản trị trên trang, tin tặc có thể dễ dàng vượt qua cơ chế đăng nhập đểchiếm quyền điều khiển website
2.3.2 Biện pháp phòng chống
Sử dụng SSL (mod_ssl) trong quá trình chứng thực để chống lại việcnghe lén dữ liệu quan trọng
Sử dụng cơ chế tạo session ID ngẫu nhiên, thuật toán mã hóa mạnh
Session ID phải đủ lớn để làm khó quá trình tấn công brute-fore
Giới hạn thời gian tồn tại của session ID
Trang 362.4 XSS – Cross-Site Scripting
2.4.1 Khái niệm
Cross-site scripting (XSS) là một kiểu tấn công bảo mật trong đó kẻ tấncông đưa các tập lệnh độc hại vào phần nội dung của các trang web đáng tin cậykhác Tấn công Cross-site scripting xảy ra khi một nguồn không đáng tin cậyđược phép đưa code của chính nó vào một ứng dụng web và mã độc đó đượcbao gồm trong nội dung gửi đến trình duyệt của nạn nhân
XSS là một trong những lỗ hổng ứng dụng web phổ biến nhất và xảy rakhi một ứng dụng web sử dụng đầu vào từ người dùng không được xác thựchoặc không được mã hóa trong đầu ra mà nó tạo ra
2.4.2 Đặc điểm và cách thức hoạt động
Bằng cách tận dụng XSS, kẻ tấn công không nhắm trực tiếp vào nạn nhân.Thay vào đó, kẻ tấn công sẽ khai thác lỗ hổng trong trang web hoặc ứng dụngweb mà nạn nhân sẽ truy cập
Mặc dù XSS có thể tận dụng lợi thế trong VBScript, ActiveX và Flash(hiện được coi là cũ hoặc thậm chí lỗi thời), nhưng phổ biến nhất vẫn làJavaScript - chủ yếu vì JavaScript là nền tảng cho hầu hết các trải nghiệm duyệtweb
Để chạy code JavaScript độc hại trong trình duyệt của nạn nhân, trướctiên, kẻ tấn công phải tìm cách truyền payload vào trang web mà nạn nhân truycập Tất nhiên, kẻ tấn công có thể sử dụng các kỹ thuật social engineering đểthuyết phục người dùng truy cập trang đã bị tấn công đó
Để một cuộc tấn công XSS diễn ra, trang web bị tấn công cần trực tiếpbao gồm đầu vào của người dùng trong các trang của mình Kẻ tấn công sau đó
có thể chèn một chuỗi sẽ được sử dụng trong trang web và được xử lý dưới dạngcode bởi trình duyệt nạn nhân
Mã giả phía máy chủ (server-side pseudo-code) này được sử dụng để hiểnthị bình luận gần đây nhất trên trang web:
print "<html>"
print "<h1>Most recent comment</h1>"
print database.latestComment
print "</html>"
Trang 37Tập lệnh sẽ in ra bình luận mới nhất từ cơ sở dữ liệu và in nội dung ratrang HTML, giả sử rằng bình luận được in ra chỉ bao gồm phần văn bản.
Trang trên dễ bị tấn công bởi XSS vì kẻ tấn công có thể gửi nhận xét cóchứa payload độc hại, chẳng hạn như <script>doSomethingEvil();</script>
Người dùng truy cập trang web sẽ được hiển thị trang HTML sau
Lưu ý quan trọng - Lỗ hổng XSS chỉ có thể tồn tại nếu payload (tập lệnhđộc hại) mà kẻ tấn công chèn được phân tích (thành HTML trong trường hợpnày) trong trình duyệt của nạn nhân
Hậu quả mà những gì kẻ tấn công có thể thực hiện với khả năng thực thiJavaScript trên trang web có thể không dễ nhận thấy ngay, đặc biệt là khi cáctrình duyệt chạy JavaScript trong môi trường được kiểm soát rất chặt chẽ vàJavaScript đã giới hạn quyền truy cập vào hệ điều hành và các file của ngườidùng
Tuy nhiên, khi xem xét các phần JavaScript có quyền truy cập, nhữngđiều kẻ tấn công có thể làm với JavaScript sẽ trở nên rõ ràng hơn:
JavaScript độc hại có quyền truy cập vào tất cả các đối tượng giốngnhau trong phần còn lại của trang web, bao gồm quyền truy cậpvào cookie Cookie thường được sử dụng để lưu trữ mã token phiên,nếu kẻ tấn công có thể lấy cookie phiên của người dùng, chúng có thểmạo danh người đó
JavaScript có thể đọc và thực hiện các sửa đổi tùy ý đối với DOM củatrình duyệt (trong trang mà JavaScript đang chạy)
JavaScript có thể sử dụng XMLHttpRequest để gửi các yêu cầu HTTP
có nội dung tùy ý đến các đích khác nhau
JavaScript trong các trình duyệt hiện đại có thể tận dụng cácAPI HTML5 để truy cập vị trí địa lý, webcam, micro và thậm chí cácfile cụ thể từ hệ thống file của người dùng Mặc dù hầu hết các APInày yêu cầu người dùng chấp nhận, nhưng XSS kết hợp với một số kỹthuật social engineering thông minh có thể mang lại cho kẻ tấn côngnhiều lợi thế
Trang 38XSS, kết hợp với social engineering, cho phép kẻ tấn công thực hiện cáccuộc tấn công nguy hiểm hơn, bao gồm lấy cắp cookie, keylogging, phishing vàlấy cắp danh tính.
Nếu kẻ tấn công có thể lợi dụng lỗ hổng XSS trên trang web để thực thiJavaScript tùy ý trong trình duyệt của khách truy cập, thì bảo mật của trang web,ứng dụng web đó, cũng như người dùng của nó đã gặp nguy hiểm XSS khôngphải là vấn đề của người dùng, như mọi lỗ hổng bảo mật khác Nếu nó ảnhhưởng đến người dùng của một trang web, thì tức là nó sẽ ảnh hưởng đến chínhtrang web đó
2.4.3 Phân loại
Hình 2 2 Các loại lỗ hổng Cross-site scripting
Có ba loại lỗ hổng Cross-site scripting: Stored XSS, Reflected XSS vàDOM-based XSS
Stored XSS là loại tấn công cross-site scripting gây thiệt hại nhiềunhất Kẻ tấn công truyền một tập lệnh - còn được gọi là payload - được lưutrữ vĩnh viễn trên ứng dụng đích, chẳng hạn như cơ sở dữ liệu Ví dụ, kẻ tấncông chèn một đoạn mã độc trên blog, trong một bài đăng trên diễn đàn hoặctrong trường bình luận Lúc này Payload XSS sẽ đóng vai trò như một phầncủa trang web khi nạn nhân điều hướng đến trang web bị ảnh hưởng trongtrình duyệt Khi nạn nhân xem trang trên trình duyệt sẽ vô tình thực thi tậplệnh độc hại
Reflected XSS là loại lỗ hổng cross-site scripting phổ biến nhất.Trong kiểu tấn công này, kẻ tấn công phải chuyển payload cho nạn nhân Do
đó, tập lệnh payload của kẻ tấn công phải là một phần của yêu cầu được gửiđến máy chủ web và được phản chiếu lại để phản hồi HTTP, bao gồmpayload từ yêu cầu HTTP Kẻ tấn công sử dụng email phishing và các
Trang 39phương pháp social engineering khác để dụ nạn nhân đưa ra yêu cầu đến máychủ có chứa payload XSS Nạn nhân sau đó thực thi tập lệnh độc hại bêntrong trình duyệt Vì Reflected XSS không phải là một cuộc tấn công liêntục, nên kẻ tấn công phải cung cấp payload cho mỗi nạn nhân.
DOM-based cross-site scripting là loại tấn công XSS nâng cao, cóthể thực hiện được khi tập lệnh phía máy khách của ứng dụng web ghi dữliệu do người dùng cung cấp vào Document Object Model (DOM) Sau đó,ứng dụng web sẽ đọc dữ liệu từ DOM và gửi nó đến trình duyệt Nếu dữ liệukhông được xử lý chính xác, kẻ tấn công có thể đưa ra payload được lưu trữnhư một phần của DOM Payload sau đó sẽ thực thi khi dữ liệu được đọc lại
từ DOM
2.4.4 Một số ví dụ
Sau đây là danh sách (không đầy đủ) các vectơ tấn công XSS mà kẻ tấncông có thể sử dụng để xâm phạm bảo mật của trang web hoặc ứng dụng webthông qua một cuộc tấn công XSS
Thẻ <script>:
Thẻ <script> là payload XSS đơn giản nhất Thẻ script có thể tham chiếucode JavaScript bên ngoài hoặc nhúng code trong thẻ script Ví dụ như dướiđây:
Trang 40Một số trình duyệt sẽ thực thi JavaScript được tìm thấy trong <img> Ví
dụ như dưới đây: