Infosec403

음.txt

3.65 KB · text/plain · 업로드 2026-07-13 17:41

A09: Security Logging and Monitoring Failures
보안 로깅 및 모니터링 실패
: 누군가 서버를 해킹하기 위해 수백 번의 에러를 발생시켜도, 이를 기록(로그)으로 남기지 않아 해킹 당한 사실조차 모르게 되는 심각한 관리적 결함

핵심 보안 용어 가이드
감사 로그 (Audit Log): 누가, 언제, 어디서, 무엇을 했는지 시스템에 일어난 모든 중요 사건을 꼼꼼하게 기록해 둔 블랙박스입니다.
SIEM: 흩어져 있는 수많은 시스템의 로그를 한곳에 모아서 인공지능으로 실시간 해킹 징후를 찾아내는 보안 관제 시스템입니다.


CWE-117: Improper Output Neutralization for Logs
CWE-223: Omission of Security-relevant Information

function login($userName,$password){
	if(authenticate($userName,$password)){
		return True;
	}
	else{
		incrementLoginAttempts($userName);
		if(recentLoginAttempts($userName) > 5){
		writeLog("Failed login attempt by User: " . $userName . " at " + date('r') );
		}
	}
}


CWE-778: Insufficient Logging
	보안상 중요한 이벤트가 발생했을 때, 제품은 해당 이벤트를 기록하지 않거나, 기록 시 이벤트에 대한 중요한 세부 정보를 누락합니다.
        
로그인 시도 실패와 같은 보안에 중요한 이벤트가 제대로 기록되지 않으면 악의적인 행위를 탐지하기가 더 어려워지고 공격 성공 후 포렌식 분석이 어려워질 수 있습니다.

조직에서 클라우드 스토리지 리소스를 도입함에 따라, 상세 로깅에는 추가 비용이 발생할 수 있으므로 상세 로깅 정보를 활성화하기 위해 구성 변경이 필요한 경우가 많습니다. 이로 인해 중요한 감사 로그에 원격 측정 데이터가 누락될 수 있습니다. 예를 들어 Azure에서는 로깅의 기본값이 비활성화되어 있습니다.


<시스템.서비스모델>
<행동>
<서비스 동작>
<행동 이름="NewBehavior">
<serviceSecurityAudit auditLogLocation="Default"
suppressAuditFailure="false"
serviceAuthorizationAuditLevel="None"
messageAuthenticationAuditLevel="None" />
...
</system.serviceModel>


--> 특정 문제에 대한 값은 있으나 분류의 기준(예:IP)를 남기지 않음




LoginUser()인 경우
// 로그인 성공
RunProgram();
} 또 다른 {
// 로그인 실패
LoginRetry();
}

==> 개선 : 로그인 실패 시 로그를 기록

LoginUser()인 경우
// 로그인 성공
log.warn("사용자 로그인 성공.");
RunProgram();
} 또 다른 {
// 로그인 실패
log.warn("사용자의 로그인 시도가 실패했습니다. 다시 시도합니다.");
LoginRetry();
}




distribute-list
	분배 리스트
특정 IP 대역의 광고를 차단한다.

conf t
router rip
passive-interface s1/0 (s1/0 (특정 인터페이스)의 라우팅 테이블 업데이트를 차단하겠다.)

passive-interface default (기본적으로 모든 인터페이스를 차단한다.)

no passive-interface s1/0 (rip 정보를 보내는데 있어서 s1/0 인터페이스를 허용한다)



R1(config)#access-list 1 deny 1.1.2.0 0.0.0.255
R1(config)#access-list 1 permit any


offset-list
	오프셋 리스트
특정 네트워크의 metric을 증가시킨다.

R1(config)#access-list 2 permit 1.1.3.0 0.0.0.255
R1(config)#router rip
R1(config-router)#offset-list 2 out 5 s1/0


redistribute
	재분배 리스트
서로 다른 프로토콜의 정보를 변환해서 전달한다.

R2 <-- 기본적으로 서로 다른 프로토콜 모두를 알고 있어야 한다.
	번역의 개념 

R2(config)#router rip
R2(config-router)#redistribute connected metric 3