• Dữ liệu đưa vào không hợp lệ • Tham số/ hình thức giả mạo • Các lỗ hổng dễ bị xâm nhập • Tấn công biến ẩn trong form • Tấn công Cross site scripting Trang 3 • Tấn công dịch vụ web
Trang 1Hacking Web Application
Trường Cao Đẳng CNTT Hữu Nghị Việt Hàn
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 Thực hiện: Đặng Hữu Quốc Nhân
www.viethanit.edu.vn
Trang 2Chính Sách Bảo Mật Mới
Google chi nhiều tiền cho các lỗi ứng dụng web của mình
• Google đã tung ra một chương trình táo bạo, chương trình thử nghiệm tìm
ra các lỗ hỏng nghiêm trọng, những người nghiên cứu tìm ra lỗ hỏng sẽ được google trả tiền ngày hôm đó, trong các ứng dụng web của mình như
là google.com, bogger.com, orkut.com và youtube.com
• Chương trình mới của google khuyến khích những người nghiên cứu tìm hiểu sâu về lỗ hổng bảo mật trong dịch vụ web của mình và trả tiền bất cứ nơi nào từ $500 đến $3,133.70 cho một lỗ hổng nghiêm trọng hoặc "thông minh", dễ bị tấn công
• Google là công ty lớn đầu tiên mời gọi các cuộc tấn công trực tiếp chống lại các ứng dụng trực tuyến, ông HD Moore, tác giả của Metasploit và là giám đốc an ninh tại Rapid7 Trong khi các nhà nghiên cứu bảo mật đã dành nhiều năm thử nghiệm các ứng dụng phần mềm và báo cáo những phát hiện, những quyết định cách tiếp cận trực tuyến này đã phải đối mặt với những thách thức pháp lý và hy vọng sẽ khuyến khích các nhà cung cấp các dịch vụ khác để có một cách tiếp cận tương đương
Trang 2
www.viethanit.edu.vn
Trang 3• Dữ liệu đưa vào không hợp lệ
• Tham số/ hình thức giả mạo
• Các lỗ hổng dễ bị xâm nhập
• Tấn công biến ẩn trong form
• Tấn công Cross site scripting
Trang 3
• Tấn công dịch vụ web
• Phương pháp tấn công
• Bộ công cụ tấn công ứng dụng web
• Làm thế nào bảo vệ chống lại các cuộc tấn công ứng dụng web ?
• Bộ công cụ bảo mật ứng dụng web
• Ứng dụng web với tường lửa
• Kiểm thử ứng dụng web www.viethanit.edu.vn
Trang 4Nội Dung Chính
Trang 4
Mối đe dọa ứng dụng WEB
Bộ công cụ bảo mật
Bộ công cụ tấn công ứng dụng WEB
www.viethanit.edu.vn
Trang 5Thống Kê Bảo Mật Ứng Dụng Web
Database Server Web Server
Buffer Overflow
www.viethanit.edu.vn
Trang 6Giới Thiệu Về Ứng Dụng WEB
• Các ứng dụng web cung cấp một giao diện giữa người dùng
ở máy chủ web hoặc chứa các mã kịch bản tự động trong trình duyệt của người dùng
• Các tổ chức dựa trên các ứng dụng web và công nghệ web 2.0
để hỗ trợ việc kinh doanh và cải thiện hiệu suất công việc
• Mặc dù các ứng dụng web thực thi các chính sách bảo mật nhất định nhưng dễ bị ảnh hướng bởi các cuộc tấn công khác
nhau như: SQL injection, cross-site scripting, session hijacking,…
• Công nghệ web mới như là web 2.0 cung cấp, cho phép khai thác nhiều ứng dụng web hơn và các tấn công cũng đa dạng hơn
Trang 6
www.viethanit.edu.vn
Trang 7Các Thành Phần Ứng Dụng WEB
Trang 7
www.viethanit.edu.vn
Cơ chế theo dõi phiên làm việc
Lưu trữ
dữ liệu
Máy chủ web
Truy xuất
dữ liệu
Nội dung ứng dụng
Quyền của người sử dụng
Đăng nhập
Vai trò của
hệ thống bảo mật
Chương trình ứng dụng
Đăng xuất
Trang 8Hoạt Động Ứng Dụng WEB ?
Trang 8
www.viethanit.edu.vn
Trang 9Kiến Trúc Ứng Dụng WEB
Trang 9
www.viethanit.edu.vn
Trang 10Ứng Dụng WEB 2.0
Trang 10
www.viethanit.edu.vn
Blogs Công nghệ mới như AJAX(gmail, youtube)
Ứ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
Nâng cao chơi games
Hỗ trợ WEB động
Dịch vụ cung cấp thông tin
Trang WEB mạng xã hội
(Facebook, Zing,…)
Mash-up (electronic payment systems)
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)
Trang 11Các Đối Tượng Dễ Bị Tấn Công
Lỗ hổng trong kinh doanh-logic
www.viethanit.edu.vn
Trang 12Các Hướng Tấn Công WEB
mang lại những cuộc
tấn công hoặc là gây
những hậu quả nghiêm
trọng
1
Hướng tấn công bao gồm XML poisoning, client validation, server
misconfiguration, Web service routing Issues, and cross-site scripting
2
Không có phương pháp bảo vệ nào là
hoàn toàn chống lại các cuộc tấn công , khi
bị tấn công thì tiếp tục thay đổi và phát triển với sự tiến hóa của công nghệ
3
www.viethanit.edu.vn
Trang 13Nội Dung Chính
Trang 13
Mối đe dọa ứng dụng WEB
Bộ công cụ bảo mật
Bộ công cụ tấn công ứng dụng WEB
www.viethanit.edu.vn
Trang 14Các Mối Đe Dọa Ứng Dụng WEB
Lưu trữ không bảo mật
Thông số/hình thức giả mạo
Từ chối dịch vụ
Kiểm soát truy cập
bị hổng
Việc sử lý lỗi không đúng cách
Tràn bộ đệm
Lỗi cấu hình bảo mật
Quản lý phiên bị phá vỡ
Đăng nhập giả mạo
Bẻ khóa tài khoản quản lý
Thông tin
bị rò rỉ
Bảng 1 www.viethanit.edu.vn
Trang 15Các Mối Đe Dọa Ứng Dụng WEB
Lưu trữ không bảo mật
Thông số/hình thức giả mạo
Từ chối dịch vụ
Kiểm soát truy cập
bị hổng
Việc sử lý lỗi không đúng cách
Tràn bộ đệm
Lỗi cấu hình bảo mật
Quản lý phiên bị phá vỡ
Đăng nhập giả mạo
Bẻ khóa tài khoản quản lý
Thông tin
bị rò rỉ
Bảng 2 www.viethanit.edu.vn
Các cuộc tấn công truy cập mạng
Rình mò tập tin chứa thông tin người dùng Các cuộc tấn công vào dịch vụ web
Giả mạo thành viên
Các ứng dụng đen
Bảo vệ lớp giao vận không đầy đủ
Giao thức tấn công DMZ
Chuyển hướng
và chuyển tiếp không hợp lệ
Khai thác lỗi quản lý bảo mật
Không giới hạn truy cập URL
Tập tin thực thi độc hại Tấn công ngưng
phiên làm việc
Trang 16Dữ Liệu Nhập Vào Không Hợp Lệ
Trang 16
www.viethanit.edu.vn
Dữ liệu đầu vào không được xác định bởi ứng dụng WEB
Dữ liệu không hợp lệ có nhiều sai sót được đưa
đến các ứng dụng web, mà dữ liệu nhập từ các
máy khách không được hợp lệ trước khi xử lý
bởi ứng dụng web và máy chủ phụ
Kẻ tấn công lợi dụng dữ liệu đưa vào không hợp
lệ có nhiều sai sót thực hiện Cross Site Cripting, Buffer Overflow,… Kết quả đó là dữ liệu bị lấy cắp và hệ thống hoạt động sai lệch
Trang 17Tham Số/Giả Mạo Biểu Mẫu
Trang 17
www.viethanit.edu.vn
• Một trang WEB tấn công với các thông số giả mạo liên quan đến các thao tác của
các tham số trao đổi giữa máy chủ và máy khách để sửa đổi dữ liệu ứng dụng như
thông tin người dùng và quyền hạn, giá cả và số lượng sản phẩm
• Một thông số giả mạo tấn công khai thác lỗ hổng trong cơ chế xác nhận tính toàn
vẹn và logic có thể dẫn đến như XSS, SQL injection,…
Giả mạo URL Các tham số
Các tham số
Các tham số khác có thể thay đổi được bao gồm cả thuộc tính
Trang 18• Những kẻ tấn công có thể thao tác các biến tham chiếu tập tin với 'dot-dot slash ( /)" cắt giảm và các biến thể của nó
Truy cập các tập tin nằm bên ngoài thư mục web publishing bằng cách sử dụng directory traversal
Mã lệnh ảnh hưởng đến máy chủ
Trang 19Lỗi Cấu Hình Bảo Mật
Trang 19
www.viethanit.edu.vn
Lỗ hổng phần mềm máy chủ
Lỗ hổng bảo
mật chưa đc
vá
Vấn đề cấu hình máy chủ
Kích hoạt các dịch vụ không cần thiết
Chứng thực không phù hợp
Dễ dàng khai thác
Sử dụng lỗ hổng cấu hình sai, kẻ tấn công truy cập trái phép vào tài khoản mặc định, khai thác lỗ hổng chưa được vá và đọc hoặc viết các tập tin thư mục không được bảo vệ,
Phổ biến chung
Cấu hình không đúng bảo mật có thể xảy ra bất kỳ cấp độ nào của một chồng ứng dụng bao gồm cả nền tảng, máy chủ web, máy chủ ứng dụng, framework và mã tùy chỉnh
Ví dụ
• Tài khoản mặc định không được thay đổi
• Kẻ tấn công phát hiện ra trang quản trị trên máy chủ, đăng nhập với tài khoản mặc định và có được quyền
Trang 20Injection Flaws
Trang 20
www.viethanit.edu.vn
1 Injection Flaws là lỗ hổng ứng dụng web cho phép dữ liệu không tin cậy được phiên dịch
và thực hiện như là một phần của một lệnh hoặc truy vấn
2 Những kẻ tấn công khai thác Injection Flaw bằng cách xây dựng các lệnh độc hại hoặc truy vấn mà dẫn đến mất dữ liệu hay sai lạc hoặc từ chối dịch vụ
3 Injection Flaw phổ biến trong mã thừa kế, thường được tìm thấy trong SQL, LDAP và truy vấn XPath, và có thể dễ dàng phát hiện bởi máy quét lỗ hổng ứng dụng và fuzzers
Liên quan đến Injection các truy vấn SQL độc hại vào biểu mẫu người sử dụng
Liên quan đến việc Injection mã độc hại thông qua một trang web ứng dụng
Nó liên quan đến việc Injection mã độc hại đến LDAP
Trang 21Khi mã này được gởi đến máy chủ cơ sở
dữ liệu, nó loại bỏ bảng tin nhắn này
Mã chèn thêm dữ liệu spam thay cho những người dùng khác
SQL Injection là mã dễ làm máy chủ bị tấn công
Trang 23Ví Dụ Tấn Công Chèn Mã Lệnh
Trang 23
www.viethanit.edu.vn
• Kẻ tấn công xâm nhập với mã độc hại
(số tài khoản) với newpassword
• Hai bộ số cuối cùng là kích thước
banner
• Khi Attacker nhấn nút Submit, mật
khẩu của tài khoản 1036 được đổi
Trang 24Tấn Công Chèn Tệp Tin
Trang 24
www.viethanit.edu.vn
Attacker tấn công Injection một tập tin lưu trên máy chủ tại www.jasoneval.com
có chứa các lỗ hổng
Tấn công Injection tập tin cho phép Attacker khai thác các kịch bản dễ bị tấn công trên máy chủ sử dụng tập tin từ xa thay vì chạy tập tin từ máy cục bộ
Trang 25Lưu trữ LDAP Directory Services và sắp xếp các thông tin dựa trên các thuộc tính của nó Thông tin này được phần cấp như một cây thư mục
LDAP là dựa trên mô hình máy khách – máy chủ mà máy khách có thể tìm kiếm các thư mục thông qua LDAP
Trang 26LDAP Injection Hoạt Động Như Thế Nào ?
Nếu Attacker biết được username và thêm vào juggyboy)(&)) chèn URL
(&(USER:juggyboy)(&))(PASS:blah ))
LDAP cho rằng luôn luôn đúng
Trang 27Tấn Công Thao Tác Với Biến Ẩn
Trang 27
www.viethanit.edu.vn
1 Khi người dùng sử dụng trang HTML, các lựa chọn lưu như giá trị trường và gởi đến ứng dụng HTTP (GET OR POST)
2 HTML lưu trữ các giá trị trường và ẩn nó đi
3 Attacker có thể kiểm tra trang HTML và thay đổi các giá trị trường ẩn nhằm thay đổi các yêu cầu đến server
Trang 28Cross-Site Scripting Attacker (XSS)
Trang 28
www.viethanit.edu.vn
Cross-site scripting (XSS or CSS)
là các cuộc tấn công khai thác lỗ hổng
tự động tạo ra các trang Cho phép
Attacker chạy Scrip độc hại thông
trang web tại máy khách
Attacker tiêm mã độc JavaScrip, VBScrip, ActiveX, HTML, hoặc Flash để thực hiện, chạy ngầm (ẩn) trong hệ thống máy Victim với các
Quảng cáo ẩn trong IP
Frame và cửa sổ pop-up
Các thao tác với dự liệu
Chiếm quyền điều khiển
Bẻ khóa mật khẩu nhanh chóng
Lấy trộm dữ liệu Thăm dò mạng nội bộ Theo dõi bàn phím và giám sát từ xa
Trang 29Tấn Công XSS Như Thế Nào ?
Trang 29
www.viethanit.edu.vn
Ví dụ này sử dụng trang web có lỗ hổng XSS
Trang 30Kịch Bản Tấn Công XSS Thông Qua Email
Yêu cầu
là nhận được bởi máy chủ hợp pháp
Máy chủ gửi trang web chứa thông tin người dùng
Mã độc được thực thi trên trình duyệt client của người dùng
• Trong ví dụ này, Attacker lừa đảo được một email với kịch bản chứa mã độc và gửi cho người sử dụng <A HREF=http://legitimatesite.com/registration.cgi?clientprofile=<script> malicious code</Script>>Click here</A>
• Khi người dùng nhấp chuột vào, URL chuyển đến legitimatesite.com với các mã độc
• Các mã độc được thực hiện tại máy người dùng
Trang 31Ví Dụ XSS: Tấn Công Thông Qua Email
Trang 31
www.viethanit.edu.vn
Trì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 32Ví Dụ XSS: Đánh Cắp Cookie Người Dùng
Trang 32
www.viethanit.edu.vn
Trì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 HTML có chứa kịch bản độc hại Thực thi
Thu thập Cookies của người dùng
Chuyển hướng đến máy chủ của Attacker
Gởi yêu cầu Cookies của thành viên này
Trang 33Ví Dụ XSS: Gởi Và Yêu Cầu Trái Phép
Trang 33
www.viethanit.edu.vn
Trì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 34Tấn Công Trong XSS Trong Bài Viết Blog
Trang 34
www.viethanit.edu.vn
Vào Web TechPost
Attacker thêm vào kịch bản
độc hại trong phần bình
luận của bài viết blog
Phần bình luận chứa kịch bản độc hại
được lưu trữ trên máy chủ
Mã độc hại
Thêm vào các bài đăng trong blog
Người dùng chuyển hướng đến một web site độc hại
Trang 35Tấn Công XSS Phần Bình Luận Bài Viết
Trang 35
www.viethanit.edu.vn
Attacker thêm vào kịch bản độc
hại trong phần bình luận của bài
viết blog
Vào Web TechPost
Mã độc hại
Thêm vào các bài đăng trong blog
Cảnh báo bật lên ngay sau khi tải về
Trang 36Bảng Mã XSS
Trang 36
www.viethanit.edu.vn
Trang 37Tấn Công Giả Mạo Yêu Cầu Cross-Site (CSRF)
Người dùng Website đáng tin cậy Website chứa mã độc hại
Đăng nhập vào web đáng tin cậy và tạo một phiên làm việc
Lưu Trữ định danh phiên làm việc trong một cookie trong trình duyệt Vào trang web chứa mã độc hại
Gởi các yêu cầu từ trình duyệt người dùng
Trang 38Tấn Công CFRS Như Thế Nào ?
Trả lời trang web có chứa mã độc hại
Mã độc được thực thi trên máy chủ đáng tin cậy
Trang 39Tấn Công Từ Chối Dịch Vụ Ứng Dụng WEB
Trang 39
www.viethanit.edu.vn
Attacker tấn công cạn kiệt tài nguyên máy
chủ có sẵn bằng cách gởi hàng trăm yêu
cầu tài nguyên, chẳng hạn như lấy tập tin
hình ảnh lớn, hoặc yêu cầu tìm kiếm dữ
liệu trên các máy chủ cơ sở dữ liệu
Tại sao ứng dụng dễ bị tấn công ?
• Dung lượng đĩa cứng
• Băng thông cơ sơ dư liệu
• Quá trình xử lý
Tiêu thụ tài nguyên máy chủ WEB Dịch Vụ WEB không sẵn sàn
Tấn công Dos ở lớp ứng dụng mô phỏng yêu cầu và đặc điểm lưu lượng mạng của khách hàng hợp pháp Không thể phát hiện bằng các biện pháp bảo vệ hiện tại của Dos
Trang 40Attacker có thể làm quá tải quá trình đăng nhập bằng cách liên tiếp gởi yêu cầu đăng nhập, khiến máy chủ chậm chạp trong quá trình xử lý
Tấn công đăng nhập
Khóa tài khoản
Liệt kê người
dùng
Attacker có thể liệt kê người dùng thông qua lỗ hổng ứng dụng và cố gắng đăng nhập (không thành công) vào các trang web => các tài khoản sẽ bị khóa, người dùng vào không được
Các ứng dụng xác nhận người dùng bằng cặp tên đăng nhập và mật khẩu, Attacker có thể thử quá trình tên người dùng thông thường từ một tập tin từ điển để liệt kê người sử dụng của ứng dụng
Ví Dụ Tấn Công Từ Chối Dịch Vụ (Dos)
Trang 41Attacker thay đổi không gian địa
chỉ và sửa đổi biến nội bộ
• Attacker thay đổi chức năng con trỏ
để thực thi chương trình hoặc trỏ
đến một vị trí trong bộ nhớ chứa
mã độc
Trang 42Cookie/Phiên Làm Việc Nhiễm Độc
Liên quan đến việc sử đổi, bổ sung các nội dung của cookie để bỏ qua các cơ chế bảo mật
Thêm các nội dung độc hại
Nhiễm độc cho phép Attacker đưa nội dung độc hại, sửa đổi sự kiện trực tuyến của người dùng và có các thông tin trái phép
Proxy có thể lưu, hiện thị các dữ liệu cookie của các phiên làm việc