Security Tech
-
1. 개요최근 기업들이 고객 경험 개선, 업무 자동화, 생산성 향상을 위해 대규모 언어 모델(Large Language Models, LLMs)을 웹 애플리케이션에 빠르게 도입하고 있습니다. 하지만 LLM 활용이 늘어날수록 이를 악용한 웹 LLM 공격(Web-based LLM Attacks)도 함께 증가하고 있습니다.이번 글에서는 웹 환경에서 발생하는 LLM 관련 보안 위협을 중점적으로 다루며, 주요 취약점, 실제 사례, 대응 방안을 정리했습니다. 추가로 PortSwigger Web Security Academy에서 직접 실습해본 내용을 공유합니다. 2. 대규모 언어 모델(LLM)이란?LLM은 인터넷에 공개된 대량의 텍스트 데이터를 학습해, 자연어(Natural Language)를 이해하고 생성하는 인..
웹 LLM 공격1. 개요최근 기업들이 고객 경험 개선, 업무 자동화, 생산성 향상을 위해 대규모 언어 모델(Large Language Models, LLMs)을 웹 애플리케이션에 빠르게 도입하고 있습니다. 하지만 LLM 활용이 늘어날수록 이를 악용한 웹 LLM 공격(Web-based LLM Attacks)도 함께 증가하고 있습니다.이번 글에서는 웹 환경에서 발생하는 LLM 관련 보안 위협을 중점적으로 다루며, 주요 취약점, 실제 사례, 대응 방안을 정리했습니다. 추가로 PortSwigger Web Security Academy에서 직접 실습해본 내용을 공유합니다. 2. 대규모 언어 모델(LLM)이란?LLM은 인터넷에 공개된 대량의 텍스트 데이터를 학습해, 자연어(Natural Language)를 이해하고 생성하는 인..
2025.06.30 -
1. 개요- HTS/MTS/CS 와 같은 프로그램은 서버와 TCP 통신- TCP 통신은 일반적인 Proxy 도구로는 패킷 변조를 할 수 없음- MITM RELAY 를 통해서 TCP 패킷 변조 진행https://github.com/jrmdev/mitm_relayMITM_RELAYjrmdev/mitm_relayGitHub 미리보기2. 환경PC192.168.45.246APP - 대상192.168.45.114:1145MOBILE192.168.45.1143. 설정MOBILE, PC USB 연결 후 ADB 연결IPTABLES 룰 설정iptables -A OUTPUT -t nat -p tcp -d [대상 IP] --dport [대상 포트번호] -j DNAT --to-destination [PC IP]iptables ..
MITM RELAY 를 활용한 TCP 패킷 변조1. 개요- HTS/MTS/CS 와 같은 프로그램은 서버와 TCP 통신- TCP 통신은 일반적인 Proxy 도구로는 패킷 변조를 할 수 없음- MITM RELAY 를 통해서 TCP 패킷 변조 진행https://github.com/jrmdev/mitm_relayMITM_RELAYjrmdev/mitm_relayGitHub 미리보기2. 환경PC192.168.45.246APP - 대상192.168.45.114:1145MOBILE192.168.45.1143. 설정MOBILE, PC USB 연결 후 ADB 연결IPTABLES 룰 설정iptables -A OUTPUT -t nat -p tcp -d [대상 IP] --dport [대상 포트번호] -j DNAT --to-destination [PC IP]iptables ..
2025.06.30 -
1. verify method 분석 - check.check_code에 어떤 값이 들어가는지 확인하는 함수 public void verify(View view) { String obj = ((EditText) findViewById(owasp.mstg.uncrackable3.R.id.edit_text)).getText().toString(); AlertDialog create = new AlertDialog.Builder(this).create(); if (this.check.check_code(obj)) { create.setTitle("Success!"); create.setMessage("This is the co..
OWASP - MASTG UnCrackable-LEVEL 3 (2)1. verify method 분석 - check.check_code에 어떤 값이 들어가는지 확인하는 함수 public void verify(View view) { String obj = ((EditText) findViewById(owasp.mstg.uncrackable3.R.id.edit_text)).getText().toString(); AlertDialog create = new AlertDialog.Builder(this).create(); if (this.check.check_code(obj)) { create.setTitle("Success!"); create.setMessage("This is the co..
2025.05.31 -
[Mobile] QuarkEngine 툴 소개 및 사용법목차소개 배경사용법활용방안소개배경 이번 QuarkEngine즉 Quark Agent를 소개하게된 계기는 이번 캡스톤 디자인을 설계할때, Quark Agent를 활용한 서비스를 개발하였습니다. 하지만 이번 공부 과정에서 QuarkEngine을 소개하는 글이 많이 없다는 생각을해, 이번달 블로그 주제로 선정하였습니다. QuarkEngine은 쉽게 설명하면 취약점 진단 툴이라고 생각하면 될거 같습니다. apk파일을 업로드를 진행하면, 위사진과 같이yara룰을 기반으로된 룰들에 맞게 취약점을 진단해주는 앱입니다.이는 실행결과입니다.사용법 먼저 quarkEngine에서 제공하는 yara룰 기반 json파일들이 있습니다. json파일을 스캔을 진행할python..
[Mobile] QuarkEngine 툴 소개 및 사용법[Mobile] QuarkEngine 툴 소개 및 사용법목차소개 배경사용법활용방안소개배경 이번 QuarkEngine즉 Quark Agent를 소개하게된 계기는 이번 캡스톤 디자인을 설계할때, Quark Agent를 활용한 서비스를 개발하였습니다. 하지만 이번 공부 과정에서 QuarkEngine을 소개하는 글이 많이 없다는 생각을해, 이번달 블로그 주제로 선정하였습니다. QuarkEngine은 쉽게 설명하면 취약점 진단 툴이라고 생각하면 될거 같습니다. apk파일을 업로드를 진행하면, 위사진과 같이yara룰을 기반으로된 룰들에 맞게 취약점을 진단해주는 앱입니다.이는 실행결과입니다.사용법 먼저 quarkEngine에서 제공하는 yara룰 기반 json파일들이 있습니다. json파일을 스캔을 진행할python..
2025.05.31 -
1. 목표스택을 이용한 함수를 직접 구현하고, 해당 함수 내에서 프롤로그(Prologue)와 에필로그(Epilogue)가 디컴파일 없이 어떤 방식으로 수행되는지 파악하기!각 인스트럭션이 수행하는 동작과 의미를 기록하기RSP와 RBP 레지스터의 움직임을 중점으로, 어떤 인스트럭션이 사용되는지와 어떤 단계를 거치는지 정리하기! 2. 분석2.1 코드 분석 및 사전 지식코드 분석 및 변수 확인을 위해 GCC 컴파일 시 `-g` 옵션을 추가하여 디버깅 정보를 삽입함// gcc -g -o add_func add_func.c#include int add_func(int a, int b) { int c = a + b; return c;}int main() { int add_result = add_fun..
함수 프롤로그/에필로그 분석1. 목표스택을 이용한 함수를 직접 구현하고, 해당 함수 내에서 프롤로그(Prologue)와 에필로그(Epilogue)가 디컴파일 없이 어떤 방식으로 수행되는지 파악하기!각 인스트럭션이 수행하는 동작과 의미를 기록하기RSP와 RBP 레지스터의 움직임을 중점으로, 어떤 인스트럭션이 사용되는지와 어떤 단계를 거치는지 정리하기! 2. 분석2.1 코드 분석 및 사전 지식코드 분석 및 변수 확인을 위해 GCC 컴파일 시 `-g` 옵션을 추가하여 디버깅 정보를 삽입함// gcc -g -o add_func add_func.c#include int add_func(int a, int b) { int c = a + b; return c;}int main() { int add_result = add_fun..
2025.05.31 -
1. 목표주어진 두 개의 문제 파일을 컴파일하여 실행 파일을 만든 후, 각각의 스택 구조를 그려보고 `you win!` 문자열을 출력하기! 2. 문제 1번문제 1번 prob1.cgcc -o prob1 prob1.c -fno-stack-protector-fno-stack-protector 옵션GCC 컴파일 옵션으로 스택 보호(Stack Smashing Protector) 기능을 비활성화함// gcc -o prob1 prob1.c -fno-stack-protector#include int main(void) { int a; int b; int c[10]; printf("Idx: "); scanf("%d", &b); b = (b ^ 1); b = (b 2.1...
스택 구조 그리기1. 목표주어진 두 개의 문제 파일을 컴파일하여 실행 파일을 만든 후, 각각의 스택 구조를 그려보고 `you win!` 문자열을 출력하기! 2. 문제 1번문제 1번 prob1.cgcc -o prob1 prob1.c -fno-stack-protector-fno-stack-protector 옵션GCC 컴파일 옵션으로 스택 보호(Stack Smashing Protector) 기능을 비활성화함// gcc -o prob1 prob1.c -fno-stack-protector#include int main(void) { int a; int b; int c[10]; printf("Idx: "); scanf("%d", &b); b = (b ^ 1); b = (b 2.1...
2025.04.30