1. Crescendo [1]

[사진 1] Crescendo

대상 모델의 출력을 활용하여 모델이 안전 장치를 우회하도록 유도하여 탈옥하는 멀티-턴 공격
> 목표 달성을 위한 기초가 될 수 있는 질문으로 공격 시작
관련된 무해한 주제로 시작하여 점진적으로 질문을 강화하여 모델의 응답을 의도한 결과로 유도
> 따라서 사용자의 프롬프트에 반응하도록 설계된 방어 및 안전 조치를 우회

 

- 모델의 내부 작동 방식을 파악할 필요가 없음
> 사용자가 LLM과 상호작용하는 데 필요한 수준의 지식만 필요

 

- 탈옥의 성공 여부를 세 가지 지표(자체 평가, Perspective API, Azure Content Filter)를 통해 평가
> 자체 평가 : 자동화된 평가(1차 및 2차 Judge LLM 평가) 후 가장 높은 성과를 보인 응답에 대해 수동 검토
> Perspective API : 6가지 지표(Toxicity, Severe Toxicity, Insult, Profanity, Sexually Explicit, Threat)를 평가
> Azure Content Filter : 4 가지 지표(Hate Speech, Self-Harm, Sexually Explicit Content, Violence)를 평가

※ Perspective API : 텍스트 내 잠재적인 유해 콘텐츠를 분석하여 여러 지표를 점수로 평가하는 도구 [2]
※ Azure Content Filter : Azure AI 서비스의 일부로, 텍스트 및 이미지 콘텐츠를 분석하여 유해하거나 부적절한 내용을 탐지하고 필터링하는 기능을 제공 [3]

 

- LLM 학습 단계에서 학습 데이터의 사전 필터링과 LLM의 정렬을 강화 필요
> 전자는 악성 콘텐츠 생성 및 탈옥의 가능성이 낮아지나 비용적 문제 존재
> 후자는 해당 공격을 유발하는 콘텐츠로 LLM을 미세 조정하는 방법
> 또는, 입출력 모두에 콘탠츠 필터 적용

 

2. Deceptive Delight [4]

[사진 2] Deceptive Delight

LLM을 대화에 참여시켜 가이드라인을 우회하고 안전하지 않거나 유해한 콘텐츠를 생성하도록 유도하는 멀티-턴 공격
> 64.6%의 공격 성공률을 보이며, 세 번의 대화 턴 내 유해한 콘텐츠를 생성할 수 있음
> 첫 번째 턴 : 3개의 주제(정상 주제 2개+안전하지 않은 주제 1개)를 연결하는 일관된 서사를 만들도록 요구
> 두 번째 턴 : 각 주제에 대해 더 자세히 설명하도록 요청 (정상 주제를 논의하는 동안 안전하지 않은 콘테츠를 생성할 수 있음)
> 세 번째 턴(선택 사항) : 안전하지 않은 주제에 대한 디테일 등 확장을 요청 (안전하지 않은 콘테츠의 구체성이 증가 됨)

 

- 양성(정상) 주제 사이에 안전하지 않거나 제한된 주제를 포함하여 LLM이 안전하지 않은 콘텐츠가 포함된 응답을 생성하도록 유도
> 콘텐츠 필터는 외부 방어 계층 역할을 하여 안전하지 않은 콘텐츠가 모델에 들어오거나 나가는 것을 차단
> 자연어 처리 기술을 사용해 텍스트를 분석하며 유해하거나 부적절한 콘텐츠를 감지하는데 초점
> 그러나, 속도와 효율성을 우선시해야 하므로 상대적으로 덜 정교함
> 연구는 이러한 모델 자체의 안전 메커니즘을 우회하는 데 중점을 둠

 

LLM이 긴 대화에서 맥락을 유지하는데 어려움을 겪는 점을 악용
> 무해한 콘텐츠와 잠재적으로 위험한(또는 해로운) 콘텐츠를 섞인 프롬프트를 처리할 때 맥락을 일관되게 평가하는 데 한계를 보임
> 복잡하거나 긴 문장에서 모델은 양성적인 측멱을 우선시하여, 위험 요소를 간과하거나, 잘못 해석할 수 있음

 

- 세 가지(성공률, 유해성, 생성된 콘텐츠의 품질) 평가 지표로 6가지 카테고리에 걸쳐 40개의 안전하지 않은 주제를 8개의 모델 평가
> 6가지 카테고리: Hate(증오), Harassment(괴롭힘), Self-harm(자해), Sexual(성적인), Violence(폭력), Dangerous(위험)
※ 두 번째 턴에서 세 번째 턴 사이에 유해성 점수 21%, 생성된 콘텐츠의 품질 점수 33% 증가

 

모델의 유용성과 유연성을 유지하며 탈옥 위험을 완화하기 위한 다층 방어 전략 필요
> 정렬 훈련 기술 강화
> 더 많은 방어 매커니즘 탐색
> 탈옥 취약점을 평가 및 해결하기 위한 포괄적 프레임워크 개발
> 연구자-개발자-AI 서비스 제공 업체 간 협력 환경 조성 : 모델의 회복력을 지속적으로 개선하는 데 필수적

 

3. Context Fusion Attack (CFA) [5]

[사진 3] Context Fusion Attack (CFA)

악의적인 키워드를 무해한 키워드로 교체하여 악성 의도를 숨기는 방식으로 LLM의 안전 장치를 우회
> 공격 단계 : 키워드 추출-컨텍스트 생성-공격
> 키워드 추출 : 전처리 단계에서 악성 키워드 필터링 및 추출
> 컨텍스트 생성 : 악의적인 키워드를 무해한 키워드로 대체하여 새로운 문장 생성
> 공격 : 새롭게 생성된 콘텍스트를 이용해 LLM의 안전 장치 우회

4. 참고

[1] https://crescendo-the-multiturn-jailbreak.github.io//
[2] https://medium.com/@losad2020/%EA%B5%AC%EA%B8%80-i-o-%EC%B1%85%EC%9E%84%EA%B0%90%EC%9E%88%EB%8A%94-%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5-%EC%8B%A4%EB%AC%B4-%EC%A0%81%EC%9A%A9-%EB%B0%A9%EB%B2%95-73e170d30289
[3] https://learn.microsoft.com/ko-kr/azure/ai-services/openai/concepts/content-filter?tabs=warning%2Cuser-prompt%2Cpython-new#content-filter-types
[4] https://unit42.paloaltonetworks.com/jailbreak-llms-through-camouflage-distraction/
[5] https://arxiv.org/abs/2408.04686

