VISIBILITY - MY FRIEND IN THE FIGHTING MALWARE

Với sự tăng trưởng nhanh chóng cả về số lượng và kỹ thuật, thiết bị đầu cuối trở thành mục tiêu chính của các kẻ tấn công. Trong bối cảnh an toàn thông tin phức tạp, đặc biệt khả năng biến hóa của các loại mã độc, chúng ta cần chú trọng hơn việc bảo vệ thiết bị đầu cuối. Các giải pháp hiện nay tập trung hầu như vào việc phát hiện và ngăn chặn, nhưng hiện nay các loại mã độc tiên tiến dễ dàng vượt qua. Để có thể phát hiện các loại mã độc như vậy, chúng ta cần có visibility (khả năng nhận diện và góc nhìn toàn diện về hành vi mã độc) phối hợp với các giải pháp phòng thủ hiện tại nâng cao năng lực phòng chống mã độc. Visibility mang đến cho chúng ta khả năng theo dõi liên tục cả trước, trong và sau khi cuộc tấn công xảy ra, cũng như nâng cao khả năng phản ứng khi có sự cố. Visibility hiệu quả khi mang đến khả năng ghi nhận toàn diện hành vi và các tập tin (file) ra vào hệ thống, khả năng tìm kiếm các dữ liệu cả real-time và trong quá khứ cũng như hỗ trợ săn tìm mã độc nhanh chóng bằng các dữ liệu đó.

An toàn thông tin nhưng không an toàn…

Ngày xưa ở một ngôi làng nọ, có hai anh em ruột sống với nhau tại một căn nhà nhỏ sau khi bố mẹ họ mất. Họ sống qua ngày bằng việc săn bắt và hái nấm trong rừng đem ra chợ bán. Hằng đêm họ phải vào rừng để hái nấm mối đến rạng sáng rồi đem bán để nấm được tươi nhất. Vào rừng ban đêm, mọi thứ xung quanh tối mịt mù và họ chỉ trang bị một cây đèn dầu và một chiếc rựa để phòng thân. Họ rất sợ hãi bởi họ hầu như không thấy được gì nhiều xung quanh, chỉ nghe được tiếng gió xì xào và đôi khi những tiếng hú vang rùng rợn. Đó là một công việc rất vất vả và nguy hiểm, nhưng vì cuộc sống họ phải chấp nhận. Rồi một đêm nọ, họ vào rừng như thường lệ và họ không hề hay biết rằng họ đã bị săn bởi một con báo. Chuyện gì đến rồi cũng sẽ đến, hai anh em mãi không quay trở về nữa khi bị con báo tấn công. Họ đã không kịp thoát thân và phản ứng dù cầm trong tay vũ khí bởi con báo núp trong bóng đêm và âm thầm chờ họ sơ hở. Đây là một câu truyên buồn và nó cũng lột tả chính xác bối cảnh an toàn thông tin của chúng ta ngày hôm nay, đặc biệt với những người trong vai trò giám sát an ninh. Chỉ cần thiếu thông tin, thiếu kiểm soát và quan trọng là thiếu tầm nhìn hay “visibility”, hệ thống và các giải pháp phòng thủ của chúng ta có thể bị tấn công và bị hạ gục nhanh chóng khi không thể phản ứng kịp thời trước các cuộc tấn công, trước các loại mã độc.

Theo báo cáo Threat Landscape 2018 của Fortinet, trung bình mỗi ngày có khoảng 167 biến thể mã độc mới và 73 kiểu khai thác mới xuất hiện trên thế giới. Tất nhiên đây chỉ là bề nổi của tảng băng, rất nhiều mã độc đang ẩn mình trong khu rừng tăm tối bao quanh chúng ta. Một minh họa cho sự biến hóa nhanh chóng của các loại mã độc trong bối cảnh hiện nay.

