Analysing binaries of programs for security vulnerabilities is extremely important when they are used in critical applications. Since computers execute binaries, not source code, analysing binaries gives more truthful results compared to analysing source code. However, binary analysis is challenging task, particularly due to the lack of higher-level semantics information such as type information in the binaries.
This challenge aims at developing a software application that analyses security vulnerabilities in 64-bit linux binaries.
The following templates that indicate security vulnerabilities should be identified
Decryption loop in a polymorphic virus/binary – In malicious binary, decryption loops may appear (may search for email addresses in a user’s mail folder or may decrypt the contents of the .rodata or .text section in ELF binaries). For example, figure below demonstrates a possible decryption loop.
The decryption loop generally starts at two constant address denoted by register rax and rbx indicates in the figure. The challenge is to find this kind of decryption loop in the binary.
List of Tools that may be used for development of the software – i) Objdump, ii) Gdb, iii) strace
Target system – x86_64 Linux
The challenge is to develop an software application which may use the above mentioned tools and perform the taint analysis on the input executable. The command may be developed as
Cbinana <input program> -o <Taint analysis report>. If –o option is not given, the output will be on stdout.
Sample data: Yes; Contact Shri A.K. Bhattacharya, email@example.com