문서API 참조
Documentation

결과 프로파일

소개

결과 프로필을 사용하면 하나 이상의 호스트에서 스캔 결과를 자동 화이트리스트 또는 드리프트 감지에 사용할 수 있습니다. 프로필은 생성된 호스트 또는 다른 호스트에 적용될 수 있습니다. 이를 통해 네트워크의 모든 유사한 호스트에 대한 화이트리스트 또는 드리프트 감지용 템플릿으로 사용되는 "모델 호스트"를 가질 수 있습니다.

드리프트 감지란 무엇인가요?

드리프트 감지는 결과 프로필과 관련하여 호스트에서 프로세스, 사용자, 커널 모듈, SSH 키, systemd 유닛 등과 같은 새로운 정찰 결과가 나타날 때 경보를 생성하는 Sandfly의 강력한 기능입니다. 예를 들어, 일관된 프로세스 세트를 실행하고 일관된 사용자 세트가 정의된 웹 서버용 표준 이미지가 있는 경우, 드리프트 감지는 새롭고 예상치 못한 프로그램이 실행되고 있거나 프로필에 없는 새 사용자가 시스템에 추가된 경우 경고할 수 있습니다. 모든 정찰 sandfly는 드리프트 감지의 기초를 형성할 수 있으며, 호스트에서 동일하게 유지되어야 하는 특정 유형의 정찰을 선택할 수 있습니다(예를 들어, 실행 중인 실행 파일 목록이 안정적이고 예측 가능하지 않을 것으로 예상되는 경우 프로세스 목록 정찰 sandfly가 아닌 사용자 및 커널 모듈 정찰 sandfly의 결과에서 결과 프로필을 생성할 수 있습니다).

A screenshot of the details card of an alert result indicating that it is a drift detection alert.

드리프트 감지 경보 예시

자동 화이트리스트란 무엇인가요?

자동 화이트리스트를 사용하면 하나 이상의 호스트를 스캔하고, 결과 프로필을 생성하며, 결과 프로필에서 발견된 경보와 유사한 경보가 동일하거나 다른 호스트에서 경보하는 것을 방지할 수 있습니다. 손상되지 않았다고 알고 있지만 여전히 일부 sandfly에서 경보가 발생하는 모델 또는 대표 호스트가 있는 경우, 결과 프로필을 생성하고 이를 사용하여 모든 유사한 호스트를 화이트리스트에 추가하는 것은 거짓 양성을 방지하고 모델 호스트에서 보이지 않았던 결과에 대해서만 경보하는 빠른 방법입니다.

결과 프로필

결과 프로필은 포함된 모든 결과에 대한 기본 메타데이터를 수집합니다. 각 결과에 대해 sandfly 이름, 상태(통과, 오류 또는 경보) 및 결과에 대한 관용적 및 보통 해시 일치 값을 저장합니다. 이러한 해시 일치 값은 드리프트 감지와 화이트리스트 모두를 지원하는 것으로, Sandfly 조사 엔진이 수집하는 주요 포렌식 속성 세트의 암호화 해시입니다. 예를 들어, 프로세스의 경우 관용적 해시 일치에는 프로세스 이름과 프로세스 실행 파일 경로가 포함되고, 보통 해시 일치에는 추가로 프로세스 실행 파일 자체의 sha512 해시가 추가됩니다. 이를 통해 다른 호스트의 유사한 프로세스가 화이트리스트에 추가되거나 드리프트로 경보되려면 얼마나 밀접하게 일치해야 하는지 제어할 수 있습니다. 이 프로세스 예제의 경우, 다른 버전(따라서 콘텐츠의 다른 sha512 해시)이 설치되어 있더라도 같은 이름의 동일한 실행 파일을 "동일한" 것으로 간주할지, 또는 더 엄격한 보통 해시 일치를 사용하여 같은 이름과 경로라도 다른 실행 파일 콘텐츠를 다른 것으로 간주할지 선택할 수 있습니다.

