Điện thoại: 0944210999
  • Quảng cáo

    Miễn phí quảng cáo
    Hiệu quả cực cao

    Quảng cáo
  • Chúng tôi là ai ?

    Giới thiệu Website myhoian.com.

    Giới thiệu
Hiển thị các bài đăng có nhãn bảo mật. Hiển thị tất cả bài đăng

Kiểm tra website có bị banned không ?

http://www.iwebtool.com/google_banned?domain=myhoian.com
http://www.seomastering.com/google-banned.php
http://www.dennisnafisi.com/free-seo-tools/google-blacklist-checker/

Một số điểm cơ bản về cơ chế tấn công SQL Injection và DDoS


Trong phần lớn người sử dụng chúng ta, chắc hẳn nhiều người đã nghe nói tới khái niệm tấn công, chiếm quyền điều khiển website bằng phương pháp SQL Injection – SQLI và (Distributed) Denial of Service – DDoS. Vậy thực sự quá trình này được tin tặc sử dụng như thế nào, dựa vào đâu mà hacker có thể xác định được những lỗ hổng bảo mật trên website để tấn công vào đó... Trong bài viết dưới đây, Quản Trị Mạng sẽ giới thiệu một vài điểm cơ bản để mọi người hiểu thêm về bản chất của cách thức tấn công khá phổ biến này.

Denial of Service Attack:

Để dễ hình dung hơn về DDoS, các bạn hãy tham khảo hình minh họa bên dưới:






Bản chất:

Denial of service (hay còn gọi là distributed denial of service hoặc DDoS) là hình thức tấn công thường xảy ra khi 1 hệ thống (ở đây chúng ta đang đề cập tới web server) nhận được quá nhiều yêu cầu truy cập trong cùng 1 thời điểm, do vậy hệ thống sẽ lâm vào tình trạng quá tải, và dẫn tới việc hoạt động không ổn định, phát sinh thêm nhiều vấn đề khác. Mục đích chung của phương pháp tấn công DDoS này là khiến cho website của nạn nhân lưu trữ trên server vượt quá lượng truy cập thông thường.
Cơ chế hoạt động:

Để hiểu rõ về quá trình này, chúng ta sẽ cùng tham khảo qua 1 ví dụ phổ biến.

Chẳng hạn, có hàng ngàn người (đảm nhận việc tấn công – vai trò chính của hacker) cùng tham gia vào quá trình làm cản trở việc kinh doanh của công ty X nào đó bằng cách liên lạc, gọi điện thoại tới trung tâm hỗ trợ, chăm số khách hàng của họ. Thời gian cụ thể được xác định vào lúc 9 giờ sáng ngày thứ 3, và trong hầu hết các trường hợp xảy ra thì hệ thống điện thoại của công ty X sẽ không thể chịu được hàng triệu cuộc gọi đến vào lúc 9h, khác hẳn so với ngày thường. Bên cạnh đó, những khách hàng thực sự muốn gọi điện đến thì lại không thể thực hiện được cuộc gọi... và tất nhiên, uy tín của công ty X đó sẽ bị ảnh hưởng rất nhiều.

Về bản chất thì quá trình tấn công DDoS cũng được tiến hành tương tự như vậy. Bởi vì gần như không có cách nào có thể xác định được nguồn gốc của những yêu cầu truy cập tới là của tin tặc hay khách hàng thực sự cho tới lúc server xử lý kịp, cho nên hiệu quả và tỉ lệ thành công của phương pháp này rất cao.
Quá trình thực hiện:

Do tính chất vô cùng “bạo lực” của DDoS, những tên hacker đã phải chuẩn bị rất nhiều máy tính để thực hiện cuộc tấn công vào mục tiêu trong cùng 1 thời điểm. Quay trở lại ví dụ của công ty X ở trên, điểm mấu chốt của tin tặc là đồng loạt gọi điện tới trung tâm chăm sóc khách hàng đúng vào lúc 9 giờ sáng. Nhưng nếu xét về khía cạnh kỹ thuật thì quá trình này sẽ đơn giản và dễ dàng khi tất cả các máy tính của nạn nhân đã ở trong trạng thái zombie – nghĩa là đã bị lây nhiễm và ảnh hưởng bởi virus của hacker.

