Dicardo Xue's Projects
👀
Training and serving large-scale neural networks
TensorFlow code and pre-trained models for BERT
This is a rough BPT created by a programming rookie, totally cost five days
Operating system course taught by Prof. Wu Chentao in SJTU CS (Operating Sytem Concepts 10th version) : textbook & slides & projects
SJTU CS 359 Computer Architecture, 2019 Course Project 2: Understanding Cache Memories
A Python-embedded modeling language for convex optimization problems.
Drag and drop SVG, HTML or Canvas using mouse or touch input.
An on-path DNS packet injector and a passive DNS poisoning attack detector.
Performs on-path DNS poisoning. Sniffs on specified interface with optional filter expression for DNS requests. Fabricates DNS response with fake different IP address, and sends it to the original requestor, arriving before DNS response from (far away) legitimate server.
develop 1) an on-path DNS packet injector, and 2) a passive DNS poisoning attack detector. Part 1: The DNS packet injector you are going to develop, named 'dnsinject', will capture the traffic from a network interface in promiscuous mode, and attempt to inject forged responses to selected DNS A requests with the goal to poison the resolver's cache. Your program should conform to the following specification: dnsinject [-i interface] [-h hostnames] expression -i Listen on network device <interface> (e.g., eth0). If not specified, dnsinject should select a default interface to listen on. The same interface should be used for packet injection. -h Read a list of IP address and hostname pairs specifying the hostnames to be hijacked. If '-h' is not specified, dnsinject should forge replies for all observed requests with the local machine's IP address as an answer. <expression> is a BPF filter that specifies a subset of the traffic to be monitored. This option is useful for targeting a single or a set of particular victims. The <hostnames> file should contain one IP and hostname pair per line, separated by whitespace, in the following format: 10.6.6.6 foo.example.com 10.6.6.6 bar.example.com 192.168.66.6 www.cs.stonybrook.edu Pay attention to the time needed for generating the spoofed response! Your code should be fast enough so that the injected reply reaches the victim sooner than the server's actual response. The spoofed packet and content should also be valid according to the initial DNS request, and the forged response should be accepted and processed normally by the victim. Part 2: The DNS poisoning attack detector you are going to develop, named 'dnsdetect', will capture the traffic from a network interface in promiscuous mode and detect DNS poisoning attack attempts, such as those generated by dnsinject. Detection will be based on identifying duplicate responses towards the same destination that contain different answers for the same A request, i.e., the observation of the attacker's spoofed response followed by the server's actual response. You should make every effort to avoid false positives, e.g., due to legitimate consecutive responses with different IP addresses for the same hostname due to round robin DNS load balancing. Your program should conform to the following specification: dnsdetect [-i interface] [-r tracefile] expression -i Listen on network device <interface> (e.g., eth0). If not specified, the program should select a default interface to listen on. -r Read packets from <tracefile> (tcpdump format). Useful for detecting DNS poisoning attacks in existing network traces. <expression> is a BPF filter that specifies a subset of the traffic to be monitored. Once an attack is detected, dnsdetect should print to stdout a detailed alert containing a printout of both the spoofed and legitimate responses. You can format the output in any way you like. Output must contain the detected DNS transaction ID, attacked domain name, and the original and malicious IP addresses - for example: 20160406-15:08:49.205618 DNS poisoning attempt TXID 0x5cce Request www.example.com Answer1 [List of IP addresses] Answer2 [List of IP addresses]
Implement DQN and DDQN algorithm on Atari games,such as BreakoutNoFrameskip-v4, PongNoFrameskip-v4,BoxingNoFrameskip-v4.
Flax is a neural network library for JAX that is designed for flexibility.
An implementation of "Paul E. Debevec, Jitendra Malik, Recovering High Dynamic Range Radiance Maps from Photographs, SIGGRAPH 1997."
A single-page resume template completely typeset with HTML & CSS.
This repository is a self-learning notes on Iterator and STL
中文LaTeX作业模板
\LaTeX 中文模版收集。
A wrapped toolkit for GPU performance test using various NN models based on TensorRT official source code.