Tản mạn về Mindset trong Security

Tommy_Nguyen

Moderator
Thành viên BQT
06/04/2022
23
41 bài viết
Tản mạn về Mindset trong Security
Hà Nội lại bắt đầu bước vào đợt nắng nóng đỉnh điểm rồi, ae vẫn ổn đấy chứ? Còn tôi thì hằng ngày vẫn phải song hành với bài ca tắc đường, chờ đèn đỏ cộng với một cái nóng không thể nào chảy mỡ hơn ☹ Phải chi Xuân Diệu ngày ấy không “vội vàng” thì ngày nay đã có một chàng thi sĩ Tommy đang “tắt nắng buộc mây” rồi :) Với những ngày nắng nóng như thế này thì thật không còn gì tuyệt vời hơn việc tan làm rẽ vào quán café (hoặc Circle K) ngồi thưởng thức điều hòa và nhâm nhi vài ly nước. Người ta thường nói “Rượu ngon phải có bạn hiền, Cà phê ngon uống một mình vẫn ngon”.

Nhưng uống một mình mà không làm gì thì nghe có vẻ buồn quá, vậy nhân lúc rảnh rỗi thì tại sao chúng ta không lên WhiteHat để đàm đạo về chủ đề “Mindset trong Security” nhỉ. Bài viết này sẽ rất hữu ích cho những bạn mới bước chân vào lĩnh vực Security đấy nhé. Ngoài ra thì mình tin rằng phần 2phần 3 của bài viết này cũng sẽ có những hướng tư duy rất mới lạ và độc đáo để cho các ace trong ngành tham khảo.

1686120073638.png

Tại sao lại cần quan tâm đến việc định hướng Mindset trong Security​

Lý thuyết xíu xiu nha, mindset trong security là một khái niệm chỉ tư duy và quan điểm của mỗi cá nhân hoặc tổ chức về bảo mật thông tin. Nó bao gồm kiến thức về bảo mật, nhận thức về mối đe dọa và rủi ro, tư duy phòng ngừa và đối phó với tấn công, cùng với tinh thần cẩn trọng và chủ động trong bảo mật.

Việc phát triển mindset trong security là một quá trình liên tục, đòi hỏi sự tập trung và nỗ lực của toàn bộ tổ chức. Chính vì vậy, trong bối cảnh các cuộc tấn công mạng ngày càng tinh vi và phức tạp, việc nâng cao mindset trong security là vô cùng cần thiết để đảm bảo an toàn thông tin và bảo vệ sự riêng tư của người dùng.

Được rồi, sau khi đọc lý thuyết khô khan thì chúng ta soi vào thực tế luôn nhá. Trong lĩnh vực bảo mật chúng ta có một chuyên ngành mà ai cũng biết tới đó là “Pentest”, hoặc trong lĩnh vực điều tra phá án thì chúng ta có một chuyên ngành rất quan trọng đó là “tâm lý tội phạm”. Tất nhiên những người thuộc các chuyên ngành này đều là người tốt cả, vậy vì đâu mà họ lại phải nghiên cứu những thứ nêu trên?

Đó là bởi Mindset trong những chuyên ngành này đặc biệt hơn rất nhiều so với các ngành khác. Sự đặc biệt là ở chỗ đối với các ngành khác thì hầu hết chúng ta sẽ tư duy theo hướng bị động, tức là đi tìm những thứ khuyết điểm, những lỗi sai hoặc sự cố đã xảy ra và khắc phục chúng cho tốt lên. Dễ thấy nhất đó là ở ngành y tế, chúng ta sẽ dựa vào các triệu chứng, các số liệu đo đạc được để chẩn đoán bệnh cho bệnh nhân, sau đó mới điều trị và kê đơn thuốc. Nói chung lối tư duy này sẽ thiên về việc khắc phục những sự cố hoặc khuyết điểm đã xảy ra rồi. Còn đối với Pentest hoặc tâm lý tội phạm, chúng ta cần phải tư duy như một kẻ xấu, chúng ta cần phải đoán được kẻ tấn công sẽ sử dụng những thủ thuật như thế nào để tấn công hệ thống, từ đó dự đoán trước các hậu quả có thể xảy ra và ngăn chặn chúng “ngay từ trong trứng nước”.

Tuy nhiên không phải vì lý do đó mà hướng tư duy bị động trong Security lại bị “thất sủng”. Dù chúng ta có là “thánh” đi chăng nữa thì cũng không thể nào có thể lường trước được tất cả các mối nguy hiểm có thể xảy ra. Giả sử một ngày đẹp trời hệ thống mạng của doanh nghiệp bạn bị kẻ xấu tấn công, mọi dịch vụ cũng như cơ sở dữ liệu đều bị tê liệt, khi đó thì các phòng ban liên quan tới “giám sát” hoặc “điều tra xử lý sự cố” sẽ lên ngôi. Họ sẽ thực hiện các hành động đánh giá cũng như điều tra truy vết để xác định xem lỗ hổng bắt nguồn từ đâu, khắc phục như thế nào, … Từ đó đưa ra phương pháp xử lý sự cố tốt nhất cho doanh nghiệp tại thời điểm đó.

