Public Member Functions | |
| InotifyEngine (YaraEngine &y, DelayedScanQueue &dq, ArchiveInspector &ai) | |
| ~InotifyEngine () | |
| void | add_watch (const std::string &path) |
| void | add_recursive (const std::string &root) |
| bool | init () |
| void | run () |
Private Member Functions | |
| std::string | decode_mask (uint32_t m) |
| void | maybe_inspect_archive (const std::string &full) |
Private Attributes | |
| int | in_fd = -1 |
| std::map< int, std::string > | watch_map |
| std::mutex | map_mutex |
| YaraEngine & | yara |
| DelayedScanQueue & | delayed |
| ArchiveInspector & | archive_inspector |
Definition at line 922 of file BastionGuard-ransomware-realtime.cpp.
|
inline |
Definition at line 983 of file BastionGuard-ransomware-realtime.cpp.
References archive_inspector, delayed, and yara.
|
inline |
Definition at line 986 of file BastionGuard-ransomware-realtime.cpp.
References in_fd.
|
inline |
Definition at line 1014 of file BastionGuard-ransomware-realtime.cpp.
References _, add_watch(), is_excluded_path(), and log_msg().
Referenced by init().
|
inline |
Definition at line 992 of file BastionGuard-ransomware-realtime.cpp.
References in_fd, log_msg(), map_mutex, and watch_map.
Referenced by add_recursive(), and run().
|
inlineprivate |
Definition at line 932 of file BastionGuard-ransomware-realtime.cpp.
Referenced by run().
|
inline |
Definition at line 1059 of file BastionGuard-ransomware-realtime.cpp.
References add_recursive(), in_fd, and WATCH_DIRS.
Referenced by main().
|
inlineprivate |
Definition at line 947 of file BastionGuard-ransomware-realtime.cpp.
References _, archive_inspector, archiveRiskToString(), CLEAN, ArchiveInspectionResult::detail, ArchiveInspector::inspect(), is_regular_file_safe(), ArchiveInspectionResult::is_zip, log_archive_result(), log_msg(), looks_like_archive_path(), ArchiveInspectionResult::reason_code, ArchiveInspectionResult::risk, ArchiveInspectionResult::risk_score, send_archive_alert(), and ArchiveInspectionResult::success.
Referenced by run().
|
inline |
Definition at line 1071 of file BastionGuard-ransomware-realtime.cpp.
References _, add_watch(), decode_mask(), delayed, DelayedScanQueue::enqueue(), guess_writer_pid(), in_fd, is_excluded_path(), log_msg(), map_mutex, maybe_inspect_archive(), running(), YaraEngine::scan_file(), YaraEngine::scan_pid(), should_guess_pid(), watch_map, and yara.
Referenced by main().
|
private |
Definition at line 930 of file BastionGuard-ransomware-realtime.cpp.
Referenced by InotifyEngine(), and maybe_inspect_archive().
|
private |
Definition at line 929 of file BastionGuard-ransomware-realtime.cpp.
Referenced by InotifyEngine(), and run().
|
private |
Definition at line 924 of file BastionGuard-ransomware-realtime.cpp.
Referenced by add_watch(), init(), run(), and ~InotifyEngine().
|
private |
Definition at line 926 of file BastionGuard-ransomware-realtime.cpp.
Referenced by add_watch(), and run().
|
private |
Definition at line 925 of file BastionGuard-ransomware-realtime.cpp.
Referenced by add_watch(), and run().
|
private |
Definition at line 928 of file BastionGuard-ransomware-realtime.cpp.
Referenced by InotifyEngine(), and run().