Một loại mã độc sử dụng kỹ thuật Living off the land mới phát hiện gần đây. Ý tưởng của nó rất hay và ngắn gọn: “Không chứa mã độc hại, không tải mã độc hại nhưng vẫn có thể thực thi mã độc hại”. Kẻ tấn công đã làm thế nào? Hắn thực hiện lấy các byte trong file mã độc hắn đã tạo trên máy so sánh với các byte trong file font chữ mặc định của Windows để tìm các byte của file font chữ đó giống với các byte của file mã độc. Hắn ghi lại các vị trí của các byte đó thành một mảng. File mã độc lúc này là một file WORD chứa đoạn mã VisualBasic, trong đó có mảng vị trí đã tạo trước đó và một số đoạn lệnh thực thi. Khi nạn nhân thực hiện chạy file WORD này, các hàm đã nhúng trong đó sẽ thực thi Powershell đọc file font chữ mặc định của Windows trên máy nạn nhân. Dựa vào mảng vị trí trong file WORD, nó lấy các byte tương ứng rồi dựng thành các file thực thi trên máy nạn nhân. Mục đích giúp cho con mã độc vượt qua các giải pháp phòng thủ thành công cao và xa hơn là lây nhiễm toàn bộ hệ thống. Với thực trạng như vậy, thật tệ khi theo thống kê trung bình một doanh nghiệp mất khoảng 191 ngày để phát hiện lỗ hổng trong hệ thống của họ kể từ khi nó xuất hiện và tầm 66 ngày để sửa chữa, hay vá hoàn toàn lỗ hổng này.

Kẻ tấn công thì ngày càng nguy hiểm trong khi hệ thống của chúng ta ngày càng dễ bị tổn thương hơn. Báo cáo IoT của Cisco dự đoán rằng đến khoảng cuối thế kỷ này sẽ có khoảng 50 tỷ thiết bị đầu cuối trên thế giới kết nối mạng.

Khái niệm thiết bị đầu cuối không còn đơn thuần là một chiếc máy tính, mà còn là các thiết bị IoT, thiết bị di động và xuất hiện ở khắp nơi. Sự gia tăng nhanh chóng về cả số lượng và sự phức tạp về mặt công nghệ, đã khiến thiết bị đầu cuối trở thành mục tiêu chính của các cuộc tấn công, của các loại mã độc tiên tiến được thiết kế riêng cho từng mục tiêu.

Và đứng trước mối lo đó, phần lớn doanh nghiệp hiện nay đổ tiền đầu tư vào các giải pháp phát hiện và ngăn chặn các cuộc tấn công vòng ngoài hệ thống, để các kẻ tấn công không xâm nhập, các loại mã độc không lây nhiễm vào trong hệ thống. Nhưng các kẻ tấn công hiện nay có đủ tài nguyên, khả năng cũng như thời gian để thực hiện các kỹ thuật phức tạp vượt qua các giải pháp phòng thủ ngăn chặn hiện hữu. Điều đau lòng nhất với các giải pháp ngày nay là khi chúng bị vượt qua, chúng ta không hề hay biết, vô tình để lại một điểm mù lớn trong hệ thống chúng ta, đặc biệt là các thiết bị đầu cuối. Thực trạng này xuất phát từ việc phần lớn chúng ta mãi theo đuổi tư duy lâu đài và bức tường. Đây không phải thế giới Game of Thrones, nơi tường thành cao lớn và vững chắc thì nắm gần như phần thắng trong cuộc chiến và lâu đài chúng ta sẽ an toàn. Tư duy xây tường cao lên, kẻ tấn công sẽ không thể vào nhà đã là dĩ vãng. Mỗi khi chúng ta xây tường cao hơn, kẻ tấn công sẽ làm chiếc thang dài ra. Hãy nhớ rằng làm cho một chiếc thang dài ra dễ hơn là xây bức tường cao hơn. Đó là lý do thậm chí cả khi bức tường thành vững chãi vẫn còn thì lâu đài vẫn bị sụp đổ. Chúng ta phải chấp nhận rằng, dù sớm hay muộn, giải pháp phòng thủ của chúng ta rồi sẽ bị vượt qua, mã độc rồi sẽ tồn tại trong hệ thống chúng ta. Chúng ta cần nhìn rộng, nhìn xa và nhìn rõ vào hệ thống thiết bị đầu cuối của chúng ta, chúng ta cần visibility. Đối với cuộc tấn công có độ phức tạp lớn hay mã độc cực kỳ tiên tiến, mỗi bước đi của nó sẽ rất tỉ mỉ và đòi hỏi thời gian, một số điều kiện, để vượt qua các giải pháp phòng thủ và lây nhiễm thành công hệ thống chúng ta. Điều này cho chúng ta thời gian để phản ứng và cho chúng ta cơ hội khác nhau ở những giai đoạn khác nhau để ngăn chặn các bước tiếp theo của kẻ tấn công, chính lúc này visibility sẽ phát huy mạnh nhất,. Để đạt được như vậy chúng ta bắt buộc phải có visibility, bên cạnh các giải pháp bảo vệ truyền thống.

