Presentation is loading. Please wait.

Presentation is loading. Please wait.

Các kỹ thuật tấn công lỗ hổng website

Similar presentations


Presentation on theme: "Các kỹ thuật tấn công lỗ hổng website"— Presentation transcript:

1 Các kỹ thuật tấn công lỗ hổng website

2 Logic Building and Elementary Programming
Mục tiêu Giải thích về các lỗ hổng website Giới thiệu các kỹ thuật thường dùng khi hacker thâm nhập website Các phương pháp bảo vệ website Logic Building and Elementary Programming

3 Giải thích về các lỗ hổng website
Đối với các cơ quan, tổ chức website là kênh cung cấp thông tin hiệu quả và nhanh chóng nhất. Cũng chính đặc điểm này, các website thường xuyên là mục tiêu tấn công của tin tặc để khai thác đánh cắp các thông tin liên quan bên trong. Một trong những phương thức tấn công phổ biến là khai thác các lỗi bảo mật liên quan đến ứng dụng web. Các lỗi bảo mật ứng dụng web là nguyên nhân chủ yếu gây ra các lỗi đối với website đang vận hành. Sau khi xác định các lỗi này, tin tặc sẽ sử dụng các kỹ thuật khác nhau để tiến hành khai thác hệ thống đích. Một số kỹ thuật thường được sử dụng: Buffer Overflows, SQL Injection, and Cross-site Scripting…Việc phân loại các kiểu tấn công thành các nhóm khác nhau sẽ giúp cho người quản trị dễ dàng xác định các nguy cơ cũng như biên pháp đối phó hơn. Logic Building and Elementary Programming

4 Logic Building and Elementary Programming
Tấn công Bruteforce Bruteforce là cách thức thử tất cả các khả năng có thể có để đoán các thô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ện cho 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ài nguyên hệ thống. Logic Building and Elementary Programming

5 Logic Building and Elementary Programming
Biện pháp đối phó: Tăng cường độ mạnh cho mật khẩu (Độ dài ít nhất 6 ký tự, không chứa chuỗi username, chứa ít nhất 1 ký tự số, chứa ít nhất 1 ký tự đặc biệt, không cho phép thay đổi mật khẩu trùng lặp đã sử dụng, quản lý, điều khiển thông báo lỗ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ấn công này. Logic Building and Elementary Programming

6 Lỗi chứng thực yếu (Insufficient Authentication) 1/2
Lỗi chứng thực yếu xuất hiện khi một website cho phép truy cập các nội dung, tài nguyên nhạy cảm mà không có đủ quyền. Các trang quản trị là một ví dụ dễ thấy nhất. Nếu không có cơ chế phân quyền hợp lý thư mục cũng như tài khoản đăng nhập trang quản trị này. Tin tặc hoàn toàn có khả năng vượt qua được cơ chế đăng nhập để chiếm quyền điều khiển trang này. Logic Building and Elementary Programming

7 Lỗi chứng thực yếu (Insufficient Authentication) 2/2
Biện pháp đối phó: Thiết lập cơ chế điều khiển truy cập thông quan .htaccess hoặc tập tin cấu hình httpd.conf Ví dụ: Điều khiển truy cập thông qua httpd.conf <LocationMatch “^/admin/”> SSLRequireSSL AuthType Digest AuthName “Admin Area” AuthDigestfile /usr/local/apache/conf/passwd_digest Require user admin </LocationMatch> Logic Building and Elementary Programming

8 Dự đoán, chèn phiên (Credentical/Session Prediction)
Dự đoán, chèn phiên là một phương thức chiếm phiên (hijacking). Thông thường, khi một tài khoản thực hiện quá trình chứng thực đối với server (tài khoản/mật khẩu). Dựa vào các thông tin này, server sẽ tạo một giá trị session ID duy nhất để cho phép và duy trì kết nối. Nếu đoán được session ID kế tiếp thì tin tặc có khả năng chiếm phiên đăng nhập của người dùng hợp lệ khác. Biện pháp đối phó: Sử dụng SSL (mod_ssl) trong quá trình chứng thực để chống lại việc nghe 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. Logic Building and Elementary Programming

9 XSS – Cross-Site Scripting
XSS là một trong những kĩ thuật tấn công phổ biến nhất hiện nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. Tin tặc tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP …) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML Logic Building and Elementary Programming

10 XSS – Cross-Site Scripting 1/2
Ví dụ: Sử dụng XSS chèn mã java script trực tiếp trên URL was found !’);</script> Khi wesite lỗi XSS trình duyệt sẽ hiện lên một thông báo “XSS was found !”. Nếu như các kĩ thuật tấn công khác có thể làm thay đổi được dữ liệu nguồn của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó Logic Building and Elementary Programming

