Skip to main content
NetApp Ransomware Resilience
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

NetApp Ransomware Resilience에서 악의적인 사용자 행동 시뮬레이션

기여자 netapp-ahibbard

NetApp Ransomware Resilience에서 사용자 활동 모니터링을 구성할 때 테스트 스크립트를 실행하여 의심스러운 사용자 행동 이벤트를 시뮬레이션할 수 있습니다.

이 스크립트는 알려진 사용자가 수행하는 암호화 기반 랜섬웨어 공격을 시뮬레이션하도록 설계되었습니다. 추가 명령어를 사용하면 데이터 유출 또는 데이터 파괴 공격도 시뮬레이션할 수 있습니다.

스크립트 정보

테스트 스크립트는 컴퓨터에서 사용자 활동 모니터링을 활성화하면 사용할 수 있습니다. 이 스크립트는 셸 또는 Python으로 실행할 수 있습니다.

데이터 수집기를 생성한 스토리지 VM의 볼륨에서 스크립트를 실행해야 합니다. 스크립트는 여러 하위 디렉터리에 최소 100개 이상의 파일이 포함된 테스트 데이터 볼륨에서 실행해야 합니다. 이러한 파일은 스크립트를 사용하여 프로그래밍 방식으로 생성할 수 있습니다. 테스트 데이터를 생성하기 전에 데이터 수집기를 일시 중지하고 생성 후 다시 시작하십시오.

고려 사항

  • 이 스크립트는 사용자 암호화 이벤트를 시뮬레이션합니다. Linux 시스템에서만 실행할 수 있습니다.

  • 시스템에서 NFSv4.1을 사용하는 경우 ONTAP 9.15.1 이상 버전을 실행해야 합니다.

  • 해당 스크립트는 셸 스크립트 또는 Python으로 실행할 수 있습니다.

    참고 Python 스크립트를 실행하는 방법은 [전제 조건]가지입니다.

시작하기 전에

테스트를 진행하려는 시스템에 "데이터 수집기"을(를) 생성해야 합니다. 이를 위해서는 사용자 활동 에이전트를 생성한 다음 의심스러운 사용자 행동 탐지 기능을 포함한 랜섬웨어 방지 전략을 활성화해야 합니다.

파이썬 스크립트 요구 사항

Python 스크립트를 실행하려면 다음이 필요합니다.

팁 다음 명령어를 사용하여 Python 버전을 확인할 수 있습니다 python --version. 다음 명령어를 사용하여 pip 설치를 테스트할 수 있습니다 pip --version. 다음 명령어를 사용하여 PyCryptodome 설치를 테스트할 수 있습니다 pip show pycryptodome.

암호화 이벤트 시뮬레이션

시스템 준비
  1. 샘플 파일이 생성될 타겟 볼륨을 Linux 시스템에 마운트합니다. NFS 또는 CIFS 내보내기를 마운트할 수 있습니다.

    NFS
    mount -t nfs -o vers=4.0 <SVM_data_LIF_IP>:/<export_path>/<mountPoint>
    mount -t nfs -o vers=4.0 <SVM_data_LIF_IP>:/<export_path>/<destinationLinuxFolder>
    CIFS
    mount -t cifs //<SVM_data_LIF_IP>/<share_name> /root/destinationfolder/ -o username=<username>
  2. "타겟 볼륨"을(를) 보호하세요.

  3. 데이터 수집기를 일시 중지합니다.

    Ransomware Resilience에서 설정을 선택한 다음 사용자 감지 모니터링 타일에서 관리를 선택합니다. 데이터 수집기 탭에서 스토리지 VM용 데이터 수집기를 선택한 다음 일시 중지를 선택합니다.

  4. 암호화할 파일을 추가하세요. 암호화할 파일을 대상 폴더 또는 볼륨에 수동으로 복사하거나, 제공된 스크립트 중 하나를 사용하여 프로그램을 통해 파일을 생성할 수 있습니다. 최소 100개의 파일을 추가해야 합니다.

    프로그램을 이용하여 파일을 생성하려면:

    Shell
    1. 사용자 활동 에이전트가 실행 중인 호스트에 로그인합니다.

    2. 파일러의 스토리지 VM에서 사용자 활동 에이전트가 실행되는 시스템으로 NFS 또는 CIFS 공유를 마운트합니다. 테스트할 적절한 볼륨으로 작업 디렉터리를 변경합니다.

    3. 사용자 디렉터리 에이전트 설치 디렉터리에서 스크립트를 대상 마운트 위치로 복사합니다.

      cp <AGENT_INSTALL_DIR>/agent/install/ransomware_simulation/shell/create_dataset.sh
    4. 마운트된 디렉터리 내의 스크립트를 사용하여 ./create_dataset.sh 명령을 실행하면 테스트 데이터셋 폴더와 파일이 생성됩니다. 이 명령은 마운트된 폴더 내의 "test_dataset"이라는 디렉터리에 서로 다른 확장자를 가진 100개의 (비어 있지 않은) 파일을 생성합니다.

    Python
    1. 사용자 활동 에이전트가 실행 중인 호스트에 로그인합니다.

    2. 파일러의 스토리지 VM에서 사용자 활동 에이전트가 실행되는 시스템으로 NFS 또는 CIFS 공유를 마운트합니다. 테스트할 적절한 볼륨으로 작업 디렉터리를 변경합니다.

    3. 사용자 디렉터리 에이전트 설치 디렉터리에서 타겟 볼륨으로 스크립트를 복사합니다.

      cp <AGENT_INSTALL_DIR>/agent/install/ransomware_simulation/python/create_dataset.py
    4. 테스트 데이터셋을 생성합니다. python create_dataset.py.

      이 명령은 마운트된 폴더 내의 "test_dataset"이라는 디렉터리에 서로 다른 확장자를 가진 100개의 (비어 있지 않은) 파일을 생성합니다.

  5. 수집기를 재개합니다.

    Ransomware Resilience에서 설정을 선택한 다음 사용자 감지 모니터링 타일에서 관리를 선택합니다. 데이터 수집기 탭에서 스토리지 VM에 대한 데이터 수집기를 선택한 다음 재개를 선택합니다.