Visibility mang lại…

Là một người quản trị, một người giám sát an toàn thông tin, hằng ngày liên tục theo dõi hoạt động hệ thống, theo dõi các bất thường và điều tra các thông tin nhận được. Thách thức lớn nhất của họ là thông tin không đủ chiều dài cũng như chiều sâu để họ có thể kết luận tình huống từ đó đưa ra giải pháp phản ứng kịp thời. Các cảnh báo hay alert xuất hiện trên màn hình giám sát +cũng như tiếng vang trong rừng, chúng thường quá giống nhau, lặp lại, đôi khi quá nhiều và quan trọng là thông tin không rõ ràng, đầy đủ và chi tiết. Nhưng nếu có được visibility thực sự, có được bức tranh toàn cảnh cũng như chi tiết của các thiết bị đầu cuối trong toàn hệ thống. Người quản trị có thể nhanh chóng xử lý và phản ứng trước các cuộc tấn công, các loại mã độc đã biết cũng như chưa biết. Người điều tra số thu thập thông tin, truy vết sự cố một cách hiệu quả trong thời gian ngắn nhất. Và người lãnh đạo có thể nhìn vào đánh giá sự hiệu quả vận hành của hệ thống. Chúng ta không thể đánh giá, bảo vệ và ngăn chặn những gì chúng ta không thấy, chúng ta cần visibility để hiểu, để nắm rõ chuyện gì đã và đang xảy ra trong hệ thống đế có được sự chủ động trong mọi tình huống.

