Ghidra là gì và tại sao nó lại quan trọng?

Một phần lớn trong việc giải quyết các loại virus mới là tìm ra cách chúng hoạt động. Để làm được điều đó, bạn cần phải thiết kế ngược lại nó. Cơ quan An ninh Quốc gia(National Security Agency) ( NSA ) rõ ràng phải làm công việc này rất nhiều, vì vậy họ đã tạo ra công cụ của riêng mình, được gọi là Ghidra để giúp họ làm việc này.

Nhân tiện , nó được phát âm là Ghee-dra . Nó được phát hành miễn phí cho công chúng và dưới dạng mã nguồn mở vào ngày 5 tháng 3 (March 5)năm 2019, tại Hội nghị RSA(RSA Conference)San Francisco . Bạn thậm chí có thể xem các ghi chú thuyết trình Ghidra từ Robert Joyce(view the Ghidra presentation notes from Robert Joyce) , Cố vấn cấp cao(Senior Advisor) của Cơ quan An ninh Quốc gia(National Security Agency) ( NSA ).

 Để thực sự hiểu tại sao việc phát hành Ghidra lại quan trọng, chúng ta cần hiểu thiết kế ngược là gì và nó được sử dụng để làm gì.

Kỹ thuật(Engineering) đảo ngược là gì và tại sao nó được sử dụng?

Nói chung, thiết kế ngược (RE) đề cập đến quá trình tách một thứ gì đó ra để tìm ra cách nó được tạo ra. Bạn có thể đã tự mình làm điều này với một thiết bị nhỏ ở nhà, chỉ cần cố gắng tìm ra cách để tự sửa chữa. Nhưng chúng ta đang nói về RE một chương trình. Nó chỉ là mã, phải không? Tại sao chúng ta không chỉ nhìn vào mã đằng sau nó?

Khi bạn viết một chương trình bằng ngôn ngữ như C hoặc Java , có một bước giữa việc viết nó và có thể sử dụng nó trên máy tính. Ngôn ngữ bạn đang lập trình có thể đọc được đối với bạn, nhưng không nhất thiết phải máy tính có thể đọc được. Nó phải được dịch thành thứ gì đó mà máy tính có thể hoạt động được. Quá trình này được gọi là biên dịch.

Sau khi một chương trình được biên dịch, con người không thể đọc được nữa.

Nếu bạn muốn tìm hiểu cách hoạt động của chương trình đó, bạn cần tách nó ra ở mức độ mà bạn có thể nhìn thấy những gì trong đó. Bạn cần một bộ công cụ cho việc đó, giống như bạn cần một bộ công cụ gồm tua vít và cờ lê để thực hiện một thiết bị hoặc động cơ nhỏ.

Đó là nơi Ghidra đến để chơi. Đó là một hộp công cụ để tách phần mềm ra để xem nó hoạt động như thế nào. Đã có các công cụ tương tự khác như IDA , RadareBinary Ninja .

NSA sử dụng Ghidra để xử lý(Ghidra) vi-rút, phần mềm độc hại và các chương trình khác có thể gây ra mối đe dọa cho an ninh quốc gia. Sau đó, dựa trên những gì họ tìm thấy, họ phát triển một kế hoạch hành động để đối phó với mối đe dọa. Với số lượng các sự kiện hack được nhà nước tài trợ trong tin tức gần đây, bạn biết đây là một vấn đề lớn.

Bất cứ ai có thể sử dụng Ghidra?

Không chính xác. Ít nhất bạn cần phải có một số thông thạo về lập trình. Bạn không cần phải là một kỹ sư phần mềm, nhưng nếu bạn đã học một vài khóa học đại học về lập trình, bạn có thể tham gia Ghidra và dạy cho mình cách sử dụng nó.

Ngoài ra, trang web Ghidra chính thức cũng có hướng dẫn cài đặt, tài liệu tham khảo nhanh, wiki và trình theo dõi vấn đề. Mục đích của việc cung cấp tất cả những thứ đó là để mọi người có thể học hỏi và cùng nhau làm cho thế giới an toàn hơn khỏi các tin tặc độc hại.

NSA đang làm điều này để, “… cải tiến các công cụ an ninh mạng…”, và “… xây dựng một cộng đồng…” của các nhà nghiên cứu thành thạo với Ghidra và đóng góp vào sự phát triển của nó, như đã viết trong bài thuyết trình của Robert Joyce.

