과제

프로젝트 주제 제시 - 동적 권한 관리 시스템 프로젝트

ilsancityboy 2024. 9. 13. 01:14
 

동적 권한 관리 시스템 프로젝트 정리

 

 

 

 

프로젝트 주제: 동적 권한 관리 시스템 개발

  • 목적: 실시간으로 사용자의 상황에 따라 자동으로 권한을 부여하고 회수하는 시스템을 구축하여 보안을 강화하고 개인정보 유출을 방지.
  • 핵심 기능:
    • 상황 기반 권한 부여: 사용자의 위치, 시간, 네트워크 상태, 행동 패턴에 따라 권한이 자동으로 조정.
    • AI 기반 이상 행위 탐지: 사용자의 비정상적인 행동을 감지하고 즉각적으로 권한을 제한.
    • 실시간 모니터링 및 경고: 권한 변경 상황을 실시간으로 추적하고 이상 행동 감지 시 경고 알림 발송.

구현 방법 및 역할 분담 (6명, 1개월)

  1. 총괄(1명):
    • 팀 간 커뮤니케이션 및 일정 관리.
    • 프로젝트 전반적인 진행 상황 모니터링 및 통합.
      +@ 발표 및 ppt
  2. 백엔드 개발팀(2명):
    • 백엔드 API 개발: 권한 부여 및 회수 기능.
    • 데이터베이스 설계 및 연동: 사용자 정보 및 로그 기록 관리.
  3. AI 모델 개발팀(2명):
    • 이상 행위 탐지 모델: 사용자 로그 수집 및 AI 학습 모델 설계.
    • 데이터 수집 및 분석: 사용자 행동 패턴 분석 및 모델 최적화.
  4. 프론트엔드 개발자(1명):
    • UI 개발: 사용자에게 실시간 권한 상태를 시각적으로 보여주고, 알림 기능 구현.


1. 이미 상용화된 솔루션이 있는데, 왜 여러분의 프로젝트를 사용해야 하나요?

답변:
상용화된 솔루션도 존재하지만, 우리의 프로젝트는 특정 환경에 맞춰 더 유연하고 상황에 적합한 권한 관리를 제공
기존 솔루션들은 정적인 역할 기반 접근 제어를 주로 제공하는데, 이는 사용자가 항상 고정된 권한을 가지고 있음.
우리의 시스템은 사용자의 **실시간 상황(위치, 네트워크 상태, 행동 패턴)**에 맞춰 권한을 자동으로 부여하거나 제한할 수 있음.
예를 들어, 사용자가 회사 네트워크 외부에서 접속하거나, 비정상적인 패턴으로 데이터를 요청할 경우, 우리의 시스템은 즉각적으로 권한을 조정하여 보안 위험을 최소화할 수 있습니다.

2. DAC(임의 접근 제어)만으로도 충분하지 않나요?

답변: DAC는 고정된 권한 관리로, 사용자가 파일 소유자의 허가에 따라 권한을 부여받지만, 실시간으로 권한을 동적으로 변경하는 기능은 제공하지 않음.
특히, 내부 위협이 증가하는 현대의 복잡한 환경에서는 고정된 권한으로는 충분하지 않습니다.
+ 추가자료
https://www.itworld.co.kr/news/254998

데이터 유출 사고 10%는 '내부 직원' 때문에 발생...“클라우드 사용, 퇴사자 관리 잘해야”

내부 직원은 기업 보안팀이 관리하기 쉽지 않은 위협 요인이다. 거기다 최근에는 퇴사자가 민감 정보를 경쟁 기업에 넘기거나, 해커에게 돈을 받고

www.itworld.co.kr

우리의 시스템은 상황 기반으로 실시간 권한 조정을 할 수 있고,
이를 통해 이상 행동 감지 보안 위협 시 즉각적인 대응이 가능함.
또한, 내부 직원이 퇴사한 후에도 계정을 유지하거나, 퇴사 전 민감한 데이터를 유출하는 등의 문제를 동적 권한 관리를 통해 예방할 수 있음
예를들어 퇴사하거나 이직한 직원이 사용하던 계정을 재사용하여 서버내에 들어와도 자동으로 권한이 낮춰져있는 기능덕에 피해를 최소화 할 수 있음.

3. 만약 계정이 탈취되어 공격자가 권한을 가진 상태라면 어떻게 대처하나요?

답변:
계정 탈취 시에도, 우리의 시스템은 실시간 이상 행위 탐지를 통해 비정상적인 행동을 감지하고, 즉각적으로 권한을 제한하거나 경고를 발송.
또한, 계정 탈취 자체를 방지하기 위한  세션 기반 제한 등을 통해, 공격자가 계정을 탈취하더라도 데이터를 즉각적으로 접근하거나 악용할 시간을 최소화할 수 있습니다.
예를 들어, 사용자가 평소 접속하지 않던 새로운 위치나 장치에서 로그인 시도가 있을 경우, 자동으로 권한을 제한하는 방식으로 대응함.
 