Okay, cả hai hướng tư duy trên đều quan trọng cả, nên mình sẽ đi sâu vào từng cái nhé!

Mindset “chủ động”​

1686119709560.png

Mindset này sẽ được sử dụng nhiều trong các chuyên ngành như Pentest hoặc Threat hunting. Các chuyên viên thuộc những ngành này sẽ cần phải:
  • Đặt mình vào vị trí của kẻ tấn công để có thể hiểu cách thức hoạt động của chúng.
  • Sử dụng các phương pháp và công cụ phân tích để tìm kiếm các lỗ hổng tồn tại trong hệ thống, dịch vụ cũng như cơ sở dữ liệu.
  • Tích cực tìm hiểu và nghiên cứu các lỗ hổng mới (Zero-day).
Như mình đã đề cập ở trên, mục tiêu của tư duy này là tìm ra các lỗ hổng và xử lý chúng “ngay từ trong trứng nước”. Tuy nhiên nói là một chuyện, áp dụng chúng như thế nào lại là một chuyện khác nhé Để mình lấy ví dụ cho coi:
  • Giả sử trang web abc.xyz đang tồn tại một lỗ hổng cho phép bạn có thể brute-force để tìm kiếm mật khẩu người dùng. Bạn sẽ làm thế nào? Hầu hết các bạn sẽ tư duy theo kiểu nhập Username cố định là “admin” chẳng hạn, rồi cho thử lần lượt các tổ hợp password có thể có phải không? Thế các bạn đã bao giờ nghĩ tới việc nhập Password cố định rồi cho thử lần lượt các tổ hợp Username chưa? Hãy hình dung rằng 1 giá trị Username bất kỳ luôn luôn là duy nhất trong cả hệ thống, tuy nhiên Password thì lại có thể trùng nhau tuy ý. Do đó khi cố định Password và thử nhiều tổ hợp Username thì kết quả có thể cho ra rất nhiều các tài khoản khác nhau!
  • Một ví dụ về tấn công mạng nhé, giả sử A đang muốn tấn công DNS poisoning để B khi truy cập tới trang web google.com thì sẽ được điều hướng tới trang web qwer.tyu, A sẽ làm như thế nào? Có phải bạn đang nghĩ rằng A sẽ tìm cách thực thi một cuộc tấn công nghe lén (MitM) giữa B và DNS Server phải không? Bạn có chắc chắn rằng gói tin của A sẽ tới máy nạn nhân trước DNS Server không, và làm sao để có thể bắt được query_id của các câu truy vấn? Okay, thay vì sử dụng hàng tá các thủ thuật để đảm bảo những điều kiện nêu trên, tại sao chúng ta không để A thực hiện thêm một cuộc tấn công DDoS tới DNS Server trước khi tấn công DNS poisoning nhỉ? DNS Server sẽ bị sập và A có thể đóng giả thành chính DNS Server đó để đánh lừa toàn bộ nạn nhân trong mạng thay vì chỉ mỗi B! Nói đến đây chắc các bạn lại bảo tôi “nói thì dễ chứ ông thử bắt tay vào làm xem?”, đương nhiên là tôi làm được rồi! Làm được thì tôi mới dám lên đây chém gió chứ cơ mà tôi sẽ không chia sẻ ở đây đâu, lêu lêu :v
  • Thêm một ví dụ nữa cho máu nhá! Chắc hẳn các bạn mới nhập môn kiểu gì cũng sẽ bắt đầu với những kiểu tấn công cơ bản như SQL-Injection hoặc XSS. Giả sử một server sử dụng các bộ luật để ngăn chặn tấn công XSS, trong đó có một luật là loại bỏ tất cả các cụm từ “script” (cùng các biến thế như ScRipT, ScriPT, …) ra khỏi chuỗi. Các bạn sẽ làm như thế nào để bypass luật này? Hầu hết chúng ta sẽ sử dụng các thẻ khác hoặc sử dụng URL-encode để thử phải không? Vậy các bạn đã nghĩ tới việc sử dụng cụm từ “scrscriptipt” chưa :) Khi hệ thống loại bỏ cụm từ “script” ở giữa thì kết quả trả về sẽ ghép phần đầu và phần cuối của cụm trên lại để ra từ “script”! Thế giả sử Server có sử dụng kỹ thuật đệ quy để kiểm tra cụm từ “script” thì sao? Vậy thì chúng ta sẽ lại thay đổi một vài thứ trong chuỗi mà chúng ta nhập vào để nhắm tới lỗi Catastrophic Backtracking (google thêm để biết nhé ae).
