-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConstants.cs
More file actions
209 lines (174 loc) · 8.51 KB
/
Constants.cs
File metadata and controls
209 lines (174 loc) · 8.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
namespace FraudDetection.Trainer.RandomDataSetGenerate {
/// <summary>
/// Provides constant values used throughout the application for output formatting, synthetic login event generation,
/// CSV column names, geolocation data, authentication flows, and related identifiers.
/// </summary>
/// <remarks>This class contains string and character constants intended for internal use, such as standard
/// output messages, CSV formatting options, field names, and sample data values. These constants help ensure
/// consistency and reduce duplication across the application's logic for generating and processing synthetic login
/// events, especially in fraud detection and model training scenarios.</remarks>
internal static class Constants {
#region Output related
internal const string _ansiReset = "\u001b[0m";
internal const string _programStartGenerating = "Generating random synthetic login events for fraud detection model training...";
internal const string _wroteText = "Wrote ";
internal const string _writingToCsv = "Wrinting to CSV.";
internal const string _finishText = "Done. Press any key to exit.";
internal const string _csvLocation = "Located: ";
internal const string _elapsed = "Elapsed (seconds): ";
internal const string _loginEventsCsvName = "login_events.csv";
internal const string _eventsGeneratedStringFormat = "N0";
internal const string _generatedText = "Random synthetic login events generated: ";
internal static readonly string _loginEventsCsvPrefix = $"{DateTime.UtcNow.ToString("yyyyMMddHHmmss_")}";
#endregion
internal const string _polDefault = "pol_default";
internal const string _utcEndStartVerify = "UTC End must be after UTC Start.";
#region Synthetic login generator
internal const string _example = ".example";
#region CSV
internal const char _separator = ',';
internal const string _f6 = "F6";
internal const string _o = "O";
internal const string _true = "true";
internal const string _false = "false";
#region CSV columns
internal const string _timestampUtc = "timestamp_utc";
internal const string _tenantId = "tenant_id";
internal const string _userId = "user_id";
internal const string _username = "username";
internal const string _userType = "user_type";
internal const string _clientId = "client_id";
internal const string _authFlow = "auth_flow";
internal const string _sourceIp = "source_ip";
internal const string _message = "Unknown IP Quality";
internal const string _asn = "asn";
internal const string _networkType = "network_type";
internal const string _isTor = "is_tor";
internal const string _ipReputation = "ip_reputation";
internal const string _country = "country";
internal const string _region = "region";
internal const string _city = "city";
internal const string _latitude = "latitude";
internal const string _longitude = "longitude";
internal const string _userAgent = "user_agent";
internal const string _deviceId = "device_id";
internal const string _isNewDevice = "is_new_device";
internal const string _policyId = "policy_id";
internal const string _stepUpRequired = "step_up_required";
internal const string _mfaMethod = "mfa_method";
internal const string _mfaOutcome = "mfa_outcome";
internal const string _mfaPromptCount = "mfa_prompt_count";
internal const string _outcome = "outcome";
internal const string _failureReason = "failure_reason";
internal const string _riskScore = "risk_score";
internal const string _attackType = "attack_type";
internal const string _failedAttempts5m = "failed_attempts_5m";
internal const string _uniqueIps10m = "unique_ips_10m";
internal const string _uniqueCountries24h = "unique_countries_24h";
internal const string _distinctUsernamesFromIp10m = "distinct_usernames_from_ip_10m";
internal const string _successAfterFailures10m = "success_after_failures_10m";
internal const string _minutesSinceLastLogin = "minutes_since_last_login";
internal const string _distanceKmFromLastLogin = "distance_km_from_last_login";
#endregion
#endregion
#region Geolocation Information
internal const string _ca = "CA";
internal const string _on = "ON";
internal const string _toronto = "Toronto";
internal const string _us = "US";
internal const string _ca_us = "CA";
internal const string _sanFrancisco = "San Francisco";
internal const string _ny = "NY";
internal const string _newYork = "New York";
internal const string _wa = "WA";
internal const string _seattle = "Seattle";
internal const string _bc = "BC";
internal const string _vancouver = "Vancouver";
internal const string _gb = "GB";
internal const string _eng = "ENG";
internal const string _London = "London";
internal const string _de = "DE";
internal const string _be = "BE";
internal const string _berlin = "Berlin";
internal const string _fr = "FR";
internal const string _idf = "IDF";
internal const string _paris = "Paris";
internal const string _in = "IN";
internal const string _mh = "MH";
internal const string _mumbai = "Mumbai";
internal const string _sg = "SG";
internal const string _singapore = "Singapore";
internal const string _br = "BR";
internal const string _sp = "SP";
internal const string _saoPaulo = "São Paulo";
internal const string _za = "ZA";
internal const string _gp = "GP";
internal const string _johannesburg = "Johannesburg";
internal const string _jp = "JP";
internal const string _tokyo = "Tokyo";
internal const string _urbanCore = "UC";
internal const string _au = "AU";
internal const string _nsw = "NSW";
internal const string _sydney = "Sydney";
internal const string _ru = "RU";
internal const string _mow = "MOW";
internal const string _moscow = "Moscow";
#endregion
#region Auth-related
internal const string _authorizatioeCode = "authorization_code";
internal const string _clientCredentials = "client_credentials";
internal const string _dev = "dev_";
internal const string _a = "_A";
internal const string _loginEvents = "login_events.csv";
internal const string _admin = "admin";
internal const string _user = "user";
internal const string _customer = "customer";
internal const string _policyAdminStrict = "pol_admin_strict";
internal const string _none = "None";
internal const string _push = "Push";
internal const string _totp = "TOTP";
internal const string _webAuthn = "WebAuthn";
internal const string _passed = "Passed";
internal const string _notChallenged = "NotChallenged";
internal const string _denied = "Denied";
internal const string _timeout = "Timeout";
internal const string _failed = "Failed";
internal const string _success = "Success";
internal const string _fail = "Fail";
internal const string _invalidPassword = "InvalidPassword";
internal const string _mfaDenied = "MFADenied";
internal const string _mfaFailed = "MFAFailed";
internal const string _noneAttack = _none;
internal const string _credentialStuffing = "CredentialStuffing";
internal const string _passwordSpray = "PaswordSpray";
internal const string _impossibleTravel = "ImpossibleTravel";
internal const string _mkfaFatigue = "MFAFatigue";
internal const string _residential = "residential";
internal const string _mobile = "mobile";
internal const string _datacenter = "datacenter";
internal const string _acmeCo = "AcmeCo";
internal const string _zephyrLtd = "ZephyrLtd";
internal const string _northwind = "Northwind";
internal const string _webApp = "WebApp";
internal const string _pythonRequests = "python-requests/2.31";
internal const string _oktaMobileIos = "okta-mobile/6.2 (iOS)";
internal const string _oktaMobileAndroid = "okta-mobile/6.2 (Android)";
internal const string _mozillaWindows = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
internal const string _mozillaLinuxHeadless = "Mozilla/5.0 (X11; Linux x86_64) HeadlessChrome/120.0";
internal const string _mozillaMacos = "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_2)";
internal const string _tAcme = "t_acme";
internal const string _tZephyr = "t_zephyr";
internal const string _tNorthwind = "t_northwind";
internal const string _appWeb = "app_web";
internal const string _appMobile = "app_mobile";
internal const string _appApi = "app_api";
internal const string _mobileApp = "MobileApp";
internal const string _serviceApi = "ServiceApi";
internal const string _fraudStuffing01 = "fraud_stuffing_01";
internal const string _fraudSpray01 = "fraud_spray_01";
internal const string _fraudTakeover01 = "fraud_takeover_01";
internal const string _as = "AS";
#endregion
#endregion
}
}