4. 권한이 변경되면 서버를 재부팅해야 적용이 되는걸로 아는데 
각기 다른 사용자들이 접속할때마다 재부팅을 할 수 없지 않나요?

 

  • 그룹별 권한 관리:
    • 각 그룹에 사전 정의된 권한이 부여되어 있으므로, 사용자가 접속하거나 로그인시 해당 사용자에 맞는 그룹으로 이동시켜 권한이 적용됨
    • 사용자가 그룹 간 이동할 때, 세션 관리실시간 권한 확인 기능을 통해 새로운 그룹에 속한 권한이 즉시 반영될 수 있음.
  • 실시간 권한 반영:
    • 사용자가 새로운 그룹에 속하게 되면, 해당 그룹의 권한이 서버에 실시간으로 반영. 이를 위해 세션이나 **토큰 기반 인증(JWT)**에서 그룹 변경을 감지하여 즉시 권한을 조정할 수 있음.
    • 권한은 DB 또는 캐시에서 그룹별로 관리되므로, 사용자가 그룹을 옮길 때 세션을 새로 생성하거나 기존 세션을 업데이트하여 새로운 권한이 적용.
  • 구현 예시:
    • 그룹 변경 시 서버는 사용자의 그룹 정보만 업데이트. 예를 들어, 사용자가 “일반 사용자 그룹”에서 “관리자 그룹”으로 이동하면, 그에 따른 권한이 즉시 반영되어 새로운 요청부터는 관리자 권한으로 작동하게 됨

5. 이미 상용화된 동적 권한 관리 시스템을 쓰면 되지않나요? 이 프로젝트가 만든 시스템을 사용해야할 이유가 있나요?

1.비용 효율성

  • 상용 솔루션: AWS IAM, Azure AD, Okta 등 대부분의 상용 솔루션은 구독 기반 요금제 또는 사용량에 따라 비용이 발생함. 특히, 클라우드 환경에서 리소스 사용량에 따라 요금이 변동되기 때문에 사용량이 많아지면 비용이 상당히 증가함. 

2.클라우드 환경 의존도 최소화

  • 상용 솔루션: 대부분의 상용 솔루션(예: AWS IAM, Azure AD)은 클라우드 환경에 최적화되어 있음. 따라서 온프레미스 환경(자체 서버나 로컬 네트워크 기반 시스템)에서 활용하려면 별도의 설정과 복잡한 연동 작업이 필요할 수 있음

+ 이 외 차별점 생각해 낼 예정...
 
 

6. 내부자 위협에 대한 구체적인 사례가 있나요?

답변
https://www.itworld.co.kr/news/254998

데이터 유출 사고 10%는 '내부 직원' 때문에 발생...“클라우드 사용, 퇴사자 관리 잘해야”

내부 직원은 기업 보안팀이 관리하기 쉽지 않은 위협 요인이다. 거기다 최근에는 퇴사자가 민감 정보를 경쟁 기업에 넘기거나, 해커에게 돈을 받고

www.itworld.co.kr

 
https://m.boannews.com/html/detail.html?idx=101245&page=5

[주말판] 내부자 위협의 파괴력을 보여주는 최근 사례 10

해킹 공격에 대해 방비한다고 했을 때 보통은 외부의 적대적 세력을 염두에 두고 일을 진행한다. 하지만 진짜 큰 사고들 중 상당수는 내부에서부터 시작한다. 매년 내부자 때문에 생기는 피해는

m.boannews.com

"해고가 됐는데, 이에 앙심을 품고 이 직원은 밖에서 회사의 배송 관리 시스템에 접속했다. 해고 직전에 미리 만들어 둔 가짜 관리자 계정을 활용했던 것이다. 그는 이 가짜 계정으로 회사의 물품 배송과 주문을 계속해서 늦추는 등의 행위"
- 이또한 동적 권한 관리가 힘이 실리는 말.
 

https://zdnet.co.kr/view/?no=20220821030134

"퇴사 전 데이터 유출? 내부자 위협 관리 솔루션에 딱 걸린다"

지난해 말 미국 제약회사 화이자는 백신 개발 관련 기밀 데이터를 훔친 것으로 의심되는 내부 직원을 고소했다. 고소 당한 사람은 화이자에서 15년간 근무한 이사급 직원으로, 다른 제약사로 이

zdnet.co.kr