11 XSS – Cross-Site Scripting 2/2
Biện pháp đối phó: Chỉ cho phép những dữ liệu hợp lệ, từ chối nhận các dữ liệu sai, thường xuyên kiểm tra và lọc dữ liệu đầu vào. Sử dụng Mod_Security để lọc một số dữ liệu tấn công XSS. Logic Building and Elementary Programming

12 Logic Building and Elementary Programming
SQL injection 1/4 Tấn công SQL Injection được thực thi bằng cách chèn các câu truy vấn SQL vào dữ liệu tương tác giữa máy khách và trình ứng dụng. Quá trình khai thác lỗi SQL Injection thành công có thể giúp tin tặc lấy được các dữ liệu nhạy cảm trong cở sở dữ liệu, thay đổi cơ sở dữ liệu (Insert/Update/Delete), thực thi các hành động với quyền của người quản trị và cao hơn có thể điều khiển được hệ điều hành máy chủ Ví dụ: Xét đoạn mã truy vấn SQL sau: Đây là một câu truy vấn thường hay được dùng trong các trình ứng dụng nhằm xác thực người dùng. Nếu câu truy vấn trả về một giá trị nói rằng thông tin về người dùng đang đăng nhập là đúng và được lưu trong cơ sở dữ liệu, thì người dùng được phép đăng nhập vào hệ thống, ngược lại thì không đăng nhập được. Người dùng nhập thông tin đó vào các trường gọi là web form. Logic Building and Elementary Programming

13 Logic Building and Elementary Programming
SQL injection 2/4 Thay vì nhập đúng tên đăng nhập và mật khẩu, thử nhập vào các ký tự đặc biệt như: $username = 1′ or ‘1’ = ‘1 $password = 1′ or ‘1’ = ‘1 Khi đó câu truy vấn sẽ là: SELECT * FROM Users WHERE Username=’1′ OR ‘1’ = ‘1’ AND Password=’1′ OR ‘1’ = ‘1’ Giả sử rằng giá trị của các tham số được gửi tới máy chủ bằng phương thức GET, thì có một câu lệnh khai thác lỗi như sau: &password=1’%20or%20’1’%20=%20’1 Logic Building and Elementary Programming

14 Logic Building and Elementary Programming
SQL injection 3/4 Khi đó, truy vấn sẽ trả về một giá trị (hay một loạt các giá trị) vì điều kiện trên luôn luôn đúng (OR 1=1). Trong trường hợp này tin tặc sẽ đăng nhập được vào hệ thống mà không cần biết tên đăng nhập và mật khẩu. Trường hợp này sẽ rất nguy hiểm nếu dòng đầu tiên trong bảng “Users” là tài khoản của người quản trị (admin) vì tin tặc sẽ đăng nhập vào hệ thống bằng tài khoản đầu tiên trong bảng này. Biện pháp đối phó: Logic Building and Elementary Programming

15 Logic Building and Elementary Programming
SQL injection 4/4 Kiểm tra dữ liệu đầu vào. Sử dụng Mod_Security để lọc một số dữ liệu tấn công SQL injection. Logic Building and Elementary Programming

16 Liệt kê thư mục (Directory indexing)
Đây là chức năng web server cho phép liệt kê tất cả nội dung bên trong một thư mục mà không có tập tin cơ sở (index.html/home.html/ default.html). Trong các thư mục đó có thể chứa nội dung quan trọng: tập tin cơ sở dữ liệu dự phòng, tập tin cấu hình, tập tin lưu trữ tạm thời, các kịch bản… Biện pháp đối phó: Thiết lập quyền hợp lý trên các thư mục chứa nội dung web. Sử dụng mod_security để lọc dữ liệu đầu vào Logic Building and Elementary Programming

17 Logic Building and Elementary Programming
Path Traversal 1/2 Path Traversal hay còn được biết với một số tên khác như “dot-dot-slash”, “directory traversal”,”directory clumbing” và “backtracking” là hình thức tấn công truy cập đến những file và thư mục mà được lưu bên ngoài thư mục webroot. Hình thức tấn công này không cần sử dụng một công cụ nào mà chỉ đơn thuần thao tác các biến với ../ (dot-dot-slash) để truy cập đến file, thư mục, bao gồm cả source code, những file hệ thống, Ví dụ: Logic Building and Elementary Programming

18 Logic Building and Elementary Programming
Path Traversal 2/2 Biện pháp đối phó: Sử dụng mod_security để lọc dữ liệu đầu vào Logic Building and Elementary Programming

