Series Bảo Mật Nhập Môn – Bảo mật cơ bản cho developer
Giới thiệu
Bảo mật là một vấn đề rất tốn kém và phức tạp. Gần như hệ thống nào cũng có lỗ hổng (cả phần mềm lẫn phần cứng), các hacker có thể thông qua các lỗ hổng này để tấn công hệ thống.
Việc đảm bảo hệ thống bảo mật là trách nhiệm của rất nhiều bên: Sys admin, network, manager và developer. Do mình không chuyên về bảo mật nên mình không rành về việc config hệ thống mạng, setup tường lửa v…v, do đó mình sẽ không chém gió lung tung về mảng này. Thay vào đó, mình sẽ cùng các bạn tiếp cận khía cạnh bảo mật dưới góc nhìn của một developer.
Những kiến thức trong series này rất cơ bản, dễ học, nhưng chúng sẽ vô cùng hữu ích, giúp bạn tránh phải những sai lầm bảo mật “ngớ ngẩn, cơ bản” khi code. Dù cho bạn code C hay C++, Java C# hay PHP, bạn cũng sẽ học được vài điều bổ ích qua series này.
Tóm tắt series
Trách nhiệm của developer là phải đảm bảo rằng code mình viết ra sẽ không có lỗi bảo mật (Đừng để như các bạn bên Lotte Cinema nhé!). Trong series này, chúng ta đóng vai hacker để tấn công hệ thống mình viết. Thông qua đó, chúng ta sẽ cùng tìm hiểu về những lỗ hổng bảo mật thường thấy khi code và tìm cách vá lỗi.
Một số vấn đề được đề cập trong series (Sẽ được cập nhật sau):
- Sự nguy hiểm khi sử dụng HTTP. Tại sao phải dùng HTTPS để truyền dữ liệu.
- Lỗ hổng bảo mật XSS nguy hiểm đến mức nào.
- Lưu trữ cookie – Tưởng không hại ai ngờ hại không tưởng
- Giấu thông tin server – Tránh con mắt của người đời và kẻ xấu
- Sửa đổi param – Đừng bao giờ tin tưởng “bọn” user
- SQL Injection – Lỗ hổng bảo mật thần thánh
- Cross Site Attack – Những cú lừa ngoạn mục
- Quản lý mật khẩu – Tưởng dễ ăn mà không đơn giản
Đa phần các lỗi bảo mật này đã được ngăn chặn trong các framework. Tuy vậy, nhiều trang web vẫn bị dinh một số lỗi vì sự … ngớ ngẩn hoặc sơ suất của chính developer. Do đó, hãy theo dõi series và cố gắng áp dụng những kiến thức này vào code để tránh dính các lỗi này nhé.
Đây là series hướng dẫn bảo mật cho developer, không phải là hướng dẫn làm hacker nhé. Kiến thức trong series giúp bạn code, giúp bạn vá lỗi chứ không giúp bạn tấn công hệ thống khác hay lừa đảo người dùng. Bạn nào muốn tầm sư học đạo về bảo mật có thể tìm thánh bảo mật Juno_okyo nhé.
Chuẩn bị “đồ chơi”
Không cần chuẩn bị quá nhiều “đồ chơi” phức tạp, bạn chỉ cần một số phần mềm cơ bản sau:
- Google Chrome Developer Tool: Bộ Developer Tool này đi kèm với Google Chrome, hỗ trợ bạn trong việc debug, fix lỗi, chạy JavaScript và … tấn công Website =))).
- Add-on EditThisCookie: Dùng để nghịch và chỉnh sửa cookie.
- Fiddler: Phần mềm này là một web-proxy, hỗ trợ bạn kiểm tra các HTTP request từ máy tới server, đo performance, kiểm lỗi bảo mật, giả lập tấn công Man In The Middle, ….
Một số tool khác sẽ được giới thiệu thêm sau.
Cảnh báo!
Trước khi dạy võ, sư phụ luôn dặn các đồ đệ rằng: Học võ là để cường thân kiện thể, hành hiệp giúp đời, không phải để đi bắt nạt kẻ yếu. Trước khi bắt đầu series, mình cũng muốn khuyên các bạn điều tương tự: Học về security để xây dựng hệ thống bảo mật tốt hơn, để giúp đỡ hệ thống khác, chứ không phải để đi hack hay phá hoại.
Vì lý do đạo đức, nếu phát hiện lỗi trong các hệ thống khác, các bạn nên thông báo cho quản trị chứ đừng nên phá hoại. Ranh giới giữa “tìm hiểu lỗ hổng” và “phá hoại hệ thống” nó mong manh lắm. Với các hệ thống quan trọng. bạn có thể bị truy tố để vào tù bóc lịch cho lỗ ass nở hoa chứ chẳng chơi :v.
Một điều mình sẽ nhắc đi nhắc lại trong suốt series là: Đừng bao giờ tin tưởng người dùng!! Đừng bao giờ tin tưởng những thứ người dùng nhập vào, đừng nghĩ đằng người dùng không biết sửa javascript, không biết nghịch lung tung. Dưới danh nghĩa người dùng, hacker có để mọi phương cách để tấn công hệ thống. Nhớ đấy nhé!
Series này tham khảo theo course Hack Yourself First trên pluralsight và một số nguồn khác. Series này có phụ đề nên khá dễ học, các bạn khá tiếng Anh có thể học thử.
Có thể bạn quan tâm:
- Nói “Ok Google” để gửi tin nhắn WhatsApp, WeChat, Viber trên Android
- Một số hình thức thu tiền từ ứng dụng ( mobile app )
- Marketing, tiếp thị, chăm sóc khách hàng, bán hàng trên mobile và tablet
- Hệ thống định vị Galileo của Châu Âu
- Hệ thống định vị vệ tinh GLONASS của Nga
- Thiết bị di động chiếm 20% lưu lượng mua sắm trực tuyến
- Developer: Chúng tôi không có khái niệm đi “xin việc”?
- 10 tài nguyên tuyệt vời để học lập trình iOS
- Vì sao lập trình viên nữ ngày càng vắng bóng?
- NFC là gì?
- Blockchain – bước đột phát mới của Chuỗi cung ứng
- Đặt mã bảo vệ cho ứng dụng bất kỳ trên thiết bị Android
DVMS chuyên:
- Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,...
- Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,...
- Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,...
- Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,...
- Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...
Vì sao chọn DVMS?
- DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,…
- DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,…
- DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,…
Quý khách xem Hồ sơ năng lực của DVMS tại đây >>
Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>