모든 결과 프로필에는 항상 추가된 통과 및 경보 결과 정보가 모두 포함되므로 결과 프로필을 드리프트 감지와 자동 화이트리스트 모두에 사용할 수 있습니다.

시간이 지나면서 결과 프로필을 세밀하게 조정하기 위해 추가 결과를 추가할 수 있습니다. 예를 들어, 처음에는 recon_process_list_all sandfly를 사용하여 모델 호스트에서 예상되는 실행 중인 프로세스를 수집하는 결과 프로필을 만들 수 있습니다. 하지만 항상 실행되지 않는 예약된 작업이 있을 수 있으므로, 이러한 프로세스는 향후 스캔에서 drift 알림을 생성할 수 있습니다. 기존 프로필에 이러한 새 알림을 쉽게 추가할 수 있으며, 그러면 해당 프로세스는 더 이상 해당 결과 프로필이 적용되는 모든 호스트에서 알림을 생성하지 않습니다.

결과 프로필 생성

개별 결과에서 프로필을 생성할 수 있지만, 프로필을 생성하는 가장 효율적이고 효과적인 방법은 모델 또는 템플릿 호스트를 스캔한 다음 해당 호스트에서 발견된 모든 결과에서 프로필을 생성하는 것입니다. 드리프트 감지에 사용할 결과 프로필을 생성할 때는 드리프트 감지에 참여하기를 원하는 sandfly에 대한 결과만 결과 프로필을 생성할 호스트에 있는지 확인하는 것이 중요합니다.

결과 프로필 생성을 위한 깨끗한 기준선을 제공하기 위해 Sandfly는 먼저 프로필을 생성할 호스트에서 모든 결과를 삭제할 것을 권장합니다.

그런 다음 프로필에서 사용하려는 sandfly만 사용하여 수동 스캔을 수행합니다. 프로필을 화이트리스트용으로 사용하려는 경우 일반적으로 모든 활성화된 sandfly를 실행하는 것이 올바른 선택입니다. 프로필을 드리프트 감지용으로 사용하려는 경우에는 드리프트를 감지하고자 하는 recon sandfly 실행합니다. 예를 들어, 프로세스, 커널 모듈, systemd 단위, cron 작업 세트가 프로필을 사용할 호스트 세트에서 동일해야 하는 경우, 관련 sandfly만 선택하는 수동 스캔을 시작해야 합니다(recon kernel family of sandflies, recon process list all, recon process persistence family of sandflies, recon systemd family of sandflies). 그리고 호스트 간에 다를 것으로 예상되는 결과를 수집하는 recon sandfly는 제외합니다(예: 호스트 간에 다른 사용자 계정이 존재할 것으로 예상되는 경우 recon_user_list_all).

스캔이 완료되면 모델 호스트(또는 여러 호스트에서 프로필을 빌드하는 경우 호스트들)에는 프로필을 생성할 결과가 있습니다.

Results -> Results By Host로 이동하여 결과를 수집한 호스트(또는 호스트들) 옆의 선택 상자를 체크하고 테이블 상단의 "Profile" 버튼을 클릭하여 "Create New Profile" 옵션을 선택할 수 있도록 합니다.

프로필의 목적을 식별하는 데 도움이 되는 이름과 설명을 지정합니다. 선택적으로 추가 세부 정보와 함께 사용자 메모를 입력할 수 있습니다. 향후 프로필에 더 많은 결과를 추가할 때마다 추가 사용자 메모를 추가하여 프로필을 수정한 이유에 대한 로그를 유지할 수 있습니다.