1. 개요

- 24.05 무료 S/W의 팝업(Toast) 광고 프로그램을 악용한 TA- RedAnt의 대규모 공격이 탐지 [1]
- IE의 자바스크립트 엔진(jscript9.dll)에 존재하는 제로데이 취약점 악용
- 22년 악용한 IE의 Type Confusion 취약점(CVE-2022-41128)에 간단한 코드를 추가하여 보안 패치를 우회

 

1.1 Chakra

- MS에서 제작한 웹 브라우저의 자바스크립트 엔진
> 웹 브라우저는 HTML, CSS, JavaScript 등의 언어로 작성코드를 사람이 읽을 수 있는 문서로 출력하는 프로그램
> 웹 브라우저에서 자바스크립트 코드를 해석하고 실행하는 역할을 수행

구분 이름
IE 11.0 이하 버전 legacy Chakra engine(jscript9.dll)
Edge Legacy 브라우저 new Chakra engine or Edge engine(Chakra.dll)

1.1.1 동작 과정

- 웹 브라우저에서는 JavaScript의 동작을 위해 자체 엔진을 포함하고 있으며, 빠른 실행을 위해 JIT(Just-In-Time) Compilation 방식을 사용
- MS Chakra에서 JavaScript로 작성된 코드가 실행되는 과정

구분 설명
Parsing 소스코드를 파싱하여 Abstract Syntax Tree(AST)를 생성
※ Abstract Syntax Tree(AST) : 소스코드의 구조를 트리 형태로 나타낸 자료구조
Interpreting - AST는 바이트코드(Bytecode)로 변환되어 인터프리터에 의해 실행
- 실행 중인 함수의 데이터 유형 및 호출 횟수와 같은 정보를 분석해 함수의 프로파일을 생성
Compilation - 생성된 프로파일을 바탕으로 최적화된 기계코드인 JIT’ed code 생성
※ 인터프리터에서 여러 번 호출되는 코드가 탐지되면 바이트코드를 실행하는 대신 JIT’ed code를 실행해 프로그램 동작 속도를 향상 시킴

 

- JavaScript엔진에서는 여러 번 호출되는 코드를 따로 관리

구분 설명
Hot - 자주 반복되는 코드
- 코드가 Hot으로 탐지되면 엔진은 해당 코드를 스텁코드(Stub Code)로 변환
- 이후 바이트코드를 실행하지 않고 미리 생성한 스텁코드를 사용하여 실행 속도를 향상
Warm 덜 자주 반복되는 코드

 

1.2 Toast 광고

- 다양한 무료 S/W와 함께 설치되어 동작
> 실행 시 광고서버로부터 광고 컨텐츠를 다운받아 PC 화면 우측 하단에 광고창 표시
> 서버는 광고 컨텐츠가 포함된 HTML과 JavaScript로 응답
> Toast 광고 프로그램은 응답값을 IE 브라우저 또는 IE 관련 모듈로 랜더링하여 팝업 광고창을 띄움

2. 주요내용

2.1 CVE-2024-38178

[사진 1] CVE-2024-38178 [2]

- Windows Scripting Engine에서 발생하는 Type Confusion 취약점으로 메모리 손상을 유발해 원격 명령 실행을 가능하게 함
> jscript9.dll에서 발생하는 Type Confusion 취약점

※ Type Confusion 취약점 : 프로그램에서 사용하는 변수나 객체를 선언 혹은 초기화되었을 때와 다른 타입으로 사용할 때 발생하는 취약점

스텁코드는 Type Confusion 문제가 발생할 수 있음
- 매개변수로 정수형 변수를 입력받는 함수가 있으며, 메인에서 100번 호출된다고 가정
> 엔진에서는 Hot으로 간주하여 정수형 변수를 전달받는 스텁코드로 변환
> 그 결과, 해당 변수의 데이터 유형을 정수로 예측
> 이 때, 매개변수를 정수가 아닌 다른 데이터 유형으로 전달할 경우 Type Confusion 발생

 

2.2 상세분석

[사진 2] iframe이 삽입된 HTML

- 해커는 국내 광고 대행사 중 한 업체의 광고 서버를 해킹
Toast 광고 프로그램에 전달되는 HTML 코드에 iframe을 삽입하여 경유지를 통해 JavaScript가 로드 되도록 변조
> 해당 JavaScript 파일명은 ad_toast이며 IE(JScript9.dll)의 RCE 취약점이 발현되는 코드가 삽입
> 피해자 PC에 설치된 Toast 광고 프로그램은 취약점 코드를 받아 랜더링하는 과정에서 Exploit 및 해커의 쉘 코드로 실행 흐름이 바뀜

 

[사진 3] CVE-2024-38178 Exploit

- 해커는 과거 악용했던 CVE-2022-41128(Windows 스크립트 언어 RCE [4]) Exploit 코드에 단 3줄을 추가해 기존 패치 우회

ex_func(false, false)를 반복 호출하여 JIT 컴파일러의 최적화 오류를 유도한 뒤 인자를 true로 바꿔 호출

 

- "q=g" 연산으로 Type Confusion 발생 

> 정수 배열로 초기화된 변수 q에 변수 g가 가리키는 데이터를 참조하면 변수 q의 Type이 Object로 변경
> 하지만, JIT 컴파일러의 최적화 오류로 인해 Type을 계속해서 정수 배열로 판단

 

이후 q[4], q[11], q[12]의 값을 0x1FFFFFFF로 변경

> 변경하는 이유는 해당 값이 배열 av의 Type(Js::JavascriptNativeIntArray)과 관련
> 변경한 값은 순서대로 배열 av의 Array Length, Array Actual Length, Buffer Length 항목
> 배열의 길이를 조작하면 Object Dataview를 사용하여 임의의 메모리 영역에 대한 읽기 및 쓰기가 가능하게 되어 임의 코드를 실행할 수 있음

※ JIT 컴파일러의 배열 최적화 과정에서 초기화된 변수로 착각하게 만드는 방법을 이용해 CVE-2022-41128의 패치를 우회

 

[사진 4] 패치

- 해당 취약점은 MS 8월 보안업데이트에서 패치 [4]

