This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "OWASP File Hash Repository"
From OWASP
(→If the database is free, where can I get it?) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ==== | + | {| |
+ | |- | ||
+ | ! width="700" align="center" | <br> | ||
+ | ! width="500" align="center" | <br> | ||
+ | |- | ||
+ | | align="right" | [[Image:OWASP Inactive Banner.jpg|800px| link=https://www.owasp.org/index.php/OWASP_Project_Stages#tab=Inactive_Projects]] | ||
+ | | align="right" | | ||
+ | |} | ||
=FHR FAQ= | =FHR FAQ= | ||
Line 50: | Line 57: | ||
will query the database for the hash '''84C0C5914FF0B825141BA2C6A9E3D6F4'''. | will query the database for the hash '''84C0C5914FF0B825141BA2C6A9E3D6F4'''. | ||
− | ====Roadmap | + | == If the database is free, where can I get it? == |
+ | |||
+ | The database is big and difficult to make available for download. We have however an Amazon AWS snapshot of the database disk. The snapshot ID is snap-5aacdd27 and its name is FHRDatabase. | ||
+ | |||
+ | To find the snapshot, log in the AWS Console, select the EC2 tab, and then select "Snapshops" under the "Elastic Block Store" option on the left pane. Select "Public Snapshots" on the filter dropbox and search for the ID or name. | ||
+ | |||
+ | IMPORTANT: Please note that the snapshot is in US East region. So assure you are in that AWS region by selecting "US East (N. Virginia)" on the dropdown list next to your name on the top right menu of AWS Console. | ||
+ | |||
+ | The snapshot contains a Linux disk with the MySQL Database files. Mount it into your own instance and you will have access to all the files. | ||
+ | |||
+ | =Roadmap= | ||
[[Projects/OWASP_File_Hash_Repository/Roadmap]] | [[Projects/OWASP_File_Hash_Repository/Roadmap]] | ||
− | ==== | + | =Documentation= |
+ | |||
+ | ==Database schema== | ||
+ | |||
+ | The FHR database contains a single table, called File, described below: | ||
+ | |||
+ | <pre> | ||
+ | mysql> show columns from File in FHR; | ||
+ | +-----------+------------+------+-----+---------+----------------+ | ||
+ | | Field | Type | Null | Key | Default | Extra | | ||
+ | +-----------+------------+------+-----+---------+----------------+ | ||
+ | | idFile | int(11) | NO | PRI | NULL | auto_increment | | ||
+ | | SHA1 | char(40) | YES | MUL | NULL | | | ||
+ | | MD5 | char(32) | YES | MUL | NULL | | | ||
+ | | size | mediumtext | YES | | NULL | | | ||
+ | | source | char(10) | YES | | NULL | | | ||
+ | | date | date | YES | | NULL | | | ||
+ | | status | char(10) | NO | | NULL | | | ||
+ | | certainty | float | YES | | NULL | | | ||
+ | +-----------+------------+------+-----+---------+----------------+ | ||
+ | 8 rows in set (0.00 sec) | ||
+ | </pre> | ||
+ | |||
+ | ==Server Implementation Details== | ||
+ | |||
+ | The DNS server is implemented in Java and is based on the EagleDNS server, which uses the dnsjava library. | ||
+ | |||
+ | ===EagleDNS extensions=== | ||
+ | The EagleDNS server is easily extended. It is based on the concept of Zone Providers, which provide specific implementations for the backend storage of zone data. The server provides two basic providers, one for loading data from simple zone files and another for loading data from a database. | ||
+ | |||
+ | At first glance, it could seem that the database zone provider would be a perfect fit for FHR, but upon a closer examination, we quickly find out that it is not the case. The main reason is that EagleDNS uses the dnsjava Zone class to represent zone data. This implementation requires all zone data to be held in memory, which would be impossible for FHR since it will contain millions of entries, each corresponding to a DNS record. | ||
+ | |||
+ | So we had to extend EagleDNS by implementing its ZoneProvider interface. And we also needed to extend the dnsjava Zone class functionality. This created a problem since the Zone class was not implemented to be extended. This required us to change the dnsjava source code and recompile this library before being able to implement all FHRZoneProvider class. | ||
+ | |||
+ | The diffs for the dnsjava classes are available at [[OWASP_File_Hash_Repository/dnsjava_diffs]] | ||
+ | |||
+ | ===The FHRZoneProvider rationale=== | ||
+ | TODO. | ||
+ | |||
+ | = Project About = | ||
{{:Projects/OWASP File Hash Repository | Project About}} | {{:Projects/OWASP File Hash Repository | Project About}} |
Latest revision as of 22:29, 6 January 2015
|
|
---|---|
![]() |