다음 페이지에서는 일부 호스트와 연결하여 프로필을 바로 사용하기 시작할 수 있습니다. 지금 프로필을 어떤 호스트와도 연결하고 싶지 않다면 Skip for now를 선택하고 Finish를 클릭합니다. 프로필을 즉시 사용하기 시작하고 싶다면 화이트리스트, 드리프트 감지 또는 두 기능 모두에 사용할지 선택합니다. 그런 다음 프로필을 적용할 호스트 태그 목록을 입력합니다. (특정 개별 호스트에만 프로필을 적용하고 싶다면 Skip for now를 선택하여 프로필을 생성한 다음 Result Profiles UI 페이지에서 편집하여 개별 호스트에 프로필을 적용할 수 있습니다). 마지막으로 Permissive 또는 Moderate Hash Match를 선택하여 선택된 호스트 태그에 덜 엄격하거나 더 엄격한 프로필 적용을 생성합니다. Finish를 클릭합니다.

결과 프로필은 스캔이 발생하고 서버가 새 결과를 받을 때 효력을 발휘하므로, 적용된 호스트 태그의 다음 스캔부터 새 결과는 프로필에 따라 적절히 화이트리스트되거나 드리프트 알림으로 변경됩니다. 결과 프로필 생성은 호스트의 기존 결과에는 영향을 미치지 않습니다.

결과 프로필 보기

결과 프로필을 생성한 후 Result Profiles 사이드바 메뉴 옵션을 클릭하여 볼 수 있습니다. 결과 프로필 목록은 드리프트 및 화이트리스트 목적으로 이 프로필이 적용되는 호스트 수와 프로필에 기여하는 결과가 있는 sandfly 수를 포함하여 프로필의 개요 세부 정보를 제공합니다.

또한 drift 탐지 및 화이트리스트에 사용되는 프로필을 빠르게 식별할 수 있는 상태 아이콘도 있습니다.

Explanation of two icons: a circle with a checkmark indicating automatic whitelisting, and two blue boxes offset from each other indicating drift detection.

결과 프로필 상태 아이콘

결과 프로필을 열면 세부 정보 페이지가 표시됩니다. 세부 정보의 왼쪽 열에는 프로필에 대한 기본 세부 정보와 프로필이 적용되는 태그, 태그에 대해 drift 탐지, 화이트리스트 또는 둘 다 사용되는지 여부, 그리고 permissive 또는 moderate 매치가 사용되는지에 대한 정보가 포함됩니다.

프로필 세부 정보 페이지의 오른쪽은 history 탭 아래에 프로필의 편집 기록을 보여줍니다. 여기에는 결과 프로필이 수정될 때마다 입력되는 사용자 메모가 포함되며, 수정으로 기여된 새 결과의 수와 결과를 기여한 호스트가 포함됩니다.

host coverage 탭은 이 결과 프로필이 적용되는 모든 호스트와 해당 호스트에 사용되는 모드 및 match hash를 나열합니다.

profile sandflies 탭은 이 프로필에서 적어도 하나의 결과를 가진 모든 sandfly를 나열하며, 이 프로필을 호스트에 적용할 때 해당 sandfly가 화이트리스트되거나 drift 탐지에 사용될 수 있는지 여부를 나타냅니다.

결과 프로필 호스트 적용 범위 편집

결과 프로필이 적용될 호스트 및 호스트 태그를 추가하거나 기존 호스트 또는 호스트 태그 연결을 편집하려면 결과 프로필 세부 정보를 보는 동안 Edit 버튼을 클릭합니다. 그러면 이름과 설명뿐만 아니라 호스트 연결도 변경할 수 있는 편집 양식이 나타납니다.

호스트 연결은 특정 모드(drift, whitelist 또는 둘 다)와 match hash 유형(permissive 또는 moderate)으로 호스트 태그 또는 개별 호스트에 결과 프로필을 적용합니다. 결과 프로필은 다양한 모드와 hash 유형을 사용하여 다른 호스트에 적용될 수 있습니다. 특정 태그가 있는 모든 호스트에 적용하려면 양식의 Tag Associations 섹션에 정보를 입력합니다. 태그를 사용하지 않고 특정 호스트에 적용하려면 양식의 Host Associations 섹션에 정보를 추가합니다. 각 연결의 오른쪽에 있는 휴지통 아이콘을 클릭하여 프로필에서 기존 호스트 또는 태그 연결을 제거합니다. 업데이트된 연결을 저장하려면 Finish 버튼을 클릭합니다.

