100 likes | 198 Views
remedium. Cooperative virus defense system. Viruses such as conficker reveal weakness in military security level networks Once a workstation inside an organization is compromised, other machines typically have no better defenses
E N D
remedium Cooperative virus defense system
Viruses such as conficker reveal weakness in military security level networks • Once a workstation inside an organization is compromised, other machines typically have no better defenses • Network administrators rely on third party security vendors to detect viruses The problem
Focus on trusted files • Unlike typical antivirus, we focus on gathering knowledge about the files on each workstation • Recognize trusted, suspicious, cautious and prejudicial files • Workstations share knowledge • Anomalies are detected if there is a mismatch between the files on a workstation compared to the other workstation in the same network • Keep administrators informed • if anomalies are found, suspicious workstations can be isolated The solution
Triumvirate • Uses 3 workstations as command and control centers to coordinate the sharing of knowledge • Using 3 machines allows byzantine decisions in case one of the triumvirs is marked as compromised • Can scale to sub-triumvirates according to number of clients connected • Periodically rotates the role of triumvir amongst members Network control
SQLite • Requires no additional setup on the workstation, good for restricted environments • Uses flat files to store data locally • Eases the transfer of databases between workstations • Allows performing checksum operations to prevent database corruption / tampering Database system
Cliens • Locally managed, each workstation adds knowledge about his own machine • Network • Inside a group, there is the knowledge from each workstation that is added and compared with each other • Official • Derives from us (the service provider) and contain processed knowledge of trusted files DB’s located in workstation
DB size • The potential pool of knowledge that can be stored is formidable • We are self-limiting the size of each DB to 4Gb • Currently indexes ~4 million records per DB • The initial idea was creating an Index DB to keep a pointer (checksum and filename) to the DB where the details of the target file are located: • Allows indexing ~8 million records on index DB • Requires to run two queries DB scalability
Increase limit of index DB to 8 Gb? • Searching records across 8Gb takes a longer time • No assurance that this limit is supported by sqlite implementation or by the file system • Still limited to 16 million records on index DB Alternatives?
Disk size • We limit the size of each DB to 4Gb • Currently indexes ~4 millions records per DB • Performance • Indexing 30 000 files on disk takes ~40 minutes • Comparing a single file on disk against three types of DB’s might become slow when multiplied by thousands of files • Security • Checksums prevent DB corruption • But if attacker corrupts index DB, the system is compromised • Attacker might also target binary itself Limitations
How can we improve the index system? Ideas? Comments?