Và như tất cả chúng ta đã biết, có rất nhiều biến thể đa dạng của malware và trojan xuất hiện trong thời gian qua. Sau khi bí mật xâm nhập thành công vào bên trong hệ thống, chúng sẽ âm thầm chờ đợi đúng thời điểm để hoạt động. Ví dụ tại đây, lệnh thực hiện các yêu cầu tấn công sẽ được tin tặc gửi tới malware, trojan, và mục tiêu là hệ thống webserver của công ty X lúc 9 giờ sáng ngày thứ 3. Do vậy, chỉ cần 1 hacker cũng có thể tạo ra được rất nhiều lệnh tấn công từ nhiều địa điểm khác nhau tương ứng với các máy tính đã bị lây nhiễm bởimalware.

Lợi ích của việc tận dụng hệ thống máy tính đã bị nhiễm mã độc tỏ ra vô cùng hiệu quả, vì hacker sẽ có nhiều cơ hội để che dấu tung tích của chúng, mặt khác hiệu quả và tỉ lệ thành công khi tiến hành tấn công lại đảm bảo hơn rất nhiều.
SQL Injection Attack:


Bản chất:

Cơ chế tấn công SQL injection – SQLI là cách thức tận dụng hoặc khai thác triệt để những khuyết điểm, thiếu sót về mặt công nghệ được sử dụng để xây dựng website, và thông thường hacker sẽ kết hợp với những lỗ hổng trong quy trình bảo mật cơ sở dữ liệu. Nếu thành công trong việc xâm nhập này, hacker hoàn toàn có thể mạo danh tài khoản chính thức của người sử dụng, truy cập vào cơ sở dữ liệu và lấy cắp thông tin cá nhân. Không giống như cách làm của DDoS, SQLI hoàn toàn có thể ngăn chặn được nếu người quản trị nhận thức được tầm quan trọng của việc bảo mật cơ sở dữ liệu.
Quá trình thực hiện:

Mỗi khi người dùng tiến hành đăng nhập vào tài khoản trực tuyến, họ sẽ phải cung cấp thông tin về Username và Password. Trong quy trình kiểm tra và xác nhận tính hợp pháp của tài khoản đó, hệ thống hoặc ứng dụng web tương ứng sẽ chạy 1 câu lệnh truy vấn có dạng như sau:

SELECT UserID FROM Users WHERE UserName='myuser' AND Password='mypass';

