Học an toàn thông tin nên học ngôn ngữ lập trình nào
Bạn thắc mắc rằng học an toàn thông tin cần gì ? học những gì và học như thế nào ? Show Hôm nay mình muốn viết một cái note này để dành cho những bạn mới bắt đầu nghiên cứu về bảo mật máy tinh. Mình sẽ không đi quá chi tiết vào từng mảng cũng như khái niệm, công cụ, mà đơn giản chỉ là một cái note, một cái roadmap cho bạn để dễ hình dung mình nên bắt đầu từ gì và bắt đầu như thế nào. Về cơ bản bảo mật máy tính hiện tại chia thành các mảng sau đây:
Hãy học lập trình.Bạn sẽ đắn đo liệu rằng mình nên bắt đầu từ mảng nào, mình chỉ có lời khuyên bạn nên bắt đầu từ Coding Lập trình .Đây là điều mình luôn khuyên tất cả các bạn trẻ dù đang theo học bất kì lãnh vực nào trong thế giới máy tính. Vì đơn giản, một khi bạn có tư duy logic của một lập trình viên, mọi thứ sẽ trở nên dễ dàng hơn. Nên ghi nhớ, máy tính được cấu tạo từ 2 bit logic 1 và 0 , đúng và sai, true and false. Cho nên hiển nhiên 100%, logic là thứ bạn cần để đi tiếp con đường này. Ít nhất hãy trang bị cho mình những kiến thức cơ bản về: Hệ điều hành (Operating System), Cấu trúc dữ liệu (structures), cũng như có khả năng lập trình được từ 03 ngôn ngữ trở lên. Tìm ra cách học và theo đuổi đam mê cho riêng mình.Về phần mình, mình đã bắt đầu với việc lập trình PHP, việc tạo ra những công cụ nhỏ lẻ mà không thể tìm được trên mạng là thứ mình thích. Bạn cũng nên thế, hãy tìm ra sở thích của mình, và dùng công cụ để tạo nên nó, nó sẽ là động lực để bạn có hứng thú tìm hiểu sâu hơn mà không ngán ngẫm. Mình chỉ đơn giản là một thằng nhóc theo đuổi thứ mình thích lâu nhất và không bỏ cuộc. Hãy đừng so sánh ngôn ngữ nào hay hơn, mạnh hơn ngôn ngữ nào. Suy cho cùng nó chỉ là một công cụ để cho con người thực thi những việc mình muốn một cách nhanh và tự động. Mình đã từng nghe câu như này:
Kết hợp cả hai thứ trên, thì mới là cao nhân. Trí tuệ nhân tạo được như ngày hôm nay thì cũng là do con người setup cho, chứ nó chẳng tự dưng thông minh lên. Okay, quay trở lại việc bắt đầu với các mảng chính kể trên. Bạn nên chọn mảng nào ?Đây có lẽ là điều băn khoăn nhất với những người bắt đầu. Về phần mình, là người đã tham gia vào nó một thời gian đủ lâu, quan sát từng mảng và cả những người chuyên về lĩnh vực đó. Mình nhận thấy, mảng nào cũng hay, mảng nào cũng là cả một nghệ thuật và đòi hỏi quá trình học hỏi không ngừng. Quan trọng là:bạn thích gì, bạn cảm thấy mình hợp, bạn cảm thấy vui khi làm cái nào nhất ? Như đã kể trên, mình bắt đầu với việc lập trình web trước, vì hồi nhỏ mình thấy anh trông net nhà kế bên, gõ gõ notepad html mà ra một trang web. Nên thấy nó thú vị, và bản thân mình cũng thích làm một website thật bắt mắt, đó là điều mình thích thú và cảm thấy vui vẻ khi làm. Cho nên việc bắt đầu với mảng Web Application Security với bản thân mình tại thời điểm đó là hợp nhất. Nếu bạn suy nghĩ về một thứ gì đó trong khoảng một thời gian dài, và việc suy nghĩ về nó chiếm hơn 1/4 ngày của bạn, đó chính là thứ bạn thích, theo mình là vậy. Còn nếu bạn thật sự chưa biết gì về các mảng trên thì hãy thử hết, nhưng hãy thử thật nhanh, thử chơi CTF (Capture The Flag) mảng đó xem, xem mình thích không, không thích thì thử mảng khác. Sau đó ngồi ngẫm xem, mình thấy vui nhất khi làm cái nào. Vậy thôi, mọi thứ trên đời cái gì cũng có cái hay/dở của nó, quan trọng là bạn thích cái gì. Vì bạn phải vui, thì bạn mới bỏ công sức, tâm huyết mình vào với nó, lúc đó mới có thể phát triển xa được, nếu không mọi thứ nó sẽ trở nên hỗn độn, không gì ra gì, chỉ tốn phí thời gian mình thôi. Dù bạn có thiên bẩm, mọi thứ vẫn phải tuân theo quy luật 10,000 hours. Tức là bạn phải luyện tập 10,000 tiếng đồng hồ mới có thể nên cơm cháo được. Lí do tại sao, mình nghĩ con người nên phát triển đam mê từ bé, vì lúc đó bạn sẽ không nghĩ ngợi gì nhiều, không phải đắn đo việc xung quanh, cơm áo gạo tiền,
Bắt đầu việc phân tích những điểm hay ho trong từng mảng. ?Web Application Security (Ứng dụng web)
P/S: Trong phạm vi bài viết này, thay vì đưa chục cuốn sách cho bạn, mình sẽ đưa cho bạn ít nhất có thể, mình nghĩ các bạn nên cố gắng đọc hiểu kiên trì một cuốn nào đó, thay vì tải một đống về, mỗi thứ một chút, chẳng được gì (mình đã từng như vậy nên đây là lời khuyên). Một khi bạn biết mình đã thấu hiểu được lượng kiến thức nhất định, tự khắc lúc đó bạn sẽ biết mình cần làm, cần đọc cái gì tiếp theo thôi. Reverse Engineering (Dịch ngược)
Hey yo, chưa gì được gần 1 tháng rồi, đợt rồi mình hơi ít thời gian vì đã phải chuẩn bị và tham gia DEFCON 25 CTF diễn ra thường niên tại Las Vegas. Được cho là hội thảo underground có số lượng người tham gia lớn nhất thế giới hiện tại. Mình cũng vừa có một tuần được ở trong tiểu bang California, nơi mà người Việt hải ngoại sinh sống khá nhiều ở đây, được ghé thăm quận Cam, Phước Lộc Thọ, May mắn cũng được đi chơi ké một gia đình bạn bè người Việt đang sinh sống ở Mỹ nên mình cũng được nghe những câu chuyện và tìm hiểu được tí xíu về đời sống, sinh hoạt của người dân ở đó. Tính viết một bài nói về cảm nghĩ chuyến đi, mà không biết nên không ?. Riêng về cảm nghĩ bản thân, mình rất thích tiểu bang đầy nắng này?, mình cũng đi được vài nước tiên tiến khác, nhưng hiện tại California đang là nơi mình muốn quay lại nhiều nhất. Thời tiết ôn hòa là lí do nhiều người muốn đến đây sống mặc dù là một trong các tiểu bang có mức sống cao nhất nước Mỹ, nắng nóng nhưng lại không khó chịu như Việt Nam và Singapore (chắc do độ ẩm ?). Biển bờ tây tuyệt đẹp, đường phố cây cối, nhà cửa được trang trí 2 bên đường cực kì hợp lý. Đặc biệt, có rất nhiều hàng quán, đồ ăn Việt Nam. Thôi quay lại chủ đề chính. ?Software Exploitation (Phần mềm)
?Cryptography (Mật mã học)?Forensics (Điều tra chứng cứ số)Networking Security (An toàn mạng)Tạm thời đến đây, có thời gian mình sẽ viết tiếp. 20/07/2017 Updated 09/08/2017, à theo thời gian mình có thể thêm thắt ý vào các phần, nên rất có thể nội dung những mảng bạn đã đọc qua trước đó đã thay đổi, nên đôi khi nên check lại xem nhé. Edit: Sorry, lúc viết bài này mình tính mặc định trong đầu Reverse và Exploit nói chung 1 mảng, mà quên edit. Thôi mình split thành 2 nhé, hjx. Hèn chi thấy thiếu thiếu |