chương 1 giới thiệu tổng quan về các hình thức tan công ứng dung web va hệ thong phát hiện xâm nhập. Việc ứng dụng nghiên cứu cải tiễn IDS theo hướng áp dụng học máy và BigData đang được phổ biến trong thời gian hiện nay. Tổng quan về kỹ thuật tan công ứng dung web phố biến 1. Lỗ hỗng bảo mật ứng dụng web 1.
Tổng quan về lỗ hồng bảo mật ứng dụng web Lỗ hồng bảo mật ứng dụng web là những điểm yếu mà hacker có thể lợi dụng dé khai thác nhằm thu thập thông tin về hệ thống, lay cắp thông tin quan trọng, tan công vào người dùng hệ thống hay chiếm quyên điều khién toàn bộ hệ thống. Có nhiều nguyên nhân gây ra những lỗ hồng bảo mật ứng dụng web, chủ yếu là do những nguyên nhân sau: - Một số ngôn ngữ lập trình có tính bảo mật thấp: Phần lớn các website ở Việt Nam được lập trình bằng ngôn ngữ PHP hoặc những open source được xây dựng bằng PHP có thể kế đến như WordPress. Đây là một trong những ngôn ngữ có nhiều điểm yếu có thể bị khai thác bởi hacker. Bên cạnh đó, trên các nền tảng như WordPress có chợ plugin tiện lợi cho mọi người tải về và sử dụng nhưng cũng tiềm ân rất nhiều mối nguy hiểm.
Các plugin miễn phí, được quảng cáo mạnh nhằm lôi kéo người dùng có thé chứa mã độc và âm thầm tấn công người dùng. - Website được xây dựng bởi các lập trình viên mới, còn thiếu kinh nghiệm. Các website này có thé được xây dựng không dam bảo các yếu tố bảo mật cũng như không được kiểm thử kĩ càng dẫn đến các lỗ héng như SQL Injection, XSS,. - Khả năng quản trị yếu kém, thiếu hiểu biết và kinh nghiệm trong việc đảm bảo an toàn cho website.
Quá trình tan công website có thê dién ra theo các bước như sau: Bước 1: Kẻ tấn công (có thể có một hoặc nhiều kẻ tấn công) thực hiện nhiều mũi tấn công (vector tấn công) khác nhau vào những điểm yếu bảo mật (lỗ hồng bảo mật) của website mục tiêu. Các loại lỗ héng bảo mật thường thay là các cấu hình sai trong bảo mật (security misconfiguration), tan công chèn những script độc hại (Cross-Site Scripting) và phá vỡ xác thực (Broken Authentication). Loại lỗ hồng bảo mật có rủi ro cao và phô biến nhất là phá vỡ xác thực. Vì vậy, mỗi ứng dụng web đều được thiết lập những lớp kiểm soát bảo mật II như sử dụng mã hóa và các giao thức an toàn như HTTPS, SSL/TLS, .hay thiết lập tường lửa, hạn chế truy cập, thiết lập chính sách, sử dụng các hệ thống phát hiện xâm nhập.
Tác nhân CS vộc to Điểm yêu Kiểm soát Tác động Tác động đe dọa | tan cong bảo mat bao mat kỹ thuật nghiệp vụ Tan 43 A Diém yêu 4 33 F a a s —. Diem yêu wins : Diem yeu Tan _———— : omg ———= CSDL Hình 1. Sơ đô mối quan hệ giữa tan công và hoạt động của website Bước 2: Kẻ tấn công lợi dụng điểm yếu bảo mật vượt qua được lớp kiểm soát, thực hiện tấn công vào CSDL, hàm, thủ tục nhăm thu thập dữ liệu mạng nội bộ như cấu trúc của các phân đoạn mạng, dịch vụ và công ra vào, hoặc tài nguyên nội bộ, dữ liệu bí mật. Bước 3: Kẻ tan công có thé chiếm quyền quản trị, thực thi lệnh theo ý muốn,.
Ví du, truy cập và lay được thông tin khách hang dem bán gây phiền toái cho khách hàng, mat uy tín của cơ quan, tổ chức do đã dé rò rỉ thông tin ,.1 mô tả sơ đồ mối quan hệ giữa tác nhân tấn công và hoạt động của website, qua đó kẻ tấn công thực hiện các hoạt động tấn công khác nhau nhằm vào các điểm yếu trên website. Qua đó tìm cách kiểm soát, thực hiện khai thác các hàm, CSDL và tiễn hành tác động, khai thác hệ thống. Các lỗ hồng bảo mật nói chung và lỗ hổng bảo mật website nói riêng là hết sức nguy hiểm, cần nhanh chóng phát hiện và khắc phục trước khi dé xảy ra những ton thất nghiêm trọng. OWASP Top 10 2017 Nói đến việc bao mat ứng dụng web, chúng ta không thé không nhắc đến một trong những tô chức nồi tiếng trong giới bảo mật đó chính là OWASP.
Tên day đủ của tổ chức này là Open Web Application Security Project, đây là một tổ chức phi lợi nhuận quốc tế chuyên về bảo mật ứng dụng web. Một trong những nguyên tắc cốt lõi của OWASP là tất cả các tài liệu của tổ chức đều miễn phí và dé dàng truy cập trên trang web chính thức của họ, giúp cho các cá nhân và tô chức có thể tham khảo đề cải thiện tính bảo mật của ứng dụng 12 web. OWASP cung cấp cho chúng ta bao gồm tài liệu, công cụ, video và diễn đàn. Một trong những tài liệu của OWASP được biết đến nhiều nhất chính là OWASP Top 10.
OWASP Top 10 là một tài liệu nhận thức tiêu chuẩn dành cho các nhà phát triển và bảo mật ứng dụng web. Nó thể hiện sự đồng thuận rộng rãi về các rủi ro bảo mật quan trọng nhất đối với các ứng dụng web. Đây được xem là một những bước đầu tiên đề trở thành một người làm an ninh mạng. Các cá nhân tổ chức nên thông qua tài liệu này dé có thé giảm thiểu rủi ro đối với ứng dụng web của họ.
OWASP được tông hợp bởi một nhóm các chuyên gia bảo mật từ khắp nơi trên thé giới, tập trung 10 rủi ro/lỗ hồng quan trọng nhất đối với an toàn ứng dụng web. Dưới đây là các rủi bảo mật được đề cập đến trong OWASP Top 10 2017 [1]: (a) Injection Injection attack xảy ra khi dữ liệu không đáng tin cậy được gửi đến trình thông dich (code interpreter) thông qua việc điền các form (biéu mẫu) hoặc một số dữ liệu khác gửi đến ứng dụng web. Ví dụ, kẻ tan công có thé nhập câu SQL vào một biểu mẫu yêu cầu username và password ở dạng plaintext. Nếu việc điền các biểu mẫu đó không được bảo mật đúng cách, điều này sẽ dẫn đến việc SQL code đó được thực thi.
Đây được gọi là một cuộc tấn công SQL injection. Các cuộc tan công injection có thé được ngăn chặn bang cách xác thực hoặc làm sạch các phan dữ liệu có vẻ đáng ngờ do người dùng gửi. Ngoài ra, quản trị viên cơ sở dit liệu có thé thiết lập các biện pháp kiêm soát dé giảm thiểu lượng thông tin bị lộ ra qua một cuộc tấn công InJection, ví dụ như sử dụng thủ tục. (b) Broken Authentication Các lỗ hồng trong hệ thống xác thực có thé cho phép kẻ tấn công truy cập vào tài khoản người dùng và thậm chí có khả năng xâm nhập toàn bộ hệ thống bằng tài khoản quản trị viên.
Ví dụ: kẻ tan công có thé lay một danh sách chứa hàng nghìn tổ hợp tên người dùng / mật khẩu đã biết có được trong một lần vi phạm dữ liệu và sử dụng tập lệnh để thử tất cả các tô hợp đó trên hệ thống đăng nhập dé xem có tổ hợp nào hoạt động không. (c) Sensitive Data Exposure Nhiều ứng dụng web va API không bảo vệ đúng cách dữ liệu nhạy cam, chang hạn như đữ liệu tài chính, chăm sóc sức khỏe, dữ liệu mang yếu tố quyết định sự phát triển của tổ chức và giữ liệu tuyệt mật của quốc gia. Những kẻ tan công có thé đánh cắp hoặc sửa đổi dữ liệu được bảo vệ yếu kém đó dé thực hiện hành vi gian lận thẻ tín dụng, đánh cắp danh tính hoặc các tội phạm khác. Dữ liệu nhạy cảm có thể bị xâm phạm nếu không có biện pháp bảo vệ bé sung, chăng hạn như mã hóa ở trạng thái nghỉ hoặc khi đang chuyền và cần có các biện pháp phòng ngừa đặc biệt khi trao đổi với trình duyệt.
Nguy cơ lộ dit liệu có thé được giảm thiêu băng cách mã hóa (encrypt) tat cả dir liệu nhạy cảm cũng như vô hiệu cache của bat kỳ thông tin nhạy cảm nào. Ngoài ra, các nha phát 13 triển ứng dụng web nên cân thận dé đảm bảo rang họ không lưu trữ bat kỳ dữ liệu nhạy cảm nào một cách không cần thiết. (d) XML External Entities (XEE) Day là một cuộc tan công ứng dụng web bằng phân tích cú pháp đầu vào XML. Input này có thê tham chiếu đến một thực thể bên ngoài (external entity), đang cô gang khai thác lỗ hồng trong trình phân tích cú pháp (parser).
External entity có thé là một đơn vị lưu trữ, chăng hạn như 6 cứng. XML parser có thé bị lừa để gửi dữ liệu đến một thực thể bên ngoài trái phép và chuyền trực tiếp dữ liệu nhạy cảm cho kẻ tấn công. Các cách tốt nhất dé ngăn chặn các cuộc tan công XEE là dé các ứng dụng web chấp nhận một loại dữ liệu ít phức tap hơn, chăng hạn như JSON, hoặc vô hiệu hóa việc sử dụng các thực thể bên ngoài trong một ứng dụng XML. XML hay Extensible Markup Language là một markup language nhằm mục đích cho phép cả người & máy đều có thé đọc hiểu được.
Do tính phức tap và lỗ hồng bảo mật, XML hiện đang bị loại bỏ dần trong nhiều ứng dụng web. JavaScript Object Notation (JSON) là một loại đơn giản hơn và được sử dụng dé truyén dữ liệu qua internet. Mặc du ban đầu được tạo cho JavaScript, JSON là ngôn ngữ có thé được thông dịch bởi nhiều ngôn ngữ lập trình khác nhau. (e) Broken Access Control Access Control hay kiêm soát truy có nhiệm vụ kiểm soát quyền truy cập vào thông tin hoặc chức năng của ứng dụng web.
Access Control chứa lỗ hông cho phép kẻ tan công bỏ qua ủy quyền (authorization) và thực hiện các tác vụ như thé là người dùng có đặc quyền, chăng hạn như quản trị viên (admin). Ví dụ: một ứng dụng web có thê cho phép người dùng thay đồi tài khoản mà họ đã đăng nhập chỉ bằng cách thay đổi một phan của url mà không cần bất kỳ xác minh nào khác. Kiểm soát truy cập có thể được bảo mật bằng cách đảm bảo răng ứng dụng web sử dụng authorization tokens và đặt các kiểm soát chặt chẽ đối với các token này. Nhiều dịch vụ cho phép sử dụng authorization tokens khi người dùng đăng nhập.
Mọi yêu cầu đặc quyền mà người dùng đưa ra sẽ yêu cầu phải có authorization tokens. Đây là một cách an toàn dé đảm bảo rằng đúng người dùng với đúng đặc quyền. (f) Security Misconfiguration Security misconfiguration hay lỗi cấu hình bao mật sai là lỗ hổng phổ biến nhất trong danh sách và thường là kết quả của việc sử dụng cấu hình mặc định hoặc thông báo hién thi lỗi quá nhiều thông tin.