Find Jobs
Hire Freelancers

Develop an User-mode Intercepting (Non-)Transparent Proxy for Windows

₹150000-250000 INR

Zaprt
Objavljeno pred skoraj 4 leti

₹150000-250000 INR

Plačilo ob dostavi
Develop an user-mode intercepting (non-)transparent proxy targeting Windows, in order to intercept web browsing and email communication for the purpose of providing additional service (security, privacy etc.). The proxy should support the following application protocols: • For web browsing control o Ability to inspect/alter any HTTP request or response  URL  Content o Protocol support:  HTTP 1.x  HTTP 2  HTTP 3 (over QUIC) • For email control o Ability to inspect/alter any incoming/outgoing email  Sender & Recipient Info  Attachments Info o Protocol support:  SMTP  POP3  IMAP • Unknown - for Traffic Passthru o Could be any TCP/UDP traffic The proxy should support the following flexibility: • Ability to exclude a connection from interception, based on any of the following information: o Remote Target IP Address / Port o TLS Connections: SNI o Client Application Path Target OS: Windows 7, Windows 8, Windows 10 (x86 & amd64) Programming Environment/Language: • Solution/IDE: Visual Studio 2017/2019 • Language: C Design/Implementation Considerations: Network Implementation: The core network module should use Asynchronous Windows Sockets Programming technique using IOCP (utilizing a common thread-pool for TCP & UDP) to perform connect/accept/send/recv. Use of any cross-platform async io library that can abstract the underlying Windows-specific implementation is preferred, as this can later be ported to different platforms (Linux/MacOS) easily, however, this isn't a must-have requirement at present. A single-listening/bound port should be used for all redirected incoming TCP and UDP communication. Existing Packet-Divert packages such as WinDivert ( [login to view URL] ) maybe utilized for performing the required redirection of application(eg:- webbrowsers, email-clients) traffic (TCP & UDP) to the above mentioned port. Application Traffic Identification: The initial packet can be inspected to identify prospective handlers for the traffic, TLS traffic can be decrypted within the process (by acting as server to the client, and as client to the remote server). The plaintext packet data can be used to identify prospective application protocol handlers. Some form of extensible architecture where additional protocols can be added for support is desired. TLS Traffic Processing: The proxy server can generate a Per-Machine Self-Signed Root CA certificate under the Trusted Publishers of the system (similar to tools such as Fiddler, CharlesProxy etc.). TLS Connections (by detecting initial Client Hello), can be conditionally decrypted by generating a fake Server certificate based on the remote server’s certificate, but signed by the locally generated/trusted CA. Third-Party Library Usage (if any) should be limited to C-based libraries with commercial-usage friendly requiring no source-code disclosure (Eg:- MIT License). A few potential libraries that maybe used for TLS & HTTP traffic processing have been identified, and listed below: • HTTP/1.x - [login to view URL] • HTTP/2 - [login to view URL] • QUIC/HTTP/3 - [login to view URL] & [login to view URL] • OpenSSL (Patched) - [login to view URL] Deliverables: • High Level Design document • Full source code transfer
ID projekta: 26430206

Več o projektu

2 ponudb
Projekt na daljavo
Aktivno pred 4 leti

Želite zaslužiti?

Prednosti oddajanja ponudb na Freelancerju

Nastavite svoj proračun in časovni okvir
Prejmite plačilo za svoje delo
Povzetek predloga
Registracija in oddajanje ponudb sta brezplačna
2 freelancerjev je oddalo ponudbo s povprečno vrednostjo ₹200.000 INR za to delo
Avatar uporabnika
Hi!!! I'm a good programmer. I've done this in the University, at job and here in freelancer. So let's chat and see. Bye!!!
₹200.000 INR v 28 dneh
0,0 (0 ocen)
0,0
0,0

O stranki

Zastava INDIA
Bengaluru, India
0,0
0
Član(ica) od jul. 4, 2020

Verifikacija stranke

Hvala! Po e-pošti smo vam poslali povezavo za prevzem brezplačnega dobropisa.
Pri pošiljanju vašega e-sporočila je šlo nekaj narobe. Poskusite znova.
Registrirani uporabniki Skupaj objavljenih del
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Nalaganje predogleda
Geolociranje je bilo dovoljeno.
Vaša prijavna seja je potekla, zato ste bili odjavljeni. Prosimo, da se znova prijavite.