Backdoor là gì? Cách tạo backdoor trong Website - Bảo mật website PHP
Nếu bạn đang phát triển phần mềm thì không còn lạ gì với từ khóa này phải không nào? Trước đây khi mới tìm hiểu lập trình web mình cũng không hề biết đến khái niệm này, thời đó còn sinh viên thì biết gì về bảo mật, thậm chí đến khi đi thực tập mới nhận ra là mình thích PHP ;) Ok không vòng vo ...
Nếu bạn đang phát triển phần mềm thì không còn lạ gì với từ khóa này phải không nào? Trước đây khi mới tìm hiểu lập trình web mình cũng không hề biết đến khái niệm này, thời đó còn sinh viên thì biết gì về bảo mật, thậm chí đến khi đi thực tập mới nhận ra là mình thích PHP ;)
Ok không vòng vo nữa, bây giờ mình sẽ đi thẳng vào vấn đề luôn nhé. Trong bài này chúng ta sẽ tìm hiểu khái niệm backdoor là gì và cách xử lý nó trong PHP như thế nào.
1. Backdoor là gì?
Backdoor hay còn gọi là crypto backdoor, đây là một chương trình gián điệp được tích hợp vào nhân của phần mềm với nhiều mục đích khác nhau, có mục đích xấu và cũng có mục đích tốt. Backdoor có thể xuất hiện ở mọi thiết bị, từ điện thoại của bạn, laptop cho đến router mạng, miễn là những nơi đó có sự tồn tại của phần mềm.
Nhiệm vụ của backdoor là lấy thông tin của người đang sử dụng phần mềm, sau đó thực hiện một thao tác nào đó, ví dụ sẽ gửi thông tin đó lên server để lưu trữ, cái này ta gọi là đánh cắp thông tin của người sử dụng phần mềm. Như vậy thực chất backdoor là việc trao đổi dữ liệu giữa người dùng phần mềm và server.
Chúng ta chia backdoor ra làm hai loại, loại thứ nhất là có lợi và loại thứ hai là có hại. Mình sẽ bàn về loại có lợi trước nhé.
Backdoor có lợi
Đây không hẳn là một chương trình gián điệp mà là một tính năng. Ví dụ khi bạn đang sử dụng phần mềm diệt virus, sau một vài ngày bạn không nâng cấp version thì sẽ xuất hiện thông báo, vậy thì tại sao nó lại biết là phần mềm mình đang dùng đã lỗi thời, cần phải được nâng cấp lên version mới?
Bạn có thể hiểu thế này, trong phần mềm virus đó có một chương trình gián điệp, nó sẽ lấy thông tin hiện tại của phần mềm và gửi lên server, sau đó so sánh xem version có bị lỗi thời hay không, nếu có thì thông báo cho người dùng.
Không chỉ được áp dụng vào việc kiểm tra version mà backdoor còn được dùng để xử lý bản quyền. Bạn sẽ lập trình một chức năng tự động kiểm tra xem người dùng có đăng ký mua bản quyền không, và đương nhiên để kiểm tra thì bắt buộc phải gửi request lên server.
Đối với một số công ty khi làm web họ sẽ tích hợp backdoor vào với mục đích quản lý mã nguồn của họ. Với mỗi khách hàng họ sẽ thiết lập cấu hình chỉ dùng cho khách đó mà thôi, nếu source bị dùng cho domain khác thì lập tức backdoor sẽ gửi thông tin lên server hoặc thưc hiện một thao tác thông báo nào đó.
Backdoor có hại
Đây mới chính là một chương trình gián điểm thực thụ, nó sẽ lấy cắp thông tin của người dùng phần mềm và gửi lên server, với cách này thì mọi thông tin của người dùng đều sẽ bị đánh cắp. Có một số cá nhân tạo ra một bộ source web, sau đó cài backdoor vào và đi chia sẻ cho cộng đồng. Lúc này giả sử cộng đồng có 1000 người sử dụng mã nguồn đó thì chắc chắn thông tin 1000 người đó sẽ bị đánh cắp.
2. Cách tạo backdoor trong website
Mình sẽ không code cụ thể mà sẽ hướng dẫn các bạn cách code, vì mỗi Framework và CMS sẽ có cách hoạt động khác nhau nên vị trí thêm backdoor sẽ khác nhau.
Giả sử bạn muốn mã nguồn chỉ dành cho domain là Zaidap.com.net thì lúc này bạn sẽ code như sau để kiểm tra bản quyền.
if ($_SERVER['HTTP_HOST'] !== 'Zaidap.com.net') { // thực hiện xử lý bắt bản quyền }
Nói chung có rất nhiều cách, quan trọng là bạn phải hiểu backdoor là gì và cách hoạt động của nó như thế nào.
Câu hỏi đặt ra bây giờ là code đó sẽ đặt ở đâu? Bạn sẽ đặt tại một nơi mà ít ai để ý như trong bộ core của framework, hoặc bạn mã hóa nó rồi đặt tại một vị trí bất kì trong source.
3. Lời kết
Trên chỉ là một phân tích nho nhỏ về backdoor, mình không thể chỉ cách code cụ thể được nên rất mong các bạn thông cảm. Chúc bạn thành công với chiến lược tạo backdoor để quản lý mã nguồn của mình nhé.