The PyMiers

Làm an toàn thông tin cần học những gì?


Nhân ngày cuối tuần không đi hack do quên reg giải CTF nên ngồi tổng hợp lại góc nhìn 2 năm theo đuổi ngành "phá làng phá xóm để giúp cho làng xóm không bị đứa khác phá". Dù chưa có thành tựu gì nhiều nhưng chiến đấu cùng các anh em PymiCTF giúp mình có dịp tìm được nhiều thứ hay ho. Sau đây là tóm tắt một số skill kỹ thuật mà một người trong ngành an toàn thông tin nên có.

Các kỹ năng trong ngành an toàn thông tin

Ngành an toàn thông tin được hiểu là ngành thực hiện các hình thức ngăn chặn, phát hiện, phòng ngừa việc truy cập, tiết lộ, chia sẻ, phát tán và sử dụng thông tin trái phép khi chưa được sự cho phép. Trong đó, an ninh mạng là một phần của ngành an toàn thông tin nhằm bảo vệ các thông tin trên hệ thống mạng khỏi sự xâm phạm, sử dụng trái phép, bảo vệ tính bí mật, toàn vẹn và khả dụng của thông tin.

Ngành an toàn thông tin là một ngành rộng với đa dạng các lĩnh vực chuyên môn, mỗi chuyên ngành đều yêu cầu một bộ các kỹ năng chuyên sâu đa dạng và cần thời gian để có thể thực hiện thành thạo. Về khía cạnh kỹ thuật, ngành an toàn thông tin phân chia các kỹ năng như sau:

  • Penetration Testing: Kỹ năng kiểm thử xâm nhập, trong đó kiểm thử viên sẽ đánh giá toàn diện về bảo mật của hệ thống bằng cách sử dụng các kỹ thuật tấn công mà tin tặc thường sử dụng để kịp thời phát hiện nhiều lỗ hổng bảo mật trên hệ thống nhất có thể và đề xuất phương pháp giảm thiểu những nguy cơ do lỗ hổng đem lại.
  • Digital Forensics: Kỹ năng điều tra kỹ thuật số, trong đó điều tra viên sẽ thực hiện thu thập các bằng chứng kỹ thuật số nhằm đảm bảo tính liên quan, minh bạch và hợp pháp của các chứng cứ số, bảo vệ tính toàn vẹn của chứng cứ trước khi đưa ra trước tòa án.
  • Security Analysis: Kỹ năng phân tích bảo mật, trong đó các chuyên viên sẽ sử dụng kiến thức về phòng thủ và tấn công để phân tích dữ liệu thu được từ hệ thống thông tin, hạ tầng mạng, từ đó đưa ra những chuẩn đoán sớm về các dấu hiệu của một cuộc tấn công an ninh mạng và đưa ra phương án ngăn chặn.
  • Malware Analysis: Kỹ năng phân tích cách hoạt động của các loại phần mềm độc hại, tìm kiếm các tạo tác mà các phần mềm này tạo ra trên hệ thống từ đó hiểu mục đích, chiến thuật mà đối tượng tấn công sử dụng khi xâm nhập vào hệ thống thông tin.

Ngoài các nhóm kỹ năng trên, sẽ có các nhóm kỹ năng chuyên sâu và nâng cao hơn để hỗ trợ như:

  • Binary Exploit: Khai thác lỗ hổng bảo mật trong các tập tin thực thi, thư viện, yêu cầu thực hiện phải có kiến thức chuyên sâu về hoạt động của phần cứng như CPU, thanh ghi, cách phân bổ bộ nhớ trong hệ điều hành, kiến trúc và cách hoạt động ở tầng nhân của từng hệ điều hành riêng biệt như Windows và Linux, biết về ngôn ngữ assembly
  • Web Exploit: Khai thác lỗ hổng bảo mật trong ứng dụng web, yêu cầu người thực hiện phải có kiến thức về các ngôn ngữ lập trình ứng dụng web như PHP, Java, .NET, Python... và tận dụng các kiến thức này để phát hiện và khai thác thành công các lỗ hổng bảo mật có thể dùng để xâm nhập, trích xuất thông tin hoặc làm gián đoạn hệ thống thông qua các ứng dụng web này
  • Reverse Engineering: Kỹ thuật dịch ngược sử dụng để phân tích hoạt động của các phần mềm, hiểu được nguyên lý hoạt động của chúng từ đó có thể thực hiện thay đổi nhằm chuyển đổi chức năng ban đầu của phần mềm.
  • Open-source Intelligence: Tình báo nguồn mở là kỹ năng tìm kiếm thông tin trên mạng thông qua các công cụ mở như mạng xã hội, ứng dụng tìm kiếm để thu được thông tin về đối tượng dựa trên nhưng thông tin ban đầu được cung cấp.
  • Cryptography: Kỹ năng triển khai thực hiện các thuật toán và phương pháp được sử dụng để mã hóa thông tin. Qua đó có thể giữ tính bí mật, toàn vẹn của thông tin trong qua trình truyền tải hoặc dùng để giải mã những thông tin được che giấu.

Học các kỹ năng này như thế nào?

Đối với một người chưa có kỹ năng gì về công nghệ thông tin thì trước tiên cần trang bị 3 thứ trước khi bắt đầu:

  • Lập trình (Học Python ở Pymi giúp bạn tiết kiệm rất nhiều thời gian :v)
  • Mạng căn bản (Hiểu mạng hoạt động như thế nào, VD: hiểu tại sao mạng chậm? do cá mập cắn hay do cái khác...)
  • Kiến trúc máy tính và hệ điều hành (Thực ra cũng không cần biết nếu đi một số mảng như web security, nhưng biết thì sẽ biết cách tự tạo một mã khai thác sau này) Sau khi đã có số kiến thức trên thì một số cách sau sẽ giúp nhanh tiến bộ:
  • Chơi CTF (Có thể đọc bài sau Ký sự một năm cướp giật (capture the flag) của anh hvnsweeting)
  • Youtube, Twitch (Một số idol chia sẻ kiến thức miễn phí cho cộng đồng như nahamsec, ippsec...)
  • Theo dõi các security researchers (các chuyên gia "thật sự" trong ngành như angelboy, kienman0war...)
  • Tái hiện security bug sau đó tự khai thác (tự lập trình lại ứng dụng có tồn tại lỗi để phân tích, có thể sử dụng nguồn sau: Shiftleft)
  • Thi chứng chỉ bảo mật như OSCP (nếu được tài trợ chứ học phí rất đắt)

Kết luận

Ngành an toàn thông tin rất rộng và phức tạp, một người có thể master một trong các kỹ năng trên là đã kinh khủng lắm rồi. Nhiều anh em hacker phải bỏ thời gian, công sức (không đi chơi với người yêu cuối tuần, thức xuyên đêm hacking) để có thể theo ngành. Ngoài ra nếu không vững ý chí thì còn có thể gia nhập Juventus nữa.

H4CK F0r FUN 8U7 P3r51573NC3

Hết.

Comments