Học an toàn thông tin nên học ngôn ngữ lập trình nào Chi Tiết

Kinh Nghiệm Hướng dẫn Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào Chi Tiết


Hero đang tìm kiếm từ khóa Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào 2022-02-25 12:25:49 san sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách 2022.







Bạn vướng mắc rằng học bảo vệ an toàn và uy tín thông tin cần gì ? học những gì và học ra làm thế nào ?




  • ?Web Application Security (Ứng dụng web)

  • Reverse Engineering (Dịch ngược)

  • ?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)

  • Video tương quan


Hôm nay mình yêu thích viết một chiếc note này để dành riêng cho những bạn mới khởi đầu nghiên cứu và phân tích về bảo mật thông tin máy tinh. Mình sẽ không còn đi quá rõ ràng vào từng mảng cũng như khái niệm, công cụ, mà đơn thuần và giản dị chỉ là một chiếc note, một chiếc roadmap cho bạn để dễ tưởng tượng mình nên khởi đầu từ gì và khởi đầu ra làm thế nào.


Về cơ bản bảo mật thông tin máy tính hiện tại phân thành những mảng tại đây:


  • Web Application Security (Ứng dụng web)

  • Reverse Engineering (Dịch ngược)

  • Software Exploitation (Khai thác lỗi ứng dụng)

  • Cryptography (Mật mã học)

  • Forensics (Điều tra chứng cứ số)

  • Networking Security (An toàn mạng)

Hãy học lập trình.

Bạn sẽ đắn đo liệu rằng mình nên khởi đầu từ mảng nào, tôi chỉ có lời khuyên bạn nên khởi đầu từ Coding Lập trình .Đây là yếu tố mình luôn khuyên toàn bộ những bạn trẻ dù đang theo học bất kì lãnh vực nào trong toàn thế giới máy tính. Vì đơn thuần và giản dị, một khi toàn bộ chúng ta có tư duy logic của một lập trình viên, mọi thứ sẽ trở nên thuận tiện và đơn thuần và giản dị hơn. Nên ghi nhớ, máy tính được cấu trúc 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 phải để đi tiếp con phố này. Ít nhất hãy trang bị cho mình những kiến thức và kỹ năng cơ bản về: Hệ điều hành quản lý (Operating System), Cấu trúc tài liệu (structures), cũng như có kĩ năng lập trình được từ 03 ngôn từ 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, tôi đã khởi đầ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 kiếm được trên mạng là thứ mình yêu thích. Bạn cũng nên thế, hãy tìm ra sở trường của tớ, và dùng công cụ để tạo ra 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 thuần và giản dị là một thằng nhóc theo đuổi thứ mình yêu thích lâu nhất và không bỏ cuộc.


Hãy đừng so sánh ngôn từ nào hay hơn, mạnh hơn ngôn từ nào. Suy cho cùng nó chỉ là một công cụ làm cho con người thực thi những việc mình yêu thích một cách nhanh và tự động hóa. Mình đã từng nghe câu như này:



Máy tính, nhanh và đúng chuẩn, nhưng lại kém thông minh. Con người cực kỳ thông minh, nhưng lại quá chậm và sai sót.



Kết hợp cả hai thứ trên, thì mới có thể là cao nhân. Trí tuệ tự tạo nên như ngày ngày hôm nay thì cũng là vì con người setup cho, chứ nó chẳng tự dưng thông minh lên.


Okay, quay trở lại việc khởi đầu với những mảng chính kể trên.


Bạn nên lựa chọn mảng nào ?

Đây có lẽ rằng là yếu tố do dự nhất với những người dân khởi đầu. Về phần mình, là người đã tham gia vào nó thuở nào hạn đủ lâu, quan sát từng mảng và cả những người dân chuyên về nghành đó. Mình nhận thấy, mảng nào thì cũng hay, mảng nào thì cũng là cả một nghệ thuật và thẩm mỹ và yên cầu quy trình học hỏi không ngừng nghỉ.




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 khởi đầ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 website. Nên thấy nó thú vị, và bản thân tôi cũng thích làm một website thật thích mắt, đó là yếu tố mình yêu thích và cảm thấy vui vẻ khi làm. Cho nên việc khởi đầu với mảng Web Application Security với bản thân mình tại thời gian lúc đó là hợp nhất.


Nếu bạn tâm lý về một thứ gì đó trong tầm thuở nào hạn dài, và việc tâm lý về nó chiếm hơn 1/4 ngày của bạn, đó đó là thứ bạn thích, theo mình là vậy.