19 Logic Building and Elementary Programming
Từ chối dịch vụ (DoS) 1/2 DoS là kỹ thuật tấn công nhằm không cho phép các truy cập hợp lệ truy cập tới server. Kỹ thuật tấn công này thường xảy ra tại lớp mạngvà lớp ứng dụng. Các hệ thống đích có thể bị tấn công DoS: Người dùng riêng lẻ: quá trình đăng nhập lặp đi lặp lại với tài khoản hợp lệ nhưng mật khẩu không đúng. Sau nhiều lần đăng nhập sai, hệ thống sẽ khóa tài khoản hợp lệ này, dẫn đến người dùng hợp lệ sẽ không thể đăng nhập được. Máy chủ cơ sở dữ liệu: Sử dụng kỹ thuật chèn câu lệnh truy vấn SQL chỉnh sửa cơ sở dữ liệu, vì thế hệ thống sẽ không thể phục vụ các truy cập từ client. Máy chủ phục vụ web: Sử dụng kỹ thuật tấn công tràn bộ đệm ( Buffer Overflow) để gới các gói truy vấn và làm đổ vỡ các tiến trình tại phía máy chủ phục vụ web, dẫn đến hệ thống máy chủ webserver sẽ không có khả năng phục vụ các truy cập hợp lý. Logic Building and Elementary Programming

20 Logic Building and Elementary Programming
Từ chối dịch vụ (DoS) 2/2 Biện pháp đối phó: Sử dụng module Mod_Dosevasive Thiết lập các thông tin hợp lý cho máy chủ phục vụ web: KeepAlives, KeepAliveTimeouts, MaxKeepAliveRequests… Logic Building and Elementary Programming

21 Kĩ thuật Social Engineering

22 Logic Building and Elementary Programming
Mục tiêu Social Engineering là gì? Human-Based và Computer-Based Phòng chống Social Engineering Logic Building and Elementary Programming

23 Social Engineering (1/9)
Social Engineering là gì? Bên cạnh các biện pháp tấn công bằng kỹ thuật như sử dụng các chương trình tấn công thì hacker thường vận dụng kết hợp với các phương pháp phi kỹ thuật, tận dụng các kiến thức và kỹ năng xã hội để đạt được kết quả nhanh chóng và hiệu quả hơn. Và phương pháp tấn công không dựa trên các kỹ thuật hay công cụ thuần túy này được gọi là Social Engineering, trong đời thực thì dạng tấn công này có thể xem như là các kiểu lừa đảo để chiếm dụng tài sản, giả mạo để đạt được một mục tiêu nào đó. Logic Building and Elementary Programming

24 Social Engineering (2/9)
Tại sao các dạng tấn công Social Engineering thành công? Các hacker khi tiến hành các cuộc tấn công Social Engineering thường tận dụng những mối quan hệ thân thiết, tin cậy mà trong môi trường thông tin được gọi là các “trust relationship” để tiến hành khai thác mục tiêu. Chắc hẳn các bạn còn nhớ vụ Tiến Sĩ Lê Đăng Doanh bị hacker đánh cắp hộp thư và gởi mail cho tất cả đồng nghiệp, bạn bè trong danh bạ để hỏi mượn tiền do đang bị kẹt tại nước ngoài. Hay chúng ta cũng thường xuyên nhận tin nhắn từ các số máy lạ để yêu cầu mua giùm một thẻ điện thoại rồi gởi mã số đến số của hacker. Việc tấn công này rất hiệu quả vì đánh vào điểm yếu nhất trong quy trình an toàn thông tin của chúng ta, đó là sự kém hiểu biết của người dùng. Chính vì vậy để phòng chống các dạng tấn công này thì doanh nghiệp cần có những chương trình đào tạo nhằm nâng cao nhận thức an toàn thông tin cho nhân viên của mình. Logic Building and Elementary Programming

25 Social Engineering (3/9)
Những kiểu tấn công thông dụng của Social Engineering Social Engineering được chia làm 2 hình thức chính: Human-based: Human-Based Social Engineering dựa trên mối quan hệ giữa người vs người để khai thác, thu thập thông tin như: gọi điện thoại hỏi các nhân viên bộ phận hỗ trợ người dùng để thử tìm các thông tin nhạy cảm. Computer-Based: Computer-Based Social Engineering sử dụng các chương trình máy tính hay những trang web để dẫn dụ người dùng nhập vào các thông tin bí mật là tài khoản và mật khẩu truy cập. Dạng tấn công này thường được gọi là Phishing. Logic Building and Elementary Programming