Trên hết việc dò quét và kiểm tra các file đi ra vào hệ thống là cực kì quan trọng và chưa bao giờ là đủ. Các giải pháp Anti-virus hay Endpoint Protection Platform đã và đang làm được chuyện này khá tốt. Tuy nhiên đó chỉ là với câu chuyện mã độc đã được phát hiện và biết đến trước đó. Sự biến hóa liên tục của mã độc trong kỷ nguyên hiện nay đã làm cho ngày hôm nay file này có thể xem là bình thường, nhưng ngày mai không có gì đảm bảo là nó vẫn sẽ vô hại. Đặc biệt hiện nay các cuộc tấn công dạng fileless ngày càng gia tăng, trong khi Anti-virus thông thường được thiết kế để tìm dấu hiệu bất thường trong file, nhưng tấn công fileless thì hầu như không để lại file trên thiết bị đầu cuối nên Anti-virus không thể ngăn chặn. Tương tự với Machine learning, nếu fileless không để lại các file để cho máy học thì cũng không có kết quả. Hay với hướng Whitelist để ngăn chặn các tiến trình lạ, các ứng dụng không hợp lệ chạy trên hệ thống, tuy nhiên tấn công fileless tập trung chủ yếu khai thác hay chèn vào các tiến trình của các ứng dụng hợp lệ nằm trong whitelist nên cũng rất khó cho việc phát hiện và ngăn chặn. Kinh điển tấn công fileless có thể nhắc đến mã độc Poweliks. Khi người dùng click vào link quảng cáo trên web độc hại, một file script được tải về. Nếu chẳng may người dùng chạy file này, nó sẽ thực hiện tạo các khóa registry để duy trì sự hiện diện của nó trong hệ thống, lợi dụng tiến trình run32dll là một tiến trình hợp lệ của Windows để chạy các command line Powershell và mọi giao tiếp C&C cũng như hành vi khác như chỉnh sửa file hệ thống đều thực hiện thông qua registry. Nếu là một Anti-virus trong trường hợp này sau khi cập nhật signature, nó sẽ có thể phát hiện và xóa file script đã tải về trước đó nhưng rồi khi khởi động lại thiết bị đầu cuối thì vẫn bị nhiễm mã độc bởi không thể gỡ tận gốc mã độc do không thể phát hiện đc các khóa registry được tạo ra và ghi đè bởi mã độc. Do đó trước tình hình này, visibility mang đến khả năng ghi lại hoạt động, hành vi và lịch sử của một file hay tiến trình là cực kì hữu ích. Người quản trị hay giám sát sở hữu visibility cũng như sở hữu cỗ máy thời gian, có thể nhìn thấy thấu đáo việc đã xảy ra trước đó, có thể là ngày hôm qua, tuần trước hay tháng trước để biết rằng file này xuất phát từ đâu, thực thi khi nào, nó đã làm gì trong hệ thống chúng ta rồi, nó có thay đổi hay chèn vào tiến trình nào không và hiện tại nó đang ở đâu, thông tin các tiến trình cha và tiến trình con của nó. Những thông tin như vậy là cực kì quan trọng với mục đích cuối cùng chính là tìm ra, hiểu được và gỡ bỏ các mối đe dọa trong thiết bị đầu cuối với thời gian ngắn nhất.

Đó là câu chuyện trên một thiết bị đầu cuối, nếu bàn về cả toàn bộ hệ thống thì visibility mang đến những vượt trội gì? Sự thật đáng buồn đã đề cập, dù sớm hay muộn hệ thống của chúng ta cũng sẽ bị lây nhiễm mã độc. Khi đó nhiệm vụ tối thượng là phải đảm bảo thời gian mã độc tồn tại và ảnh hưởng của mã độc gây ra trong hệ thống càng thấp càng tốt. Thông thường khi tiếp nhận thông tin khả nghi mã độc lây nhiễm hệ thống, đội phản ứng sự cố sẽ tiến hành công việc malware forensic. Tuy nhiên nếu thực hiện đơn thuần trên từng thiết bị đầu cuối, malware forensic thực sự rất tốn thời gian cũng như sức lực cho người thực hiện. Họ phải kiểm tra event log, kiểm tra các tiến trình, kiểm tra các ứng dụng hay dịch vụ đã cài, kiểm tra registry, kiểm tra cấu hình audit có thay đổi hay không, kiểm tra các tiến trình lạ, các tiến trình start up trên từng thiết bị trong toàn hệ thống. Để giải quyết khó khăn đó, trước tiên phải xác định phạm vi ảnh hưởng của mã độc. Cách đây 8 năm mã độc Stuxnet đã tấn công Iran, cơ chế của mã độc này là chỉ thực thi trên mục tiêu đã được chỉ định và có sử dụng phần mềm SCADA Siemens. Nếu thiết bị đó không thuộc mục tiêu, nó sẽ nằm im trên thiết bị đó nhưng không gì đảm bảo nó sẽ không gây nguy hiểm sau này. Thời điểm đó dù được trang bị các giải pháp phòng thủ hàng đầu, Iran cũng không thể xác định được toàn bộ thiệt hại và phạm vi lây nhiễm của con mã độc, chỉ cho đến khi nó thực hiện tự hủy sau đó. Thay vào đó khi có được visibility đối với hệ thống, người quản trị và giám sát nhanh chóng xác định số lượng thiết bị mà mã độc đã từng hiện diện vả ảnh hưởng, mã độc đã thực hiện và lây lan qua đâu con đường nào, mã độc này có tạo thêm các mã độc khác, biến thể khác trong hệ thống hay không và quan trọng là đội phản ứng sự cố khi đó biết rằng phải bắt đầu từ đầu để giải quyết nhanh nhất mã độc.