Còn nếu người mua thật sự chưa chứng minh và khẳng định gì về những mảng trên thì nên thử hết, nhưng hãy thử thật nhanh, thử chơi CTF (Capture The Flag) mảng đó xem, xem mình yêu 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 lúc làm cái nào. Vậy thôi, mọi thứ trên đời cái gì rồi cũng luôn có thể 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 của con người, tận tâm mình vào với nó, lúc đó mới trọn vẹn có thể tăng trưởng 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 hạn 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 rèn luyện 10,000 tiếng đồng hồ đeo tay mới trọn vẹn có thể nên cơm cháo được.


Lí do tại sao, mình nghĩ con người nên tăng trưởng đam mê từ bé, vì lúc đó những bạn sẽ không còn nghĩ ngợi gì nhiều, không phải đắn đo việc xung quanh, cơm áo gạo tiền,




Hãy tập thói quen hỏi Tại sao?


Mọi thứ bạn làm, mọi công cụ bạn chạy, hãy tự hỏi bản thân Tại sao?, nguyên tắc nó ra làm thế nào, tại sao nó lại bị lỗi, tại sao phải khai thác như vậy, tại sao và tại saoooo.


Cũng thay vì bạn tìm hiểu khái niệm về một lỗi bảo mật thông tin nào đó, đừng!. Đây là cách học mình cho là hay nhất: Hãy tạo ra chính lỗi đó, hãy là người lập trình phạm phải những yếu tố tương tự, rồi những bạn sẽ hiểu được nó một cách rõ ràng, khối mạng lưới hệ thống, và logic nhất. Đó là cách học theo mình là đúng đắn cho một đoạn đường dài mà bạn phải theo đuổi.




Tin mình, hãy học bằng một cách khác đi. Đừng chỉ chạy công cụ nữa



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)


  • Dễ tiếp cận, vì kiến thức và kỹ năng nó không thật sâu. Bạn không cần thiết phải rành mạch về Hệ điều hành quản lý, Cấu trúc tài liệu gì cả, mà vẫn trọn vẹn có thể làm nó. Chỉ nên phải ghi nhận lập trình. Vì khi toàn bộ chúng ta biết lập trình, những bạn sẽ đó là người mắc vào những lỗi đó, cách học nhanh nhất có thể và dai nhất là tự vấp và sửa sai lầm đáng tiếc của chính mình.

  • Target thật nhiều, nói tới đây không phải cổ súy. Nhưng rõ ràng toàn thế giới www (World-Wide-Web) ngày này cực kỳ to lớn, ai cũng trọn vẹn có thể lập cho mình một website. Chính vì thế mà bao cát rèn luyện cho mọi người cũng thật nhiều. Nhưng hãy nhớ, xây mới khó, đập phá rất thuận tiện. Hãy là những người dân trẻ có tâm lý và ý thức.

  • Công cụ/tài liệu rất thật nhiều, vì đấy là mảng nhiều người tiếp cận nhất, sinh ra công cụ mà người ta làm ra cũng tỉ lệ thuận. Hàng ngàn công cụ được tạo ra chỉ cho việc khai thác một lỗi duy nhất (nổi bật nổi bật: SQL Injection). Cho nên, việc script-kiddie , những người dân không hề biết tí nguyên tắc về nó vẫn trọn vẹn có thể khai thác thành công xuất sắc. Đây là yếu tố chí mạng, mình sẽ đề cập sau.

  • Các kĩ thuật / nguyên tắc hoạt động giải trí và sinh hoạt của www ngày này bạn nên phải ghi nhận, nó là thật nhiều, và thay đổi theo từng ngày, nhưng cũng chỉ xoay quanh những kiến thức và kỹ năng nền tảng, nếu người mua tóm gọn tốt, việc tiếp thu một kĩ thuật hay nguyên tắc mới cũng không thật khó. Bạn cũng nên update nguyên tắc của những giải pháp bảo vệ (mitigation) trên trình duyệt tân tiến như: Chrome/Edge/Firefox/
    • Các lỗi thường gặp: Injection (SQL/Command/Template/), Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF), Server Side Request Forgery (SSRF), Insecure Direct Object References (IDOR), XML External Entity (XXE),

    • HTTPS

    • Content-Security-Policy (CSP)

    • Cross-Origin Resource sharing (CORs)

    • X-Frame


  • ?The Tangled Web: A Guide to Securing Modern Web Applications
    (Cuốn này bao xô gần hết www này, và được viết từ một hacker lịch sử một thời )

  • Ngôn ngữ nên thành thạo: HTML / Javascript / Java / PHP / ASPX / Ruby / Python

  • Tips: Một cách hay để update, thấy được cái hay và sáng tạo của những web ninja khác là theo dõi những report bug bounty trên hackerone / bugcrowd hoặc writeup của mình. Hãy tìm hiểu phương pháp họ tâm lý, cách suy luận để ra được kết quả.