> wil::details::FeatureImpl<_ _WilFeatureTraits_Feature_1489045819>::_ _private_ IsEnabled(&`wil::Feature<_ _WilFeatureTraits_Feature_1489045819>::GetImpl’::`2 ’::impl); 함수가 추가
> 해당 함수의 결과 값에 따라 변수 초기화 여부를 검증하는 분기로 진입
> 진입 후 ValueType 클래스에서 정의된 연산자를 통해 두 개의 정수형 값 비교 과정 추가
> 두 Type을 비교해 값이 다를 경우 SetValueType 함수를 호출하여 Type을 일치시키는 추가적인 과정이 수행

 

2.3 악성코드 유포

- 과거부터 꾸준히 사용해온 RokRAT 악성코드를 유포하며 공격 흐름은 아래와 같음
> Ruby를 사용하여 악성 행위 지속성 확보 및 상용 클라우드 서버를 통해 명령제어를 수행

실행 단계 설명
1차 악성코드(43) 다운로드 및
explorer.exe에 인젝션
실행 PC의 파일·프로세스를 확인하여 분석 환경인지 탐지
> 악성코드 43은 첫 1바이트로 XOR 후 실행되는 쉘코드
> 분석 환경이 아니라고 판단되면 경유지에 접속해 2차 악성코드 다운 및 실행
2차 악성코드(23) 다운로드 및 실행 컴퓨터 이름 등 시스템 정보를 수집하고 추가 감염 여부 선별
> 악성코드 23은 첫 1바이트로 XOR 후 In-Memory로 실행되는 PE 형태
> 시스템 정보를 경유지로 전송하고, 응답에 따라 3차 악성코드 다운 및 실행
3차 악성코드(move) 다운로드 및 실행 후
추가 파일 다운로드
악성 스크립트를 삽입한 ruby standalone 드롭 및 악성 행위 지속성 확보
> 악성코드 move는 첫 1바이트로 XOR 후 In-Memory로 실행되는 PE 형태
> 2차 경유지는 원드라이브 1개와 국내 정상 사이트 2개가 악성코드 내부에 하드코딩
> 지속성 확보를 위해 자동실행 되도록 설정 (주기적 실행 또는 PC 부팅 시 실행)
system32 폴더 내 exe 무작위 선택 후
실행 및 인젝션
PC에 설치된 백신(AVAST·SYMANTEC)을 확인하여 다르게 동작
> 현재 실행중인 프로세스 명에 "UBY"가 있는지 확인 후 설치된 백신에 따라 동작 결정
> AVAST·SYMANTEC : 현재 프로세스에서 In-Memory 방식으로 실행
> 그 외 백신 : system32 폴더에 있는 랜덤 EXE에 인젝션하여 실행
system32 폴더 내 exe 무작위 선택 후
실행 및 인젝션
PC에 설치된 백신(AVAST·SYMANTEC)을 확인하여 다르게 동작
> 프로세스의 자체 종료를 막기 위해 ExitProcess 함수를 후킹 및 함수 인자 및 설치된 백신에 따라 동작 결정
> 인자가 0xAC가 아닐 경우 대기 상태, 0xAC일 경우 후킹을 복원
> AVAST·SYMANTEC : rubyw. exe를 재실행
> 그 외 백신 : system32 폴더에 있는 랜덤 EXE에 인젝션하여 실행
In-Memory로 RokRAT 실행 상용 클라우드(얀덱스 등)를 경유지로 명령제어를 수행하여 PC 정보 절취
> 윈도우 프로시저에서 수신되는 메시지를 기반으로 해당 핸들러에서 악성 행위를 수행

 

구분 MD5
ad_toast e11bb2478930d0b5f6c473464f2a2B6e
43 b9d4702c1b72659f486259520f48b483
23 b18a8ea838b6760f4857843cafe5717d
MOVE da2a5353400bd5f47178cd7dae7879c5
ban04.bak(top_08.bak,content) bd2d599ab51f9068d8c8eccadaca103d
operating_system.rb 감염 PC마다 다름
1차 로더
2차 로더
RokRAT

 

2.4 결론

- MS는 22.06 IE 지원 종료 발표 및 최신 Window OS는 IE가 웹 브라우저로 사용되는 것을 제한하는 등의 조치
> 과거에 비해 워터링홀 공격의 가능성은 희박해짐
> 그러나, 일부 Window 어플리케이션들은 IE를 내장하거나 관련 모듈을 사용해 공격 벡터로 악용될 수 있음
> OS 및 SW 등의 보안 업데이트를 준수하고, 제조사들은 제품 개발 시 보안에 취약한 개발 라이브러리 및 모듈 등이 사용되지 않도록 주의 필요

3. 참고

[1] https://www.ncsc.go.kr:4018/main/cop/bbs/selectBoardArticle.do?bbsId=SecurityAdvice_main&nttId=164037&menuNo=020000&subMenuNo=020200&thirdMenuNo=
[2] https://nvd.nist.gov/vuln/detail/CVE-2024-38178
[3] https://www.boho.or.kr/kr/bbs/view.do?searchCnd=1&bbsId=B0000133&searchWrd=ms&menuNo=205020&pageIndex=1&categoryCode=&nttId=71524
[4] https://nvd.nist.gov/vuln/detail/CVE-2022-41128
[5] https://www.scworld.com/brief/windows-zero-day-leveraged-for-rokrat-malware-delivery
[6] https://thehackernews.com/2024/10/north-korean-scarcruft-exploits-windows.html
[7] https://thehackernews.com/2024/08/microsoft-issues-patches-for-90-flaws.html
[8] https://www.scworld.com/news/microsoft-patches-9-zero-days-6-exploited-in-the-wild
[9] https://www.boannews.com/media/view.asp?idx=132049
[10] https://www.dailysecu.com/news/articleView.html?idxno=160314
[11] https://www.boannews.com/media/view.asp?idx=133660

1. 개요

- 최근 복사-붙여 넣기 기법을 활용한 ‘ClickFix’라 불리는 새로운 공격 발견 [1]
- 가짜 팝업 메시지의 버튼을 클릭하면 악성코드 또는 악의적 프로그램이 다운로드 되는 형태

 

2. 주요내용

2.1 ClickFix

[사진 1] ClickFix 예시

- 유명 서비스를 위조해 문서나 페이지 내 긴급한 오류가 발생했다는 팝업 텍스트 상자를 표시
사용자를 속이기 위해 MS Office 문서나 Google Meet 등 유명 서비스를 위조해 페이지 내 팝업 표시
사용자가 직접 PowerShell(powershell.exe)이나 Windows 명령 프롬프트(cmd.exe)를 통해 실행하라는 메시지가 표시되며, "How to fix" 등의 버튼을 클릭하면 악의적 명령이 복사

 