Lưu ý rằng các phần giá trị trong câu lệnh query SQL phải kết thúc bằng dấu nháy đơn ( ' ) và đó cũng là lý do tại sao chúng xuất hiện quanh phần giá trị được nhập.

Quy trình yêu cầu sự trùng khớp giữa tên tài khoản được nhập vào (myuser) và mật khẩu (mypass) với bản ghi lưu trữ thông tin trong bảng Users, và sau đó trả về giá trị UserID. Nếu không trùng khớp thì sẽ không có giá trịUserID nào được trả về, và thông tin người dùng nhập vào là không chính xác.

Tiếp theo, chúng ta hãy cùng tham khảo mẫu câu lệnh truy vấn xác nhận tài khoản có thể thay thế giá trị của người dùng nhập vào trên web.

SELECT UserID FROM Users WHERE UserName=’[user]‘ AND Password=’[pass]‘

Ngay từ cái nhìn đầu tiên, có thể nhiều người sẽ nghĩ rằng quy trình xác nhận tài khoản như vậy là hoàn toàn hợp lý và chuẩn xác. Tuy nhiên, chỉ cần một sự thay đổi nho nhỏ trong cấu trúc này thì đó có thể là dấu hiệu của đợt tấn công, xâm nhập của SQLI.

Ví dụ, “myuser’–” là giá trị nhập vào trường Username và “wrongpass” là mật khẩu, thì mẫu câu lệnh truy vấn thay thế sẽ có dạng như sau:

SELECT UserID FROM Users WHERE UserName='myuser'--' AND Password='wrongpass'

Điểm mấu chốt và đặc điểm nhận dạng ở đây chính là 2 dấu gạch ngang liền nhau (- -), đây là điểm bắt đầu của phần thông báo đối với câu lệnh SQL, bất cứ những gì ở sau 2 dấu gạch ngang này sẽ bị bỏ qua. Và do vậy, câu lệnh trên sẽ được cơ sở dữ liệu xác nhận thành:

SELECT UserID FROM Users WHERE UserName='myuser'

Phần thiếu sót lớn nhất ở đây chính là khâu kiểm tra mật khẩu, chỉ với 2 dấu gạch ngang như trên hacker đã hoàn toàn có thể vượt qua được quá trình kiểm tra, và “ngang nhiên” đăng nhập bằng tên tài khoản “myuser”mà không cần phải nhập mật khẩu tương ứng. Tiếp theo sau đó sẽ là các cuộc tấn công SQL injection tiếp theo.
Mức độ thiệt hại:

Thực chất, nguồn gốc của quá trình tấn công SQL injection là sự cẩu thả trong quy trình mã hóa ứng dụng, mật khẩu nhưng vẫn có thể ngăn chặn được, tuy nhiên mức độ thiệt hại là không thể lường trước được và phụ thuộc vào quy mô của từng database. Trong quá trình một ứng dụng web bất kỳ có thể giao tiếp với backend database thì sẽ phải cung cấp thông tin đăng nhập tới 1 cơ sở dữ liệu (quy trình này khác hẳn so với lúc người dùng tiến hành đăng nhập vào website qua form login). Phụ thuộc vào mức phân quyền tương ứng mà ứng dụng web yêu cầu, tài khoản trong cơ sở dữ liệu có thể sử dụng được bất kỳ quyền chỉnh sửa nào, từ việc đơn giản như đọc, ghi đơn thuần trên những bảng có sẵn cho tới mức quyền đầy đủ.

Cũng dựa vào ví dụ trên, chúng ta thấy bằng việc nhập tên tài khoản (ví dụ "youruser'--", "admin'--" hoặc bất kỳ) thi hoàn toàn có thể đăng nhập trực tiếp vào database mà không cần biết password. Khi ở bên trong, hệ thống sẽ không thể biết được tài khoản đó là tài khoản bình thường hoặc có đầy đủ quyền tương ứng. Về mặt bản chất, việc phân quyền của database không cung cấp quyền chính xác tương ứng và an toàn trong quá trình này, bởi vì thông thường 1 website ít nhất phải có quyền đọc hoặc ghi tới cơ sử dữ liệu tương ứng.

Giả sử rằng hệ thống website của chúng ta có đầy đủ quyền truy cập, bao gồm việc xóa dữ liệu, thêm hoặc xóa bảng, tạo mới tài khoản... và trên thực tế, có khá nhiều chương trình nếu muốn cài đặt và sử dụng thì phải được phân quyền ở mức cao nhất, do vậy bạn phải cẩn thận khi thực hiện việc gán quyền.



Để minh họa thêm về mức độ thiệt hại có thể gây ra trong tình huống này, chúng ta sẽ dựa vào hình vẽ trên, và nhập phần thông tin sau vào trường Username:

"Robert'; DROP TABLE Users;--"

Chỉ với vài sự thay đổi nho nhỏ, câu lệnh query sẽ trở thành:

SELECT UserID FROM Users WHERE UserName='Robert'; DROP TABLE Users;--' AND Password='wrongpass'

Lưu ý rằng dấu phẩy trong MySQL được sử dụng để kết thúc mệnh đề cũ và bắt đầu 1 mệnh đề mới.

Dòng lệnh trên sẽ được database thực hiện thành:

SELECT UserID FROM Users WHERE UserName='Robert'

DROP TABLE Users

Chỉ đơn giản như vậy, chúng ta đã thực hiện thành công 1 pha tấn công SQLI nho nhỏ với mục đích chính là xóa toàn bộ bảng dữ liệu Users.
Cách phòng chống SQL Injection:

Như chúng ta đã đề cập tới tại phần trên của bài viết, SQL Injection hoàn toàn có thể ngăn chặn được. Và 1 trong những quy tắt không thể bỏ qua là không nên tin tưởng tuyệt đối vào bất kỳ thông tin nào mà người sử dụng nhập vào (tương tự như tình huống chúng tôi mô phỏng bên trên).

Và mô hình SQLI có thể dễ dàng bị ngăn chặn bởi 1 bước gọi là Sanitization – hiểu nôm na là việc chắt lọc thông tin đầu vào – input từ phía người dùng. Rất đơn giản, quy trình này sẽ xử lý bất kỳ ký tự ngoặc đơn nào xuất hiện trong câu lệnh truy vân SQL.

Ví dụ cụ thể, nếu muốn tìm bản ghi “O’neil” trong cơ sở dữ liệu, thì không thể dùng phương pháp đã mô phỏng bên trên vì dấu ' đằng sau chữ O sẽ khiến cho cú pháp bị ngắt giữa chừng. Thay vào đó, chúng ta có thể tách biệt ký tự đặc biệt này khỏi cơ sở dữ liệu bằng dấu \. Và như vậy, bản ghi “O’neal” sẽ biến thành “O\’neil”.

Để hiểu kỹ hơn về quá trình này, chúng ta hãy quay trở lại ví dụ trên:

myuser'-- / wrongpass:

SELECT UserID FROM Users WHERE UserName='myuser\'--' AND Password='wrongpass'

Bởi vì dấu phẩy đằng sau myuser đã được đảm bảo an toàn, nên cơ sở dữ liệu sẽ tiến hành tìm kiếm thông tinUserName của "myuser'--". Bên cạnh đó, các dấu gạch ngang (- -) đã được bao gồm với chuỗi dữ liệu, chúng sẽ trở thành 1 phần của chuỗi thông tin tìm kiếm và được biên dịch bởi cú pháp tương ứng của SQL.

Robert'; DROP TABLE Users;-- / wrongpass:

SELECT UserID FROM Users WHERE UserName='Robert\'; DROP TABLE Users;--' AND Password='wrongpass'

Chỉ với việc tách biệt dấu ngoặc đơn đằng sau Robert, dấu phẩy và gạch ngang bao gồm bên trong chuỗi tìm kiếm UserName, và do vậy cơ sở dữ liệu sẽ tìm kiếm toàn bộ các bản ghi theo thông tin: "Robert'; DROP TABLE Users;--" thay vì việc xóa bảng dữ liệu như cũ.

Chúc các bạn thành công!




T.Anh (nguồn HowToGeek)
Quantrimang

Một số quy tắc bảo mật cơ bản cho website

Trong tuần qua, hàng loạt website và các hệ thống máy chủ bị tấn công, thâm nhập và đánh cắp dữ liệu đã dấy lo sự lo ngại từ phía người dùng cuối. Giải pháp ứng phó thế nào?
Khi website có lỗ hổng, tội phạm mạng dễ dàng xâm nhập, tấn công và khai thác dữ liệu khiến website bị nhiễm độc gây nguy hiểm không chỉ cho chủ sở hữu trang web mà cho cả những khách truy cập. Sau khi website đã được khử độc, nếu quản trị viên vẫn chủ quan không quan tâm đến các lỗ hỗng này thường xuyên thì website vẫn sẽ dễ dàng bị nhiễm độc trở lại bất cứ lúc nào.
Để ngăn chặn điều này xảy ra, người dùng cần có những phương pháp thích hợp để bảo vệ máy chủ cũng như máy tính của mình khi kết nối với tài khoản máy chủ.
Các chuyên gia bảo mật Kaspersky Lab đã đưa ra một số quy tắc bảo mật cơ bản dành cho website mà người dùng có thể tham khảo. Những thông tin bên dưới được trích từ bài viết “This site may harm your computer“ thực hiện bởi Marta Janus, Chuyên gia nghiên cứu an ninh mạng, Kaspersky Lab.
* Sử dụng mật khẩu mạnh
Thoạt nghe, quy tắc này khá bình thường nhưng sử dụng mật khẩu mạnh là nền tảng cơ bản giúp tăng cường bảo mật cho hệ thống máy chủ. Mật khẩu không chỉ bắt buộc thay đổi sau khi xảy ra sự cố mà cần phải thay đổi thường xuyên, tốt nhất là định kỳ mỗi tháng một lần.



Mật khẩu là cửa ngõ đầu tiên dẫn đến nguồn dữ liệu nhạy cảm - (Ảnh: Internet)
Một mật khẩu đủ mạnh cần đáp ứng được các tiêu chí cơ bản. Mật khẩu an toàn phải được tích hợp giữa chữ, số và các ký tự đặc biệt nhưng phải đảm bảo dễ nhớ để không phải ghi chú lại mật khẩu này vào sổ hay máy tính, không sử dụng cùng một mật khẩu cho nhiều tài khoản khác nhau như email, tài khoản ngân hàng,… Người dùng có thể tham khảo thêm các tiêu chí cho một mật khẩu mạnh tại đây.
* Liên tục cập nhật:
Để nâng cao mức độ bảo mật, người dùng cần phải cập nhật website của mình thường xuyên, đặc biệt theo dõi thông tin phiên bản mới nếu đang dùng các phần mềm web nguồn mở (CMS, portal, forum...).
Tất cả các phần mềm mà người sử dụng quản lý bằng tài khoản máy chủ phải là phiên bản mới nhất và tất cả các bản vá bảo mật cần phải được áp dụng ngay sau khi nó được phát hành. Điều này sẽ giảm nguy cơ một cuộc tấn công nhằm vào việc khai thác dữ liệu. Danh sách các lỗ hổng thường bị tấn công có thể xem tại đây.
* Tạo các bản sao lưu:
Một bản sao lưu tất cả các nội dung của máy chủ không bị "nhiễm độc" chắc chắn sẽ giúp người dùng tiết kiệm rất nhiều thời gian và công sức khi khôi phục. Một bản sao gần nhất sẽ rất hữu ích trong việc giải quyết các vấn đề phát sinh cũng như trong trường hợp máy chủ hoặc trang web bị nhiễm độc.
* Quét tập tin thường xuyên:
Quét ngay cả khi không có dấu hiệu bị nhiễm độc nào được tìm thấy. Đây là một thao tác rất hữu ích để bảo vệ website, quét tất cả các tập tin trên máy chủ trong một thời gian nhất định ít nhất là một lần.
* Quan tâm đến bảo mật máy tính:
Rất nhiều malware độc hại tấn công vào các trang web và được phát tán bằng cách lây nhiễm vào các máy tính. Vì vậy, vấn đề an ninh của máy chủ chứa trang web là một trong những khía cạnh quan trọng nhất trong việc bảo mật website. Giữ cho máy chủ luôn trong tình trạng an toàn và không bị nhiễm độc sẽ nâng cao mức độ an toàn cũng như tránh được sự tấn công của các malware.
* Tăng cường mức độ bảo mật của máy chủ:
Nếu sở hữu hệ thống máy chủ, người dùng cần chú ý đến cấu hình của máy để bảo đảm mức độ an toàn nhất có thể. Hoạt động để tăng cường bảo mật máy chủ gồm những phần sau:
Loại bỏ tất cả các phần mềm không sử dụng
Vô hiệu hóa tất cả các dịch vụ và module không cần thiết
Thiết lập chính sách phù hợp cho người dùng và các nhóm
Thiết lập quyền truy cập/hạn chế truy cập vào các tập tin và thư mục nhất định
Vô hiệu hóa việc duyệt thư mục trực tiếp
Thu thập các tập tin ghi nhận hoạt động, thường xuyên kiểm tra các hoạt động đáng ngờ
Sử dụng mã hóa và các giao thức an toàn

Yếu tố con người vẫn đóng vai trò quan trọng nhất
Theo ông Jimmy Low, chuyên gia bảo mật khu vực Đông Nam Á thuộc Kaspersky Lab trả lời phỏng vấn của Nhịp Sống Số cho biết: "Mỗi hệ thống mạng đều có những vấn đề và điểm yếu riêng. Tuy nhiên, yếu điểm quan trọng nhất là yếu tố con người. Người quản trị mạng phải không ngừng nâng cao, học hỏi thêm kiến thức mới, tăng cường nhận thức về các mối đe dọa và bảo mật nhằm kịp thời nhận ra các lỗ hổng về kỹ thuật, tránh mắc phải các sai lầm trong công tác quản trị mạng".

Ông Jimmy cho rằng bất kỳ kỹ sư nào cũng có thể phạm phải sai lầm trong giai đoạn khởi nghiệp do thiếu kinh nghiệm và lời khuyên cho các kỹ sư trẻ rằng "đừng ngại học hỏi từ người đi trước, nếu các bạn không học hỏi từ người có kinh nghiệm và từ sai lầm, các bạn khó có thể phát triển bản thân trong nghề nghiệp".
Các malware tấn công trên website là một cơn ác mộng thực sự cho các nhà quản trị web và người sử dụng Internet trong khi tội phạm mạng không ngừng nâng cao kỹ thuật của mình và tạo thêm các cuộc khai thác mới. Việc lây lan các phần mềm độc hại diễn ra rất nhanh thông qua Internet gây ảnh hưởng đến máy chủ và các máy trạm.
Điều đó nói lên sự thật rằng không có cách nào loại bỏ các mối đe dọa này hoàn toàn. Tuy nhiên, tất cả các chủ sở hữu trang web và những người sử dụng Internet có thể làm cho Internet an toàn hơn bằng cách thực hiện theo các quy tắc bảo mật cơ bản và giữ cho website, máy tính người dùng không bị nhiễm độc trong bất cứ thời điểm nào.

Theo TTO

Quantrimang

About

Chúng tôi là đội ngũ làm website, marketting online chuyên nghiệp. Trang thông tin chính thức của chúng tôi là myhoian.com. Đến với chúng tôi , bạn sẽ nhận được sự tư vấn tin cậy, trang web ưng ý, sự hỗ trợ thân thiện.

Nhận xét

Loading...
.loadingxrcm {background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1MbDICVINdJ2VOosI42WTFoAQWoWaGfoipWxoo30hNjf_2HyKIijHyswYp7fpxP0suEDXGCBbpdbcz_GRDu31jodI_MaE91rtpc4e1lRMq1hqFTMMHHf7eNFLPKDVinbrMMEvttc_1kM/s1600/progress_ani.gif) no-repeat 50% 50%;width:32px;height:32px;display:block;margin:0 auto;text-indent:-9999px;} ul#kmtranimasi{text-align:left;font:normal normal 11px Verdana,Geneva,sans-serif} ul#kmtranimasi,ul#kmtranimasi li{margin:0;padding:0;list-style:none;overflow:hidden;position:relative} ul#kmtranimasi li{text-indent:0;height:90px;background:whiteSmoke;padding:0 8px;border:1px solid #DFDFDF;border-top:1px solid white} ul#kmtranimasi img{border-radius:9999px;overflow:hidden;background:#383838;border:0;float:left;margin:5px 5px 0 0} ul#kmtranimasi .ketkomt{overflow:hidden} ul#kmtranimasi .ketkomt a{display:block;color:white;font-weight:bold;overflow:hidden;background:#363636;border-radius:2px;float:left;padding:0 5px;margin: 5px 0 0 0;} ul#kmtranimasi .ketkomt span{font-size:8px;position:absolute;z-index:2;top:21px;border-radius:2px;display:block;line-height:14px;padding:0 5px;left:68px;background:white} ul#kmtranimasi p{margin:15px 0 0}

Contact Details

Mr Duan Tell: 0944210999 Email: thietkewebhoian@gmail.com Địa chỉ : 32/9 Nguyễn Duy Hiệu - Hội An