P/S: Trong phạm vi nội dung 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ối thiểu trọn vẹn có thể, mình nghĩ những bạn nên nỗ lực đọ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 ít, chẳng được gì (tôi đã từng như vậy nên đấy là lời khuyên). Một khi toàn bộ chúng ta biết tôi đã thấu hiểu được lượng kiến thức và kỹ năng nhất định, tự khắc lúc đó những 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)


  • Cần một lượng kiến thức và kỹ năng nhất định, nôm na việc làm dịch ngược sẽ tương hỗ cho bạn thấu hiểu về phương pháp hoạt động giải trí và sinh hoạt của một chương trình, ví dụ nổi bật nổi bật bằng phương pháp nào mà từ một file mp3, khi được tải vào một trong những chương trình chơi nhạc lại phát ra những âm thanh, cấu trúc của tệp mp3 đó là gì ? làm thế nào chương trình biết tới đoạn nào sẽ chơi nốt nhạc gì. Thậm chí ngày này, việc nghe nhạc bản quyền đã trở nên trang trọng, ví dụ nổi bật nổi bật chương trình chơi nhạc như Spotify đã vận dụng cả mã hóa so với những tệp nhạc đấy, để tránh người tiêu dùng tải, lưu giữ, phát tán trái phép. Nhiều người nghĩ rằng RE (Reverse Engineering) chỉ gom gọn trong việc Mở Khóa / crack ứng dụng để xài chùa. Có lẽ bạn đã hiểu sai, mục tiêu của RE thậm chí còn trọn vẹn có thể là phân tích phương pháp hoạt động giải trí và sinh hoạt, thuật toán đẳng cấp và sang trọng đằng sau một chương trình nào đó của công ty đối thủ cạnh tranh đối đầu cạnh tranh đối đầu mà mình yêu thích học hỏi, hoặc thậm chí còn như ví dụ nêu trên, là việc phân tích cách giải thuật một tệp nhạc của Spotify. Vậy cho nên vì thế, kiến thức và kỹ năng để hỗ trợ cho bạn RE một chương trình, nó tùy thuộc vào độ phức tạp, loại đối tượng người tiêu dùng mà bạn đang làm. Ví dụ bạn phải dịch ngược một kernel module nào đó, tất yếu bạn phải có kiến thức và kỹ năng bổ trợ update về Filesystem/Device Control IO/System Calls/ Còn về kiến thức và kỹ năng cơ bản sẽ xoay quanh:
    • Kiến thức về mã máy (machine code, opcode).

    • Đọc hiểu hợp ngữ (assembly) và trọn vẹn có thể viết cả một hàm (ví dụ strlen ?) nào đó bằng ASM.

    • Kiến thức về CPU/ thanh ghi (register).

    • Cách thức hoạt động giải trí và sinh hoạt chung và cơ bản của một hàm (buffer, calling convention, stack frame, call stack,)


  • Song đó, cũng tồn tại những kĩ thuật chống lại quy trình dịch ngược/debug, những kĩ thuật/ thủ thuật rất thật nhiều, và hằng ngày hai phe vẫn nỗ lực tìm cách ngăn ngừa phe kia. Hơi giống với trò chơi mèo đuổi chuột, cứ chạy vòng vòng, tối thiểu là tại thời gian hiện tại.
    • Anti-VM / Anti-sandbox, chống lại việc chạy tệp nhị phân trong một môi trường tự nhiên vạn vật thiên nhiên máy ảo hoặc sandbox nào đấy, người viết ra tệp nhị phân sẽ tìm phương pháp để phát hiện ra điều này.

    • Anti-debug, sử dụng những kĩ thuật/ thủ thuật ngăn ngừa người phân tích trọn vẹn có thể thuận tiện và đơn thuần và giản dị chạy dưới hoặc đính vào debugger.

    • Obfuscation, làm rối những đoạn mã máy/hợp ngữ, làm cho những chương trình phân tích tư động cũng khó phân tích được.

    • Packing, nôm na như nghĩa của nó, kĩ thuật đóng gói một binary vào trong một chiếc hộp nào đó, quấn dây, chất keo lại, một cách rối rắm, mà chỉ người chế ra cách đóng gói nó mới trọn vẹn có thể thuận tiện và đơn thuần và giản dị mởnhưng đôi lúc bạn chỉ việc dùng rọc giấy để mở nó :hacknão:

    • Còn nhiều kĩ thuật khác, bạn cũng trọn vẹn có thể tìm hiểu trong cuốn sách phía dưới.


  • Ngoài ra có một cách học RE hay ho là, bạn hãy lập trình nhiều chương trình, hàm rất khác nhau, thuật toán rất khác nhau, compile nó và quăng vào những chương trình dịch ngược để thấy đoạn hợp ngữ được sinh ra, nếu người mua có đang dùng IDA Hex-rays hoặc chương trình Decompiler tương tự để sinh ra mã giả C thìtạm thời quên nó đi mà hãy tập làm quen với việc đọc hợp ngữ, mã máy, phương pháp những instruction hoạt động giải trí và sinh hoạt.

  • Hãy ráng học những nền tảng cơ bản thật vững chãi, vì để đi đường dài, bạn không thể nào chỉ tùy từng nó được, sẽ đã có được những trường hợp bạn phải xử lý và xử lý bằng những kiến thức và kỹ năng thật chắc bài, hoặc thậm chí còn phải tự làm ra công cụ của riêng mình dựa vào những kiến thức và kỹ năng ấy.

  • Tutorial/Blog Tiếng Việt: kienmanowar / yeuchimse /

  • ?Reversing: Secrets of Reverse Engineering

