v n Trang 2Tổng quan về ANM và ứng dụng WEB Tổng kết quá trình tấn công của Hacker Các kỹ thuật tấn công và bảo mật Một số công cụ bảo mật ứng dụng WEB Kết luận... v nTổng quan về ANM và
Trang 1Đề tài:
Tìm Hiểu An Ninh Mạng Và Kỹ Thuật Tấn Công Ứng Dụng WEB
Khoa Khoa Học Máy Tính
GHVD : Ths Lê Tự Thanh Học Phần : An Ninh Mạng Lớp : CCMM03A Nhóm : 4
Trang 2w w w v i e t h a n i t e d u v n Trang 2
Tổng quan về ANM và ứng dụng WEB
Tổng kết quá trình tấn công của Hacker Các kỹ thuật tấn công và bảo mật
Một số công cụ bảo mật ứng dụng WEB
Kết luận
Trang 3• An ninh mạng là gì ?
– Là một trong những lĩnh vực mà hiện nay giới công nghệ thông tin khá quan tâm.
– Nó liên quan đến an toàn thông tin chạy trên mạng.
– Internet ngày nay hầu như là quá phát triển đến mức ai cũng có thể sử dụng được nó.
– Các dịch vụ phục vụ lợi ích cho con người ra đời.
– Sẽ có những người muốn có lợi ích của người khác.
– Từ đó có tội phạm công nghệ cao => cần an ninh mạng.
Trang 3
w w w v i e t h a n i t e d u v n
Trang 5Trang 5
w w w v i e t h a n i t e d u v n
Trang 6w w w v i e t h a n i t e d u v n
• Lỗ hổng bảo mật
– Lỗ hổng bảo mật có thể nằm trong các thành phần cấu thành nền hệ thống mạng như hạ tầng mạng, hardware, software, services, OS,
– Lỗ hổng bảo mật có thể phân ra các loại sau:
• Lỗ hổng loại A: Cực kì nguy hiểm => kiểm soát cả hệ thống
• Lỗ hổng loại B: Nguy hiểm => mất mát một số dữ liệu
• Lổ hổng loại C: Nguy hiểm thấp => ảnh hưởng đến chất lượng dịch vụ => làm chậm, ngưng trệ hệ thống mạng
Trang 6
Trang 7• Đánh giá vấn đề an toàn, bảo mật hệ thống mạng
• Các yếu tố môi trường phù hợp
– Phương diện logic
Trang 8• Giới thiệu về Website
– Tên miền (domain)
– Nơi lưu trữ (hosting)
– Nội dung trang web (web page)
Trang 9• Giới thiệu về ứng dụng WEB
– Là ứng dụng máy khách/máy chủ thông qua giao thức HTTP để tương tác với người dùng hay với hệ thống.
– Hiện nay ứng dụng web được sử dụng rất là phổ biến.
– Phục vụ cho nhiều nhu cầu của con người.
– Ví dụ:
• Mạng xã hội: facebook, zing, go,…
• Nghe nhạc và xem phim: zing, youtube,…
• Games online: vtc games, vina games,…
• Ngân hàng trực tuyến: vietcombank, paypal, e-gold,…
• Mua bán online: thegioididong, vatgia, 5giay, muare, enbac,…
Trang 9
w w w v i e t h a n i t e d u v n
Trang 10Ứng dụng điện thoại di động (Iphone)
Giao diện WEB phong phú
Framework (Library, jQuery)
Điện toán đám mây trang WEB như (amazon.com)
Bách khoa toàn thư và từ điển
Phần mềm văn phòng trực tuyến (Google Docs and Microsoft light)
Dễ dàng tạo, sử đổi, xóa dữ liệu bởi người dùng cá nhân
Dịch vụ cung cấp thông tin
(Facebook, Zing,…)
Tương tác với ứng dụng khác
Nền tảng Google và các dịch vụ miễn phí (Google maps)
Mash-up (electronic payment systems)
Trang 10
Trang 11• Các đối tượng dễ bị tấn công
Lỗ hổng trong kinh doanh-logic
Trang 11
Trang 12• Thống kê bảo mật ứng dụng WEB
Trang 13• JavaScript
– Được gọi là ngôn ngữ kịch bản.
– JavaScript được hãng Netscape phát triển.
– Mircrosoft cũng có một ngôn ngữ kịch bản gọi là VBScript
Trang 14w w w v i e t h a n i t e d u v n
• HTTP Header
– Là phần mào đầu của gói tin với giao thức HTTP hoạt động ở lớp ứng dụng.
– Các Hacker có thể biết các thông tin từ HTTP Header này.
– Ví dụ: gói tin được bắt từ phần mềm Wireshark
Các gói tin bắt được giao thức HTTP
Trang 14
Trang 15w w w v i e t h a n i t e d u v n
• HTTP Header
Gói tin Request truy vấn đến trang Zing.vn
Trang 15
Trang 16w w w v i e t h a n i t e d u v n
• HTTP Header
Gói tin Response từ máy chủ WEB trả lời
Trang 16
Trang 17w w w v i e t h a n i t e d u v n
• Session
– Session ID là một chuỗi để chứng thực phiên làm và giúp máy chủ quản lý tốt các session của người dùng.
– Phiên làm việc chỉ tồn tại trong một khoảng thời gian cho phép.
– Để duy trì phiên làm việc session ID thường lưu trữ:
Trang 18w w w v i e t h a n i t e d u v n
• Cookie
– Là phần dữ liệu nhỏ có cấu trúc được chia sẽ giữa máy chủ và trình duyệt người dùng.
– Được lưu trữ dưới dạng những file nhỏ dạng text.
– Lưu trữ những thông tin người dùng đã ghé thăm vào trang WEB trên trình duyệt của người dùng.
– Thông tin có thể là username, password, session, …
– Ví dụ:
• Khi đăng nhập lần đầu tiên trang http://faebook.com thì máy sẽ load trang đấy rất lâu
• Nhưng hôm sau khi vào lại trang http://facebook.com thì máy chạy vi vu, load trang rất nhanh
Trang 18
Trang 19w w w v i e t h a n i t e d u v n
• Proxy
– Proxy cung cấp cho người sử dụng truy xuất Internet một cách đặt biệt.
– Khi triển khai máy chủ proxy thì lợi ích sẽ là băng thông nhưng nhược điểm của nó là bảo mật.
– Proxy được coi như là người trung gian giữa máy chủ và máy khách.
– Ví dụ:
• Không thể truy cập vào http://facebook.com là do nhà mạng chặn IP facebook có thể là do dùng ACL hay firewall
• Để đi được vào trang http://facebook.com chỉ cần sử dụng proxy
Trang 19
Trang 20• Kiến trúc một ứng dụng WEB
Trang 21• Kiến trúc một ứng dụng WEB
• Cần phải có chương trình duyệt WEB, hệ điều hành tích hợp sẵn hoặc cài đặt thêm như chrome, firefox, opera,…
• Là nới lưu trữ nội dung của website
• Nơi tiếp nhận và phục vụ các yêu cầu dịch vụ từ máy khách
• Phần mềm chạy dịch vụ WEB có thể là IIS, Apache, Tom cat,…
Trang 22• Nguyên lý hoạt động của một ứng dụng WEB
Trang 23w w w v i e t h a n i t e d u v n
Tổng quan về ANM và ứng dụng WEB
Tổng kết quá trình tấn công của Hacker Các kỹ thuật tấn công và bảo mật
Một số công cụ bảo mật ứng dụng WEB
Kết luận
Trang 23
Trang 24w w w v i e t h a n i t e d u v n
• Tràn bộ nhớ đệm (Buffer Overflow)
– Người dùng nhập vượt quá dữ liệu cho phép nhập vào máy chủ => tình trạng tràn bộ nhớ đệm => ứng dụng không được thự thi mà thay vào đó sẽ là một đoạn code của Hacker.
– Lỗi này thường do người lập trình kém hoặc mới vào nghề.
– Ví dụ: Xét đoạn code sau
Trang 24
Trang 25w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (Buffer Overflow)
– Người thiết kế website hay lập trình website cần phải kiểm tra kĩ dữ liệu nhập vào của người sử dụng.
– Xử lý ngoại lệ để có thể ngăn Hacker chèn đoạn mã độc.
– Ví dụ:
• Như ví dụ trên nếu như người lập trình xây dụng một vòng lặp kiểm tra các kí tự nhập vào Nếu nhâp lớn hơn 256
ký tự sẽ yêu cầu người dùng nhập lại
Trang 25
Trang 26w w w v i e t h a n i t e d u v n
• Vượt đường dẫn (Directory Traversal)
– Thư mục www/root là thư mục chứa trang WEB
– Có nghĩa người dùng truy nhập lên máy chủ chính là lấy trang web trong thư mục này.
– Hacker có thể truy xuất sang các thư mục khác.
Trang 26
Trang 27w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (Directory Traversal)
– Người quản trị viên cần phải phân quyền hợp lý cho người sử dụng.
– Ứng dụng cần kiểm tra việc truy xuất tập tin trước khi xuất ra kết quả trả về cho trình duyệt người sử dụng.
Trang 27
Trang 28w w w v i e t h a n i t e d u v n
• Kí tự rỗng (Char Null)
– Nhiều ứng dụng WEB sử dụng ngôn ngữ C hay java để lập trình.
– Hacker lợi dụng những kí tự chuỗi để đánh lừa ứng dụng WEB.
– Ví dụ:
• Chuỗi là 123456 là ban đầu Hacker chèn kí tự rỗng vào như sau
• 123\0456 thì bây giờ chuỗi còn lại là 123
– Mục đích là nhằm Hacker có thể vượt những khâu kiểm tra chuỗi.
Trang 28
Trang 29w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (Char Null)
– Kiểm tra chấp nhận những dữ liệu hợp lệ.
– Loại bỏ những kí tự có ý nghĩa cắt chuỗi như trong C “\” nói riêng còn đối với lập trình thì nói chung.
Trang 29
Trang 30w w w v i e t h a n i t e d u v n
• Thao tác với URL
– Khi trình duyệt web giao tiếp với máy chủ WEB thì cần phải có phương thức GET hoặc POST thông qua giao thức HTTP.
– GET là giao thức thiếu bảo mật và như thế là POST được thay thế GET.
– Ví dụ:
• User người sử dụng đăng nhập
http://nganhangtructuyen.com/example?user=quocnhan&pass=123
• Hacker http://nganhangtrutuyen.com/example?user=admin&newpass=1234
Trang 30
Trang 31w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (URL)
– Thay phương thức GET bằng POST.
– Mã hóa các thông tin cần thiết trước khi gửi và nhận.
Trang 31
Trang 32w w w v i e t h a n i t e d u v n
• Thao tác với biến ẩn trong Form
– Một số thông tin được chuyển sang biến ẩn của form gọi là hidden form field.
– Các giá trị ẩn sẽ không hiển thị trên trình duyệt người dùng mà sẽ chạy ngầm Thấy được chúng “view source”.
– Tấn công này là làm nền cho tấn công tràn bộ đệm vì chúng có thể sửa lại kích thước bộ nhớ cấp phát.
– Ví dụ: Giá sản phầm là 200$ nhưng Hacker sửa lại giá còn 2$.
Trang 32
Trang 33w w w v i e t h a n i t e d u v n Trang 33
Trang 34w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục
– Chỉ sử dụng biến ẩn của form để hiện thị dữ liệu trên trình duyệt
• Ví dụ: Người thiết kế WEB, thiết kế khi bấm vào hình to thì hình sẽ được phóng to còn ngược lại là hình sẽ thu nhỏ,
…
– Dùng một session ID để đối chiếu đến thông tin được lưu trữ trên cơ sở dữ liệu.
– Sử dụng mã hóa để trang web được an toàn.
Trang 34
Trang 35w w w v i e t h a n i t e d u v n
• Thao tác với Cookie
– Cookie là thành phần lưu trữ các thông tin bảo mật nhất nên Cookie thường lưu trữ trạng thái cho giao thức HTTP.
– Hacker có thể thay đổi nội dung trong quá trình truyền từ người dùng đến máy chủ WEB.
– Ví dụ: Cookie lưu trữ thông tin tài khoản ngân hàng
Cookie: lang=en-us; admin=no; y=1; time=8:30GMT;
• Hacker có thể thay đổi như sau
Cookie: lang=en-us; admin=yes; y=1; time=8:30GMT;
Trang 35
Trang 36w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục
– Sử dụng thông tin session để chứng thực kiểm tra người sử dụng có hợp lệ hay không.
– Mã hóa Cookie để nhỡ Hacker có lấy được cũng tốn thời gian giải mã.
– Kiểm tra nội dung Cookie để tìm ra giá trị không hợp lệ.
• Ví dụ: nếu cờ của “người quản trị” được thiết lập đúng trong Cookie, nhưng giá trị STT của “người sử dụng” không giống với STT của “người quản trị” được lưu trữ trên máy chủ
Trang 36
Trang 37w w w v i e t h a n i t e d u v n
• Ấn định phiên làm việc (Session Fixation)
– Chiếm phiên làm việc của người dùng.
– Phiên làm việc được Hacker ấn định sẵn.
Trang 37
Trang 38w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (Session Fixation)
– Người dùng:
• Khuyến cáo người dùng biết tự bảo vệ mình
• Không lưu trữ thông tin hay các tập tin Cookie trong trình duyệt khi đã thoát ra
– Máy chủ:
• Không cho phép đăng nhập với một Session ID có sẵn
• Kết hợp Session ID với thông tin chứng thực đã được mã hóa SSL
• Thiết lập thời gian hết hiệu lực của một Session ID
• Xóa bỏ những Session ID hết liệu lực hoặc thoát khỏi hệ thống
Trang 38
Trang 39w w w v i e t h a n i t e d u v n
• Đánh cắp phiên làm việc (Session Hijacking)
– Hacker mạo danh người dùng hợp lệ khi người dùng đã đăng nhập vào hệ thống.
– Giải mã Session ID, Cookie, URL,
– Hacker có thể sử dụng các phương pháp sau để đánh cắp phiên làm việc:
• Dự đoán phiên làm việc: Nghĩa là Hacker phải phân tích Session ID của nhiều lần đăng nhập để biết được thuật toán => dự đoán phiên làm việc của người sử dụng
• Vét cạn phiên làm việc: Hacker sẽ dùng một chương trình quét dãy Session ID để tìm thấy các Session ID đang tồn tại và từ đó tìm ra quy luật
• Dùng đoạn mã đánh cắp phiên làm việc
Trang 39
Trang 40w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục (Session Hijacking)
– Thuật toán tạo ra Session ID là một vấn đề lớn của các nhà lập trình.
– Kích thước của Session ID, nếu kích thước quá ngắn thì kĩ thuật vét cặn sẽ có hiệu lực nhưng kích thước quá dài sẽ dẫn đến giải mã lâu => tốn thời gian máy chủ.
Trang 40
Trang 41w w w v i e t h a n i t e d u v n
• Mục tiêu của DOS
– Làm cho dịch vụ mạng bị tê liệt, nói cách khác là không thể phục vụ cho các máy khách được nữa.
– Tấn công vào disks
– Tấn công vào Ram
– Tấn công Bandwith
– Tấn công vào Swap Space
Trang 41
Trang 42w w w v i e t h a n i t e d u v n
• Tấn công DOS truyền thống SYN Flood
– Dựa vào bắt tay 3 bước của giao thức TCP.
Trang 42
Trang 43Quá tải
Trang 44w w w v i e t h a n i t e d u v n
• Tấn công DDOS
– Tấn công này rất thông dụng được Hacker ưu thích.
– Với DDOS đã tấn công thì phải sập.
– Ví dụ:
• 28/11/2010 wikileaks.org bị một nhóm Hacker tấn công DDOS và hệ thống tê liệu hoàn toàn
• Ngày 14/02/2012 nhóm Hacker tấn công DDOS vào trang bkav.com làm hệ thống ngưng hoạt động trong một ngày Nhóm Hacker này còn lấy được cả database của Bkis
Trang 44
Trang 45w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục
– Giảm thời giam chờ thiết lập kết nối (DOS)
– Dùng những phần mềm phát hiện DOS cũng như DDOS
– Sử dụng Firewall hay hệ thống IPS, IDS để hiệu quả hơn.
Trang 45
Trang 46w w w v i e t h a n i t e d u v n
• Kĩ thuật tấn công SQL Injection
– Là kĩ thuật tấn công cho phép Hacker lợi dụng lỗ hổng trong việc kiểm tra nhập dữ liệu trong các ứng dụng WEB.
– Dựa vào các thông báo lỗi SQL tìm ra lỗ hổng.
– Ví dụ: Sau đây là một vài site bị lỗ hổng SQL Injection.
• http://vsmc.com.vn và http://www.bluestar-vn.com
Trang 46
Trang 47w w w v i e t h a n i t e d u v n Trang 47
Trang 48w w w v i e t h a n i t e d u v n
• Tấn công vượt form đăng nhập đơn giản
– Lỗ hổng không xuất phát từ form đăng nhập.
– Mà chính là những kí tự của Hacker nhập vào.
– Đoạn code đăng nhập trong form
Trang 48
Trang 49w w w v i e t h a n i t e d u v n Trang 49
Trang 50w w w v i e t h a n i t e d u v n
• Đoạn code sau khi Hacker nhập vào như sau:
Trang 50
Trang 51w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục
– Không cho thông báo lỗi SQL Injection ra màn hình hiển thì để Hacker không thể biết chính xác lỗi.
– Kiểm tra giá trị nhập vào của người sử dụng, những kí tự đặc biệt.
– Hãy loại bỏ các kí tự “, ‘, /, \, ; ,…và các từ khóa như NULL,
– Sử dụng phương phức POST thay cho GET
– Cô lập máy CSDL và máy chủ WEB.
– Nên sử dụng tài khoản có đặc quyền thấp truy xuất vào CSDL và phân quyền cho người dùng đúng với mục đích.
Trang 51
Trang 52w w w v i e t h a n i t e d u v n
• Kĩ thuật tấn công XSS
– Là phương pháp tấn công bằng cách chèn các đoạn mã lệnh có khả năng đánh cắp hay thiết lập được các thông tin quan trọng như Cookie, tài khoản, mật khẩu,…
– Lợi dụng sự tò mò của người dùng cũng như bất cẩn.
– Kĩ thuật này không nhằm đến máy chủ mà nhắm đến người sử dụng các ứng dụng WEB.
– Kĩ thuật này được coi là kĩ thuật phổ biến nhất hiện nay, các trang web ở Việt Nam đa số đều dính lỗi này.
Trang 52
Trang 53w w w v i e t h a n i t e d u v n
• Hacker tấn công thông qua máy chủ ứng dụng WEB
Trang 53
Trang 54w w w v i e t h a n i t e d u v n
• Hacker tấn công thông qua máy chủ ứng dụng WEB
Trang 54
Trang 55w w w v i e t h a n i t e d u v n
• Hacker tấn công thông qua máy chủ ứng dụng WEB
Trang 55
Trang 56w w w v i e t h a n i t e d u v n
• Tấn công thông qua máy khách
– Tấn công qua Email
Trang 56
Trang 57Trình duyệt của người dùng
Kịch bản chứa mã độc Máy chủ của Attacker
Máy chủ tin cậy
Xây dựng link chứa mã độc hại
Gởi Email cho người dùng và thuyết phục click vào nó.
Gởi trang yêu cầu
Trang chứa kịch bản dính mã độc
Thực thi
Trang 58Trình duyệt của người dùng
Kịch bản chứa mã độc Máy chủ của Attacker
Máy chủ tin cậy
Máy chủ chứa trang web với kịch bản độc hại
Xem trang web của Attacker
Trang 59Trình duyệt của người dùng
Kịch bản chứa mã độc Máy chủ của Attacker
Máy chủ tin cậy
Xây dựng link chứa mã độc hại
Gởi Email cho người dùng và thuyết phục click vào nó.
Gởi yêu cầu trang web
Trang web chứa kịch bản độc hại
Thực thi
Gởi yêu cầu trái phép
Trang 60w w w v i e t h a n i t e d u v n
• Biện pháp bảo mật khắc phục
– Đối người thiết kế WEB hay lập trình cần chú ý:
• Xóa bỏ thẻ <script> hay tắt chức năng thẻ <script>
• Tạo danh sách thẻ HTML được sử dụng
• Cho phép nhập những kí tự đặc biệt nhưng mã hóa theo chuẩn riêng
– Đối với người dụng:
• Phải biết tự bảo vệ mình là chính
• Không mở thư hay click vào những đường link không rõ nguồn gốc
• Cần cài các chương trình diệt virus để có thể phòng chống tốt hơn
Trang 60