Vậy Tại sao Ghidra là một Thỏa thuận lớn?

Nó từ NSA . Công ty nào có loại tài nguyên mà cơ quan liên bang Hoa Kỳ có? Công ty bảo mật tốt nhất có thể có kinh nghiệm gì so với một cơ quan được giao nhiệm vụ bảo vệ sự an toàn của quốc gia hùng mạnh nhất trên Trái đất?

Vì vậy, vâng, nó là một công cụ rất mạnh mẽ. Nhà nghiên cứu bảo mật (Security)Joxen Coret đã tweet “So, Ghidra s**ts all over any other RE tool out there with the only exception of IDA.”

Sau đó, có khía cạnh miễn phí. Với việc có thể nhận được miễn phí thứ được cho là công cụ RE mạnh nhất, thanh nhập cảnh vào nghiên cứu bảo mật vừa được hạ xuống để chỉ đơn giản là sở hữu một máy tính và có quyền truy cập Internet .

Đây là một phần lý do tại sao NSA phát hành nó. Họ hy vọng rằng một thế hệ các nhà nghiên cứu mới sẽ trở nên thành thạo với nó và cân nhắc sự nghiệp với NSA .

Sau đó là khía cạnh nguồn mở. Các cơ quan an ninh không được biết đến vì để mọi người nhìn sau bức màn vì một lý do chính đáng. Nếu bạn biết cách họ làm những gì họ làm, việc cản trở họ sẽ trở nên dễ dàng hơn. Tuy nhiên, toàn bộ mã nguồn của Ghidra đang được công khai để bất kỳ ai cũng có thể xem qua nó và xem chính xác nó hoạt động như thế nào.

Và, không, không có báo cáo nào về các cửa hậu của chính phủ ở trong đó. Ron Joyce đã giải quyết vấn đề đó một cách nhanh chóng, nói rằng cộng đồng nghiên cứu bảo mật, “… là cộng đồng cuối cùng bạn muốn phát hành thứ gì đó ra ngoài có cài đặt cửa sau, cho những người săn lùng những thứ này.”

Từ quan điểm giáo dục, Ghidra cũng cho phép các kỹ sư phần mềm mới bắt đầu tách rời các chương trình để xem chúng hoạt động như thế nào và sau đó học cách làm điều gì đó tương tự với các dự án của riêng họ. Nhìn vào mã của người khác từ lâu đã trở thành một thực tế được chấp nhận giữa các lập trình viên và nhà phát triển để trở thành những lập trình viên giỏi hơn. Tất nhiên, nếu mã đó được chia sẻ công khai.

Có lẽ thỏa thuận lớn nhất là Ghidra được thiết kế để sử dụng hợp tác. Bạn có thể có một kho lưu trữ được chia sẻ với đồng nghiệp hoặc bạn bè của mình để tất cả bạn có thể làm việc trên một dự án cùng một lúc. Điều đó làm tăng tốc quá trình phân tích một cách đáng kể.

Gì bây giờ?

Chính phủ liên bang Hoa Kỳ đã cam kết phát hành ngày càng nhiều phần mềm liên quan đến bảo mật. Một số sẽ có bản chất rất kỹ thuật, như Ghidra , và một số sẽ thân thiện với người dùng hơn, giống như một phiên bản nâng cao bảo mật của Android(security-enhanced version of Android) .

Tất cả báo trước một thời kỳ hợp tác duy nhất của chính phủ và dân sự nhằm giữ cho cơ sở hạ tầng dữ liệu của chúng tôi an toàn nhất có thể.

Cơ quan Mật vụ Hoa Kỳ - https://www.secretservice.gov/data/press/reports/USSS_FY2013AR.pdf

https://media.defense.gov/2012/Apr/27/2000157039/-1/-1/0/120417-F-JM997-405.JPG



About the author

Tôi là một kỹ sư phần mềm và blogger với gần 10 năm kinh nghiệm trong lĩnh vực này. Tôi chuyên tạo các bài đánh giá và hướng dẫn về công cụ cho các nền tảng Mac và Windows, cũng như cung cấp các bình luận của chuyên gia về các chủ đề phát triển phần mềm. Tôi cũng là một diễn giả và người hướng dẫn chuyên nghiệp, từng thuyết trình tại các hội nghị công nghệ trên thế giới.



Related posts