Hỏi đáp về ngành bảo mật

Các cụ đã có tuổi hay đang căng tràn nhựa sống hiện đang cư ngụ trong group này cho em hỏi hiện tại ngôn ngữ nào tương tác với hệ thống của nó nhiều nhất. ví dụ xóa file, hay di chuyển, hay đọc nó, tất cả thực hiện chỉ cần chạy code. Em cũng không úp mở luôn. em định hướng sẽ vào bảo mật nhánh mã hóa nên em muốn biết một đoạn mã độc hay 1 virus hoạt động như thế nào. mong các cụ giải đáp. em cám ơn.

Các ngôn ngữ back-end như C++, Java, C#, PHP, JS, Python… hay bất kể ngôn ngữ back-end nào mình từng biết đều có khả năng làm như yêu cầu của bạn. Có điều, ngôn ngữ là không đủ, bản thân server có được phân quyền để thực hiện điều đó không lại là chuyện khác.

Cho nên, chỗ để tấn công không phải là máy chủ chạy bằng ngôn ngữ nào đó mà là lỗ hổng của hệ điều hành chạy máy chủ.

6 Likes

theo hiểu biết của mình thì học C++ là được vì nó là thằng ra đời đầu tiên và dùng nhiều nhất.
máy tính giờ đây hoạt động dự trên hệ điều hành hoặc hệ thống nếu là mạng. Nên tìm hiểu cách thức vận hành của hệ điều hành hoặc của hệ thống.
khi hiểu được rõ ràng cách thức vận hành của hệ điều hành và hệ thống. thì có thể viết được chương trình virus.
viết được chương trình nhưng bị chương trình diệt virus phát hiện ra thì chỉ có dẹp luôn.
nên tìm hiểu cách thức chương trình diệt virus hoạt động.

3 Likes

Bảo mật phân tích mã độc thì gắn liền với reverse engineering, asm hơn là mấy ngôn ngữ kia

3 Likes

Đồng ý với @Dao_An là nếu cần lập trình cấp thấp và hiểu sâu về hệ thống thì ASM là tốt nhất. Tuy nhiên, nếu mới bắt đầu học mà nhảy vào ASM thì có lẽ hơi khó (viết một vòng lặp hay một routine để in một ký tự ra màn hình bằng Assembly cũng đã mệt rồi). Vì vậy, lời khuyên của tôi là bạn nên bắt đầu với C hay C++ trước, nếu khi học bạn cảm thấy tự tin thì hãy tiếp tục với Assembly.

Nếu bạn quan tâm nhiều đến ngôn ngữ lập trình thì bạn có thể theo gợi ý của tôi hoặc các bạn khác mà bạn thấy hợp lý. Tuy nhiên, dù học ngành nào đi nữa thì tôi nghĩ ngôn ngữ lập trình chỉ là công cụ. Điều quan trọng là bạn hiểu được các khái niệm căn bản, như trong ngành bảo mật, bạn phải hiểu được các phương thức (protocol) giao tiếp mạng hoặc trong hệ thống máy tính, các lớp cơ sở của hệ điều hành liên quan tới bảo mật, các phương pháp mã hóa, v.v. Phần lớn các kiến thức này đều không liên quan đến ngôn ngữ lập trình nào (dù có thể được minh họa bằng một ngôn ngữ nào đó). Nếu để ý, bạn sẽ thấy rằng các ví dụ về lập trình mạng của Google đa phần viết bằng Python - vốn được xem là ngôn ngữ cấp cao. Hoặc như trong trường hợp của Docker, các lớp cơ sở của Docker được viết bằng ngôn ngữ Go - tương đối mới so với C++.

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?