ã¢ãã«ããŒã¿ã®æºåãšè©äŸ¡
Tip
AWSãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training AWS Red Team Expert (ARTE)
GCPãããã³ã°ãåŠã³ãå®è·µããïŒHackTricks Training GCP Red Team Expert (GRTE)
Azureãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã
ã¢ãã«ããŒã¿ã®æºåã¯ãæ©æ¢°åŠç¿ãã€ãã©ã€ã³ã«ãããŠéèŠãªã¹ãããã§ãããçããŒã¿ãæ©æ¢°åŠç¿ã¢ãã«ã®ãã¬ãŒãã³ã°ã«é©ãã圢åŒã«å€æããããšãå«ã¿ãŸãããã®ããã»ã¹ã«ã¯ããã€ãã®éèŠãªã¹ãããããããŸãïŒ
- ããŒã¿åé: ããŒã¿ããŒã¹ãAPIããã¡ã€ã«ãªã©ãããŸããŸãªãœãŒã¹ããããŒã¿ãåéããŸããããŒã¿ã¯æ§é åãããŠããïŒäŸïŒããŒãã«ïŒå Žåãããã°ãéæ§é åãããŠããïŒäŸïŒããã¹ããç»åïŒå ŽåããããŸãã
- ããŒã¿ã¯ãªãŒãã³ã°: 誀ã£ããäžå®å šãªããŸãã¯é¢é£æ§ã®ãªãããŒã¿ãã€ã³ããåé€ãŸãã¯ä¿®æ£ããŸãããã®ã¹ãããã§ã¯ãæ¬ æå€ã®åŠçãéè€ã®åé€ãå€ãå€ã®ãã£ã«ã¿ãªã³ã°ãå«ãŸããå ŽåããããŸãã
- ããŒã¿å€æ: ã¢ããªã³ã°ã«é©ãã圢åŒã«ããŒã¿ã倿ããŸããããã«ã¯ãæ£èŠåãã¹ã±ãŒãªã³ã°ãã«ããŽãªå€æ°ã®ãšã³ã³ãŒãã£ã³ã°ãç¹åŸŽãšã³ãžãã¢ãªã³ã°ã®ãããªæè¡ãéããŠæ°ããç¹åŸŽãäœæããããšãå«ãŸããå ŽåããããŸãã
- ããŒã¿åå²: ããŒã¿ã»ããããã¬ãŒãã³ã°ãæ€èšŒããã¹ãã»ããã«åå²ããã¢ãã«ãæªèŠã®ããŒã¿ã«å¯ŸããŠãäžè¬åã§ããããã«ããŸãã
ããŒã¿åé
ããŒã¿åéã¯ãããŸããŸãªãœãŒã¹ããããŒã¿ãåéããããšãå«ã¿ãŸããããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- ããŒã¿ããŒã¹: ãªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ïŒäŸïŒSQLããŒã¿ããŒã¹ïŒãNoSQLããŒã¿ããŒã¹ïŒäŸïŒMongoDBïŒããããŒã¿ãæœåºããŸãã
- API: ãŠã§ãAPIããããŒã¿ãååŸãããªã¢ã«ã¿ã€ã ãŸãã¯å±¥æŽããŒã¿ãæäŸããŸãã
- ãã¡ã€ã«: CSVãJSONãXMLãªã©ã®åœ¢åŒã®ãã¡ã€ã«ããããŒã¿ãèªã¿åããŸãã
- ãŠã§ãã¹ã¯ã¬ã€ãã³ã°: ãŠã§ãã¹ã¯ã¬ã€ãã³ã°æè¡ã䜿çšããŠãŠã§ããµã€ãããããŒã¿ãåéããŸãã
æ©æ¢°åŠç¿ãããžã§ã¯ãã®ç®æšã«å¿ããŠãããŒã¿ã¯åé¡é åã代衚ããããã«é¢é£ãããœãŒã¹ããæœåºãããåéãããŸãã
ããŒã¿ã¯ãªãŒãã³ã°
ããŒã¿ã¯ãªãŒãã³ã°ã¯ãããŒã¿ã»ããå ã®ãšã©ãŒãäžæŽåãç¹å®ãä¿®æ£ããããã»ã¹ã§ãããã®ã¹ãããã¯ãæ©æ¢°åŠç¿ã¢ãã«ã®ãã¬ãŒãã³ã°ã«äœ¿çšãããããŒã¿ã®å質ã確ä¿ããããã«äžå¯æ¬ ã§ããããŒã¿ã¯ãªãŒãã³ã°ã®äž»ãªã¿ã¹ã¯ã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- æ¬ æå€ã®åŠç: æ¬ æããŒã¿ãã€ã³ããç¹å®ã察åŠããŸããäžè¬çãªæŠç¥ã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- æ¬ æå€ãå«ãè¡ãŸãã¯åãåé€ããã
- å¹³åãäžå€®å€ããŸãã¯æé »å€ã®è£å®ãªã©ã®æè¡ã䜿çšããŠæ¬ æå€ãè£å®ããã
- Kè¿åæ³ïŒKNNïŒè£å®ãååž°è£å®ã®ãããªé«åºŠãªæ¹æ³ã䜿çšããã
- éè€ã®åé€: éè€ã¬ã³ãŒããç¹å®ãåé€ããŠãåããŒã¿ãã€ã³ãããŠããŒã¯ã§ããããšã確ä¿ããŸãã
- å€ãå€ã®ãã£ã«ã¿ãªã³ã°: ã¢ãã«ã®ããã©ãŒãã³ã¹ãæªããå¯èœæ§ã®ããå€ãå€ãæ€åºãåé€ããŸããZã¹ã³ã¢ãIQRïŒååäœç¯å²ïŒããŸãã¯èŠèŠåïŒäŸïŒç®±ã²ãå³ïŒãªã©ã®æè¡ã䜿çšããŠå€ãå€ãç¹å®ã§ããŸãã
ããŒã¿ã¯ãªãŒãã³ã°ã®äŸ
import pandas as pd
# Load the dataset
data = pd.read_csv('data.csv')
# Finding invalid values based on a specific function
def is_valid_possitive_int(num):
try:
num = int(num)
return 1 <= num <= 31
except ValueError:
return False
invalid_days = data[~data['days'].astype(str).apply(is_valid_positive_int)]
## Dropping rows with invalid days
data = data.drop(invalid_days.index, errors='ignore')
# Set "NaN" values to a specific value
## For example, setting NaN values in the 'days' column to 0
data['days'] = pd.to_numeric(data['days'], errors='coerce')
## For example, set "NaN" to not ips
def is_valid_ip(ip):
pattern = re.compile(r'^((25[0-5]|2[0-4][0-9]|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)$')
if pd.isna(ip) or not pattern.match(str(ip)):
return np.nan
return ip
df['ip'] = df['ip'].apply(is_valid_ip)
# Filling missing values based on different strategies
numeric_cols = ["days", "hours", "minutes"]
categorical_cols = ["ip", "status"]
## Filling missing values in numeric columns with the median
num_imputer = SimpleImputer(strategy='median')
df[numeric_cols] = num_imputer.fit_transform(df[numeric_cols])
## Filling missing values in categorical columns with the most frequent value
cat_imputer = SimpleImputer(strategy='most_frequent')
df[categorical_cols] = cat_imputer.fit_transform(df[categorical_cols])
## Filling missing values in numeric columns using KNN imputation
knn_imputer = KNNImputer(n_neighbors=5)
df[numeric_cols] = knn_imputer.fit_transform(df[numeric_cols])
# Filling missing values
data.fillna(data.mean(), inplace=True)
# Removing duplicates
data.drop_duplicates(inplace=True)
# Filtering outliers using Z-score
from scipy import stats
z_scores = stats.zscore(data.select_dtypes(include=['float64', 'int64']))
data = data[(z_scores < 3).all(axis=1)]
ããŒã¿å€æ
ããŒã¿å€æã¯ãããŒã¿ãã¢ãã«åã«é©ãã圢åŒã«å€æããããšãå«ã¿ãŸãããã®ã¹ãããã«ã¯ä»¥äžãå«ãŸããå ŽåããããŸãïŒ
-
æ£èŠåãšæšæºåïŒæ°å€ç¹åŸŽãå ±éã®ç¯å²ã«ã¹ã±ãŒãªã³ã°ããããšãé垞㯠[0, 1] ãŸã㯠[-1, 1]ãããã«ãããæé©åã¢ã«ãŽãªãºã ã®åæãæ¹åãããŸãã
-
æå°-æå€§ã¹ã±ãŒãªã³ã°ïŒç¹åŸŽãåºå®ç¯å²ã«åã¹ã±ãŒãªã³ã°ããããšãé垞㯠[0, 1]ãããã¯æ¬¡ã®åŒã䜿çšããŠè¡ãããŸãïŒ
X' = (X - X_{min}) / (X_{max} - X_{min}) -
Zã¹ã³ã¢æ£èŠåïŒå¹³åãåŒããæšæºåå·®ã§å²ãããšã«ãã£ãŠç¹åŸŽãæšæºåããå¹³åã0ãæšæºåå·®ã1ã®ååžãåŸãããšãããã¯æ¬¡ã®åŒã䜿çšããŠè¡ãããŸãïŒ
X' = (X - ÎŒ) / Ïãããã§ ÎŒ ã¯å¹³åãÏ ã¯æšæºåå·®ã§ãã -
æªåºŠãšå°åºŠïŒç¹åŸŽã®ååžã調æŽããŠæªåºŠïŒé察称æ§ïŒãšå°åºŠïŒããŒã¯ã®é«ãïŒãæžå°ãããããšãããã¯å¯Ÿæ°å€æãå¹³æ¹æ ¹å€æããŸãã¯Box-Cox倿ã®ãããªå€æã䜿çšããŠè¡ãããšãã§ããŸããäŸãã°ãç¹åŸŽãæªãã ååžãæã€å Žåã察æ°å€æãé©çšããããšã§æ£èŠåãå©ããããšãã§ããŸãã
-
æå忣èŠåïŒæååãäžè²«ãã圢åŒã«å€æããããšãäŸãã°ïŒ
- å°æåå
- ç¹æ®æåã®åé€ïŒé¢é£ãããã®ãä¿æïŒ
- ã¹ãããã¯ãŒãã®åé€ïŒæå³ã«å¯äžããªãäžè¬çãªåèªãäŸãã° âtheâ, âisâ, âandâ ãªã©ïŒ
- ããŸãã«ãé »ç¹ãªåèªãšããŸãã«ãçšãªåèªã®åé€ïŒäŸãã°ã90%以äžã®ææžã«åºçŸããåèªãã³ãŒãã¹å ã§5åæªæºåºçŸããåèªïŒ
- 空çœã®ããªãã³ã°
- ã¹ããã³ã°/ã¬ãã¿ã€ãŒãŒã·ã§ã³ïŒåèªããã®åºæ¬åœ¢ãŸãã¯ã«ãŒãåœ¢ã«æžå°ãããããšïŒäŸãã°ãârunningâ ã ârunâ ã«ïŒã
-
ã«ããŽãªå€æ°ã®ãšã³ã³ãŒãã£ã³ã°ïŒã«ããŽãªå€æ°ãæ°å€è¡šçŸã«å€æããããšãäžè¬çãªæè¡ã«ã¯ïŒ
- ã¯ã³ããããšã³ã³ãŒãã£ã³ã°ïŒåã«ããŽãªã®ããã«ãã€ããªåãäœæããããšã
- äŸãã°ãç¹åŸŽã âredâãâgreenâãâblueâ ã®ã«ããŽãªãæã€å Žåãããã¯3ã€ã®ãã€ããªåã«å€æãããŸãïŒ
is_red(100)ãis_green(010)ãããã³is_blue(001)ã - ã©ãã«ãšã³ã³ãŒãã£ã³ã°ïŒåã«ããŽãªã«ãŠããŒã¯ãªæŽæ°ãå²ãåœãŠãããšã
- äŸãã°ãâredâ = 0ãâgreenâ = 1ãâblueâ = 2ã
- é åºãšã³ã³ãŒãã£ã³ã°ïŒã«ããŽãªã®é åºã«åºã¥ããŠæŽæ°ãå²ãåœãŠãããšã
- äŸãã°ãã«ããŽãªã âlowâãâmediumâãâhighâ ã®å Žåããããã¯ãããã0ã1ã2ãšããŠãšã³ã³ãŒãã§ããŸãã
- ããã·ã³ã°ãšã³ã³ãŒãã£ã³ã°ïŒããã·ã¥é¢æ°ã䜿çšããŠã«ããŽãªãåºå®ãµã€ãºã®ãã¯ãã«ã«å€æããããšãããã¯é«æ¬¡å ã®ã«ããŽãªå€æ°ã«åœ¹ç«ã¡ãŸãã
- äŸãã°ãç¹åŸŽãå€ãã®ãŠããŒã¯ãªã«ããŽãªãæã€å Žåãããã·ã³ã°ã¯æ¬¡å ãåæžãã€ã€ã«ããŽãªã«é¢ããæ å ±ãä¿æã§ããŸãã
- åèªã®è¢ïŒBoWïŒïŒããã¹ãããŒã¿ãåèªã®ã«ãŠã³ããŸãã¯é »åºŠã®è¡åãšããŠè¡šçŸããããšãåè¡ã¯ææžã«å¯Ÿå¿ããååã¯ã³ãŒãã¹å ã®ãŠããŒã¯ãªåèªã«å¯Ÿå¿ããŸãã
- äŸãã°ãã³ãŒãã¹ã« âcatâãâdogâãâfishâ ãšããåèªãå«ãŸããŠããå Žåãâcatâ ãš âdogâ ãå«ãææžã¯ [1, 1, 0] ãšããŠè¡šçŸãããŸãããã®ç¹å®ã®è¡šçŸã¯ âunigramâ ãšåŒã°ããåèªã®é åºãæããªããããæå³æ å ±ã倱ããŸãã
- ãã€ã°ã©ã /ãã©ã€ã°ã©ã ïŒBoWãæ¡åŒµããŠåèªã®ã·ãŒã±ã³ã¹ïŒãã€ã°ã©ã ãŸãã¯ãã©ã€ã°ã©ã ïŒãæããããã€ãã®æèãä¿æããŸããäŸãã°ãâcat and dogâ 㯠âcat andâ ã®ãã€ã°ã©ã [1, 1] ãš âand dogâ ã®ãã€ã°ã©ã [1, 1] ãšããŠè¡šçŸãããŸãããã®å Žåãããå€ãã®æå³æ å ±ãåéããïŒè¡šçŸã®æ¬¡å ãå¢å ïŒãåæã«2ãŸãã¯3åèªã®ã¿ã«å¯ŸããŠè¡ãããŸãã
- TF-IDFïŒçšèªé »åºŠ-éææžé »åºŠïŒïŒææžå ã®åèªã®éèŠæ§ãææžã®ã³ã¬ã¯ã·ã§ã³ïŒã³ãŒãã¹ïŒã«å¯ŸããŠè©äŸ¡ããçµ±èšçææšã§ããããã¯çšèªé »åºŠïŒåèªãææžã«åºçŸããé »åºŠïŒãšéææžé »åºŠïŒå šææžã«ãããåèªã®çšå°æ§ïŒãçµã¿åãããŸãã
- äŸãã°ãâcatâ ãšããåèªãææžå ã§é »ç¹ã«åºçŸããããã³ãŒãã¹å šäœã§ã¯çšã§ããå Žåããã®ææžã«ãããéèŠæ§ã瀺ãé«ãTF-IDFã¹ã³ã¢ãæã¡ãŸãã
-
ç¹åŸŽãšã³ãžãã¢ãªã³ã°ïŒæ¢åã®ç¹åŸŽããæ°ããç¹åŸŽãäœæããã¢ãã«ã®äºæž¬åãé«ããããšãããã«ã¯ç¹åŸŽã®çµåãæ¥ä»/æéã³ã³ããŒãã³ãã®æœåºããŸãã¯ãã¡ã€ã³ç¹æã®å€æã®é©çšãå«ãŸããå ŽåããããŸãã
ããŒã¿åå²
ããŒã¿åå²ã¯ãããŒã¿ã»ããããã¬ãŒãã³ã°ãæ€èšŒãããã³ãã¹ãã®ããã®å¥ã ã®ãµãã»ããã«åå²ããããšãå«ã¿ãŸããããã¯ãã¢ãã«ã®æªèŠããŒã¿ã«å¯Ÿããæ§èœãè©äŸ¡ããéåŠç¿ãé²ãããã«äžå¯æ¬ ã§ããäžè¬çãªæŠç¥ã«ã¯ïŒ
- ãã¬ã€ã³-ãã¹ãåå²ïŒããŒã¿ã»ããããã¬ãŒãã³ã°ã»ããïŒéåžžã¯ããŒã¿ã®60-80%ïŒããã€ããŒãã©ã¡ãŒã¿ã調æŽããããã®æ€èšŒã»ããïŒããŒã¿ã®10-15%ïŒãããã³ãã¹ãã»ããïŒããŒã¿ã®10-15%ïŒã«åå²ããŸããã¢ãã«ã¯ãã¬ãŒãã³ã°ã»ããã§èšç·Žããããã¹ãã»ããã§è©äŸ¡ãããŸãã
- äŸãã°ã1000ãµã³ãã«ã®ããŒã¿ã»ãããããå Žåã700ãµã³ãã«ããã¬ãŒãã³ã°ã«ã150ãæ€èšŒã«ã150ããã¹ãã«äœ¿çšããããšããããŸãã
- å±€åãµã³ããªã³ã°ïŒãã¬ãŒãã³ã°ã»ãããšãã¹ãã»ããã®ã¯ã©ã¹ã®ååžãå šäœã®ããŒã¿ã»ããã«äŒŒãŠããããšãä¿èšŒããŸããããã¯ãããã€ãã®ã¯ã©ã¹ãä»ã®ã¯ã©ã¹ãããèããå°ãªããµã³ãã«ãæã€äžåè¡¡ããŒã¿ã»ããã«ãšã£ãŠç¹ã«éèŠã§ãã
- æç³»ååå²ïŒæç³»åããŒã¿ã®å ŽåãããŒã¿ã»ããã¯æéã«åºã¥ããŠåå²ããããã¬ãŒãã³ã°ã»ããã«ã¯æ©ãææã®ããŒã¿ãå«ãŸãããã¹ãã»ããã«ã¯åŸã®ææã®ããŒã¿ãå«ãŸããŸããããã«ãããã¢ãã«ã®å°æ¥ã®ããŒã¿ã«å¯Ÿããæ§èœãè©äŸ¡ããã®ã«åœ¹ç«ã¡ãŸãã
- K-åå²äº€å·®æ€èšŒïŒããŒã¿ã»ãããKåã®ãµãã»ããïŒãã©ãŒã«ãïŒã«åå²ããã¢ãã«ãKåèšç·Žããååã§ç°ãªããã©ãŒã«ãããã¹ãã»ãããšããŠäœ¿çšããæ®ãã®ãã©ãŒã«ãããã¬ãŒãã³ã°ã»ãããšããŠäœ¿çšããŸããããã«ãããã¢ãã«ãç°ãªãããŒã¿ã®ãµãã»ããã§è©äŸ¡ãããæ§èœã®ããå ç¢ãªæšå®ãæäŸãããŸãã
ã¢ãã«è©äŸ¡
ã¢ãã«è©äŸ¡ã¯ãæªèŠããŒã¿ã«å¯Ÿããæ©æ¢°åŠç¿ã¢ãã«ã®æ§èœãè©äŸ¡ããããã»ã¹ã§ããããã¯ãã¢ãã«ãæ°ããããŒã¿ã«ã©ãã ãäžè¬åã§ããããå®éåããããã«ããŸããŸãªææšã䜿çšããŸããäžè¬çãªè©äŸ¡ææšã«ã¯ïŒ
粟床
粟床ã¯ãå šäœã®ã€ã³ã¹ã¿ã³ã¹ã®äžã§æ£ããäºæž¬ãããã€ã³ã¹ã¿ã³ã¹ã®å²åã§ããããã¯æ¬¡ã®ããã«èšç®ãããŸãïŒ
Accuracy = (Number of Correct Predictions) / (Total Number of Predictions)
Tip
粟床ã¯ã·ã³ãã«ã§çŽæçãªææšã§ãããããã¯ã©ã¹ãä»ã®ã¯ã©ã¹ãæ¯é ããäžåè¡¡ãªããŒã¿ã»ããã«ã¯é©ããªãå ŽåããããŸãããªããªããã¢ãã«ã®ããã©ãŒãã³ã¹ã«ã€ããŠèª€è§£ãæãå°è±¡ãäžããå¯èœæ§ãããããã§ããäŸãã°ãããŒã¿ã®90%ãã¯ã©ã¹Aã«å±ããã¢ãã«ããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ãã¯ã©ã¹AãšããŠäºæž¬ããå Žåã90%ã®ç²ŸåºŠãéæããŸãããã¯ã©ã¹Bãäºæž¬ããã®ã«ã¯åœ¹ç«ã¡ãŸããã
Precision
Precisionã¯ãã¢ãã«ãè¡ã£ããã¹ãŠã®æ£ã®äºæž¬ã®äžã§ãçã®æ£ã®äºæž¬ã®å²åã§ããæ¬¡ã®ããã«èšç®ãããŸã:
Precision = (True Positives) / (True Positives + False Positives)
Tip
粟床ã¯ãå»ç蚺æãè©æ¬ºæ€åºãªã©ãåœéœæ§ãé«äŸ¡ãŸãã¯æãŸãããªãã·ããªãªã«ãããŠç¹ã«éèŠã§ããããšãã°ãã¢ãã«ã100ä»¶ã®ã€ã³ã¹ã¿ã³ã¹ãéœæ§ãšäºæž¬ãããããã®ãã¡å®éã«éœæ§ã§ããã®ã¯80ä»¶ã ãã®å Žåã粟床ã¯0.8ïŒ80%ïŒã«ãªããŸãã
ãªã³ãŒã«ïŒæåºŠïŒ
ãªã³ãŒã«ã¯ãæåºŠãŸãã¯çéœæ§çãšãåŒã°ãããã¹ãŠã®å®éã®éœæ§ã€ã³ã¹ã¿ã³ã¹ã«å¯Ÿããçéœæ§äºæž¬ã®å²åã§ããããã¯æ¬¡ã®ããã«èšç®ãããŸãïŒ
Recall = (True Positives) / (True Positives + False Negatives)
Tip
ãªã³ãŒã«ã¯ãåœé°æ§ãé«ã³ã¹ããŸãã¯æãŸãããªãã·ããªãªãäŸãã°ç æ°æ€åºãã¹ãã ãã£ã«ã¿ãªã³ã°ã«ãããŠéèŠã§ããäŸãã°ãã¢ãã«ã100ã®å®éã®éœæ§ã€ã³ã¹ã¿ã³ã¹ã®ãã¡80ãç¹å®ããå Žåããªã³ãŒã«ã¯0.8ïŒ80%ïŒã«ãªããŸãã
F1ã¹ã³ã¢
F1ã¹ã³ã¢ã¯ã粟床ãšãªã³ãŒã«ã®èª¿åå¹³åã§ããã2ã€ã®ææšã®ãã©ã³ã¹ãæäŸããŸããèšç®åŒã¯æ¬¡ã®éãã§ãïŒ
F1 Score = 2 * (Precision * Recall) / (Precision + Recall)
Tip
F1ã¹ã³ã¢ã¯ãäžåè¡¡ãªããŒã¿ã»ãããæ±ãéã«ç¹ã«æçšã§ãããåœéœæ§ãšåœé°æ§ã®äž¡æ¹ãèæ ®ããŸããããã¯ã粟床ãšåçŸçã®ãã¬ãŒããªããæããåäžã®ææšãæäŸããŸããããšãã°ãã¢ãã«ã®ç²ŸåºŠã0.8ã§åçŸçã0.6ã®å ŽåãF1ã¹ã³ã¢ã¯çŽ0.69ã«ãªããŸãã
ROC-AUC (åä¿¡è åäœç¹æ§ - æ²ç·äžé¢ç©)
ROC-AUCã¡ããªãã¯ã¯ãããŸããŸãªéŸå€èšå®ã§çéœæ§çïŒæåºŠïŒãšåœéœæ§çãããããããããšã«ãã£ãŠãã¯ã©ã¹ãåºå¥ããã¢ãã«ã®èœåãè©äŸ¡ããŸããROCæ²ç·ã®äžã®é¢ç©ïŒAUCïŒã¯ãã¢ãã«ã®ããã©ãŒãã³ã¹ãå®éåãã1ã®å€ã¯å®ç§ãªåé¡ã瀺ãã0.5ã®å€ã¯ã©ã³ãã ãªæšæž¬ã瀺ããŸãã
Tip
ROC-AUCã¯ããã€ããªåé¡åé¡ã«ç¹ã«æçšã§ãããããŸããŸãªéŸå€ã«ãããã¢ãã«ã®ããã©ãŒãã³ã¹ã®å æ¬çãªãã¥ãŒãæäŸããŸããç²ŸåºŠã«æ¯ã¹ãŠã¯ã©ã¹ã®äžåè¡¡ã«å¯ŸããŠææã§ã¯ãããŸãããããšãã°ãAUCã0.9ã®ã¢ãã«ã¯ãæ£ã®ã€ã³ã¹ã¿ã³ã¹ãšè² ã®ã€ã³ã¹ã¿ã³ã¹ãåºå¥ããèœåãé«ãããšã瀺ããŠããŸãã
ç¹ç°åºŠ
ç¹ç°åºŠïŒçé°æ§çãšãåŒã°ããïŒã¯ããã¹ãŠã®å®éã®è² ã®ã€ã³ã¹ã¿ã³ã¹ã®äžã§çé°æ§äºæž¬ã®å²åã§ããããã¯æ¬¡ã®ããã«èšç®ãããŸãïŒ
Specificity = (True Negatives) / (True Negatives + False Positives)
Tip
ç¹ç°æ§ã¯ãåœéœæ§ãé«ã³ã¹ããŸãã¯æãŸãããªãã·ããªãªãäŸãã°å»çãã¹ããè©æ¬ºæ€åºã«ãããŠéèŠã§ããããã¯ãã¢ãã«ããã¬ãã£ããªã€ã³ã¹ã¿ã³ã¹ãã©ãã ãããŸãç¹å®ã§ããããè©äŸ¡ããã®ã«åœ¹ç«ã¡ãŸããäŸãã°ãã¢ãã«ã100ã®å®éã®ãã¬ãã£ãã€ã³ã¹ã¿ã³ã¹ã®ãã¡90ãæ£ããç¹å®ããå Žåãç¹ç°æ§ã¯0.9ïŒ90%ïŒã«ãªããŸãã
Matthews Correlation Coefficient (MCC)
Matthews Correlation Coefficient (MCC)ã¯ããã€ããªåé¡ã®è³ªãæž¬ãææšã§ããããã¯ãçéœæ§ãšåœéœæ§ãçé°æ§ãšåœé°æ§ãèæ ®ããã¢ãã«ã®ããã©ãŒãã³ã¹ã®ãã©ã³ã¹ã®åããèŠæ¹ãæäŸããŸããMCCã¯æ¬¡ã®ããã«èšç®ãããŸã:
MCC = (TP * TN - FP * FN) / sqrt((TP + FP) * (TP + FN) * (TN + FP) * (TN + FN))
where:
- TP: çéœæ§
- TN: çé°æ§
- FP: åœéœæ§
- FN: åœé°æ§
Tip
MCCã¯-1ãã1ã®ç¯å²ã§ã1ã¯å®ç§ãªåé¡ã瀺ãã0ã¯ã©ã³ãã ãªæšæž¬ã瀺ãã-1ã¯äºæž¬ãšèгå¯ã®éã®å®å šãªäžäžèŽã瀺ããŸããããã¯ããã¹ãŠã®4ã€ã®æ··åè¡åã®èŠçŽ ãèæ ®ãããããç¹ã«äžåè¡¡ãªããŒã¿ã»ããã«åœ¹ç«ã¡ãŸãã
å¹³å絶察誀差 (MAE)
å¹³å絶察誀差 (MAE) ã¯ãäºæž¬å€ãšå®éã®å€ã®éã®å¹³åçµ¶å¯Ÿå·®ãæž¬å®ããååž°ææšã§ããèšç®åŒã¯æ¬¡ã®ããã«ãªããŸã:
MAE = (1/n) * Σ|y_i - ŷ_i|
where:
- n: ã€ã³ã¹ã¿ã³ã¹ã®æ°
- y_i: ã€ã³ã¹ã¿ã³ã¹ i ã®å®éã®å€
- Å·_i: ã€ã³ã¹ã¿ã³ã¹ i ã®äºæž¬å€
Tip
MAE ã¯äºæž¬ã®å¹³åèª€å·®ã®æç¢ºãªè§£éãæäŸããçè§£ãããããªã£ãŠããŸããä»ã®ææšãäŸãã°å¹³åäºä¹èª€å·® (MSE) ã«æ¯ã¹ãŠå€ãå€ã«å¯ŸããŠææã§ã¯ãããŸãããäŸãã°ãã¢ãã«ã® MAE ã 5 ã®å Žåãå¹³åããŠã¢ãã«ã®äºæž¬ã¯å®éã®å€ãã 5 ãŠããããããŠããããšãæå³ããŸãã
æ··åè¡å
æ··åè¡åã¯ãçéœæ§ãçé°æ§ãåœéœæ§ãåœé°æ§ã®äºæž¬ã®ã«ãŠã³ãã瀺ãããšã«ãã£ãŠãåé¡ã¢ãã«ã®ããã©ãŒãã³ã¹ãèŠçŽãã衚ã§ããã¢ãã«ãåã¯ã©ã¹ã§ã©ãã ãããŸãæ©èœããŠãããã®è©³çްãªãã¥ãŒãæäŸããŸãã
| äºæž¬éœæ§ | äºæž¬é°æ§ | |
|---|---|---|
| å®éã®éœæ§ | çéœæ§ (TP) | åœé°æ§ (FN) |
| å®éã®é°æ§ | åœéœæ§ (FP) | çé°æ§ (TN) |
- çéœæ§ (TP): ã¢ãã«ãæ£ããéœæ§ã¯ã©ã¹ãäºæž¬ããŸããã
- çé°æ§ (TN): ã¢ãã«ãæ£ããé°æ§ã¯ã©ã¹ãäºæž¬ããŸããã
- åœéœæ§ (FP): ã¢ãã«ã誀ã£ãŠéœæ§ã¯ã©ã¹ãäºæž¬ããŸãã (ã¿ã€ã I ãšã©ãŒ)ã
- åœé°æ§ (FN): ã¢ãã«ã誀ã£ãŠé°æ§ã¯ã©ã¹ãäºæž¬ããŸãã (ã¿ã€ã II ãšã©ãŒ)ã
æ··åè¡åã¯ã粟床ãé©åçãåçŸçãF1 ã¹ã³ã¢ãªã©ã®ããŸããŸãªè©äŸ¡ææšãèšç®ããããã«äœ¿çšã§ããŸãã
Tip
AWSãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training AWS Red Team Expert (ARTE)
GCPãããã³ã°ãåŠã³ãå®è·µããïŒHackTricks Training GCP Red Team Expert (GRTE)
Azureãããã³ã°ãåŠã³ãå®è·µããïŒ
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksããµããŒããã
- ãµãã¹ã¯ãªãã·ã§ã³ãã©ã³ã確èªããŠãã ããïŒ
- **ð¬ Discordã°ã«ãŒããŸãã¯ãã¬ã°ã©ã ã°ã«ãŒãã«åå ããããTwitter ðŠ @hacktricks_liveããã©ããŒããŠãã ããã
- HackTricksããã³HackTricks Cloudã®GitHubãªããžããªã«PRãæåºããŠãããã³ã°ããªãã¯ãå ±æããŠãã ããã