26 Social Engineering (4/9)
Human-Based Social Engineering: Những trường hợp điển hình cho dạng tấn công này là giả dạng nhân viên hay là cộng tác viên để truy cập vật lí vào thông tin được bảo vệ, như giả dạng làm nhân viên bảo trì hệ thống để đột nhập phòng máy chủ trái phép. Bên cạnh đó Hacker còn giả làm 1 nhân vật quan trọng hay nhân vật thứ ba nào đó để gọi điện cho bộ phận hỗ trợ, những quản trị hệ thống yêu cầu cung cấp tài khoản. Shoulder surfing: Dạng tấn công này hacker sẽ xem lén thông tin mật khẩu chúng ta nhập vào màn hình như tên tài khoản, xem lén kí tự bàn phím hay lắng nghe các âm thanh phát ra khi người dùng gõ vào để đoán xem đó là những kí tự gì. Vì lý do này mà nhiều doanh nghiệp cho thiết kế các trạm làm việc sao cho vẫn bảo đảm tính thận thiện nhưng ngăn ngừa người này có thể nhìn thấy màn hình của người khác. Logic Building and Elementary Programming

27 Social Engineering (5/9)
Human-Based Social Engineering Dumpster Diving: Cũng có những tình huống các Hacker giả dạng làm những người quét dọn vệ sinh, hay những đồng nghiệp lục lọi hồ sơ của nhau để tìm kiếm các bí mật công nghệ, những thông tin riêng tư. Vì vậy các doanh nghiệp thường trang bị các máy hủy giấy để ngăn ngừa các thông tin bí mật hay ý tưởng quan trọng bị lộ từ các mảnh giấy bỏ. Hoặc chính sách của các công ty này yêu cầu nhân viên khi rời khỏi bàn làm việc phải đặt màn hình chế độ Screen Saver, và lật úp mặt các tài liệu mang tính riêng tư của mình. Logic Building and Elementary Programming

28 Social Engineering (6/9)
Computer-Based Social Engineering: Dạng tấn công này bao gồm: Attachment / Phishing Fake Website Popup Window Hàng ngày chúng ta nhận rất nhiều lừa đảo hay còn gọi là phising mail với những thông tin hấp dẫn như các bạn vừa trúng một giải thưởng lớn , hay được gởi tặng thiệp điện tử những hình ảnh qua mail đính kèm, hay liên kết dẫn đến trang web để người dùng nhấn vào có khả năng bị lây nhiễm virus, hoặc dẫn đến các trang web nguy hiểm chứa mã độc. Logic Building and Elementary Programming

29 Social Engineering (7/9)
Computer-Based Social Engineering Đôi khi các trang web được làm giống như những trang chính thức như Paypal, Ebay,Clickbank … để khi chúng ta đăng nhập sẽ bị đánh cắp thông tin. Các trang web giả mạo như vậy gọi là Fake Web, một dạng tấn công điển hình của Computer-based Social Engineering. Ngoài ra, các trang web nguy hiểm còn tạo các cữa sổ popup với các thông tin cảnh báo người dùng bị virus, hay máy tính của bạn đã bị nhiễm một loại virus, yêu câu tải về một chương trình để quét và dĩ nhiên đây là chương trình nguy hiểm. Logic Building and Elementary Programming

30 Social Engineering (8/9)
Phòng chống Social Engineering như thế nào? Để phòng chống bị tấn công Social Engineering chúng ta cần nâng cao nhận thức và kiến thức về an toàn thông tin cho người sử dụng thông qua các buổi huấn luyện và các chương trình đào tạo. Chúng ta cần bảo vệ các thiết bị lưu trữ, vận hành hệ thống thông tin như đĩa cứng, máy chủ, hệ thống truyền dẫn như cáp truyền, mạng wifi nhằm tránh sự tương tác trực tiếp của hacker. Một trong các phương pháp để bảo vệ vật lý là ngăn không cho sự xâm nhập trái phép với những thông báo như “không phận sự miễn vào” , đề ra chính sách sử dụng thiết bị thích hợp phòng bị mất mát dữ liệu qua các đường truyền internet, đường kết nối dial-up hay ổ cắm USB. Và cũng cần lưu ý, những nhân viên của công ty hay những người làm việc bán thời gian đều có thể là những hacker nguy hiểm có khả năng tấn công vật lý vào hệ thống. Logic Building and Elementary Programming

31 Social Engineering (9/9)
Phòng chống Social Engineering như thế nào? Bên cạnh những tác nhân con người, thì các yếu tố đến từ thiên nhiên như hỏa hoạn, động đất cũng là các yếu tố hàng đầu cho nguy cơ mất an toàn thông tin, như thảm họa 11/9 là một ví dụ điển hình. Do đó chúng ta cần có một kế hoạch bảo đảm tính liên tục và phục hồi thảm họa thông qua các giải pháp sao lưu, xây dựng các hệ thống dự phòng đáp ứng các yêu cầu của tổ chức. Logic Building and Elementary Programming

32 Logic Building and Elementary Programming
THANK FOR WATCH! Logic Building and Elementary Programming


Download ppt "Các kỹ thuật tấn công lỗ hổng website"

Similar presentations


Ads by Google