Khi nói đến đảm bảo an toàn thông tin cho các thiết bị đầu cuối, chắc chắn không được bỏ qua DNS security. Tại sao vậy? Hầu hết các cuộc tấn công hiện nay nhắm vào người dùng sử dụng thiết bị đầu cuối qua các kĩ thuật như email phishing, click fraud, malicious redirect… Và theo thống kê hiện nay có hơn 2/3 doanh nghiệp hiện tại quên đi tầm quan trọng của DNS trong bảo mật thiết bị đầu cuối, họ không giám sát và điều tra trên DNS. Trong khi đó hầu hết mã độc đều dùng DNS để tìm kết nối về máy chủ C&C, hay đánh cắp dữ liệu ra ngoài hệ thống thông qua DNS tunnel như Denis, Pisloader… Hiện nay có khá nhiều giải pháp ngăn chặn domain hay DNS độc hại nhưng hãy nhớ rằng DNS hay domain cực kì dễ dàng đăng kí và có được, mỗi ngày có bao nhiêu domain được tạo ra, do đó các giải pháp này không thực sự hiệu quả. Nếu có visibility trong hệ thống đặc biệt đối với DNS, đúng là visibility vẫn không thể hoàn toàn ngăn chặn được mã độc lây nhiễm vào hệ thống, không thể hoàn toàn ngăn chặn người dùng nhấn vào link độc hại. Nhưng người quản trị và giám sát có thể điều tra nhanh chóng các sự cố, các mã độc để phản ứng và loại bỏ mã độc ra khỏi hệ thống. Bằng việc liên kết các mối tương quan giữa các file trong hệ thống với các kết nối để tìm ra entry point, điểm bắt đầu của cuộc tấn công và lây nhiễm. Tìm các đường dẫn khác, các IP có liên quan để có thể chặn đứng trước khi nó tiếp cận trong tương lai.

Lời kết kì 1…

Các giải pháp phòng thủ ngăn chặn và phát hiện chắc chắn là cực kì quan trọng, cái chúng ta cần cho ngày hôm nay là tích hợp thêm các giải pháp khả năng mang lại visibility. Bởi mỗi giải pháp như vậy cũng chính là từng mảnh ghép để ghép thành một bức tranh phòng thủ hoàn hảo. Chúng ta không cần nhiều bức tranh đơn độc nhau, rồi ghép lại không nhận được giá trị gì cả. Visibility là một phương pháp, giải pháp và cách tiếp cận sẽ mang đến cho chúng ta nhiều hơn cơ hội để chặn đứng kẻ tấn công hay mã độc. Chúng ta nắm được từng đường đi nước bước của kẻ tấn công, từ đó có thể xây dựng nên các playbook hay kiểm tra được các con đường vào hệ thống vốn an toàn nhưng vẫn bị khai thác. Từ đó cải thiện phương án phòng thủ và ứng cứ, xây dựng phát triển các công cụ và chính sách phù hợp và xa hơn là thay đổi cuộc chơi an toàn thông tin.

Không phải bất cứ giải pháp nào cung cấp khả năng nhìn thấy thông tin cũng được xem là visibility. Visibility thực sự là có khả năng ghi nhận mọi thứ, các thông tin, cho phép chúng ta tìm kiếm nhanh chóng trên các thông tin đó và thực hiện săn tìm mã độc, kẻ tấn công một cách hiệu quả từ thông tin nhận được. Để có cái nhìn thực sự và đánh giá khách quan nhất về visibility thì không gì bằng trải nghiệm và thấy trên tình huống thực tế và đó chính là nội dung cho bài viết kì 2 của chúng ta.

Phạm Văn Luận – Kỹ sư GP ATTT, HSE