2.2 악성 VBS 스크립트

- hxxps://googiedrivers[.]com/fix-error 파일에 VBScript가 포함되어 있으며 총 4개의 행위 수행

구분 설명
MSHTA 프로세스 체크 및 종료 WMIService를 사용하여 "mshta.exe" 프로세스가 실행 중인지 확인 하고 활성화되어 있으면 종료

※ WMI (Windows Management Instrumentation) : Windows에서 시스템 및 네트워크 관리 작업을 수행하는 데 사용되는 기술로 다양한 하드웨어 및 소프트웨어 구성 요소를 관리하고 모니터링할 수 있는 인터페이스 제공
파일 다운로드 및 실행 stealc.exe, ram.exe를 임시 경로에(각각 tempPath, secondTempPath에 다운로드) 다운로드 및 실행
> 파일을 실행하여 Build #1 및 Build #2의 성공 여부를 확인한 후 상태를 서버로 전송

- stealc.exe
> 정보 탈취 악성코드(Stealc)의 일종
> 사용자 시스템, 웹 브라우저, 암호화폐 지갑 등 민감정보를 수집 및 C2 서버 전송

- ram.exe
> 정보 탈취 멀웨어(Rhadamanthys, Danabot) 추가 다운 및 실행

※ 파일 다운로드 경로
> hxxps://us1web-com[.]us/stealc.exe
> hxxps://us1web-com[.]us/ram.exe
서버 통신 - NotifyServer(status)를 사용해 특정 서버에 실행 상태를 보고하는 HTTP 요청을 전송
> 서버 URL: hxxp[://]webpalmland[.]com/api/cmd/runed
공격자의 서버에 IP 주소와 상태 전송 - GetExternalIPAddress() 함수를 호출하여 IP 확인 사이트에서 IP 주소를 검색하여 저장 및 공격자 서버로 전송
> 서버 URL: hxxp[://]webpalmland[.]com/api/cmd/runed

 

2.3 결론

- 과거와 달리 웹 브라우저 보안이 강화되면서 웹 브라우저 취약점을 이용한 악성코드 배포가 어려워짐
> 사용자가 직접 다운로드 및 실행할 수 있는 형태로 점차 진화
> 사용자는 PowerShell(powershell.exe) 또는 명령 프롬프트(cmd.exe)에서 명령을 실행하도록 요청하는 팝업 주의할 필요

 

- 또한, 여러 정보 탈취 멀웨어를 다운로드 및 실행하는 형태
> 하나의 멀웨어가 탐지 및 제거되어도 다른 멀웨어를 사용해 지속 정보 수집
> 수집된 정보가 2차 피해로 이어질 수 있음

3. 참고

[1] https://blog.criminalip.io/2024/10/07/clickfix-fake-error-messages/
[2] https://www.boannews.com/media/view.asp?idx=133771&page=1&kind=1

요약 - AWS, Azure의 인증 키들이 안드로이드와 iOS 앱들에서 발견
- 인증 정보를 코드 내에 하드코딩하고 암호화하지 않은 상태로 포함
내용 - AWS, Azure 등 클라우드 서비스의 인증 정보가 암호화 없이 하드코딩된 것으로 확인
> 앱의 바이너리 또는 소스 코드에 접근할 수 있는 누구나 자격 증명을 추출하여 데이터 조작 또는 유출할 수 있음을 의미

- 해당 앱들은 Google Play Stroe와 Apple App Store 등에서 수백만 번 다운로드됨
> Google Play Store : Pic Stitch, Meru Cabs, ReSound Tinnitus Relief 등
> Apple App Store : Crumbl, VideoShop 등

- 개발 단계에서의 잘못된 보안 관행이 주요 원인
> 개발자들이 편의상 자격 증명을 하드코딩하고 암호화 없이 남겨둔 채 배포된 것

- 권고 사항
> 환경변수 사용 : 민감한 자격 증명을 런타임에 로드되는 환경변수에 저장
> 비밀 관리 도구 사용 : AWS Secrets Manager나 Azure Key Vault와 같은 전용 비밀 관리 도구를 활용
> 민감 데이터 암호화 : 자격 증명을 앱에 저장해야 하는 경우 강력한 암호화 알고리즘 적용 및 런타임때 복호화
> 코드 리뷰 및 감사 : 정기적으로 코드 리뷰와 보안 감사를 수행해 하드코딩된 자격 증명과 기타 보안 취약점 식별 및 제거
> 보안 스캔 자동화 : 자동화된 보안 스캔 도구를 CI/CD에 통합하여 개발 프로세스 초기에 하드코딩된 자격 증명과 기타 보안 결함 감지
기타 - 22.09 보안 연구원은 AWS 자격 증명이 포함된 1,800개 이상의 iOS 및 Android 앱을 발견
> 이 중 77%가 코드베이스에 유효한 액세스 토큰

 

보안뉴스

 

유명 클라우드로의 크리덴셜, 각종 모바일 앱 통해 퍼진다

보안 외신 블리핑컴퓨터에 의하면 AWS와 애저(Azure)라는 거대 공공 클라우드의 인증 키들이 안드로이드와 iOS 앱들에서 발견되었다고 한다. 클라우드와 연계된 앱들을 만들고 제공하는 과정에서

www.boannews.com

 

수백만 사용하는 모바일 앱 보안 허점...AWS, Azure 인증 키 노출돼 - 데일리시큐

시만텍(Symantec) 최근 분석에 따르면, 수백만 명이 사용하는 인기 모바일 애플리케이션들이 아마존 웹 서비스(AWS)와 마이크로소프트 애저 블롭 스토리지(Microsoft Azure Blob Storage) 같은 클라우드 서

www.dailysecu.com

 

AWS, Azure auth keys found in Android and iOS apps used by millions

Multiple popular mobile applications for iOS and Android come with hardcoded, unencrypted credentials for cloud services like Amazon Web Services (AWS) and Microsoft Azure Blob Storage, exposing user data and source code to security breaches.

www.bleepingcomputer.com

 

Exposing the Danger Within: Hardcoded Cloud Credentials in Popular Mobile Apps

Examining the hidden risks posed to user privacy and security due to presence of hardcoded credentials within popular mobile apps.

www.security.com

 

1. 개요

- 세계 여러 정보 보안 관련 기관이 협력하여 LotL 공격 대비 가이드라인 발표 [1]
- 장시간 공격을 유지할 수 있게 해 주는 LotL 공격이 공격자들 사이에서 인기
- ‘이벤트 로그 관리’를 방어책으로 내세움

 

2. 주요내용

2.1 LotL (Living off the Land)

이미 사용자 시스템에 설치된 여러 자원을 공격에 활용하는 방법
- 정상적으로 발생하는 트래픽과 공격으로 발생한 트래픽의 구분이 힘들며, 공격 지속성을 크게 높일 수 있는 장점

 

2.2 이벤트 로깅 (Event logging)

- 이벤트 로깅은 네트워크 가시성을 지원해 운영과 시스템의 보안 및 복원력을 개선

구분 개요
효과적인 이벤트 로깅 솔루션 ① 중요한 소프트웨어 구성 변경 또는 설치시 담당자에게 경고 잔송
② LotL 공격 또는 침해 후 횡적 이동 등의 보안 사고를 나타낼 수 있는 보안 이벤트 식별
③ 침해의 범위와 정도를 밝혀 사고 대응 지원
④ 정책이 잘 적용되도록 하며, 위반 여부 모니터링
⑤ 오탐과 노이즈를 줄여 저장 공간과 요청 시간 관련 비용을 절감
⑥ 보안 담당자들이 정보를 바탕으로 결정을 내릴 수 있게 지원
⑦ 보안 분석가들에게 유용한 로그와 플랫폼을 제공
핵심 고려 요소 ① 기업에서 승인된 이벤트 로그 정책
② 중앙 집중식 이벤트 로그 접근 및 상관 분석
③ 저장된 데이터의 보안 및 이벤트 로그 무결성
④ 관련 위협에 대한 탐지 전략
로그 정책 ① 어떤 이벤트를 로깅할 것인지 정의
② 어떤 시스템에 이벤트 로깅을 적용할 것인지 정의
③ 이벤트 로그를 모니터링하는 방법 정의
④ 이벤트 로그를 얼마나 보관할 것인지 정의
⑤ 로그 수집 관련 정책의 재평가 시기 정의

 

2.3 로그의 품질

- 사고 대응 및 위협 탐지의 맥락에서 이벤트 로그의 품질은 얼마나 잘 포맷 되었는지가 아닌, 수집된 이벤트 유형에 의해 결정

- 유용한 이벤트 로그는 보안 이벤트를 평가하여 정오탐을 식별하는 능력을 강화

> OT 장치를 포함하는 경우 해당 장치에 대한 고려가 필요

> OT 장치는 메모리와 프로세스에 부하를 주는 임베디드 소프트웨어를 사용하며, 과도한 로깅은 장치의 운영에 악영향을 미칠 수 있음

> OT 장치는 자세한 로그를 생성할 수 없으므로 센서를 사용하여 로그 기능을 보완할 수 있음

> 대역 외 로그 통신 또는 오류 코드와 기존 통신의 페이로드를 기반으로 로그를 기록

 

- LotL을 사용하는 공격자들은 주로 다음과 같은 로그를 수집해 파악할 수 있음

구분 설명
Linux 기반 - curl, systemctl, systemd, python 등을 사용했을 때 기록되는 로그
- 기타 일반적인 LOLBin의 사용와 관련된 로그
Windows 기반 - wmic.exe, ntdsutil.exe, Netsh, cmd.exe, PowerShell, mshta.exe, rundll32.exe, resvr32.exe 등을 사용했을 때 기록되는 로그
- 명령 실행, 스크립트 차단, PowerSehll용 모듈 로그, 관리 작업에 대한 로그
Cloud 환경 - API 호출 및 최종 사용자 로그인을 포함한 모든 컨트롤 플레인 작업을 기록
- 컨트롤 플레인 로그는 읽기 및 쓰기 활동, 관리 변경 사항 및 인증 이벤트를 기록하도록 구성

 

- 이벤트 로그는 대응을 돕기에 충분한 세부 정보가 포함되어 있는 것이 좋음

미국 관리예산국
M-21-312의
로그에 포함되어야
하는 내용
① 올바르게 포맷되고 정확한 타임스탬프 (밀리초 단위가 이상적)
② 이벤트 유형
③ 장치 식별자의 MAC 주소 또는 기타 고유 식별자
④ 세션/트랜잭션 ID
⑤ 자율 시스템 번호
⑥ 출처 및 도착지 IP (IPv4 및 IPv6 포함)
상태 코드
⑧ 응답 시간
⑨ 추가 헤더 (Ex. HTTP 헤더)
⑩ 사용자 ID (해당되는 경우)
⑪ 실행된 명령 (해당되는 경우)
⑫ 이벤트 상관 관계를 돕기 위한 고유 이벤트 식별자 (가능한 경우)
※ 모든 데이터는 추출을 더 쉽게 하기 위해 "키-값 쌍" 형식으로 포맷 (가능한 경우)

 

- 로그의 품질을 높이는 요소들

구분 설명
콘텐츠 및 형식 일관성 - 로그를 중앙 집중화할 때 JSON과 같은 구조화된 로그 형식을 사용
- 형식, 순서, 스키마를 일관되게 유지
- 로그가 생성될 때부터 일관된 형식을 유지하는 것이 좋음
- 그러나, 모든 로그가 정해진 형식을 따를 수 있는 것은 아니므로 자동화된 로그 정규화 방법론을 마련할 필요
타임스탬프 일관성 - 모든 시스템에서 동일한 날짜-시간 형식과 표기법을 사용
- ISO 8601 형식은 연도-월-일-시-분-초-밀리초 순서 권고
로그 보존 - 시스템에 대한 위험 평가 결과에 따라 로그 보관 기간 결정하며, 침입과 영향을 평가하는 로그는 좀 더 오래 보존
- 조직에 적용되는 모든 규제에 어긋나지 않도록 보존
- 조직이 보유하고 있는 저장 공간도 고려
- 공격자들이 로그를 삭제할 수 있으므로, 로그에 대한 접근 또한 강화
※ 어떤 경우 사고를 발견하는 데 최대 18개월이 걸리고, 어떤 악성코드의 경우 70~200일 동안 네트워크에 거주하는 것을 고려

 

2.4 로깅 우선순위

- 조직 내에서 로그 소스를 우선순위를 둘 것우선순위가 낮은 로그도 모니터링할 것을 권장

구분 설명
로깅 우선순위 - LotL 맥락에서 기업의 망은 공격자들이 사용하기 좋은 도구들이 많음
> 해당 도구들과 관련하여 로그의 우선순위를 정하는 것이 효과적

 공격 대상이 될 가능성이 높은 중요 시스템과 데이터
② 원격 접근, 네트워크 메타데이터, 기본 서버 OS, 인터넷 연결 서비스
③ ID 및 도메인 관리 서버
④ 기타 중요 서버
⑤ 네트워크 외곽에 있는 라우터와 방화벽 등
⑥ 관리자의 관리 작업을 위한 워크스테이션
⑦ 환경 설정, 시스템 모니터링, CI/CD, 취약점 스캔, 비밀 관리, 권한 관리에 사용되는 시스템
⑧ 데이터 저장소
⑨ 보안 소프트웨어
⑩ 사용자 컴퓨터
⑪ 사용자 애플리케이션
⑫ 웹 프록시
⑬ DNS 서비스
⑭ 이메일 서버
⑮ DHCP 서버
⑯ 오래된 레거시 IT 자산
⑰ 하이퍼바이저 호스트
⑱ 프린터 등 부수적인 IT 장치
⑲ 애플리케이션 게이트웨이 등 네트워크 구성 요소
OT 환경
로깅 우선순위
- 최근 OT 네트워크에 대한 공격이 증가

① 안전 및 서비스 제공에 중요한 OT 장치 (Air-Gap 시스템 제외)
② 공공 인터넷과 연결된 OT 장치
③ 네트워크 외곽선을 통과했을 때 접근이 가능해지는 OT 장치
④ 로깅 기능이 없는 OT 장치 (OT 장치의 네트워크 트래픽 모니터링 필요)
엔드포인트
로깅 우선순위
- 팬데믹 등으로 재택 근무의 증가

사용자가 사용하는 웹 프록시
② 회사/기관에서 운영 혹은 사용하는 DNS 서비스
③ 조직에 공식 등록된 장치들의 보안 상황
④ 조직에 공식 등록된 장치들의 행동 패턴
⑤ 사용자 계정에서 발생하는 활동
⑥ VPN 솔루션
⑦ MDM 및 모바일 애플리케이션 관리(MAM)
클라우드 컴퓨팅
로깅 우선순위
- IaaS, PaaS, SaaS 등 플랫폼과 유형에 따라 이벤트 로깅 방식을 조정
> Ex. IaaS : 테넌트에 로깅 책임을 부여 / SaaS : 서비스 제공 업체에 로깅 책임 부여
> 기업(사용자)과 제공자(CSP) 간 긴밀한 협조 필요

표적이 될 가능성이 높은 중요 시스템과 데이터
② 공공 인터넷에 직접 연결된 서비스
③ 클라우드 서비스에 직접 접근하고 관리하는 테넌트의 계정
④ 환경 설정
⑤ 모든 보안 관련 계정 (생성, 삭제, 수정 등)
⑥ 서드파티 인증 서비스를 활용할 때(성공/실패 로그)
⑦ 클라우드 서비스에서 생성된 로그, 클라우드 API 로그, 네트워크 이벤트 등

 

2.5 이벤트 로그의 안전한 저장 및 무결성

- 중앙 집중식 이벤트 로깅 시스템을 구축한 후 SIEM, XDR과 같은 분석 도구로 로그를 전달할 것을 권장

> 충분한 저장 용량을 갖출 것 (침해가 발생하였으나, 과거 이벤트 로그가 없으면 사고 대응에 부정적 영향을 미침)

> 별도의 네트워크 또는 세분화된 네트워크에 보관하며, 로그 변조의 위험을 줄이기 위한 추가 보안 제어 기능이 필요

 

- 이벤트 로그의 안전한 전송 및 무결성을 보장하기 위해 TLS 1.3 및 암호화 검증 등의 보안 메커니즘 구현 권장

> 공격자들은 로그를 수정하거나 삭제하며, 로그에서 유용하면서 민감한 데이터를 확인할 수도 있음

> 적정한 요건을 갖춘 사용자만이 이벤트 로그에 접근할 수 있는 권한을 부여

 

2.6 LotL 탐지

- 아주 조금의 이상 행동이라도 탐지 및 기록해야 함

구분 설명
이상 (비정상적) 행동 비정상적인 시간대에 발생한 사용자 로그인 (근무 외 시간, 공휴일 등)
② 사용자가 일반적으로 접근하지 않는 서비스에 접근 혹은 접근 시도
③ 비정상적인 장치를 활용한 로그인 및 로그인 시도
④ 비정상적으로 빈번한 로그인 시도
⑤ 물리적으로 불가능한 로그인 시도 (불가능한 이동(Impossible Travel) 등)
⑥ 대량의 데이터 다운로드 및 외부 유출
⑦ 정상 인증 단계를 거치지 않은 로그인
⑧ 다양한 사용자 ID로 접근하는 단일 IP 주소
⑨ 사용자 계정 생성 / 비활성화 된 계정의 재활성화(특히 관리자 계정)
⑩ 일반적으로 통신 트래픽이 없는 장치에서 트래픽이 발생
⑪ 비정상적인 스크립트 실행
⑫ 갑작스러운 로그 삭제
⑬ 비정상적인 프로세스 생성 및 실행
⑭ 보안 소프트웨어 및 로깅 소프트웨어의 환경 설정 변경
추가 분석 ① 프로세스 생성 이벤트 / 명령줄 감사 등 상세 로깅 활성화 상태로 유지
> 로그 가시성 향상 가능
② 조직 내에서 사용할 수 있는 정상 바이너리의 기준 생성
> 비정상 바이너리가 자연스럽게 결정
③ 진화하는 위협에 따라 다양한 운영 체제에 대한 탐지 규칙 생성
Windows : powershell.exe, cmd.exe, regedit.exe 등에 대한 상세 탐지 규칙
Linux : curl, systemctl, python 등에 유의
OT 환경 ① 비정상적인 혹은 예상하기 힘든 도구의 활용
② 벤더나 서드파티의 갑작스러운 접근
③ 유지보수나 원격 모니터링을 위한 도구의 비정상적인 사용
④ 운영 체제, 소프트웨어, 펌웨어, 환경, 데이터베이스 등의 무단 변경 및 무단 업데이트
⑤ 제어 시스템과 외부 네트워크 간의 비정상적인 통신
⑥ 평소에 통신 활동이 없던 구성 요소 간에 발생하는 통신
⑦ 비정상적인 스크립트 실행

3. 참고

[1] https://www.nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Article/3880942/nsa-joins-allies-in-releasing-best-practices-for-event-logging/
[2] https://www.boannews.com/media/view.asp?idx=132371&page=1&kind=1

1. Kubernetes (K8s) [1]

- 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링 및 관리하기 위한 오픈소스 플랫폼

 

1.1 Kubernetes Image Builder [2]

- 여러 인프라 공급자에 걸쳐 Kubernetes 가상 머신 이미지를 빌드하기 위한 도구

2. 취약점

2.1 CVE-2024-9486 [3]

[사진 1] CVE-2024-9486

- Kubernetes Image Builder의 기본 자격 증명 비활성화 취약점 (CVSS: 9.8)

> 공격자는 SSH 연결 후 기본 자격 증명을 사용해 root 권한을 얻을 수 있음

영향받는 버전: Kubernetes Image Builder <= v0.1.37

 

- Kubernetes Image Builder에서 이미지 빌드 프로세스 중에 기본 자격 증명이 활성화되는 보안 문제가 발견 [4]
Proxmox 공급자를 사용하여 빌드된 가상 머신 이미지는 기본 자격 증명을 비활성화하지 않아 기본 자격 증명을 통해 액세스가 가능
> 다른 공급자로 빌드된 이미지를 사용하는 VM은 취약점에 영향받지 않음

 

2.2 CVE-2024-9594 [5][6]

[사진 2] CVE-2024-9594

- Kubernetes Image Builder 기본 자격 증명 비활성화 취약점
> Nutanix, OVA, QEMU 또는 원시 공급자로 빌드된 이미지에도 동일한 문제가 존재하나 빌드가 끝난 후 자격증명이 비활성화 됨
> 이미지 빌드가 발생하는 VM에 접근해 이미지 빌드가 발생하는 시점에 취약성을 악용할때만 영향을 받음

영향받는 버전: Kubernetes Image Builder <= v0.1.37

3. 대응방안

- 벤더사 제공 보안 업데이트 적용 [7]
> 이미지 빌드 기간 동안 무작위로 생성된 비밀번호를 설정
> 이미지 빌드가 끝나면 빌더 계정이 비활성화

취약점 제품명 영향받는 버전 해결 버전
CVE-2024-9486
CVE-2024-9594
Kubernetes Image Builder v0.1.37 이하 v0.1.38

 

- 사용 중인 Image Builder 버전 확인 방법

구분 설명
이미지 빌더 저장소의 git 복제본의 경우 cd <local path to image builder repo>
make version
Tarball 다운로드를 사용하여 설치하는 경우 cd <local path to install location>
grep -o v0\\.[0-9.]* RELEASE.md | head -1
컨테이너 이미지 릴리스의 경우 docker run --rm <image pull spec> version
또는
podman run --rm <image pull spec> version

공식 이미지의 경우 지정된 이미지 태그 확인
registry.k8s.io/scl-image-builder/cluster-node-image-builder-amd64:v0.1.37

 

- last builder 명령으로 builder 계정 로그인 이력 점검

 

※ 업데이트 적용이 불가할 경우

ⓐ Image Builder의 고정 버전을 사용하여 영향을 받은 모든 이미지를 다시 빌드
> 영향을 받은 모든 VM에 고정된 이미지를 다시 배포

 

ⓑ 업그레이드 전 영향을 받는 VM에서 빌더 계정을 비활성화하면 취약점을 완화할 수 있음
> usermod -L builder

4. 참고

[1] https://kubernetes.io/ko/
[2] https://github.com/kubernetes-sigs/image-builder
[3] https://nvd.nist.gov/vuln/detail/CVE-2024-9486
[4] https://github.com/kubernetes/kubernetes/issues/128006
[5] https://nvd.nist.gov/vuln/detail/CVE-2024-9594
[6] https://github.com/kubernetes/kubernetes/issues/128007
[7] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71571&menuNo=205020
[8] https://thehackernews.com/2024/10/critical-kubernetes-image-builder.html
[9] https://www.bleepingcomputer.com/news/security/critical-kubernetes-image-builder-flaw-gives-ssh-root-access-to-vms/
[10] https://www.theregister.com/2024/10/16/critical_kubernetes_image_builder_bug/
[11] https://www.dailysecu.com/news/articleView.html?idxno=160312

요약 - 사이버 공격자들, 레드팀 도구 EDRSilencer를 활용해 악성 행위를 숨기는 중
- EDR을 무효화하고 멀웨어 식별 및 제거를 어렵게 만들기 위해 레드팀 도구 사용
내용 - EDRSilencer
> 오픈소스로, Windows Filtering Platform(WFP)을 활용해 엔드포인트 탐지 및 대응(EDR) 솔루션들을 무력화시키도록 설계된 공격 도구
 ⒜ Github에 공개된 무료 도구로, 레드팀 훈련에 필요한 일부 기능을 제공
 ⒝ MDSec의 NightHawk FireBlock 도구 에서 영감을 받아 만들어짐
 ⒞ WFP(Windows Filtering Platform)를 사용하여 실행 중인 EDR 프로세스의 아웃바운드 트래픽을 차단하도록 설계
 ⒟ Microsoft, Elastic, Trellix, Qualys, SentinelOne, Cybereason, Broadcom Carbon Black, Tanium, Palo Alto Networks, Fortinet, Cisco, ESET, HarfangLab, Trend Micro의 EDR 제품과 관련된 다양한 프로세스 종료를 지원

> 명령줄 인터페이스를 가지고 있으며, 다음 기능을 제공
 ⒜ blockedr : 감지된 모든 EDR 프로세스의 트래픽을 자동으로 차단
 ⒝ block : 특정 프로세스의 경로를 지정해 트래픽 차단
 ⒞ unblockall : 도구가 생성한 모든 WFP 필터 제거
 ⒟ unblock : 필터 ID를 지정해 특정 WFP 필터 제거

- 공격자들이 EDRSilencer를 악용해 공격에 사용중
> EDR을 무효화하고 멀웨어 식별 및 제거를 어렵게 만들기 위해 레드팀 도구 사용
> 실행 중인 EDR 프로세스를 동적으로 식별하고 지속적인 WFP 필터를 생성하여 IPv4 및 IPv6에서 모두 아웃바운드 네트워크 통신을 차단함으로써 보안 소프트웨어가 관리 콘솔로 원격 측정 데이터를 전송하지 못하도록 WFP를 활용

> 공격순서
 ⒜ EDR 관련 프로세스 수집 및 목록화 : 실행되고 있는 EDR 제품 관련 프로세스 스캔 후 목록을 작성
 ⒝ blockedr(또는 block) 명령으로 탐지된 프로세스 트래픽 차단
 ⒞ WFP 필터 구성 : 필터들은 지속적으로 생성 및 설정되기 때문에 시스템 재부팅 이후 유지
 ⒟ 해당 프로세스의 아웃바운드 트래픽을 억제

- 대응방안
> 여러 층위의 안전 장치 마련
> 미리 방비하는 능동적인 자세
> 망분리와 심층 방어
> 행동 분석 기반 탐지 기능 강화
> 애플리케이션 화이트리스트 처리
> 지속적인 네트워크 모니터링
> 알려진 침해지표 등을 기반으로 한 위협 헌팅 수행
> 강력한 접근 제어 기술 구축
> 최소 권한의 원칙 적용
기타 - 공격자들은 여러 EDR 무력화 도구를 사용
> AuKill, EDRKillShifter, TrueSightKiller, GhostDriver, Terminator 등
> 취약한 드라이버를 악용해 권한 확대 및 보안 관련 프로세스 종료

- WFP (윈도 필터링 플랫폼, Windows Filtering Platform)
> 네트워크 필터링과 보안 애플리케이션을 만드는 데 사용되는 강력한 프레임워크
> 개발자들이 IP 주소, 포트, 프로토콜, 애플리케이션 등 다양한 기준에 따라 네트워크 트래픽을 모니터링, 차단, 수정하는 맞춤형 규칙을 정의할 수 있게 API를 제공
> 방화벽, 백신 소프트웨어 등 다양한 보안 솔루션에서 활용

 

보안뉴스

 

 

Hackers Abuse EDRSilencer Tool to Bypass Security and Hide Malicious Activity

Cybercriminals abuse EDRSilencer to disable endpoint detection tools, making malicious activity harder to detect.

thehackernews.com

 

엔드포인트 탐지 기술을 회피하는 새로운 방법, 이디알사일런서

보안 외신 해커뉴스에 의하면 사이버 공격자들이 이디알사일런서(EDRSilencer)라는 도구를 활용해 자신들의 악성 행위를 감추고 있다고 한다. 보안 업체 트렌드마이크로(Trend Micro)가 발표한 것으로

www.boannews.com

 

코발트스트라이크의 후계자? 또 다른 보안 도구 악용하는 공격자들

공격자들은 보안 도구들에 관심이 많다. 높은 공격 성공률을 위해 적을 최대한 상세히 파악하고자 하는 것만은 아니다. 자신들의 악성 행위에 사용할 만한 것들이 뭐가 있나 찾기 위해서이기도

www.boannews.com

1. 개요

- 해외 보안 연구원에 의해 공항 보안에 사용되는 KCM과 CASS 프로세스에서 SQL Injection 취약점 발견 [1]
- 취약점 악용에 성공할 시 관리자가 되어 항공사에 새로운 직원을 추가하는 등의 악성행위 가능
> 현재는 취약점이 해결되었음

 

2. 주요내용

2.1 KCM (Known Crewmember)

- 조종사와 승무원이 보안 검색을 우회할 수 있도록 해주는 TSA 프로그램
- 직원은 전용 레인을 사용하며, KCM 바코드 또는 직원 번호를 제시해 통과 여부를 결정

※ TSA (Transportation Security Administration) : 미국 교통안전청, 9.11 테러 이후 여객기 등의 운행 안전 필요성이 대두되어 설립

 

2.2 CASS (Cockpit Access Security System)

- 조종사가 조종실의 점프 시트를 사용할 수 있도록 하는 시스템

 

2.3 ARINC

- 항공, 공항, 국방, 정부, 수송분야에서 사용되는 표준과 시스템을 개발 및 제공하는 기업
- TSA와 계약하여 KCM 시스템을 운영하며, 조종사와 승무원이 KCM 상태를 확인할 수 있는 웹 사이트와 항공사 간 승인 요청을 라우팅하는 API 등을 운영
> 각 항공사는 KCM 및 CASS에 참여하기 위해 자체 인증 시스템을 운영하며, ARINC의 허브와 상호작용함
- TSA와 항공사는 CockpitAccessRequest와 CrewVerificationRequest 같은 요청을 ARINC로에 보낼 수 있으며, ARINC는 이를 적절한 항공사 시스템으로 라우팅

 

2.4 FlyCASS.com

- 소규모 항공사를 위해 KCM, CASS 운영하며, 모든 항공사가 자체 로그인 페이지를 가지고 있음
- 로그인 페이지에서 SQL Injection 취약점을 테스트(username에 ` 입력)한 결과 MySQL 오류 발생
sqlmap을 사용해 관리자로 FlyCASS에 로그인 성공
username : ' or '1'='1 / password : ') OR MD5('1')=MD5('1

※ sqlmap : SQL Injection을 감지 및 악용할 수 있는 Python 으로 작성된 오픈 소스 침투 테스트 도구 [2]

잘못된 SQL 문법 등의 경우 반환되는 에러 메시지를 통해 데이터베이스 정보를 획득할 수 있으므로, 에러 메시지를 출력하지 않도록 조치 필요

[사진 1] MySQL 오류

2.5 KCM, CASS 관리자

- FlyCASS에 SQL Injection 취약점을 악용해 관리자 권한으로 접근이 가능
직원(조종사, 승무원) 목록을 확인하거나 추가 인증 없이 새로운 직원을 추가할 수 있었음

[사진 2] 관리자 계정 접근 성공

- 테스트를 위해 Test TestOnly 직원 추가 및 KCM, CASS 접근 권한을 부여하는데 성공
SQL Injection에 기본적인 지식이 있는 누구나 KCM, CASS에 임의의 직원을 추가할 수 있는 심각한 문제

[사진 3] Test TestOnly 사용자 추가 성공

2.6 공개 및 기타 [3]

- 미국 국토안보부(United States Department of Homeland Security, DHS)에 문제를 공개
- 이후 FlyCASS는 KCM, CASS에서 비활성화
- TSA는 취약점을 부인하는 성명을 발표했으며, DHS는 초기에 신속하고 전문적으로 처리했으나, 이후 과정에서 상급 기관으로써의 역할을 제대로 수행하지 못함
- 비밀번호를 저장하는데 MD5 해시를 사용한 것 또한 문제

3. 참고

[1] https://ian.sh/tsa
[2] https://sqlmap.org/
[3] https://news.ycombinator.com/item?id=41392128

+ Recent posts