Hey yo, chưa gì được gần 1 tháng rồi, đợt rồi mình hơi ít thời hạn vì đã phải sẵn sàng và tham gia DEFCON 25 CTF trình làng thường niên tại Las Vegas. Được cho là hội thảo chiến lược underground có số rất đông người tham gia lớn số 1 toàn 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 quá nhiều ở đây, được ghé thăm quận Cam, Phước Lộc Thọ, May mắn cũng rất được đi dạo ké một mái ấm gia đình bạn hữu người Việt đang sinh sống và làm việc ở Mỹ nên tôi cũng rất được nghe những mẩ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 du ngoạn, 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?, tôi cũng đi được vài nước tiên tiến và phát triển khác, nhưng hiện tại California đang là nơi mình yêu thích quay trở 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 tuy nhiên là một trong những tiểu bang có mức sống tốt nhất nước Mỹ, nắng nóng nhưng lại không rất khó chịu như Việt Nam và Singapore (chắc do nhiệt độ ?). Biển bờ tây tuyệt đẹp, đường phố cây cối, nhà cửa được trang trí hai bên đường cực kỳ hợp lý. Đặc biệt, có thật nhiều hàng quán, món ăn Việt Nam.


Thôi quay trở lại chủ đề chính.


?Software Exploitation (Phần mềm)


  • Đơn giản nó là tìm kiếm và khai thác lỗi bảo mật thông tin ở những ứng dụng. Công đoạn được cho là quan trọng và cũng là yếu tố chung lớn số 1 của mảng này và Web Application Security là bạn phải tìm bug. Vì phải có bug (lỗi) thì bạn mới trọn vẹn có thể khai thác (exploit). Ở mảng này, có hai phương pháp để tìm bug mà được sử dụng nhiều nhất:
    • Fuzzing, hm nôm na, là bạn viết một chương trình tự động hóa gọi là fuzzer để phục vụ nhu yếu input vào một trong những chương trình nào đó một cách ngẫu nhiên để tìm ra lỗi. Giả sử mình có một đoạn hàm C như sau:











    • C









      1

      2

      3

      4

      5




      intmain()

      charbuffer[256];

      scanf(“%256s”,buffer);

      printf(buffer);





      Bạn trọn vẹn có thể sử dụng python để viết ra một fuzzer cho chương trình này để thuận tiện và đơn thuần và giản dị tìm ra được bug format string(nhưng thật ra chương trình này còn một bug nữa). Về tài liệu thì có thật nhiều, bạn cũng trọn vẹn có thể tìm hiểu thêm video này:Hacking Livestream #17: Basics of fuzzing by Gynvael Coldwind. Anh này còn có cả một series nói về hacking và CTF. Có thời hạn những bạn nên tìm hiểu.


      Sơ bộ và nhìn chung thì một fuzzer có tiến trình tại đây:


      1. Cung cấp corpus (tùy chỉnh)

      2. Biến đổi input (Mutate)

      3. Chạy chương trình với input trên.

      4. Nhận biết xem chương trình có crash hay là không.

      5. Quay lại bước 2

      Ở trong những fuzzer đương đại thì ở bước 2 và 3, họ còn sử dụng giải pháp Feedback driven, tức là nhận ra rằng input này đã đi tới đâu trong chương trình, và tiến hành biến hóa input một cách thông minh dựa vào dữ kiện đó. Thường là họ dùng coverage để làm chuyện đó. Bạn nên đọc bài này:15 minute guide to fuzzing.




      Hiện tại fuzzing cũng đang trở nên mainstream, được cả xã hội đang quan tâm, sinh ra cũng luôn có thể có thật nhiều công cụ cực chuẩn và open source, cùng những thuật toán rất hay ho như: afl-fuzz, libFuzzer, honggfuzz, Nếu bạn đang muốn viết fuzzer cho riêng một chương trình nào đấy thì nên đọc qua mã nguồn những công cụ trên để sở hữu những ý tưởng cho mình. Kèm theo là yếu tố tương hỗ từ những thư viện/công cụ để hỗ trợ cho việc detect những lỗi trở nên đúng chuẩn và tinh vi hơn (vd: AddressSanitizer, valgrind, ). Và hãy nhớ là hỏi tại sao cách những công cụ này thao tác ra làm thế nào, hãy tìm hiểu bằng phương pháp đọc document cũng như mã nguồn của nó.


      Thật ra mình tính viết, hoặc trình diễn ở một hội thảo chiến lược nào đó sơ bộ về fuzzing và cách dùng libFuzzer để giúp những developer trọn vẹn có thể hiểu và tự fuzz chính thành phầm của tớ, để dữ thế chủ động hơn trong việc bảo mật thông tin những chương trình được viết bằng C/C++. Nhưng cũng không biết lúc nào có dịp.


      Hiệu quả của fuzzing cũng không cần thiết phải bàn, hầu hết những bug đã và đang rất được tìm phần lớn tới từ fuzzing, vì việc này hỗ trợ cho bạn setup cho máy tính trọn vẹn có thể tự động hóa chạy 24/7, còn bạn thì thường thao tác một ngày 8-12h thôi đúng không ạ :p.


      Mình có ví dụ thế này, giả sử ông Beckham ổng phải sút 3 trái banh như trong clip này. Có người nhận định rằng clip này là giả, mà thôi kệ đi :khongquantam: , nhưng việc những đường chuyền long pass như đặt của ổng là có thật . Để làm được chuyện này ổng phải luyện ngày đêm, bao nhiêu năm tháng, mới làm được những chuyện đó, mà chưa chắc là 100% lúc nào thì cũng làm được. Nhưng giả sử luật chơi chỉ là, trong 5 phút bạn phải câu được 3 quả vào trong thùng như trong clip, mà không số lượng giới hạn số lần thử. Thì đây mình sẽ tạo ra một chiếc máy bắn bóng nhưng kiểu máy tập trong bộ môn tennis, bóng chày ví dụ nổi bật nổi bật. Mình chế làm thế nào, 1 giây nó bắn được tối thiểu 2 quả, thì trong 5 phút mình bắn tối thiểu được 600 quả. Và mình tin rằng, với từng ấy thời cơ mình sẽ tiến hành 3 quả mà không phải tốn sức tập luyện sút cho đúng chuẩn, chỉ việc phải ghi nhận phương pháp hoạt động giải trí và sinh hoạt của đối tượng người tiêu dùng, và làm ra cái công cụ tự động hóa đó. Nhưng để thành cao nhân, bạn phải phối hợp code review để làm rõ thêm về target (đối tượng người tiêu dùng) mình đang làm để dẫn dắt công cụ đi một cách hiệu suất tốt nhất. Code review ra sao, ta cùng tìm hiểu tiếp.



    • Code review là việc làm những bạn sẽ phải đọc hiểu mã nguồn và tìm kiếm lỗi dựa vào những hiểu biết đó. Đôi khi toàn bộ chúng ta cũng chẳng có mã nguồn để mà đọc, phải dùng kĩ thuật RE để hiểu nó, vì vậy tùy vào đối tượng người tiêu dùng bạn đang làm mà mảng này cũng cần được yên cầu kĩ năng Dịch ngược, nhưng mình nghĩ dù thế nào thì nếu người mua đã tham gia mảng này thì nên nên trang bị cho mình những kiến thức và kỹ năng xoay quanh nó. Sau khi đọc hiểu một chương trình, so với những lỗi cơ bản, dễ tìm thấy (trọn vẹn có thể bằng những signature) thì tuy nhiên đó với những bug phức tạp, logic, bạn phải chơi trò lắp ghép, từ input, làm thế nào trọn vẹn có thể trải qua những step, để tìm tới dòng code bị lỗi, cái này trọn vẹn là kĩ năng, được rèn luyện bằng thời hạn. Quá trình này trọn vẹn có thể hỗ trợ cho bạn tìm ra những lỗi phức tạp hơn, mà nhiều kĩ năng fuzzer không thể chạm đến. Vì dù gì ở một góc nhìn nào đó, não người vẫn thông minh hơn công cụ.

    • Tóm lại, hãy cân đối giữa việc fuzzing và code review cho chính bản thân mình mình, nhận ra mình yêu thích và mạnh ở điểm nào, và mình nghĩ phối hợp cả hai thì mới có thể là tốt nhất.


  • Sau này sẽ là tiến trình khai thác lỗi đã có, bypass những mitigation ra làm thế nào, giải pháp để exploit chương trình đó ra sao, điều khiển và tinh chỉnh thanh ghi, blah blah. Cách tốt nhất để học nó cho một người chưa chứng minh và khẳng định gì là chơi CTF và đọc writeup. Bạn trọn vẹn có thể tìm đọc những blog của những người dân như: suto, peternguyen, meepwn/piggybird/babyphd/nightstorm ctf team, bằng tiếng Việt. còn tiếng Anh thì bát ngát. Nhưng nhớ là hãy tự thân vận động để giải bằng kĩ năng của tớ, rồi hẵn tìm hiểu thêm những nội dung bài viết.

  • Giai đoạn hiện tại, tôi đã tạm gác việc triệu tập hết thời hạn cho mảng Web để chuyển sang tìm hiểu sâu hơn ở mảng này, nhưng tương lai mình nghĩ Application Security (là tất tần tật về bảo mật thông tin ứng dụng, trọn vẹn có thể là web, trọn vẹn có thể là một ứng dụng được viết bằng bất kì ngôn từ nào) sẽ là một mảng mạnh và thời cơ được làm việc làm bằng đam mê nhiều hơn thế nữa. Nhìn chung, yên cầu kĩ năng đọc và tìm ra bugs thật nhiều. Và so với bản thân mình, tìm bug là một việc làm thú vị nhất trong An toàn thông tin. Vì nó mang đầy tính sáng tạo trong việc làm đó, và mình thì không mấy yêu thích với những có Xu thế việc lặp đi tái diễn, có phần hơi nhàm chán.

  • ?Nghệ thuật tận dụng lỗi ứng dụng Nguyễn Thành Nam

  • ?Hacking: The Art of Exploitation

  • Lab và course thì trên mạng có thật nhiều, bạn cũng trọn vẹn có thể tìm hiểu thêm:https://github.com/RPISEC/MBE . Về phần mình, tôi chỉ đọc duy nhất cuốn của anh NamNT và tập luyện bằng việc chơi CTF, vì cơ bản cuốn này đã nói hết những kiến thức và kỹ năng nên phải có rồi, còn sót lại là những bạn sẽ phải tự mày mò, nâng cao trình độ.

?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 hạn mình sẽ viết tiếp.


20/07/2017


Updated 09/08/2017, à theo thời hạn mình trọn vẹn có thể thêm thắt ý vào những phần, nên rất trọn vẹn có thể nội dung những mảng bạn đã đọc qua trước này đã thay đổi, nên đôi lúc 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




Video tương quan













Review Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào ?


Một số hướng dẫn một cách rõ ràng hơn về đoạn Clip Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào tiên tiến và phát triển nhất .


ShareLink Download Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào miễn phí


Bạn đang tìm một số trong những Chia SẻLink Download Học bảo vệ an toàn và uy tín thông tin nên học ngôn từ lập trình nào Free.

#Học #toàn #thông #tin #nên #học #ngôn #ngữ #lập #trình #nào

Đăng nhận xét

Mới hơn Cũ hơn