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 (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, 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 cho công chúng miễn phí và là nguồn mở vào ngày 5 tháng 3 , 2019, tại Hội nghị RSA ở San Francisco. Bạn thậm chí có thể xem các ghi chú thuyết trình Ghidra từ Robert Joyce, Cố vấn cấp cao của Cơ quan An ninh Quốc gia (NSA).
Để thực sự hiểu tại sao việc thuê lại Ghidra lại quan trọng, chúng ta cần hiểu kỹ thuật đảo ngược là gì và nó được sử dụng để làm gì.
Kỹ thuật đảo ngược là gì và tại sao nó được sử dụng?
Nói chung, kỹ thuật đảo ngược (RE) đề cập đến quá trình hoàn thiện một thứ gì đó khác nhau để tìm ra cách nó được tạo ra. Có thể bạn đã tự làm việc này với một thiết bị nhỏ ở nhà, chỉ cần cố gắng tìm ra cách tự khắc phục. 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ỉ xem 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. Bạn có thể đọc được ngôn ngữ mà bạn đang lập trình, nhưng không nhất thiết 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, nó sẽ không thể đọc được nữa.
Nếu bạn muốn tìm hiểu cách chương trình đó hoạt động, bạn cần tách nó ra ở cấp độ mà bạn có thể thấy những gì có trong đó. Bạn cần 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 công việc hoặc động cơ nhỏ.
Đó là nơi Ghidra đến để chơi. Đó là một hộp công cụ giúp phân biệt phần mềm để xem nó hoạt động như thế nào. Đã có các công cụ tương tự khác như IDA, Radare và Binary Ninja.
NSA sử dụng Ghidra để xử lý 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.
Có ai có thể sử dụng Ghidra không?
Không chính xác. Ít nhất bạn cũng 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 đã hoàn thành một vài khóa học đại học về lập trình, bạn có thể tham gia Ghidra và tự học 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 điều đó 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ại là một Thương vụ lớn?
Đó là 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 Joxen Coret đã tweet “Vì vậy, Ghidra s ** ts trên bất kỳ công cụ RE nào khác ngoài đó với ngoại lệ duy nhất của IDA.”
Sau đó là 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 đã nhanh chóng giải quyết vấn đề đó, 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 thứ này để xé xác.”
Từ quan điểm giáo dục, Ghidra cũng cho phép các kỹ sư phần mềm buddingware 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ông lệ được các lập trình viên và nhà phát triển chấp nhậ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 đó tăng tốc quá trình phân tích một cách đáng kể.
Làm 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ố trong 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.
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