Breaking

Friday, November 23, 2012

Bảo mật website – ý thức admin

Trong những năm gần đây, website được phát triển với tốc độ rất nhanh tại Việt Nam nhưng thực tế các admin vẫn chưa quan tâm đúng mức về vấn đề bảo mật mà chỉ chú trọng vào hình thức và nội dung của website, do vậy có rất nhiều trường hợp website bị tấn công hay mất dữ liệu vì những lỗi bảo mật rất phổ biến, chúng ta cùng xem các lỗi này và có giải pháp để website chúng ta an toàn đến trên 80%.

1. Đặt password khá đơn giản

Cách đặt password của các quản trị viên khá đơn giản, hacker có thể lợi dụng để đột nhập vào lấy cắp thông tin dữ liệu:

Các password có thể là: admin, 123456, là domain của site, username, phone, pass db, ngày tháng năm sinh, v.v…

Ở đây gọi là kỹ thuật đoán password, một kỹ thuật tưởng là khó thành công nhưng đôi lúc cũng khá tốt. Nếu các bạn có kinh nghiệm hacking khi xem username + password database thì chắc có lẽ sẽ bất ngờ vì password. Nhưng việc đoán password cũng gặp khá nhiều khó khăn. Một cách giải quyết là thiết kế 01 trang web bói toán, thông qua các câu hỏi đơn giản như: nick của bạn là gì, tên người yêu của bạn, màu mà bạn yêu thích, ngày sinh của bạn… rồi send cho người quản trị, việc cuối cùng là đoán password.

2. Không xóa các file nhạy cảm có chứa thông tin lien quan đến password

Các admin thường sơ xuất không xóa đi một số file nhạy cảm như: mysqldumper, bigdump,zip, databackup.php, unzip.php, caidat.php, zipcode.php hay có thể là tên của của chính website (như: hoangnguyen.zip chẳng hạn) hacker có thể đoán và thử xem các file đó có tồn tại hay không?.
Dựa vào các file đó, hacker có thể xâm nhập vào trang quản trị, Cpanel hoặc ftp của bạn là điều không gì dễ hơn thế nữa.

3. Sử dụng cùng 1 username + password cho tất cả dịch vụ

Việc này do admin khiếu kinh nghiệm đặt password diễn đàn trùng với password mail, hay password login vào cpanel dẫn đến việc dễ bị hack.

Đây là 1 kỹ thuật khá hay, trước khi hack 1 site nào đó, hacker có thể tìm kiếm những thông tin về admin của victim, tìm xem admin này thường hay ra vào forum, blog nào, cố gắng hack 1 trong các site mà admin đó thường lui tới để có được password của admin, việc cuối cùng là crack password, thử xem admin có thiếu kinh nghiệm đến mức đặt password chung không.

Nói ra thì dài dòng, chứ các hacker có mặt trên các khắp diễn đàn, nên bạn an tâm việc hacker có vui lòng hack website của bạn hay không mà thôi (đừng để mình thành nạn nhân vì những việc này).

4. Phishing:

Hacker thường làm là send cho victim (nạn nhân ) 1 con keylogger (thường là gởi qua mail hay send link qua Y!M), rồi ngồi chờ thôi. Tất nhiên có nhiều biến tướng từ Phishing: fake login…, nhớ là phòng hơn chống.

5. Social engineer:

Nhắc đến social thì mọi người thường nhắc đến Kevin Mitnick. Thực ra cái này cũng không phải là kỹ thật cao siêu gì, vấn đề là tạo được lòng tin từ victim để từ đó khai thác.

Có thể ví dụ như sau: thường thông qua lỗi sql injection được username + password, nhưng công việc khó khăn nhất là tìm link login, một cách social là contact nhân viên support cung cấp site đó, bảo site đó bị hack, login vào trang quản lý nhưng không được, “username + password của tui nè, pls help me!!!!!!”

6. Sử dụng mã nguồn mở, source share trên mạng.

Chúng ta vì sợ tốn tiền, lượm đại 1 source share nào đó đẹp đẹp trên mạng về sử dụng, nhưng họ đâu biết rằng chính source đó là mồi nhử của các hacker, thế là them 01 con mồi bị sập bẫy.
Một số kỹ thuật tấn công phổ biến của hacker:

Các hacker thường khai thác lỗi từ code của người lập trình: Khi viết chương trình, các programmer, họ thường quan tâm tới kết quả công việc của họ. Họ làm sao cho website thật đẹp, ấn tượng,… nhưng họ lại ít hoặc không quan tâm tới code của mình có lỗi hay không? Và đây là yếu điểm chết người, bởi các hacker khai thác từ đây, thông thường đó là những lỗi như:

1. Upfile không qua một cơ chế kiểm tra file hợp lệ hay không

Từ đây, hacker có thể up bất kì file gì mà họ muốn, để từ đó điều khiển website theo ý họ.

2. SQLi (Sql injection, từ cú pháp câu lệnh SQL)

Đây là một lỗi đã “rất cũ” nhưng hiện nay vẫn còn khá phổ biến. Từ lỗi này, hacker có thể dễ dàng khai thác được các thông tin bảo mật: username, password, tài khoản creadit card…

3. Bypass login:

Bằng một kỹ thuật đơn giản, hacker có thể dễ dàng vào được quyền quản trị mà không cần phải biết username, password là gì?

4. XSS (Cross-site scripting):

Là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI,…) các thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho người sử dụng khác. Khi một trang web bị nhúng mã độc, những đoạn mã này sẽ được thực thi ở máy của người dùng gây tác hại cục bộ, hoặc có thể lấy các thông tin như cookie lưu ở trang web đó để chuyển về cho hacker. Các đoạn mã này được thực thi với quyền của trang web nạn nhân, nên loại bỏ được một số kiểm soát truy cập (như chứng thực nguồn gốc).

5. Kỹ thuật Local Attack:

Đây là kỹ thuật khá phổ biến hiện nay mà hacker sử dụng. Từ 1 tài khoản hosting trong cùng server, hacker lần lượt khai thác những host (hàng xóm) còn lại một cách dễ dàng. Chúng ta có thể ví kỹ thuật này như là 1 căn hộ chung cư (server), có rất nhiều nhà trong đó (hosting), trong số các con người ở đây, có 1 người chuyên ăn trộm (ví như hacker). Đợi khi vắng vẻ, người ăn trộm này sẽ lần lượt ghé thăm các phòng còn lại của chung cư, nếu phòng không có khóa thì họ vào dễ dàng, nếu phòng có khóa thì họ đục tường, nếu phòng có nuôi chó thì họ leo tường,…

Thực ra Local Attack có thể làm được rất nhiều thứ nguy hiểm hơn và khả năng chống cự là không thể nếu như bạn ko Zendcode và không có một Server tốt (có thể chống được Remview, CGI Telnet ==> đây là hai công cụ Local rất tốt, chưa kể đến SSH Local nếu có Shell).

Cuối cùng, cho dù cả website có zendcode lại đi chăng nữa, vẫn có thể khai thác được thông tin vì “Núi cao sẽ còn núi cao hơn”.

Dù sao đi nữa, các admin nên cẩn thận hơn, các bạn đừng để những lỗi ngớ ngẩn như trên làm chết website của mình nhé.

Bài viết Nguyễn Đức Anh Kha, đăng trên tạp chí Bảo mật, số ra đầu tiên

No comments:

Post a Comment