결과 프로필을 완전히 삭제하려면 결과 프로필 세부 정보 페이지에서 Delete 버튼을 클릭하거나, 결과 프로필 목록에서 하나 이상의 프로필에 선택 체크박스를 클릭하고 테이블 상단의 Delete 버튼을 클릭합니다. 호스트에 적용되는 결과 프로필을 삭제한 후 해당 호스트에 대한 향후 결과는 결과 프로필의 영향을 받지 않고 처리됩니다. 즉, 프로필의 결과와 일치하더라도 알림 결과는 더 이상 화이트리스트되지 않고, 프로필과 일치하지 않는 새로운 recon 결과는 더 이상 drift 알림으로 표시되지 않습니다. 프로필 생성과 마찬가지로 프로필을 삭제하거나 (프로필에서 호스트 연결을 제거) 하는 것은 기존 결과에는 영향을 미치지 않고 새로운 스캔의 새로운 결과에만 영향을 미칩니다.

프로필에 새로운 결과 추가

결과 프로필을 생성한 후 일부 허용 가능한 알림이 여전히 화이트리스트되지 않거나, 프로필을 생성한 초기 호스트에 존재하지 않았던 일부 허용 가능한 결과가 drift 알림으로 플래그되는 것을 발견할 수 있습니다. Sandfly를 사용하면 이러한 추가 결과를 프로필에 쉽게 추가할 수 있습니다.

호스트의 현재 모든 결과가 결과 프로필에 추가하기에 적절하다고 만족한다면, Results -> Results By Host로 이동하여 프로필에 추가하려는 결과가 있는 호스트 옆의 선택 상자를 체크하고 테이블 상단의 "Profile" 버튼을 클릭하여 "Add to Existing" 옵션을 선택할 수 있도록 합니다.

나타나는 양식에서 드롭다운 상자에서 결과를 추가할 프로필을 선택하고, 호스트에서 새 결과 추가를 설명하기 위해 프로필 기록에 기록하고 싶은 사용자 메모를 입력합니다. 그런 다음 Finish를 클릭합니다.

프로필에 특정 결과만 추가하려는 경우(예를 들어, drift 탐지에 사용하는 프로필의 경우 drift를 보고하지 않는 sandfly의 새로운 recon 결과를 추가하지 않는 것이 중요할 수 있음), Results By Host -> Host 레벨로 드릴다운하고 특정 sandfly 이름 옆의 선택 상자를 체크한 다음 Profile -> "Add to Existing" 옵션을 사용하여 선택된 sandfly의 모든 결과를 프로필에 추가할 수 있습니다. 프로필에 추가할 결과를 가장 세밀하게 제어하려면 All Results 목록에서 또는 Results By Host -> Host -> Sandfly 레벨로 드릴다운한 후 Profile -> "Add to Existing" 옵션을 사용할 수도 있습니다. 이는 해당 호스트에서 해당 sandfly의 개별 결과를 나열합니다.

프로필에 결과를 추가할 때 처음에 프로필을 생성한 호스트에서만 선택할 필요는 없습니다. 모든 호스트의 모든 결과를 모든 프로필에 추가할 수 있으므로, 공통 템플릿에서 배포된 호스트를 사용하여 모델 호스트 또는 원래 템플릿 시스템에서 처음 생성된 프로필에 결과를 기여할 수 있습니다.

호스트에 영향을 미치는 결과 프로필 확인

호스트 세부 정보를 볼 때 Profiles 탭을 클릭하면 호스트에 영향을 미치도록 구성된 결과 프로필을 볼 수 있습니다. 프로필 이름, 애플리케이션 모드(drift, whitelist 또는 둘 다), 결과 프로필의 설명을 보실 수 있습니다. 프로필 목록에서 프로필을 클릭하면 세부 정보로 이동하여 연결을 편집할 수 있습니다.


이 페이지가 도움이 되었나요?