공격 시뮬레이션

+

Shell
  1. 에이전트 설치 디렉터리에서 타겟 마운트 위치로 스크립트를 복사합니다: <AGENT_INSTALL_DIR>/agent/install/ransomware_simulation/shell/simulate_attack.sh.

  2. 마운트된 디렉터리에서 스크립트를 실행하여 테스트 데이터 세트를 암호화하십시오: ./simulate_attack.sh

Python
  1. 에이전트 설치 디렉터리에서 타겟 마운트 위치로 스크립트를 복사합니다: <AGENT_INSTALL_DIR>/agent/install/ransomware_simulation/shell/simulate_attack.py.

  2. "test_dataset"의 데이터를 암호화하는 스크립트를 실행합니다: python simulate_attack.py

Ransomware Resilience에서 추가 알림 생성

Ransomware Resilience는 사용자 행동에 맞춰 조정되므로, 사용자가 24시간 이내에 동일한 데이터에 대해 동일한 작업을 반복하더라도 추가 경고가 생성되지 않습니다. 즉, 데이터를 다시 암호화한다고 해서 추가 경고가 발생하는 것은 아닙니다. 추가 경고를 생성하려면 테스트 데이터를 다시 생성한 후 암호화하는 과정을 반복해야 합니다.

데이터 유출 및 데이터 파괴 경보 시뮬레이션

Ransomware Resilience는 데이터 유출 또는 데이터 파괴 이벤트 시뮬레이션도 지원합니다.

참고 사용자 알림이 등록되려면 해당 사용자가 시스템에서 7일 이상 활동 상태여야 합니다.
단계
  1. 보호된 볼륨을 마운트합니다.

    sudo mount -t nfs -o rw,hard,nfsvers=4.0,proto=tcp,noac,actimeo=0,lookupcache=none <SVM_data_LIF_IP>:/<export_path> /root/<volume>
  2. 데이터 수집기를 일시 중지합니다.

    Ransomware Resilience에서 설정을 선택한 다음 사용자 감지 모니터링 타일에서 관리를 선택합니다. 데이터 수집기 탭에서 스토리지 VM용 데이터 수집기를 선택한 다음 일시 중지를 선택합니다.

  3. 데이터 세트를 생성합니다. 이 명령은 5,000개의 파일로 구성된 데이터 세트를 생성합니다.

    mkdir -p ./data5k; seq -w 1 5000 | xargs -n1 -P2 -I{} bash -c 'sz=$((RANDOM%16+5)); LC_ALL=C tr -dc "A-Za-z0-9\n" < /dev/urandom | head -c "$((sz*1024))" > ./data5k/file_{}.txt'
  4. 데이터 수집기에서 작업을 재개합니다.

    Ransomware Resilience에서 설정을 선택한 다음 사용자 감지 모니터링 타일에서 관리를 선택합니다. 데이터 수집기 탭에서 스토리지 VM에 대한 데이터 수집기를 선택한 다음 재개를 선택합니다.

  5. 일괄 읽기를 수행합니다.

    1. 캐시를 지우십시오:

      sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null
    2. 데이터 유출을 시뮬레이션하기 위해 모든 파일에 대해 읽기 작업을 수행합니다.

      find ./data5k -type f -print0 | xargs -0 -n1 -P4 -I{} dd if={} of=/dev/null bs=1M iflag=direct status=none
  6. 데이터 유출 경고가 나타날 때까지 기다리세요. "알림 대시보드"에서 경고의 존재를 확인하고 경고의 세부 정보를 조사할 수 있습니다.

  7. 알림에서 원하는 정보를 확인한 후 데이터를 삭제하세요.

     sudo setpriv --reuid 60001 --regid 60001 --groups 60001 bash -lc 'id -u; id -g; id -G; rm -rf ./data5k'