프루프포인트의 '내부자 위협 관리(ITM) 솔루션 덕이 크다. 이 직원은 회사 중역으로 모니터링 대상이었고, 그가 회사 노트북에서 1만2천개의 파일을 개인 클라우드로 옮기자 시스템이 위협 행위로 탐지했었다.
이러한 사례들은 내부자가 퇴사 후에도 기존의 권한을 이용하여 데이터를 유출하는 문제를 보여줍니다. 우리의 동적 권한 관리 시스템은 퇴사자의 권한을 자동으로 회수하고, 이상 행위 탐지를 통해 이러한 위협을 줄일 수 있음.
( 프루프포인트 사례에서는 직원이 대용량 파일을 한 번에 옮기려 했기 때문에 탐지 되었다. 헌데 만약 조금씩 장기적으로 데이터를 빼내갔다면 탐지를 못할 수 있었단 것인데 우리의 프로젝트는 권한 자체가 자동적으로 낮춰져 있기 때문에 데이터자체를 빼내지 못하게하는게 중점이다.
 
 
 
 

내부자 위협을 효과적으로 관리하려면, 정적인 권한 관리만으로는 충분하지 않습니다.
 
 


동적 권한 관리의 핵심

  • 실시간 상황 기반으로 권한을 조정하는 것이 핵심입니다. 사용자의 위치, 네트워크 상태, 행동 패턴 등 다양한 조건을 분석해 권한을 부여하고 회수.
  • 세션 시간에 따른 자동 권한 조정:
    • 사용자가 시스템에 접속한 세션이 일정 시간이 지나면 자동으로 종료되며, 이에 따라 권한이 자동으로 회수됩니다. 이를 통해 사용자가 시스템에 장시간 비활성화 상태로 남아 있을 경우, 보안 위협을 방지.
      +업무 시간에 따른 권한 부여 및 제한:
      사용자가 근무 시간 외에 시스템에 접속할 경우, 권한이 자동으로 낮아지거나 제한
  • 내부자가 퇴사 전이나 직후에 권한이 자동으로 제한되거나 낮아진다면, 작은 파일을 지속적으로 빼돌리는 시도조차 차단됩니다. (사례중 프루프포인트로 대용량 파일을 옮기려 했던걸 잡아낸 사례, 반대로 작고 지속적으로 옮기려했다면? => 우리 프로젝트가 좀더 힘이 실리는 이유)

 


대략적인 구현 방법

사용자 권한 관리 및 부여 시스템

  • 백엔드에서의 권한 부여/제거 API:
    • 사용자 로그인 시 특정 상황(예: 위치, 시간대, 네트워크 상태)에 따라 권한을 부여 또는 제한.
    • 권한은 사용자 로그 데이터를 기반으로 동적으로 조정되며, 퇴사자나 비정상적인 접근 시 권한이 자동으로 낮아지도록 설정.

 

  • 상황 기반 권한 조정
    • 사용자의 위치, 네트워크 상태, 시간대에 따른 동적 권한 조정.
      • 예를 들어, 사용자가 회사 내부 네트워크에서 접속하는 경우와 외부 네트워크에서 접속하는 경우 권한을 다르게 부여.
      • 이를 구현하기 위해, 사용자의 현재 **위치 정보(IP 주소, VPN 정보 등)**와 네트워크 상태를 실시간으로 확인하고 권한을 자동으로 제한.
  • AI 기반 이상 행위 탐지 (옵션)
  • 실시간 권한 모니터링 및 알림 시스템 - > 비정상적인 권한 변경이 발생할 경우 관리자에게 경고 알림을 발송.

구체적인 기술
 
백엔드:

  • Node.js 또는 **Python(Flask, Django)**를 사용하여 권한 관리 API 서버 구축.
  • REST API (웹 통신 서비스 방) 또는 GraphQL ( 클라이언트가 정확히 필요한 데이터만 요청할 수 있게 하는 방식)을 사용하여 클라이언트와 백엔드 간 통신을 처리.

데이터베이스:

  • MySQL 또는 MongoDB로 사용자 정보, 권한 이력 및 로그 데이터 저장.
  •  

 
 
AI 모델(이상 행위 탐지) - 옵션
 
프론트엔드:

  • React.js 또는 Vue.js를 사용해 사용자 인터페이스(UI)를 개발하고 실시간 권한 상태를 표시.
  • 권한 변경 사항에 대한 실시간 피드백을 제공하여 사용자가 현재 권한 상태를 쉽게 확인할 수 있도록 함.

 
실시간 알림:

  • WebSocket을 활용하여 권한 변경 시 즉각적인 알림을 사용자와 관리자에게 전송.

시스템 흐름도 예시
 
 

  • 사용자가 로그인 시, 백엔드에서 위치, 네트워크 상태 등 상황 정보를 확인.
  • 권한이 상황에 맞게 자동으로 부여되며, 필요 시 AI가 이상 행위를 탐지.
  • 실시간 모니터링 시스템이 권한 변경 사항을 감지하고, 문제가 발생하면 즉시 관리자에게 경고 알림을 보냄.
  • 권한은 자동으로 조정되어, 사용자 퇴사나 비정상적인 상황에서도 중요한 데이터를 보호.

++++)

'과제' 카테고리의 다른 글

HTTP / HTTPS (SSL,TLS)  (0) 2023.10.14
VMC 패턴  (0) 2023.09.30
코드펜 (codepen) 활용  (0) 2023.09.11
JS (Javascript) 기본 구조  (0) 2023.09.10
HTML , CSS 로 메인 페이지와 로그인 페이지 만들기  (0) 2023.09.09