IDA PRO TOOL LÀ GÌ

So sánh binary bởi IDA và những công cụ bửa trợ

Trong bài này tôi sẽ reviews với chúng ta về các công cụ hỗ trợ cho IDA trong bài toán việc so sánh sự khác nhau giữa nhì binary.Bạn đã xem: Ida pro tool là gì

Nếu chúng ta là dân dev, giỏi dân văn phòng xuyên ngày lọ mọ với 1 mớ code/ tư liệu thì kiên cố sẽ chẳng kỳ lạ gì với việc tự làm cho “bằng cơm” hoặc sử dụng công cụ chuyên sử dụng để so sánh sự khác nhau/ sai khác trong cùng một source code hoặc giữa cùng một tài liệu tại những thời khắc khác nhau. Với những file binary cũng vậy, công cụ differ cũng sẽ cho ta biết sự không giống biệt/ chuyển đổi giữa nhì phiên bản của cùng một chương trình, những công gắng này sẽ cố gắng thực hiện tại phân tích, so khớp các hàm trong lịch trình và giới thiệu kết qủa về phần lớn hàm có sự biến đổi và biến hóa ở đâu.

Bạn đang xem: Ida pro tool là gì

Ta thấy cụ thể để thực hiện quá trình này chưa hẳn là dễ dàng, nhất là khi gồm những đổi khác lớn tự phiên bạn dạng này lịch sự phiên phiên bản khác, sự biến đổi này rất có thể đến tự việc cập nhật các bạn dạng vá bảo mật để xử lý các lỗ hổng mãi mãi trong chương trình, hoặc rất có thể là những cách tân mới trong kỹ năng của chương trình, v.v… cùng với dân chuyên crack soft hoặc mày mò cracking thì việc đối chiếu giữa file gốc và file sẽ patch có thể giúp đến họ mày mò được biện pháp patch của các cracker khác. Với dân chuyên phân tích exploit thì câu hỏi làm này hoàn toàn có thể giúp họ hiểu rằng một phiên bản vá bảo mật thông tin có giải quyết và xử lý được triệt để lỗi tốt không? hay là patch lỗi đó lại sinh ra lỗi khác có thể khai thác được.

1 BinDiff

Ứng dụng bắt buộc nói tới thứ nhất chính làBinDiff, kim chỉ nam của nó là một trong công cụ cung cấp so sánh những tập tin nhị phân nhằm mục tiêu giúp các chuyên gia nghiên cứu lỗ hổng hoàn toàn có thể nhanh giường tìm thấy sự khác biệt và tương đồng trong mã chương trình được phân rã sống dạng câu lệnh asm. Cơ chế này được cải tiến và phát triển bởiZynamics, công ty này kế tiếp được Google download lại vào năm 2011. Phiên bản mới duy nhất tính đến thời điểm của nội dung bài viết này làBinDiff v4.3. Thông tin chi tiết về BinDiff có thể tìm gọi tại đây:https://www.zynamics.com/software.html


*

Các bạn download về và triển khai cài đặt. Việc cài đặt BinDiff dễ dàng như các bạn cài Win dạo, khác mỗi là bạn không phải kiếm crck thôi, để ý là bên trên máy rất cần được cài đặtJava Runtime Enviroment (JRE)trước nhé. BinDiff hiện nay chỉ cung ứng cho IDA 6.x, chưa có plugin mang lại 7.x.

Xem thêm: Top #1 Tải Game Đua Xe Mô Tô 3D Trên Máy Tính, Traffic Rider 3D

Để minh họa đến việc sử dụng BinDiff, tôi đã sử dụng các file .idb có sẵn: một file bao gồm vuln với một file đã có fix. Mở IDA lên với load database của file có vuln (VULNERABLE_o_NO.idb) vào:


*

*

*

*

Tab mà bọn họ quan vai trung phong là “Matched Functions”:

Tại đây, những ban đang thấy cột thứ nhất (similarity) cung cấp công dụng về sự giống như nhau giữa những hàm, Theo gớm nghiệm của rất nhiều người đã cần sử dụng BinDiff thì nếu giá trị trả về bằng1.00thì tức là hai hàm đó trọn vẹn giống nhau, ko có đổi khác gì, ngược lại nếu giá trị nàyhttps://github.com/google/binexport)để xuất ra file cùng import vào Bindiff để so sánh. Phiên bạn dạng BinExport cơ mà tôi đang sử dụng được build vị bạnNgôn Nguyễn (aka computerline). Phương thức thực hiện nay như sau, đầu tiên load db của file bao gồm lỗi (VULNERABLE_o_NO.idb) vào IDA 7.x. Sau thời điểm load xong, vàoEdit > PluginschọnBinExport:


2. Turbodiff

Công cụ được cho phép so sánh binary tiếp theo sau là TurboDiff. Đây là một plugin được code vì tác giảNicolas Economou (NicoEconomou),là đồng nghiệp trước đó với thầyRicardo Narvajatại vi xử lý core Security. Các chúng ta có thể download plugin này tại:https://www.coresecurity.com/corelabs-research/open-source-tools/turbodiff,tuy nhiên đây là phiên phiên bản cũ. Phiên bản mà thầy Ricardo Narvaja thực hiện là phiên bản mới hơn. Việc thiết đặt rất dễ, chỉ bài toán chép fileturbodiff.plwvào thư mục plugins của IDA là xong.

Tương từ bỏ như đã làm với BinDiff, tuy vậy khác chút là ta load database NO_VULNERABLE.idb của file đang fix lỗi trước. Sau khi IDA load xong, vào menuEdit > Pluginsvà chọnTurbodiff:


Như chúng ta thấy turbodiff đã cung cấp thông tin về khối lệnh bao gồm sự núm đổi. Tương tự như Bindiff, turbodiff cũng áp dụng một mã màu sắc để màn trình diễn cho tỉ lệ rứa đổi, màu xanh lá cây được sử dụng cho những khối bao gồm những chuyển đổi ít, màu kim cương sẽ dùng cho các khối có thay đổi nhiều và màu đỏ sử dụng cho những khối có thêm vào. Rõ ràng, về mặt đồ họa và kĩ năng tương tác thì không thể đối chiếu được cùng với Bindiff, dẫu vậy bù lại là tốc độ của Turbodiff thực sự vô cùng nhanh. Hiệu năng là điều rất rất đáng quan trọng tâm nếu vận dụng với các file có form size lớn với nó ko hiển thị quá màu mè như Bindiff. Một điểm không giống nữa cùng với Bindiff là Turbodiff cần parse database của IDA thành những file trung gian rồi mới so sánh.

3. Diaphora

Công cụ đối chiếu binary cuối cùng mà tôi trình làng với chúng ta là diaphora, đó là một plugin doJoxean Koret (matalaz)viết bởi Python.Joxean Koretlà người sáng tác của cuốn sách “The Antivirus Hacker’s Handbook” và dường như có thân quen biết cùng với anh Quỳnh khi làm việc ở Coseinc. Để áp dụng được diaphora các bạn có thể download trên đây:https://github.com/joxeankoret/diaphora.Tính đến thời điểm hiện tại diaphora không còn cung ứng IDA 6.8 nữa, mà lại chỉ thao tác làm việc với IDA Pro 6.9, 6.95 với 7.0

Tương tự như đã làm với những công nắm trước, trước tiên ta load db của file vẫn fix lỗi vào IDA trước. Vì là dạng python script, bắt buộc để chạy được diaphora ta vàoFile > Script File…