Ngoài ra thì cũng còn rất nhiều các thủ thật thú vị khác nữa mà chúng ta có thể dễ dàng tìm thấy chúng thông qua các trang mạng. Đó, các bạn thấy không, việc tư duy như một kẻ tấn công không hề dễ dàng chút nào cả, bởi tính linh hoạt và đa dạng của hướng tư duy này là cực kỳ cao. Để mà đưa ra lời khuyên cho các bạn mới thì mình chỉ khuyên các bạn rằng hãy không ngừng tìm hiểu và học hỏi các kỹ thuật mới, cùng với đó là hãy rèn luyện tư duy của mình sao cho đa dạng phong phú nhất có thể. Còn lại thì phụ thuộc vào khả năng cũng như kinh nghiệm tích lũy của từng cá nhân mà thôi!

Mindset “bị động”​

1686120055245.png

Khoan! Đừng vội lướt tiếp nha, Mindset “bị động” cũng có nhiều thứ hay ho lắm đóa! Khụ khụ khụ … Đùa đó, không phải ho này đâu nha

Mindset này sẽ được sử dụng nhiều trong các chuyên ngành như Giám sát hoặc Xử lý sự cố, hoặc thậm chí là cả các chuyên viên mảng Dev-Sec-Ops. Các chuyên viên thuộc những ngành này sẽ cần phải:
  • Tập trung vào việc bảo vệ và duy trì sự an toàn của hệ thống, dịch vụ cũng như cơ sở dữ liệu.
  • Đặt sự chú trọng vào các biện pháp bảo mật, quản lý quy trình và tiêu chuẩn an ninh để ngăn chặn sự xâm nhập và tổn thất thông tin.
  • Có sự nhạy bén trong việc phát hiện các mối đe dọa, sự cố bảo mật và lỗ hổng trong hệ thống.
Cơ mà không phải cứ “bị động” là phải ngồi một chỗ chờ tấn công nhé! Chúng ta cũng sẽ có một vài ví dụ thú vị về hướng Mindset này:
  • Nhìn lại một chút theo hướng tấn công nhé, hầu hết bước đầu tiên khi tấn công một Server thì cá bạn sẽ quét Nmap phải không? Sau đó khi nhận thấy có các cổng đang mở thì các bạn bắt đầu detect phiên bản, rồi tìm các CVE liên quan tới các phiên bản đó. Vậy có khi nào các bạn tấn công một Server của một hãng rất nổi tiếng nào đó mà lại thấy nó có rất nhiều lỗ hổng chưa. Đó là bởi các bạn đã bị tấn công nhầm vào Honeypot rồi đấy! Và đây cũng chính là một kỹ thuật trong hướng tư duy “bị động” – thay vì ngồi im đợi tấn công thì sẽ tạo nên một môi trường giả để thu hút các mũi tên tấn công của kẻ xấu.
  • Có bao giờ các bạn giám sát mạng mà tự nhiên thấy số lượng gói tin request tăng lên đột ngột không? Dấu hiệu của một cuộc tấn công DoS/DDoS chăng? Ừ thì có đến 99,9% khả năng là đúng, nhưng bạn có bao giờ nghĩ rằng cuộc tấn công DoS/DDoS này chỉ là thứ “chim mồi” cho một cuộc tấn công khác không? Nhìn thử lên ví dụ thứ 2 của phần Mindset “chủ động” xem, ví dụ điển hình luôn đó!
  • Ví dụ bây giờ bạn đang phải viết rule cho hệ thống IDPS để chống tấn công DDoS, bạn sẽ làm như thế nào? Bạn sẽ đặt ngưỡng giới hạn số request từ 1 dải IP trong vòng 1 phút phải không? Thế ví dụ các máy zoombie trong mạng botnet đó tới từ khắp nơi trên thế giới thì sao? Bạn lại bắt đầu lấy thông tin phân giải DNS, rồi detect engine, … Đó là khi chúng ta lại phải áp dụng các giải pháp tân tiến hơn như sử dụng Machine Learning hoặc Big Data, …
Nói chung thì cũng còn rất nhiều thứ thú vị khác nữa liên quan tới Mindset “bị động” mà chúng ta có thể tìm thấy trên mạng Internet. Các bạn thấy không, hướng tư duy “bị động” cũng phức tạp không kém gì so với hướng tư duy “chủ động”, và nếu một doanh nghiệp muốn có một nền tảng Security “vững như bàn thạch” thì cần phải phát triển tư duy của nhân viên theo cả hai hướng “chủ động” và “bị động”.

Tổng kết​

Tóm cái váy lại, Mindset "chủ động" và Mindset "bị động" đều là những khía cạnh quan trọng trong lĩnh vực an toàn thông tin. Mindset "bị động" tập trung vào việc xây dựng và duy trì một hệ thống bảo mật mạnh mẽ bằng cách áp dụng các biện pháp bảo mật, quản lý quy trình và tiêu chuẩn an ninh. Trong khi đó, Mindset "chủ động" đặt mình vào tư duy của một kẻ tấn công để hiểu cách thức hoạt động của chúng, sau đó tìm ra các điểm yếu và lỗ hổng trong hệ thống. Bằng cách kết hợp cả hai Mindset này, tổ chức hoặc doanh nghiệp có thể nâng cao mức độ an toàn và giảm thiểu tối đa rủi ro về bảo mật hệ thống.

Tommy
 
Thẻ
cyber attack cyber defense mindset
Bên trên