ACL이란 무엇인가?
회사 건물에 들어갈 때, 경비원이 “누가 어떤 방에 들어갈 수 있는지” 적힌 명부를 가지고 있다고 생각해보자.
- ACL (Access Control List): 그 명부 전체를 말한다. “이 방(객체)에는 누가 들어올 수 있다”는 규칙의 집합.
- ACE (Access Control Entry): 명부에 적힌 한 줄 한 줄의 기록. (예: “철수는 이 방에 들어올 수 있음”, “영희는 이 방의 비밀번호를 바꿀 수 있음”)
두 가지 종류의 ACL
- DACL (Discretionary): “누가 허용되고 누가 거부되는가?”를 결정한다.
- SACL (System): “누가 들어오려고 했는지 기록을 남길 것인가?”를 결정한다.
왜 공격자에게 중요한가?
보통 기업들은 보안을 위해 중요한 파일이나 계정에 잠금장치를 잘 해둔다. 하지만 ACL 설정 실수는 눈에 잘 띄지 않는다. 만약 설정이 잘못되어서 일반 직원인 ‘나’에게 관리자 계정의 “비밀번호를 바꿀 권한”이 있다면 나는 관리자의 비밀번호를 내 맘대로 바꾸고 관리자 권한을 뺏어올 수 있게 된다.
대표적인 ACL 공격 유형
공격자가 특정 계정이나 그룹에 대한 다음 권한을 가지고 있으면 여러 공격 진행이 가능하다.
- ForceChangePassword
- GenericAll
- GenericWrite
- AddSelf
- and More.